implementasi jaringan syaraf tiruan - selamat datang -lib.unnes.ac.id/19094/1/4111409005.pdf ·...

154
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

Upload: vodung

Post on 13-Mar-2019

232 views

Category:

Documents


1 download

TRANSCRIPT

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

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

iii

PENGESAHAN

Skripsi yang berjudul

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

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.

Almamaterku Universitas Negeri Semarang.

v

PRAKATA

Puji syukur alhamdulillah senantiasa penulis panjatkan kepada Tuhan Yang

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.

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

Penulis

vii

ABSTRAK

Purnamasari, Ratnaningtyas Widyani. 2013. Implementasi Jaringan Syaraf Tiruan

Backpropagation sebagai Sistem Deteksi Penyakit Tuberculosis (TBC). Skripsi,

Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam

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.

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

2.2 Jaringan Syaraf Tiruan .............................................................................. 14

ix

2.2.1 Sejarah Jaringan Syaraf Tiruan ......................................................... 14

2.2.2 Definisi Jaringan Syaraf Tiruan ........................................................ 15

2.2.3 Komponen Jaringan Syaraf Tiruan ................................................... 18

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

2.3.1 Deteksi .............................................................................................. 31

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

2.4.3.2.3 Radio Button ................................................... 40

xi

2.4.3.2.4 Checkboxes ..................................................... 40

2.4.3.2.5 Edit Text .......................................................... 41

2.4.3.2.6 Static Text ....................................................... 41

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

4.1.1 Tahap Pengambilan Data .................................................................. 50

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

4.3 Pengukuran Evaluasi Unjuk Kerja Sistem ................................................ 71

xiii

4.3.1 Pembahasan Hasil Arsitektur Jaringan Syaraf Tiruan

Backpropagation .............................................................................. 71

4.3.2 Pembahasan Hasil Pendeteksian ...................................................... 73

4.4 Analisis Hasil Kerja Sistem ...................................................................... 83

5. PENUTUP ......................................................................................................... 86

5.1 Simpulan .................................................................................................... 86

5.2 Saran ........................................................................................................... 87

DAFTAR PUSTAKA ............................................................................................ 88

LAMPIRAN ........................................................................................................... 90

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

4.19 Confusion Matrix Hasil Deteksi Data Latih Variasi 8 .................................. 78

xv

4.20 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 8 .......................... 78

4.21 Confusion Matrix Hasil Deteksi Data Latih Variasi 9 .................................. 79

4.22 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 9 .......................... 79

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

4.34 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 15 ........................ 83

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

4.1 Arsitektur Jaringan dengan 10 Neuron Hidden .............................................. 60

xvii

4.2 Flowchart Proses Pelatihan ............................................................................. 61

4.3 Flowchart Proses Pendeteksian ...................................................................... 62

4.4 Desain Tampilan Form Halaman Depan ........................................................ 63

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

4.9 Tampilan Form Deteksi ................................................................................. 69

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

Surat Ijin Penelitian dari Dinas Kesehatan Kota Pekalongan ............................. 134

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

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)

3

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

(http://www. globalhealthfacts.org)

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)

5

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).

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

7

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?

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.

9

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.

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.

11

(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.

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).

13

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

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.

15

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.

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

17

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.

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

19

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

W3

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 Ym

Yj

Y1

W11

W1j

W1m Wi1

Wij

Wim

Wn1 Wnj

Wnm

21

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 V11

V1j

V1p

Vi1

Vij

Vip

Vn1

Vnj

Vnp

W11

W1k

W1m

Wj1

Wjk

Wjm

Wp1

Wpk

Wpm

Input Units Hidden Units Output Units

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

−휀

−휀 −휀

−휀

−휀

−휀

23

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

. . . . . .

. . . . . .

. . . . . .

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 𝑥 )

Fungsi sigmoid biner diilustrasikan sebagai berikut.

25

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 − 𝑡𝑎𝑛𝑕 𝑥 .

Gambar 2.7 Fungsi Sigmoid Bipolar dengan Range (-1,1)

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.

27

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

1 + 𝑒−𝑧_𝑛𝑒𝑡 𝑗

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 𝑣𝑗𝑖 )

∆𝑣𝑗𝑖 = 𝛼 𝛿𝑗𝑥𝑖 ; 𝑗 = 1,2, … , 𝑝 ; 𝑖 = 0,1, … , 𝑛

29

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).

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.

31

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

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.

33

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;

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.

Gambar 2.10 Matlab Command History

35

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.

Gambar 2.12 Matlab Figure Windows

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.

Gambar 2.14 Matlab Help Window

37

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 Matlab Mathematical 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 Matlab Language

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.

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.)

39

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:

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.

41

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.

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 Toolbox Backpropagation di Matlab

Software Matlab mempunyai beberapa perintah yang dapat digunakan untuk

membuat jaringan syaraf tiruan backpropagation. Perintah-perintah tersebut

adalah (Suharjito, 2008):

43

(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

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

digunakan secara berurutan untuk tujuan ini.

45

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

salah sebagai “suspek TBC”).

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

47

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 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.

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.

49

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.

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.

51

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

Berat dan Berulang = 1

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.

53

Tabel 4.1 Data Pelatihan

Pasien

ke-

Variabel gejala penyakit TBC Target

𝑋1 𝑋2 𝑋3 𝑋4 𝑋5 𝑋6

1 1 0,5 0,5 0 1 1 1

2 0,5 0,5 0 0 0 0 0

3 0,5 0 0,5 0 0 0 0

4 0,5 0 0 0 0 0 0

5 0,5 0 0 0 1 0 0

6 1 0,5 0,5 0,5 0 1 1

7 1 0,5 0,5 0,75 0 1 1

8 0,5 0,5 1 0,75 0 1 1

9 0,25 0 0 0 0 1 0

10 0,5 0,5 0 0 1 0 0

11 0,5 0 0,5 0,75 0 1 0

12 0,5 0,5 0,5 0,5 0 0 0

13 0,75 0 0 0 0 0 0

14 0,5 0,5 0 0 0 0 0

15 0 0,5 0 0 1 0 0

16 0,25 0,5 0 0 0 0 0

17 0,25 0 0,5 0 0 0 0

18 0,5 0,5 0,5 0,75 0 1 1

19 1 0,5 0 0,5 0 0 1

20 0,5 0,5 0 0,75 1 1 1

21 1 0,5 0,5 0 1 0 1

22 0,5 0,5 0 0,5 1 0 1

23 1 0,5 0,5 1 1 0 1

24 1 0,5 0,5 1 1 1 1

25 1 1 0,5 0,5 0 0 1

26 0,5 1 1 0,5 1 1 1

27 0,5 0,5 0,5 1 1 0 1

28 0,5 1 0 0,75 0 1 1

29 0,75 0,5 1 0,5 0 1 1

30 1 0,5 0,5 0,5 1 1 1

31 0,75 1 0,5 0,5 0 0 1

32 0,75 1 1 0,5 1 0 1

33 0,5 0,5 0,5 0,75 1 1 1

34 0,5 1 0,5 0,75 1 1 1

35 0,5 0 1 1 0 1 1

36 0,5 1 0,5 0,75 1 0 1

37 0,75 0,5 0,5 0 1 1 1

54

Pasien

ke-

Variabel gejala penyakit TBC Target

𝑋1 𝑋2 𝑋3 𝑋4 𝑋5 𝑋6

38 0,5 0,5 0,5 0,75 1 1 1

39 0,5 1 1 0,75 0 1 1

40 1 0,5 0,5 0,5 1 1 1

41 1 0,5 0,5 0,75 0 1 1

42 1 0,5 1 1 0 0 1

43 0,75 1 0,5 0 0 1 1

44 0,5 0,5 1 0,75 1 0 1

45 1 0,5 0,5 0,75 0 1 1

46 0,75 0,5 1 0,5 1 1 1

47 0,5 0,5 0 1 1 1 1

48 0,5 0,5 1 0,75 1 0 1

49 1 0,5 1 1 0 0 1

50 0,75 0,5 1 1 0 0 1

51 1 0,5 0,5 0,5 1 0 1

52 0,75 1 0,5 0,5 0 1 1

53 0,75 0,5 0,5 0,75 1 1 1

54 1 0,5 1 0,75 1 1 1

55 0,5 0,5 0,5 0,5 0 1 1

56 0,5 1 1 1 1 1 1

57 1 0,5 1 0,75 0 1 1

58 0,75 1 1 0,75 1 1 1

59 1 0,5 0,5 0,5 1 0 1

60 0,5 1 0,5 0,75 0 0 1

61 0,5 1 0,5 0,75 0 1 1

62 1 1 0,5 0,75 1 1 1

63 1 1 1 0,75 0 1 1

64 0,5 1 0,5 0,75 0 1 1

65 1 1 1 0,75 0 0 1

66 1 0,5 0,5 0,5 1 1 1

67 1 1 1 0,75 0 1 1

68 0,5 1 1 1 0 1 1

69 0,5 1 1 0,75 1 1 1

70 1 0,5 0,5 0,75 0 1 1

71 0 1 0 0 1 0 0

72 0,25 0 0,5 0 0 0 0

73 0,25 0 0 0,75 0 0 0

74 0,75 0 0 0 1 0 0

75 1 0 0 0 0 0 0

55

Pasien

ke-

Variabel gejala penyakit TBC Target

𝑋1 𝑋2 𝑋3 𝑋4 𝑋5 𝑋6

76 0 1 0,5 0 0 0 0

77 0 0 1 0 1 0 0

78 0 0,5 0,5 0 0 0 0

79 0,25 0,5 0 0 0 0 0

80 0,5 0 0 0,5 0 0 0

Tabel 4.2 Data Pengujian

Pasien

ke-

Variabel gejala penyakit TBC Target

𝑋1 𝑋2 𝑋3 𝑋4 𝑋5 𝑋6

1 0,5 1 1 0,75 1 0 1

2 1 0,5 0,5 0,75 1 1 1

3 1 0,5 0,5 0,75 0 1 1

4 0,75 0,5 1 0,5 1 0 1

5 1 1 1 0,75 0 1 1

6 0,5 1 1 0,75 1 1 1

7 0,5 1 0,5 0,75 1 1 1

8 0,75 1 1 0,5 0 0 1

9 1 1 1 1 0 1 1

10 1 1 0,5 0,75 0 1 1

11 1 0,5 0,5 0,75 1 1 1

12 1 1 0,5 0,75 1 1 1

13 1 0,5 0,5 0,75 1 1 1

14 0 0 1 0 0 1 0

15 0,5 0 0 0,5 0 0 0

16 0,25 0 0,5 0 0 0 0

17 0,5 0,5 0 0 0 0 0

18 0,25 0 0,5 0 0 0 0

19 1 0 0 0 0 0 0

20 0 0,5 0 0 1 0 0

4.1.3 Tahap Pengolahan Data

Dari data yang diperoleh, dilakukan pembuatan data latih dan data target

yang digunakan sebagai input data sistem. Data gejala-gejala umum penyakit

TBC yang meliputi batuk, sesak napas, nyeri dada, demam pada sore atau malam

56

hari, penurunan nafsu makan, dan badan lemah (malaise) dijadikan sebagai data

latih sedangkan data suspek TBC atau tidak digunakan sebagai data target. Dalam

sistem target akan dibaca “Suspek TBC” jika target 1 dan “Negatif TBC” jika

target 0. Kedua data tersebut disimpan dengan format excel. Data yang telah

disimpan dalam format excel akan diconvert menjadi format .m melalui

workspace pada Matlab dengan cara import data.

4.1.4 Tahap Perancangan Sistem

Pada tahap perancangan ini, desain sistem mulai dibentuk untuk

menentukan bagaimana suatu sistem akan menyelesaikan apa yang harus

diselesaikan. Pada dasarnya tahap perancangan sistem ini merupakan kombinasi

dari komponen-komponen perangkat lunak dan perangkat keras dari suatu sistem.

Sistem deteksi penyakit TBC ini secara garis besar akan menggunakan software

Matlab.

4.1.4.1 Perancangan Sistem Pelatihan

Sistem pelatihan sebagai bagian awal dari sistem deteksi penyakit TBC.

Sistem terdiri dari data-data yang telah diperoleh dan disimpan dalam bentuk

excel. Sistem ini berfungsi untuk menyiapkan segala informasi sebagai bahan

pelatihan dan pengenalan deteksi penyakit TBC. Ada beberapa tahapan yang

harus dilakukan, antara lain menginputkan data-data yang sudah diolah yakni data

latih dan data target ke dalam sistem. Data latih terdiri atas batuk, sesak napas,

nyeri dada, demam pada sore atau malam hari, penurunan nafsu makan, dan badan

lemah (malaise). Sedangkan data target adalah data diagnosis suspek TBC atau

tidak yang telah dibuat, nilai 1 untuk suspek TBC dan nilai 0 untuk negatif TBC.

57

Data yang telah diinput akan diproses oleh sistem sebagai hasil dari pelatihan

data.

4.1.4.2 Perancangan Arsitektur Jaringan Syaraf Tiruan

Jaringan yang digunakan untuk diagnosis penyakit TBC adalah jaringan

syaraf tiruan backpropagation dengan langkah pembelajaran feedforward.

Jaringan ini memiliki beberapa lapisan, yaitu lapisan masukan, lapisan keluaran

dan beberapa lapisan tersembunyi. Lapisan tersembunyi tersebut membantu

jaringan untuk dapat mengenali lebih banyak pola masukan dibandingkan dengan

jaringan yang tidak memiliki lapisan tersembunyi.

Parameter-parameter dalam pembentukan jaringan backpropagation adalah

sebagai berikut.

4.1.4.2.1 Bobot dan Bias

Pemilihan bobot awal sangat mempengaruhi jaringan syaraf dalam

mencapai minimum terhadap nilai error, serta cepat tidaknya proses pelatihan

menuju kekonvergenan. Dalam hal ini, pemberian nilai bobot dan bias awal

menggunakan bilangan acak kecil yang dilakukan oleh software Matlab.

4.1.4.2.2 Jumlah Neuron pada Lapisan Tersembunyi

Perancangan arsitektur backpropagation pertama adalah menentukan

jumlah hidden layer dan menentukan banyaknya neuron dalam setiap hidden

layer. Arsitektur jaringan yang digunakan dalam skripsi ini adalah arsitektur

jaringan dengan satu hidden layer. Menurut teori, arsitektur ini disebut arsitektur

jaringan layar jamak. Banyaknya neuron hidden layer ditentukan dengan cara

trial and error, dalam arti hasil pembelajaran yang tercepat dan terbaik itulah

58

yang akan menentukan banyaknya neuron hidden layer tersebut. Mengenai

jumlah banyaknya neuron hidden layer yang dibutuhkan, tidak ada ketentuan

khusus karena tidak ada teori yang dengan pasti dapat dipakai (Mirawanti et all.,

2010).

4.1.4.2.3 Error Goal (Kinerja Tujuan)

Kinerja tujuan adalah target nilai fungsi kinerja. Iterasi akan dihentikan

apabila nilai fungsi kinerja kurang dari atau sama dengan kinerja tujuan

(Kusumadewi, 2004:134).

Error goal atau galat ditentukan untuk membandingkan dengan galat pada

jaringan saat pelatihan. Jaringan akan konvergen ketika error jaringan lebih kecil

dari error goal. Dalam skripsi ini ditentukan error goal atau toleransi sebesar

0,001.

4.1.4.2.4 Learning Rate (Laju Pembelajaran)

Semakin besar nilai learning rate (𝛼) akan berimplikasi pada semakin

besarnya langkah pembelajaran. Jika learning rate diset terlalu besar, maka

algoritma akan menjadi tidak stabil. Sebaliknya, jika learning rate diset terlalu

kecil, maka algoritma akan konvergen dalam jangka waktu yang sangat lama

(Kusumadewi, 2004: 134).

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. Nilai learning rate

tidak dapat ditentukan secara pasti sehingga perlu dilakukan trial and error untuk

59

mendapatkan nilai learning rate yang dapat menghasilkan iterasi tercepat dalam

mencapai konvergen (Amin, 2012).

4.1.4.2.5 Fungsi Aktivasi

Dalam jaringan syaraf tiruan, fungsi aktivasi digunakan untuk menentukan

keluaran suatu neuron. Fungsi aktivasi yang digunakan dalam penerapan JST

untuk deteksi penyakit TBC, yaitu fungsi aktivasi logsig (sigmoid biner). Fungsi

ini dipilih karena pada unit output hanya dirancang menampilkan 2 keputusan,

yaitu apakah suspek TBC dengan nilai 1 atau negatif TBC dengan nilai 0.

4.1.4.2.6 Maksimum Epoh

Jumlah epoh maksimum yang boleh dilakukan selama proses pelatihan.

Iterasi akan dihentikan apabila epoh melebihi maksimum epoh.

Berikut ini variasi yang dilakukan terhadap learning rate dan banyaknya

neuron hidden layer yang akan digunakan untuk mengetahui seberapa besar

tingkat akurasi sistem dalam melakukan pendeteksian terhadap penyakit TBC.

Tabel 4.3 Variasi Learning Rate dan Banyaknya Neuron Hidden Layer

No. Learning rate (α) Banyaknya neuron hidden

layer 1 0,05 10

2 0,05 50

3 0,05 100

4 0,1 10

5 0,1 50

6 0,1 100

7 0,2 10

8 0,2 50

9 0,2 100

10 0,5 10

11 0,5 50

12 0,5 100

60

No. Learning rate (α) Banyaknya neuron hidden

layer

13 0,75 10

14 0,75 50

15 0,75 100

Gambar 4.1 adalah arsitektur jaringan layar jamak dari sistem deteksi dini

dalam sistem ini.

Keterangan:

𝑋1,𝑋2, … , 𝑋5 : nilai input variabel

𝑍1, 𝑍2 , … , 𝑍10 : neuron hidden layer

Gambar 4.1 Arsitektur Jaringan dengan 10 Neuron Hidden

Layer

Hidden units

Input units

Output units

𝑋1

𝑋2

𝑋3

𝑋4

𝑋5

𝑍1

𝑍2

𝑍3

𝑍4

𝑍10

V11

V12

V13 V14 V110 V21

V23

V24 V210

V31

V22

V33

V34

V310

V33

V42

V43

V44 V410

V51

V41

V52

V53 V54

V510

𝑌1

W11

W12

W13

W14

W110

1

V10 V20

V30

V40

V100

1

W10

61

𝑌1 : nilai target, bernilai 1 jika suspek TBC dan bernilai 0

jika negatif TBC.

Pada Gambar 4.1 diperlihatkan jaringan dengan 5 buah unit masukan

(𝑋1, 𝑋2,𝑋3, 𝑋4,𝑋5), sebuah hidden layer yang terdiri atas 10 buah neuron

𝑍1, 𝑍2 , 𝑍3, 𝑍4, 𝑍5 , 𝑍6, 𝑍7 , 𝑍8, 𝑍9, 𝑍10 , dan sebuah unit keluaran (𝑌1). Flowchart

untuk proses pelatihan dapat dilihat pada Gambar 4.2.

Gambar 4.2 Flowchart Proses Pelatihan

Mulai

Load data

Selesai

Increment Epoh

Inisialisasi parameter JST (alpha, maks.

Epoh, neuron hidden, target error)

Data Pelatihan

Epoh=0

Epoh

<=maks.epoh?

Feed forward

Backpropagation

Hitung MSE

MSE < target

error?

Simpan Bobot

Akhir?

Y

N

Y

N

Y

N

bobot.jst Simpan Data

62

4.1.4.3 Perancangan Pengujian Sistem Deteksi

Dalam perancangan sistem deteksi, langkah-langkah yang harus ditempuh

sama halnya pada sistem pelatihan. Langkah-langkah yang harus dipenuhi yaitu

data latih terdiri atas batuk, sesak napas, nyeri dada, demam pada sore atau malam

hari, penurunan nafsu makan, dan badan lemah (malaise) sudah siap untuk

diinputkan ke dalam sistem.

Setelah data sudah disiapkan, langkah selanjutnya adalah melakukan proses

deteksi. Gambar 4.3 merupakan flowchart untuk proses deteksi.

Gambar 4.3 Flowchart Proses Pendeteksian

Mulai

Input Data Bobot JST data latih

Feed forward

Y N

Selesai

Input bobot JST data latih

Negatif TBC

Suspek TBC

Nilai Output >= 0.6

63

4.1.4.4 Perancangan Desain Sistem

Perancangan sistem deteksi penyakit TBC ini akan diterapkan sekaligus

dengan tampilan yang sebenarnya akan dibuat dengan GUI pada Matlab. Berikut

adalah desain sistem yang akan dibuat.

4.1.4.4.1 Desain Tampilan Form Halaman Depan

Tampilan depan adalah salah satu form sebagai pembuka dari sistem deteksi

penyakit TBC. Halaman depan hanya mengenalkan judul sistem serta pilihan

untuk melanjutkan program menuju ke form pelatihan ataupun ke form uji data.

Gambar 4.4 Desain Tampilan Form Halaman Depan

Keterangan Gambar 4.4

No. Nama Komponen Properti Setting

1 Panel Title

Tag

Menu Utama

uipanel1

2 Axes Tag backbkpm

2

1

64

4.1.4.4.2 Desain Tampilan Form Pelatihan

Pada form pelatihan terdapat empat static text yaitu maksimum epoch, error

goal, learning rate dan jumlah neuron hidden layer. Kemudian ada empat edit text

yang akan digunakan sebagai input masing-masing variabel yang akan diinputkan.

Selain itu, ada empat command button, yaitu train, uji data, dan menu utama.

Gambar 4.5 Desain Tampilan Form Pelatihan

Keterangan Gambar 4.5

No. Nama Komponen Properti Setting

1 Pushbutton Tag pushbutton1,

pushbutton2,

pushbutton3

2 Panel Title

Tag

Variabel Pelatihan

uipanel1

3 Edit text Tag

edit1, edit2, edit3,

edit4

4 Static text Tag

text1, text2, text3,

text4

5 Static text Tag text5

1

2

4 3

5

65

4.1.4.4.3 Desain Tampilan Form Deteksi Penyakit TBC

Desain tampilan form deteksi penyakit TBC yang akan digunakan sebagai

input variabel batuk, sesak napas, nyeri dada, demam pada sore atau malam hari,

penurunan nafsu makan, badan lemah (malaise) adalah sebagai berikut.

Gambar 4.6 Desain Tampilan Form Deteksi Penyakit TBC

Keterangan Gambar 4.6

No. Nama Komponen Properti Setting

1 Static text Tag text1

2 Static text Tag text2, text3, text4,

text5, text6, text7

3 Popup menu Tag

popupmenu2,

popupmenu3,

popupmenu4,

popupmenu5,

popupmenu6,

popupmenu7

4 Edit text Tag

batuk, sesak, nyeri,

demam, makan,

malaise

5 Edit text Tag Deteksi

1

7

2 3 4

5

8

6

9

66

No. Nama Komponen Properti Setting

6 Static text Tag text8

7 Panel Title

Tag

Gejala Umum TBC,

Hasil Operasi, Output

Bobot

uipanel1, uipanel2,

uipanel3

8 Pushbutton Tag hitung, exit,

pushbutton3

9 Edit text Tag node

4.2 Tahap Implementasi Sistem

Setelah desain sistem dan settingnya dibuat, maka langkah selanjutnya yaitu

mengimplementasikan sistem secara keseluruhan dengan menggunakan software

Matlab.

4.2.1 Tampilan Form Halaman Depan

Gambar 4.7 Tampilan Form Halaman Depan

67

4.2.2 Implementasi Form Pelatihan

Gambar 4.8 Tampilan Form Pelatihan Sistem

Dari Gambar 4.8 ada tiga pushbutton utama yang bisa digunakan untuk

melakukan perintah terhadap sistem, yaitu train, uji data dan menu utama. Berikut

adalah penjelasan dari masing-masing pushbutton.

a. Train

Command button train (pushbutton1) berfungsi untuk melakukan proses

perhitungan pelatihan sistem dari nilai variabel maksimum epoch, error goal,

learning rate, jumlah neuron hidden layer yang telah diinputkan. Berikut adalah

source code Matlab yang menjalankan perintah command button train

(pushbutton1).

function pushbutton1_Callback(hObject, eventdata, handles) load latihdata.mat; epoh=str2num(get(handles.edit1,'String')); galat=str2num(get(handles.edit2,'String')); alpha=str2num(get(handles.edit3,'String')); nhidden=str2num(get(handles.edit4,'String')); [net,tr]=backprop(epoh,galat,alpha,nhidden); save('bobotjst.mat','net','tr');

68

b. Uji Data

Command button uji data (pushbutton2) berfungsi untuk melakukan

perintah menuju ke Form Deteksi Penyakit TBC. Berikut adalah source code

Matlab yang menjalankan perintah command button uji data (pushbutton2).

function pushbutton2_Callback(hObject, eventdata, handles) delete(handles.latihfig); fformhasil

c. Menu Utama

Command button menu utama (pushbutton3) berfungsi untuk melakukan

perintah kembali ke menu utama dari sistem deteksi penyakit TBC. Berikut adalah

source code Matlab yang menjalankan perintah command button menu utama

(pushbutton3).

function pushbutton3_Callback(hObject, eventdata, handles) pos_size=get(handles.latihfig,'position'); user_response=tanya_kembali_utama('Menu','Konfirmasi Kembali ke

Menu Utama'); switch user_response case {'No'} case 'Yes' delete(handles.latihfig); haldepan end

69

4.2.3 Implementasi Form Deteksi

Gambar 4.9 Tampilan Form Deteksi

Dari Gambar 4.9 ada tiga command button utama yang bisa digunakan

untuk melakukan perintah terhadap sistem yaitu execute, menu utama dan mulai

baru. Berikut adalah penjelasan dari masing-masing command button.

a. Execute

Command button execute (hitung) berfungsi untuk melakukan proses

perhitungan deteksi penyakit TBC berdasarkan nilai variabel batuk, sesak napas,

nyeri dada, demam pada sore atau malam hari, penurunan nafsu makan, dan badan

lemah (malaise) yang telah diinputkan. Hasil dari perhitungan deteksi akan

terlihat pada hasil operasi yang berdasarkan pada output bobot (“suspek TBC jika

output bobot ≥ 0,6” ataupun “negatif TBC jika output bobot <0,6”). Berikut

adalah source code Matlab yang menjalankan perintah command button execute

(hitung).

70

function hitung_Callback(hObject, eventdata, handles) load bobotjst.mat; a=str2num(get(handles.batuk,'String')); b=str2num(get(handles.sesak,'String')); c=str2num(get(handles.nyeri,'String')); d=str2num(get(handles.demam,'String')); e=str2num(get(handles.makan,'String')); f=str2num(get(handles.malaise,'String')); pola=[a, b, c, d, e, f];

y=sim(net,pola'); set(handles.node,'string',y(1)');

[baris,kolom]=find(y>=0.6); [H,W]=size(y); y2=zeros(H,W); for i=1:length(y) y2(baris,kolom)=1; end if y2'==[1] set(handles.deteksi,'string','Suspek TBC'); else set(handles.deteksi,'string','Negatif TBC'); end

guidata(hObject, handles);

b. Menu Utama

Command button menu utama (exit) berfungsi untuk melakukan perintah

kembali ke menu utama dari sistem deteksi penyakit TBC. Berikut adalah source

code Matlab yang menjalankan perintah command button menu utama (exit).

function exit_Callback(hObject, eventdata, handles) pos_size=get(handles.figure1,'position'); user_response=tanya_kembali_utama('Menu','Konfirmasi Kembali ke

Menu Utama'); switch user_response case {'No'}

case 'Yes' delete(handles.figure1); haldepan end

71

c. Mulai Baru

Command button mulai baru (pushbutton3) berfungsi untuk melakukan

perintah mengosongkan semua isi form sebelumnya guna melakukan perhitungan

deteksi penyakit TBC dengan data variabel yang baru. Berikut adalah source code

Matlab yang menjalankan perintah command button mulai baru (pushbutton3).

function pushbutton3_Callback(hObject, eventdata, handles) set(handles.batuk,'String',''); set(handles.sesak,'String',''); set(handles.nyeri,'String',''); set(handles.demam,'String',''); set(handles.makan,'String',''); set(handles.malaise,'String',''); set(handles.node,'String',''); set(handles.deteksi,'String','Hasil Deteksi...');

4.3 Pengukuran Evaluasi Unjuk Kerja Sistem

Setelah sistem selesai dirancang, selanjutnya harus diuji tingkat akurasi

sistem dalam mendeteksi suspek atau tidaknya seseorang mengidap TBC. Hal ini

dilakukan untuk mengetahui sejauh mana sistem dapat bekerja dalam mendeteksi

suspek atau tidaknya seseorang mengidap TBC.

Sub bab ini akan membahas mengenai hasil dari sistem yang telah dirancang

dan dibuat. Pembahasan akan diarahkan ke pembahasan mengenai hasil arsitektur

JST dalam proses pelatihan dan pengenalan.

4.3.1 Pembahasan Hasil Arsitektur Jaringan Syaraf Tiruan Backpropagation

Akan dilihat pengaruh perubahan learning rate dan jumlah neuron hidden

layer terhadap MSE, lama waktu pelatihan, kemudian jumlah data yang dikenali

oleh sistem dengan benar.

72

Dari 80 data latih dan 20 data yang diujikan, diperoleh analisis sebagai

berikut. Untuk masing-masing variasi, jumlah iterasi maksimum dan target error

sama, yaitu:

Jumlah iterasi (epoch) : 1000

Target error : 0,001

Berikut disajikan dalam tabel hasil dari variasi arsitektur jaringan yang

dilakukan.

Tabel 4.4. Analisis Hasil Variasi Arsitektur Jaringan

No. 𝛼

Banyaknya

Neuron

Hidden

Layer

Hasil

Epoch MSE Waktu

(detik)

Data latih

yang

dikenali

Data non

latih

yang

dikenali

Recog

nition

rate

%

1 0,05 10 1000 0,283 0:00:07 57 13 70

2 0,05 50 1000 0,0378 0:00:09 74 20 94

3 0,05 100 1000 0,0112 0:00:10 80 20 100

4 0,1 10 1000 0.135 0:00:09 64 18 82

5 0,1 50 1000 0,0152 0:00:09 78 20 98

6 0,1 100 1000 0,0217 0:00:16 79 19 98

7 0,2 10 1000 0,0832 0:00:08 71 19 90

8 0,2 50 1000 0,00554 0:00:11 79 20 99

9 0,2 100 1000 0,00549 0:00:10 80 20 100

10 0,5 10 1000 0,012 0:00:07 79 20 99

11 0,5 50 1000 0,00368 0:00:08 79 20 99

12 0,5 100 1000 0,00144 0:00:11 80 20 100

13 0,75 10 1000 0,00757 0:00:07 80 20 100

14 0,75 50 1000 0,00193 0:00:10 80 20 100

15 0,75 100 1000 0,00128 0:00:11 79 19 98

Untuk menghitung tingkat akurasi sistem, digunakan confusion matrix

dengan rumus sebagai berikut.

73

Berdasarkan Tabel 4.4 didapatkan bahwa arsitektur jaringan yang paling

optimal dalam proses deteksi penyakit TBC adalah sebagai berikut

Learning rate : 0,5

Banyaknya neuron hidden layer : 100

Jumlah iterasi (epoh) : 1000

Target error : 0,001.

Diperoleh recognition rate atau tingkat akurasi sistem sebesar 100%

dengan MSE sebesar 0,00144.

4.3.2 Pembahasan Hasil Pendeteksian

Data yang diujikan dalam sistem merupakan data yang telah dilatihkan dan

data yang belum dilatihkan dalam sistem. Berikut hasil dari pendeteksian oleh

sistem berdasarkan variasi yang dilakukan.

1. Variasi 1

a. Hasil deteksi data latih

(a) True positives (suspek TBC dikenali suspek TBC) : 57

Ini berarti dari 80 data latih dapat dikenali dengan benar 57 data

suspek TBC.

(b) False positives (negatif TBC dikenali suspek TBC) : 23

Ini berarti dari 80 data latih terdapat 23 data negatif TBC yang

dikenali sistem sebagai data suspek TBC.

Tabel 4.5 Confusion Matrix Hasil Deteksi Data Latih Variasi 1

Suspek TBC Negatif TBC

Suspek TBC 57 0

Negatif TBC 23 0

74

b. Hasil deteksi data non latih (data uji)

(a) True positives (suspek TBC dikenali suspek TBC) : 13

Ini berarti dari 20 data uji dapat dikenali dengan benar 13 data suspek

TBC.

(b) False positives (negatif TBC dikenali suspek TBC) : 7

Ini berarti dari 20 data uji terdapat 7 data negatif TBC yang dikenali

sistem sebagai data suspek TBC.

Tabel 4.6 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 1

Suspek TBC Negatif TBC

Suspek TBC 13 0

Negatif TBC 7 0

Recognition rate : 70%.

2. Variasi 2

a. Hasil deteksi data latih

(a) True positives (suspek TBC dikenali suspek TBC) : 54

(b) False positives (negatif TBC dikenali suspek TBC) : 3

Tabel 4.7 Confusion Matrix Hasil Deteksi Data Latih Variasi 2

Suspek TBC Negatif TBC

Suspek TBC 54 3

Negatif TBC 3 20

b. Hasil deteksi data non latih (data uji)

(a) True positives (suspek TBC dikenali suspek TBC) : 13

(b) False positives (negatif TBC dikenali suspek TBC) : 0

75

Tabel 4.8 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 2

Suspek TBC Negatif TBC

Suspek TBC 13 0

Negatif TBC 0 7

Recognition rate : 94%.

3. Variasi 3

a. Hasil deteksi data latih

(a) True positives (suspek TBC dikenali suspek TBC) : 57

(b) False positives (negatif TBC dikenali suspek TBC) : 0

Tabel 4.9 Confusion Matrix Hasil Deteksi Data Latih Variasi 3

Suspek TBC Negatif TBC

Suspek TBC 57 0

Negatif TBC 0 23

b. Hasil deteksi data non latih (data uji)

(a) True positives (suspek TBC dikenali suspek TBC) : 13

(b) False positives (negatif TBC dikenali suspek TBC) : 0

Tabel 4.10 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 3

Suspek TBC Negatif TBC

Suspek TBC 13 0

Negatif TBC 0 7

Recognition rate : 100%.

4. Variasi 4

a. Hasil deteksi data latih

(a) True positives (suspek TBC dikenali suspek TBC) : 50

(b) False positives (negatif TBC dikenali suspek TBC) : 9

76

Tabel 4.11 Confusion Matrix Hasil Deteksi Data Latih Variasi 4

Suspek TBC Negatif TBC

Suspek TBC 50 7

Negatif TBC 9 14

b. Hasil deteksi data non latih (data uji)

(a) True positives (suspek TBC dikenali suspek TBC) : 13

(b) False positives (negatif TBC dikenali suspek TBC) : 2

Tabel 4.12 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 4

Suspek TBC Negatif TBC

Suspek TBC 13 0

Negatif TBC 2 5

Recognition rate : 82%.

5. Variasi 5

a. Hasil deteksi data latih

(a) True positives (suspek TBC dikenali suspek TBC) : 56

(b) False positives (negatif TBC dikenali suspek TBC) : 1

Tabel 4.13 Confusion Matrix Hasil Deteksi Data Latih Variasi 5

Suspek TBC Negatif TBC

Suspek TBC 56 1

Negatif TBC 1 22

b. Hasil deteksi data non latih (data uji)

(a) True positives (suspek TBC dikenali suspek TBC) : 13

(b) False positives (negatif TBC dikenali suspek TBC) : 0

77

Tabel 4.14 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 5

Suspek TBC Negatif TBC

Suspek TBC 13 0

Negatif TBC 0 7

Recognition rate : 98%.

6. Variasi 6

a. Hasil deteksi data latih

(a) True positives (suspek TBC dikenali suspek TBC) : 56

(b) False positives (negatif TBC dikenali suspek TBC) : 0

Tabel 4.15 Confusion Matrix Hasil Deteksi Data Latih Variasi 6

Suspek TBC Negatif TBC

Suspek TBC 56 1

Negatif TBC 0 23

b. Hasil deteksi data non latih (data uji)

(a) True positives (suspek TBC dikenali suspek TBC) : 12

(b) False positives (negatif TBC dikenali suspek TBC) : 0

Tabel 4.16 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 6

Suspek TBC Negatif TBC

Suspek TBC 12 1

Negatif TBC 0 7

Recognition rate : 98%.

7. Variasi 7

a. Hasil deteksi data latih

(a) True positives (suspek TBC dikenali suspek TBC) : 52

(b) False positives (negatif TBC dikenali suspek TBC) : 4

78

Tabel 4.17 Confusion Matrix Hasil Deteksi Data Latih Variasi 7

Suspek TBC Negatif TBC

Suspek TBC 52 5

Negatif TBC 4 19

b. Hasil deteksi data non latih (data uji)

(a) True positives (suspek TBC dikenali suspek TBC) : 13

(b) False positives (negatif TBC dikenali suspek TBC) : 0

Tabel 4.18 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 7

Suspek TBC Negatif TBC

Suspek TBC 13 1

Negatif TBC 0 6

Recognition rate : 90%.

8. Variasi 8

a. Hasil deteksi data latih

(a) True positives (suspek TBC dikenali suspek TBC) : 56

(b) False positives (negatif TBC dikenali suspek TBC) : 0

Tabel 4.19 Confusion Matrix Hasil Deteksi Data Latih Variasi 8

Suspek TBC Negatif TBC

Suspek TBC 56 1

Negatif TBC 0 23

b. Hasil deteksi data non latih (data uji)

(a) True positives (suspek TBC dikenali suspek TBC) : 13

(b) False positives (negatif TBC dikenali suspek TBC) : 0

Tabel 4.20 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 8

Suspek TBC Negatif TBC

Suspek TBC 13 0

Negatif TBC 0 7

Recognition rate : 99%.

79

9. Variasi 9

a. Hasil deteksi data latih

(a) True positives (suspek TBC dikenali suspek TBC) : 57

(b) False positives (negatif TBC dikenali suspek TBC) : 0

Tabel 4.21 Confusion Matrix Hasil Deteksi Data Latih Variasi 9

Suspek TBC Negatif TBC

Suspek TBC 57 0

Negatif TBC 0 23

b. Hasil deteksi data non latih (data uji)

(a) True positives (suspek TBC dikenali suspek TBC) : 13

(b) False positives (negatif TBC dikenali suspek TBC) : 0

Tabel 4.22 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 9

Suspek TBC Negatif TBC

Suspek TBC 13 0

Negatif TBC 0 7

Recognition rate : 100%.

10. Variasi 10

a. Hasil deteksi data latih

(a) True positives (suspek TBC dikenali suspek TBC) : 56

(b) False positives (negatif TBC dikenali suspek TBC) : 0

Tabel 4.23 Confusion Matrix Hasil Deteksi Data Latih Variasi 10

Suspek TBC Negatif TBC

Suspek TBC 56 1

Negatif TBC 0 23

80

b. Hasil deteksi data non latih (data uji)

(a) True positives (suspek TBC dikenali suspek TBC) : 13

(b) False positives (negatif TBC dikenali suspek TBC) : 0

Tabel 4.24 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 10

Suspek TBC Negatif TBC

Suspek TBC 13 0

Negatif TBC 0 7

Recognition rate : 99%.

11. Variasi 11

a. Hasil deteksi data latih

(a) True positives (suspek TBC dikenali suspek TBC) : 56

(b) False positives (negatif TBC dikenali suspek TBC) : 0

Tabel 4.25 Confusion Matrix Hasil Deteksi Data Latih Variasi 11

Suspek TBC Negatif TBC

Suspek TBC 56 1

Negatif TBC 0 23

b. Hasil deteksi data non latih (data uji)

(a) True positives (suspek TBC dikenali suspek TBC) : 13

(b) False positives (negatif TBC dikenali suspek TBC) : 0

Tabel 4.26 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 11

Suspek TBC Negatif TBC

Suspek TBC 13 0

Negatif TBC 0 7

Recognition rate : 99%.

81

12. Variasi 12

a. Hasil deteksi data latih

(a) True positives (suspek TBC dikenali suspek TBC) : 57

(b) False positives (negatif TBC dikenali suspek TBC) : 0

Tabel 4.27 Confusion Matrix Hasil Deteksi Data Latih Variasi 12

Suspek TBC Negatif TBC

Suspek TBC 56 0

Negatif TBC 0 23

b. Hasil deteksi data non latih (data uji)

(a) True positives (suspek TBC dikenali suspek TBC) : 13

(b) False positives (negatif TBC dikenali suspek TBC) : 0

Tabel 4.28 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 12

Suspek TBC Negatif TBC

Suspek TBC 13 0

Negatif TBC 0 7

Recognition rate : 100%.

13. Variasi 13

a. Hasil deteksi data latih

(a) True positives (suspek TBC dikenali suspek TBC) : 57

(b) False positives (negatif TBC dikenali suspek TBC) : 0

Tabel 4.29 Confusion Matrix Hasil Deteksi Data Latih Variasi 13

Suspek TBC Negatif TBC

Suspek TBC 56 0

Negatif TBC 0 23

82

b. Hasil deteksi data non latih (data uji)

(a) True positives (suspek TBC dikenali suspek TBC) : 13

(b) False positives (negatif TBC dikenali suspek TBC) : 0

Tabel 4.30 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 13

Suspek TBC Negatif TBC

Suspek TBC 13 0

Negatif TBC 0 7

Recognition rate : 100%.

14. Variasi 14

a. Hasil deteksi data latih

(a) True positives (suspek TBC dikenali suspek TBC) : 57

(b) False positives (negatif TBC dikenali suspek TBC) : 0

Tabel 4.31 Confusion Matrix Hasil Deteksi Data Latih Variasi 14

Suspek TBC Negatif TBC

Suspek TBC 56 0

Negatif TBC 0 23

b. Hasil deteksi data non latih (data uji)

(a) True positives (suspek TBC dikenali suspek TBC) : 13

(b) False positives (negatif TBC dikenali suspek TBC) : 0

Tabel 4.32 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 14

Suspek TBC Negatif TBC

Suspek TBC 13 0

Negatif TBC 0 7

Recognition rate : 100%.

83

15. Variasi 15

a. Hasil deteksi data latih

(a) True positives (suspek TBC dikenali suspek TBC) : 56

(b) False positives (negatif TBC dikenali suspek TBC) : 1

Tabel 4.33 Confusion Matrix Hasil Deteksi Data Latih Variasi 15

Suspek TBC Negatif TBC

Suspek TBC 56 0

Negatif TBC 1 23

b. Hasil deteksi data non latih (data uji)

(a) True positives (suspek TBC dikenali suspek TBC) : 12

(b) False positives (negatif TBC dikenali suspek TBC) : 0

Tabel 4.34 Confusion Matrix Hasil Deteksi Data Non Latih Variasi 15

Suspek TBC Negatif TBC

Suspek TBC 12 1

Negatif TBC 0 7

Recognition rate : 98%.

4.4 Analisis Hasil Kerja Sistem

Hasil dari pelatihan digunakan untuk menentukan konfigurasi terbaik dari

jaringan dengan metode backpropagation, error goal 0,001, maksimum epoh

1000 serta fungsi aktivasi menggunakan fungsi logsig, sedangkan konstanta

belajar dan banyaknya neuron pada lapisan tersembunyi diubah secara trial and

error.

Dari hasil pelatihan yang telah dilakukan, jaringan mengenali 100% dari

data yang dilatihkan, ditunjukkan oleh hasil keluaran yang ditampilkan sesuai

84

dengan target yang telah ditentukan yaitu misalkan pada pasien ke-1 target yang

diberikan adalah 1, maka hasil keluarannya menunjukkan 0,975743 yang

mendekati 1, begitu juga dengan pasien ke-2 dengan target 0, maka keluarannya

menunjukkan 0,0688691 yang mendekati 0, kemudian jaringan diuji dengan 20

data baru untuk menentukan seberapa jaringan syaraf tiruan mampu mengenali

data baru yang dimasukkan. Hasil pengujian terhadap 20 data baru menunjukkan

bahwa seluruh data sesuai dengan target atau sesuai dengan kenyataan.

Pada tahap pelatihan maupun pengujian sistem jaringan syaraf tiruan ini

mempunyai beberapa kelebihan, antara lain proses yang akurat, cepat, serta

meminimalisasi kesalahan. Pada jaringan syaraf tiruan yang perlu dilakukan

adalah hanya melatih jaringan untuk “belajar” dengan cara memasukkan set data

berisi sekumpulan kasus ke dalam jaringan. Dalam hal ini software yang cocok

digunakan untuk membantu pemecahan masalah jaringan syaraf tiruan adalah

Matlab karena banyak model jaringan syaraf tiruan yang memanipulasi matriks

atau vektor dalam iterasinya. Toolbox Matlab menyediakan fungsi-fungsi khusus

untuk menyelesaikan model jaringan syaraf tiruan. Adanya GUIDE Matlab yang

mempunyai fungsi built-in, siap digunakan dan pemakai tidak perlu repot

membuatnya sendiri sehingga lebih nyaman bila dibandingkan dengan harus

menulis program seperti pada Pascal dan pemrograman bahasa lainnya.

Adapun kelemahan sistem, antara lain sistem jaringan syaraf tiruan

merupakan sistem baru sehingga hanya dapat berfungsi sebagai alat bantu. Oleh

sebab itu, di dalam pengambilan keputusan masih digunakan faktor-faktor

pendukung atau kebijakan-kebijakan yang lain. Selain itu, belum ditemukannya

85

cara terbaik untuk merepresentasikan data input, memilih arsitektur, serta jumlah

node, dan jumlah lapisan. Cara yang digunakan hingga saat ini masih dengan cara

coba-coba (trial and error).

86

BAB 5

PENUTUP

5.1 Simpulan

Dari hasil penelitian dan pembahasan tentang implementasi jaringan syaraf

tiruan backpropagation dalam mendeteksi pasien suspek atau tidaknya mengidap

TBC dapat ditarik kesimpulan sebagai berikut.

1. Sistem deteksi penyakit Tuberculosis dapat diciptakan dengan menggunakan

software Matlab. Data diolah melalui beberapa tahapan, yaitu data gejala-

gejala umum penyakit TBC dijadikan sebagai data latih dan data suspek TBC

atau tidak digunakan sebagai data target. Kedua data tersebut disimpan

dengan format excel kemudian diconvert menjadi format .m melalui

workspace pada Matlab dengan cara import data. Setelah melalui proses

import data, tentukan arsitektur jaringan dengan cara trial and error dalam

hal ini proses pendeteksian menggunakan jaringan syaraf tiruan

backpropagation sehingga diperoleh nilai Mean Square Error (MSE) terkecil

dan waktu yang tercepat serta tingkat akurasi yang optimal. Dalam

pembuatan sistem, tahap yang harus dilakukan mulai dari pembuatan desain

progam dengan menggunakan Grapics User Interface (GUI) kemudian

dilanjutkan dengan melengkapi coding Matlab agar desain program bisa

berfungsi. Setelah proses-proses tersebut, sistem dapat digunakan untuk

mendeteksi suspek atau tidaknya pasien mengidap TBC.

87

2. Setelah dilakukan percobaan variasi learning rate dan jumlah neuron hidden

layer dalam proses pelatihan dan pengujian sistem dapat diperoleh tingkat

akurasi sebesar 100% dengan arsitektur jaringan yang optimal sebagai

berikut.

Jumlah iterasi (epoch) : 1000

Target error : 0,001

Learning rate : 0,5

Jumlah neuron hidden layer : 100.

5.2 Saran

Saran yang dapat ditulis untuk penelitian ini adalah sebagai berikut.

1. Sistem ini memungkinkan untuk dikembangkan dengan menggunakan

software lain selain software Matlab agar lebih mudah dan bisa digunakan

oleh masyarakat umum, karena software Matlab membutuhkan banyak

memori di komputer.

2. 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.

3. Perlunya penelitian di bidang jaringan syaraf tiruan terkait dengan deteksi

dini lebih lanjut, mengingat di Indonesia masih jarang penerapan jaringan

syaraf tiruan dalam kehidupan sehari-hari.

88

DAFTAR PUSTAKA

Abidin, Z. 2010. Pengenalan Ekspresi Wajah Menggunakan Metode Fisherface

dengan Pendekatan Jaringan Syaraf Tiruan Back Propagation. Tesis.

Yogyakarta: FMIPA Universitas Gajah Mada.

Amin, S. 2012. Sistem Deteksi Dini Hama Wereng Batang Coklat Menggunakan

Jaringan Syaraf Tiruan Backpropagation. Skripsi. Semarang: FMIPA

Universitas Negeri Semarang.

Astion, M.L. & Peter W. 1992. Application of Neural Networks to the

Interpretation of Laboratory Data in Cancer. Clin. Chem, 38/1: 34-38.

Dinas Kesehatan Kota Pekalongan. 2010. Profil Kesehatan Kota Pekalongan

Tahun 2010. Tersedia di http://dinkes.pekalongankota.go.id/ [diakses 11-2-

2013].

Fausset, L. 1994. Fundamental of Neural Network, Architecture, Algorithms, and

Applications. Prentice Hall.

Halim, A., Eric. M., & Layong. 2004. Analisis dan Perancangan Pengenal Tanda

Tangan dengan Jaringan Syaraf Tiruan Metode Propagasi Balik. Skripsi.

Jakarta. Universitas Bina Nusantara.

Hartono, A. F. 2012. Implementasi Jaringan Syaraf Tiruan Backpropagation

sebagai Sistem Pengenalan Citra Daging Sebagai Upaya Mengenali

Daging Sapi Asli dan Daging Sapi Palsu di Pasar Tradisional Kota

Semarang. Skripsi. Semarang: FMIPA Universitas Negeri Semarang.

Hermawan, A. 2006. Jaringan Syaraf Tiruan, Teori, dan Aplikasi. Yogyakarta:

ANDI.

Hermoza, T., Andika. A., Setyaningsih. E., Rinawati, N., Hastika, B., Putri, R. B.,

Anugerah, M., dan Wasisarini, R. 2011. Evaluating Accuracy. Jurusan

Matematika Universitas Gadjah Mada.

http://www. globalhealthfacts.org [diakses 23-12-2012].

Iqbal, M. 2009. Dasar Pengolahan Citra Menggunakan MATLAB. Departemen

Ilmu dan Teknologi Kelautan ITB.

Kementrian Kesehatan R.I. 2012. Laporan Situasi Terkini Perkembangan

Tuberkulosis di Indonesia Januari – Desember 2012. Tersedian di

http://www.tbindonesia.or.id/ [diakses 23-12-2012].

Kusumadewi, S. 2004. Membangun Jaringan Syaraf Tiruan dengan Matlab dan

Exel Link. Yogyakarta: Graha Ilmu.

89

Luthfianto, R., Imam S., & Yuli C. Peramalan Jumlah Penumpang Kereta Api

dengan Jaringan Syaraf Tiruan Metode Perambatan Balik

(Backpropagation). Semarang. Universitas Diponegoro.

Maharani, W. 2009. Klasifikasi Data Menggunakan JST Backpropagation

Momentum dengan Adaptive Learning Rate. Seminar Nasional Informatika

2009.

Mirawanti, Y., Maslim R.S., Agus W., & Dewi F.E., 2010. Neural Network.

Jurusan Statistika (Komputasi Statistik) Institut Teknologi Sepuluh

November Surabaya.

Misnadiarly. 2006. Penyakit Infeksi TB Paru dan Ekstra Paru: Mengenal,

Mencegah, Menanggulangi TBC Paru, Ekstra Paru, Anak, dan pada

Kehamilan. Jakarta: Pustaka Populer Obor.

Muttaqin, A. 2008. Asuhan Keperawatan Klien dengan Gangguan Sistem

Pernapasan. Jakarta: Salemba Medika.

Poerwadarminta, W. J. S. 2007. Kamus Umum Bahasa Indonesia Edisi Ketiga.

Jakarta. Balai Pustaka.

Pratiwi, I. 2011. Pemilihan Arsitektur Jaringan Syaraf Tiruan Multi-Layer

Perceptron Menggunakan Algoritma Genetika. Jurnal. Program Studi

Ilmu Komputer Jurusan Matematika FMIPA Universitas Brawijaya.

Tersedia di http://www.scribd.com/doc/50853948/jurnal-0410960025

[diunduh 6-1-2013].

Puspita, A. & Eunike. 2007. Penggunaan Jaringan Syaraf Tiruan Metode

Backpropagation untuk Memprediksi Bibir Sumbing. Seminar Nasional

Teknologi.

Puspitaningrum, D. 2006. Pengantar Jaringan Syaraf Tiruan. Yogyakarta: ANDI.

Rupam. 2011. The Difference between Object Detection and Object Recognition.

Tersedia di http://grasshoppernetwork.com/showthread.php?tid=562.html

[diakses 15-8-2013].

Sari, Z. W. 2010. Pengenalan Pola Golongan Darah Menggunakan Jaringan

Syaraf Tiruan Back Propagation. Skripsi. Malang: Fakultas Sains dan

Teknologi UIN.

Setiawan, W. 2008. Prediksi Harga Saham Menggunakan Jaringan Syaraf Tiruan

Multilayer Feedforward Network dengan Algoritma Backpropagation.

Konferensi Nasional Sistem dan Informatika 2008

Siang, J.J. 2009. Jaringan Syaraf Tiruan dan Pemrogramannya Menggunakan

MATLAB. Yogyakarta: ANDI.

90

Suharjito. 2008. Perbandingan Penggunaan Fungsi Aktivasi Logsig dan Tansig

dalan Aplikasi Jaringan Backpropagaion untuk Prediksi Harga CPO.

Prosiding Seminar Nasional Sains dan Teknologi-II 2008. Lampung:

Universitas Lampung.

LAMPIRAN-LAMPIRAN

90

Lampiran 1

Desain Tampilan Halaman Depan Program dengan Propertinya

No. Nama Komponen Properti Setting

1 Panel Title

Tag

Menu Utama

uipanel1

2 Axes Tag backbkpm

91

Lampiran 2

Kode Program untuk Halaman Depan

function varargout = haldepan(varargin) % HALDEPAN M-file for haldepan.fig % HALDEPAN, by itself, creates a new HALDEPAN or raises the

existing % singleton*. % % H = HALDEPAN returns the handle to a new HALDEPAN or the

handle to % the existing singleton*. % % HALDEPAN('CALLBACK',hObject,eventData,handles,...) calls

the local % function named CALLBACK in HALDEPAN.M with the given input

arguments. % % HALDEPAN('Property','Value',...) creates a new HALDEPAN or

raises the % existing singleton*. Starting from the left, property

value pairs are % applied to the GUI before haldepan_OpeningFcn gets called.

An % unrecognized property name or invalid value makes property

application % stop. All inputs are passed to haldepan_OpeningFcn via

varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows

only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help haldepan

% Last Modified by GUIDE v2.5 03-Jun-2013 18:40:52

% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @haldepan_OpeningFcn, ... 'gui_OutputFcn', @haldepan_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end

if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else

92

gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT

% --- Executes just before haldepan is made visible. function haldepan_OpeningFcn(hObject, eventdata, handles,

varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to haldepan (see VARARGIN) axes(handles.backbkpm); image(imread('bkm.jpg')); axis('off');

% Choose default command line output for haldepan

% Update handles structure guidata(hObject, handles);

% UIWAIT makes haldepan wait for user response (see UIRESUME) % uiwait(handles.haldepan);

% --- Outputs from this function are returned to the command line. function varargout = haldepan_OutputFcn(hObject, eventdata,

handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure

% --------------------------------------------------------------

------ function menu_file_Callback(hObject, eventdata, handles) % hObject handle to menu_file (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% ---------------------------------------------------------------

----- function menu_file_form_latih_Callback(hObject, eventdata,

handles) % hObject handle to menu_file_form_latih (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB

93

% handles structure with handles and user data (see GUIDATA) delete(handles.haldepan); formlatih

% ----------------------------------------------------------------

---- function menu_file_form_uji_Callback(hObject, eventdata, handles) % hObject handle to menu_file_form_uji (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA) delete(handles.haldepan); fformhasil

% ----------------------------------------------------------------

---- function menu_file_profil_Callback(hObject, eventdata, handles) % hObject handle to menu_file_form_latih (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA) delete(handles.haldepan); profil

% ----------------------------------------------------------------

---- function file_menu_exit_Callback(hObject, eventdata, handles) % hObject handle to menu_file_exit (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA) pos_size=get(handles.haldepan,'position'); user_response=tanya_keluar_utama('Exit','Konfirmasi Mengakhiri

Program'); switch user_response case {'No'} case 'Yes' delete(handles.haldepan); close end

94

Lampiran 3

Desain Tampilan Pelatihan Sistem dengan Propertinya

No. Nama Komponen Properti Setting

1 Pushbutton Tag

pushbutton1,

pushbutton2,

pushbutton3

2 Panel Title

Tag

Variabel Pelatihan

uipanel1

3 Edit text Tag

edit1, edit2, edit3,

edit4

4 Static text Tag

text1, text2, text3,

text4

5 Static text Tag text5

1

2

4 3

5

95

Lampiran 4

Kode Program untuk Pelatihan Sistem

function varargout = formlatih(varargin) % FORMLATIH M-file for formlatih.fig % FORMLATIH, by itself, creates a new FORMLATIH or raises the

existing % singleton*. % % H = FORMLATIH returns the handle to a new FORMLATIH or the

handle to % the existing singleton*. % % FORMLATIH('CALLBACK',hObject,eventData,handles,...) calls

the local % function named CALLBACK in FORMLATIH.M with the given input

arguments. % % FORMLATIH('Property','Value',...) creates a new FORMLATIH

or raises the % existing singleton*. Starting from the left, property

value pairs are % applied to the GUI before formlatih_OpeningFcn gets called.

An % unrecognized property name or invalid value makes property

application % stop. All inputs are passed to formlatih_OpeningFcn via

varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows

only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help formlatih

% Last Modified by GUIDE v2.5 06-Feb-2013 11:43:37

% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @formlatih_OpeningFcn, ... 'gui_OutputFcn', @formlatih_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end

if nargout

96

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT

% --- Executes just before formlatih is made visible. function formlatih_OpeningFcn(hObject, eventdata, handles,

varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to formlatih (see VARARGIN) axes(handles.latar); image(imread('fotoback.jpg')); axis('off'); % Choose default command line output for formlatih handles.output = hObject;

% Update handles structure guidata(hObject, handles);

% UIWAIT makes formlatih wait for user response (see UIRESUME) % uiwait(handles.latihfig);

% --- Outputs from this function are returned to the command line. function varargout = formlatih_OutputFcn(hObject, eventdata,

handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure varargout{1} = handles.output;

function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of

edit1 as a double

97

% --- Executes during object creation, after setting all

properties. function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function edit2_Callback(hObject, eventdata, handles) % hObject handle to edit2 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit2 as text % str2double(get(hObject,'String')) returns contents of

edit2 as a double

% --- Executes during object creation, after setting all

properties. function edit2_CreateFcn(hObject, eventdata, handles) % hObject handle to edit2 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function edit3_Callback(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit3 as text % str2double(get(hObject,'String')) returns contents of

edit3 as a double

98

% --- Executes during object creation, after setting all

properties. function edit3_CreateFcn(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function edit4_Callback(hObject, eventdata, handles) % hObject handle to edit4 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit4 as text % str2double(get(hObject,'String')) returns contents of

edit4 as a double

% --- Executes during object creation, after setting all

properties. function edit4_CreateFcn(hObject, eventdata, handles) % hObject handle to edit4 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

99

load latihdata.mat; epoh=str2num(get(handles.edit1,'String')); galat=str2num(get(handles.edit2,'String')); alpha=str2num(get(handles.edit3,'String')); nhidden=str2num(get(handles.edit4,'String')); [net,tr]=backprop(epoh,galat,alpha,nhidden); save('bobotjst.mat','net','tr');

% --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA) delete(handles.latihfig); fformhasil

% --- Executes on button press in pushbutton3. function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA) pos_size=get(handles.latihfig,'position'); user_response=tanya_kembali_utama('Menu','Konfirmasi Kembali ke

Menu Utama'); switch user_response case {'No'} case 'Yes' delete(handles.latihfig); haldepan end

% --- Executes during object creation, after setting all

properties. function uipanel1_CreateFcn(hObject, eventdata, handles) % hObject handle to uipanel1 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

100

Lampiran 5

Desain Tampilan Pendeteksian TBC dengan Propertinya

No. Nama Komponen Properti Setting

1 Static text Tag text1

2 Static text Tag text2, text3, text4,

text5, text6, text7

3 Popup menu Tag

popupmenu2,

popupmenu3,

popupmenu4,

popupmenu5,

popupmenu6,

popupmenu7

4 Edit text Tag

batuk, sesak, nyeri,

demam, makan,

malaise

5 Edit text Tag deteksi

6 Static text Tag text8

7 Panel

Title

Tag

Gejala Umum TBC,

Hasil Operasi, Output

Bobot

uipanel1, uipanel2,

1

7

2 3 4

5

8

6

9

101

uipanel3

8 Pushbutton Tag hitung, exit,

pushbutton3

9 Edit text Tag node

102

Lampiran 6

Kode Program untuk Pendeteksian TBC

function varargout = fformhasil(varargin) %FFORMHASIL M-file for fformhasil.fig % FFORMHASIL, by itself, creates a new FFORMHASIL or raises

the existing % singleton*. % % H = FFORMHASIL returns the handle to a new FFORMHASIL or

the handle to % the existing singleton*. % % FFORMHASIL('Property','Value',...) creates a new FFORMHASIL

using the % given property value pairs. Unrecognized properties are

passed via % varargin to fformhasil_OpeningFcn. This calling syntax

produces a % warning when there is an existing singleton*. % % FFORMHASIL('CALLBACK') and

FFORMHASIL('CALLBACK',hObject,...) call the % local function named CALLBACK in FFORMHASIL.M with the

given input % arguments. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows

only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help fformhasil

% Last Modified by GUIDE v2.5 21-Mar-2013 23:19:56

% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @fformhasil_OpeningFcn, ... 'gui_OutputFcn', @fformhasil_OutputFcn, ... 'gui_LayoutFcn', [], ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end

if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else

103

gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT

% --- Executes just before fformhasil is made visible. function fformhasil_OpeningFcn(hObject, eventdata, handles,

varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA) % varargin unrecognized PropertyName/PropertyValue pairs from

the % command line (see VARARGIN) axes(handles.axes4); image(imread('fotoback.jpg')); axis('off'); % Choose default command line output for fformhasil handles.output = hObject;

% Update handles structure guidata(hObject, handles);

% UIWAIT makes fformhasil wait for user response (see UIRESUME) % uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line. function varargout = fformhasil_OutputFcn(hObject, eventdata,

handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure varargout{1} = handles.output;

function node_Callback(hObject, eventdata, handles) % hObject handle to node (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of node as text % str2double(get(hObject,'String')) returns contents of

node as a double

104

% --- Executes during object creation, after setting all

properties. function node_CreateFcn(hObject, eventdata, handles) % hObject handle to node (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function deteksi_Callback(hObject, eventdata, handles) % hObject handle to deteksi (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of deteksi as text % str2double(get(hObject,'String')) returns contents of

deteksi as a double

% --- Executes during object creation, after setting all

properties. function deteksi_CreateFcn(hObject, eventdata, handles) % hObject handle to deteksi (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on button press in hitung. function hitung_Callback(hObject, eventdata, handles) % hObject handle to hitung (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

load bobotjst.mat; a=str2num(get(handles.batuk,'String'));

105

b=str2num(get(handles.sesak,'String')); c=str2num(get(handles.nyeri,'String')); d=str2num(get(handles.demam,'String')); e=str2num(get(handles.makan,'String')); f=str2num(get(handles.malaise,'String')); pola=[a, b, c, d, e, f];

y=sim(net,pola'); set(handles.node,'string',y(1)');

[baris,kolom]=find(y>=0.6); [H,W]=size(y); y2=zeros(H,W); for i=1:length(y) y2(baris,kolom)=1; end if y2'==[1] set(handles.deteksi,'string','Suspek TBC'); else set(handles.deteksi,'string','Negatif TBC'); end

guidata(hObject, handles);

% --- Executes on button press in exit. function exit_Callback(hObject, eventdata, handles) % hObject handle to exit (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA) pos_size=get(handles.figure1,'position'); user_response=tanya_kembali_utama('Menu','Konfirmasi Kembali ke

Menu Utama'); switch user_response case {'No'}

case 'Yes' delete(handles.figure1); haldepan end

% --- Executes on button press in pushbutton3. function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA) set(handles.batuk,'String',''); set(handles.sesak,'String',''); set(handles.nyeri,'String',''); set(handles.demam,'String',''); set(handles.makan,'String',''); set(handles.malaise,'String',''); set(handles.node,'String','');

106

set(handles.deteksi,'String','Hasil Deteksi...');

function batuk_Callback(hObject, eventdata, handles) % hObject handle to batuk (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of batuk as text % str2double(get(hObject,'String')) returns contents of

batuk as a double

% --- Executes during object creation, after setting all

properties. function batuk_CreateFcn(hObject, eventdata, handles) % hObject handle to batuk (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function sesak_Callback(hObject, eventdata, handles) % hObject handle to sesak (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of sesak as text % str2double(get(hObject,'String')) returns contents of

sesak as a double

% --- Executes during object creation, after setting all

properties. function sesak_CreateFcn(hObject, eventdata, handles) % hObject handle to sesak (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.

107

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function nyeri_Callback(hObject, eventdata, handles) % hObject handle to nyeri (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of nyeri as text % str2double(get(hObject,'String')) returns contents of

nyeri as a double

% --- Executes during object creation, after setting all

properties. function nyeri_CreateFcn(hObject, eventdata, handles) % hObject handle to nyeri (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function demam_Callback(hObject, eventdata, handles) % hObject handle to demam (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of demam as text % str2double(get(hObject,'String')) returns contents of

demam as a double

% --- Executes during object creation, after setting all

properties. function demam_CreateFcn(hObject, eventdata, handles) % hObject handle to demam (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

108

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function makan_Callback(hObject, eventdata, handles) % hObject handle to makan (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of makan as text % str2double(get(hObject,'String')) returns contents of

makan as a double

% --- Executes during object creation, after setting all

properties. function makan_CreateFcn(hObject, eventdata, handles) % hObject handle to makan (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function malaise_Callback(hObject, eventdata, handles) % hObject handle to malaise (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of malaise as text % str2double(get(hObject,'String')) returns contents of

malaise as a double

% --- Executes during object creation, after setting all

properties. function malaise_CreateFcn(hObject, eventdata, handles) % hObject handle to malaise (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB

109

% handles empty - handles not created until after all

CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on selection change in popupmenu2. function popupmenu2_Callback(hObject, eventdata, handles) % hObject handle to popupmenu2 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: contents = get(hObject,'String') returns popupmenu2

contents as cell array % contents{get(hObject,'Value')} returns selected item from

popupmenu2

v=get(handles.popupmenu2,'Value') switch v case 1 set(handles.batuk,'string','0'); case 2 set(handles.batuk,'string','0.25'); case 3 set(handles.batuk,'string','0.5'); case 4 set(handles.batuk,'string','0.75'); case 5 set(handles.batuk,'string','1'); end % --- Executes during object creation, after setting all

properties. function popupmenu2_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu2 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: popupmenu controls usually have a white background on

Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on selection change in popupmenu3.

110

function popupmenu3_Callback(hObject, eventdata, handles) % hObject handle to popupmenu3 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: contents = get(hObject,'String') returns popupmenu3

contents as cell array % contents{get(hObject,'Value')} returns selected item from

popupmenu3 v=get(handles.popupmenu3,'Value') switch v case 1 set(handles.sesak,'string','0'); case 2 set(handles.sesak,'string','0.5'); case 3 set(handles.sesak,'string','1'); end

% --- Executes during object creation, after setting all

properties. function popupmenu3_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu3 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: popupmenu controls usually have a white background on

Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on selection change in popupmenu4. function popupmenu4_Callback(hObject, eventdata, handles) % hObject handle to popupmenu4 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: contents = get(hObject,'String') returns popupmenu4

contents as cell array % contents{get(hObject,'Value')} returns selected item from

popupmenu4

v=get(handles.popupmenu4,'Value') switch v case 1 set(handles.nyeri,'string','0');

111

case 2 set(handles.nyeri,'string','0.5'); case 3 set(handles.nyeri,'string','1'); end % --- Executes during object creation, after setting all

properties. function popupmenu4_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu4 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: popupmenu controls usually have a white background on

Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on selection change in popupmenu5. function popupmenu5_Callback(hObject, eventdata, handles) % hObject handle to popupmenu5 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: contents = get(hObject,'String') returns popupmenu5

contents as cell array % contents{get(hObject,'Value')} returns selected item from

popupmenu5

v=get(handles.popupmenu5,'Value') switch v case 1 set(handles.demam,'string','0'); case 2 set(handles.demam,'string','0.5'); case 3 set(handles.demam,'string','0.75'); case 4 set(handles.demam,'string','1'); end % --- Executes during object creation, after setting all

properties. function popupmenu5_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu5 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

112

% Hint: popupmenu controls usually have a white background on

Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on selection change in popupmenu6. function popupmenu6_Callback(hObject, eventdata, handles) % hObject handle to popupmenu6 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: contents = get(hObject,'String') returns popupmenu6

contents as cell array % contents{get(hObject,'Value')} returns selected item from

popupmenu6

v=get(handles.popupmenu6,'Value') switch v case 1 set(handles.makan,'string','0'); case 2 set(handles.makan,'string','1'); end % --- Executes during object creation, after setting all

properties. function popupmenu6_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu6 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: popupmenu controls usually have a white background on

Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on selection change in popupmenu7. function popupmenu7_Callback(hObject, eventdata, handles) % hObject handle to popupmenu7 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: contents = get(hObject,'String') returns popupmenu7

contents as cell array

113

% contents{get(hObject,'Value')} returns selected item from

popupmenu7 v=get(handles.popupmenu7,'Value') switch v case 1 set(handles.malaise,'string','0'); case 2 set(handles.malaise,'string','1'); end

% --- Executes during object creation, after setting all

properties. function popupmenu7_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu7 (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: popupmenu controls usually have a white background on

Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

114

Lampiran 7

Desain Tampilan Halaman Profil

No. Nama Komponen Properti Setting

1 Static text Tag text1

2 Static text Tag text2

3 Pushbutton Tag exit

4 Static text Tag text3

5 Axes Tag foto

2

1

3

4

5

115

Lampiran 8

Kode Program untuk Halaman Profil

function varargout = profil(varargin) % PROFIL M-file for profil.fig % PROFIL, by itself, creates a new PROFIL or raises the

existing % singleton*. % % H = PROFIL returns the handle to a new PROFIL or the handle

to % the existing singleton*. % % PROFIL('CALLBACK',hObject,eventData,handles,...) calls the

local % function named CALLBACK in PROFIL.M with the given input

arguments. % % PROFIL('Property','Value',...) creates a new PROFIL or

raises the % existing singleton*. Starting from the left, property

value pairs are % applied to the GUI before profil_OpeningFcn gets called.

An % unrecognized property name or invalid value makes property

application % stop. All inputs are passed to profil_OpeningFcn via

varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows

only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help profil

% Last Modified by GUIDE v2.5 03-Jun-2013 20:05:51

% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @profil_OpeningFcn, ... 'gui_OutputFcn', @profil_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end

if nargout

116

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT

% --- Executes just before profil is made visible. function profil_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to profil (see VARARGIN) axes(handles.foto); image(imread('pp.jpg')); axis('off');

% Choose default command line output for profil handles.output = hObject;

% Update handles structure guidata(hObject, handles);

% UIWAIT makes profil wait for user response (see UIRESUME) % uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line. function varargout = profil_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure varargout{1} = handles.output;

% --- Executes on button press in exit. function exit_Callback(hObject, eventdata, handles) % hObject handle to exit (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA) pos_size=get(handles.figure1,'position'); user_response=tanya_kembali_utama('Menu','Konfirmasi Kembali ke

Menu Utama'); switch user_response case {'No'}

case 'Yes'

117

delete(handles.figure1); haldepan end

118

Lampiran 9

Kode Program untuk Fungsi Backpropagation

function[net,tr]=backprop(epoh,galat,alpha,nhidden); clc load latihdata.mat; load datatargett.mat;

%membangun jaringan syaraf feedforward net=newff(minmax(latihdata(:,:)'),[nhidden,1],{'logsig'

'logsig'},'traingd');

%set maks. epoh,galat, learning rate net.trainparam.epochs=epoh; net.trainparam.goal=galat; net.trainparam.lr=alpha;

%inisialisasi bilangan acak net=init(net);

%melakukan training [net,tr]=train(net,latihdata(:,:)',t(:,:)');

119

Lampiran 10

Contoh Program Saat Dijalankan

120

121

122

Lampiran 11

DATA PASIEN SUSPEK TBC

DI BALAI KESEHATAN PARU MASYARAKAT (BKPM)

PEKALONGAN

No. Nama Usia Alamat

1 AN 37 Tahun Lapas Kelas IIA Pekalongan

2 MW 52 Tahun Bendan, Pekalongan

3 HN 36 Tahun Pemalang

4 MRF 37 Tahun Jenggot, Pekalongan

5 NYA 30 Tahun Wonopringgo, kab. Pekalongan

6 AB 47 Tahun Krapyak, Pekalongan

7 MR 47 Tahun Kasepuhan, Batang

8 LT 22 Tahun Kergon, Pekalongan

9 AN 33 Tahun Wonotunggal, Batang

10 WY 51 Tahun Sragi, kab. Pekalongan

11 RA 23 Tahun Kedungwuni, kab. Pekalongan

12 ZN 46 Tahun Jenggot, Pekalongan

13 FD 35 Tahun Wonopringgo, kab. Pekalongan

14 MS 25 Tahun Medono, Pekalongan

15 SB 21 Tahun Medono, Pekalongan

16 SY 50 Tahun Tegal Rejo, Pekalongan

17 ZK 24 Tahun Buaran, Pekalongan

18 AM 29 Tahun Sukorejo, Pekalongan

19 IW 25 Tahun Podosugih, Pekalongan

20 FD 61 Tahun Doro, kab. Pekalongan

21 SH 28 Tahun Kauman. Pekalongan

22 ZF 1,5 Tahun Setono, Pekalongan

23 BK 28 Tahun Panjang Wetan, Pekalongan

123

24 TF 41 Tahun Setono, Pekalongan

25 KK 40 Tahun Bener, kab. Pekalongan

26 MFAS 25 Tahun Poncol, Pekalongan

27 AN 29 Tahun Pasir Sari, Pekalongan

28 US 51 Tahun Sapuro, Pekalongan

29 DF 19 Tahun Banyu Urip Alit, Pekalongan

30 MKA 27 Tahun Medono, Pekalongan

31 LH 18 Tahun Panjang Wetan, Pekalongan

32 WY 36 Tahun Panjang Wetan, Pekalongan

33 SP 23 Tahun Noyontaan, Pekalongan

34 MHH 15 Tahun Kandang Panjang, Pekalongan

35 SG 44 Tahun Keputran, Pekalongan

36 BAR 18 Tahun Wiradesa, kab. Pekalongan

37 DS 32 Tahun Sapuro, Pekalongan

38 NC 29 Tahun Bendan, Pekalongan

39 SP 38 Tahun Noyontaan, Pekalongan

40 DN 1,5 Tahun Kesesi, kab. Pekalongan

41 DY 26 Tahun Yosorejo, Pekalongan

42 AM 36 Tahun Sragi, kab. Pekalongan

43 SW 44 Tahun Kandang Panjang, Pekalongan

44 MS 18 Tahun Kertoharjo, Pekalongan

45 AS 62 Tahun Klego, Pekalongan

46 RJ 23 Tahun Denasri Wetan, Pekalongan

47 ZA 49 Tahun Kergon, Pekalongan

48 RN 44 Tahun Cangakan, Pemalang

49 NA 16 Tahun Proyo Tengah, Batang

50 NR 21 Tahun Pringlangu, Pekalongan

51 IV 23 Tahun Candi Areng, Batang

52 LH 25 Tahun Karang Jompo, kab. Pekalongan

53 MR 23 Tahun Medono, Pekalongan

124

54 JP 47 Tahun Karang Malang, Pekalongan

55 SR 23 Tahun Krapyak Lor, Pekalongan

56 MS 50 Tahun Karang Anyar, kab. Pekalongan

57 WP 49 Tahun Kandang Panjang, Pekalongan

58 BT 65 Tahun Poncol, Pekalongan

59 WT 40 Tahun Gamer, Pekalongan

60 AH 26 Tahun Karang Dadap, kab. Pekalongan

61 FR 35 Tahun Kergon, Pekalongan

62 AI 22 Tahun Tirto, kab. Pekalongan

63 SK 55 Tahun Kraton, Pekalongan

64 SB 55 Tahun Landung Sari, Pekalongan

65 MR 62 Tahun Medono, Pekalongan

66 IN 17 Tahun Petarukan, Pemalang

67 DES 20 Tahun Jenggot, Pekalongan

68 IB 26 Tahun Wonokerto, kab. Pekalongan

69 RB 47 Tahun Kandang Panjang, Pekalongan

70 AEKW 26 Tahun Kedungwuni, kab. Pekalongan

125

DATA PASIEN NON-SUSPEK TBC

DI BALAI KESEHATAN PARU MASYARAKAT (BKPM)

PEKALONGAN

No. Nama Usia Alamat

1 MHM 8,5 Tahun Panjang Wetan, Pekalongan

2 SY 40 Tahun Comal, Pemalang

3 RL 67 Tahun Kasepuhan, Batang

4 SD 63 Tahun Pekalongan Timur

5 KM 47 Tahun Taman, Pemalang

6 WL 77 Tahun Bendan, Pekalongan

7 NZ 57 Tahun Banyu Urip Alit, Pekalongan

8 SM 24 Tahun Buaran, Pekalongan

9 AS 46 Tahun Kradenan, Pekalongan

10 MY 72 Tahun Bodeh, Pemalang

11 AS 22 Tahun Noyontaan, Pekalongan

12 SM 31 Tahun Watu Kumpul, Pemalang

13 SF 43 Tahun Bendan, Pekalongan

14 AN 37 Tahun Buaran, Pekalongan

15 SY 32 Tahun Gringsing, Batang

16 SK 55 Tahun Comal, Pemalang

17 M HW 9 Tahun Kebulen, Pekalongan

18 ZAS 4 Tahun Kandang Panjang, Pekalongan

19 MR 9 Tahun Karang Asem, Batang

20 AL 3 Tahun Panjang Wetan, Pekalongan

21 KL 48 Tahun Podosugih, Pekalongan

22 AF 8 Tahun Yosorejo, Pekalongan

23 MR 26 Tahun Gamer, Pekalongan

24 AK 20 Tahun Talun, Pemalang

25 MR 55 Tahun Tirto, kab. Pekalongan

126

26 SN 70 Tahun Ulujami, Pemalang

27 SS 73 Tahun Petarukan, Pemalang

28 SR 44 Tahun Buaran, Pekalongan

29 DY 33 Tahun Krapyak, Pekalongan

30 KB 51 Tahun Denasri, Pekalongan

Pekalongan, Februari 2013

Mengetahui, Peneliti,

Penanggung Jawab BKPM

90

Data Uji Coba Variabel Pelatihan

No. Target hid=50

alfa=0.05

hid=100

alfa=0.05

hid=50

alfa=0.1

hid=100

alfa=0.1

hid=50

alfa=0.2

hid=100

alfa=0.2

hid=50

alfa=0.3

hid=100

alfa=0.3

hid=50

alfa=0.5

hid=100

alfa=0.5 hid=50

alfa=0.75 hid=100

alfa=0.75

hid=10

alfa=0.05

hid=10

alfa=0,1

hid=10

alfa=0,2

hid=10

alfa=0,5

hid=10

alfa=0,7

5

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

3 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

4 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

5 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1

7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

9 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0

10 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

11 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0

12 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0

13 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

14 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

15 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0

16 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

17 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

18 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

19 1 0 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1

20 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1

21 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1

22 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1

23 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

24 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

127

Lam

pira

n 1

2

91

25 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1

26 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

27 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

28 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

29 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

30 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

31 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

33 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

34 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

35 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1

36 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

37 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

38 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

39 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

40 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

41 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

42 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1

43 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

44 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

45 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

46 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

47 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

48 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

49 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

50 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

51 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1

52 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

53 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

128

92

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

129

93

83 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

84 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

85 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

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

130

131

Lampiran 14

Surat Ketetapan Dosen Pembimbing

132

Lampiran 15

Surat Ijin Penelitian dari Fakultas

133

Lampiran 16

Surat Ijin Penelitian dari BAPPEDA Kota Pekalongan

134

Lampiran 17

Surat Ijin Penelitian dari Dinas Kesehatan Kota Pekalongan