BAB III 
PEMBAHASAN

Pada bab ini akan dibahas mengenai data yang digunakan sebagai pelatihan dan pengujian beserta pendefinisiannya, pembentukan jaringan, optimasi jaringan, tampilan interface, serta analisis hasil dari proses pelatihan dan pengujian.
A.	Pengambilan Data 
Dalam perancangan sistem jaringan saraf tiruan ini, variabel yang digunakan adalah gejala penyakit TBC yang meliputi batuk, keringat malam, lelah atau lemas, sesak napas, nyeri di dada, demam serta kehilangan nafsu makan. Sebagai outputnya merupakan prediksi seseorang menderita penyakit TBC atau tidak.
Data yang diproses diambil secara acak, mulai dari anak-anak, orang dewasa dan orang tua pada tanggal 1 Januari 2005 sampai dengan 31 Mei 2006 di RSU PKU Muhamadiyah Yogyakarta. Jumlah data yang digunakan sebanyak 70 pasien penderita TBC, dengan 40 data sebagai pelatihan dan 30 data dipergunakan untuk menguji keakuratan sistem yang digunakan untuk mengenali pola masukan.
Seluruh data yang terkumpul dibagi dalam dua kelompok besar, yaitu data yang berfungsi sebagai masukan untuk proses pelatihan dan pengujian serta data yang berfungsi sebagai keluaran. Data yang tergolong sebagai masukan  yaitu 40 data dengan 7 variabel gejala yang dijadikan sebagai matriks P dengan ukuran 40 x 7, kemudian ditranspos menjadi matriks berukuran 7 x 40 yang dijadikan sebagai input pelatihan seperti pada lampiran 2a, begitu juga 30 data yang digunakan sebagai pengujian dengan matriks U berukuran 7 x 30 seperti pada lampiran 2b.
B.	Pendefinisian Input dan Target
Data gejala-gejala yang dialami oleh pasien penyakit TBC 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 panyakit TBC. Hal ini dikarenakan jaringan menggunakan fungsi aktivasi 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. 
1.	Pendefinisian Masukan
Gejala-gejala penyakit TBC diubah ke dalam variabel sedangkan kategori dari masing-masing gejala tersebut diubah ke bentuk numerik, yaitu:
a.	Batuk (X1) dengan kategori
Tidak batuk		= 0
Batuk biasa		= 0.25
Batuk berdahak	= 0.50
Batuk lama		= 0.75
Batuk dengan darah	= 1
b.	Keringat malam (X2)
Tidak keluar		= 0
Keluar 			= 1
c.	Lelah atau lemas (X3) 
Tidak terjadi 		= 0
Terjadi 		= 1
d.	Sesak napas (X4)
Tidak sesak 		= 0
Sesak 			= 1
e.	Nyeri di dada (X5)
Tidak nyeri 		= 0
Nyeri 			= 1
f.	Demam (X6)
Tidak 				= 0
Kadang-kadang demam	= 0.25
Agak demam 			= 0.5
Demam agak panas 		= 0.75
Panas sekali 			= 1
g.	Penurunan nafsu makan (X7)
	Tidak terjadi			= 0
	Terjadi 			= 1

2.	Penetapan Target
Hasil yang ingin diperoleh pada tahap ini yaitu terdeteksinya suatu nilai untuk memprediksi seseorang terjangkit penyakit TBC atau tidak.  Hasil yang maksud adalah sebagai berikut:
a.	Untuk output bernilai 0 berarti tidak menderita penyakit TBC.
b.	Untuk output bernilai 1 berarti menderita penyakit TBC.
Hasil dari penetapan input dan target untuk masing-masing data pelatihan dan data pengujian dapat dilihat pada tabel 3.1 dan tabel 3.2. Tabel 3.1 merupakan pendefinisian input dan target dari data pelatihan pada lampiran 1 yang telah direpresentasikan  dalam numerik sesuai dengan gejala yang dialami. Tabel 3.2 merupakan pendefinisian dari data pengujian pada lampiran 1 yang telah direpresentasikan sesuai dengan gejala yang dialami.
C.	Pembentukan Jaringan
Jaringan yang digunakan untuk diagnosa penyakit TBC adalah jaringan saraf tiruan backpropagation. Jaringan ini memiliki beberapa layer, yaitu layer  masukan, layer keluaran dan beberapa layer tersembunyi. Layer tersembunyi tersebut membantu jaringan untuk dapat mengenali lebih banyak pola masukan dibandingkan dengan jaringan yang tidak memiliki layer tersembunyi.

Tabel 3.1. Data pelatihan
Pasien ke-	Variable gejala penyakit yang dialami
	Target	
	X1	X2	X3	X4	X5	X6	X7		
1.		0,25	0	0	1	0	1	0	0	
2.		0,25	1	1	0	0	1	0	0	
3.		0,25	0	1	1	0	0	0	0	
4.		0,75	0	0	1	0	0	0	0	
5.		0,5	0	0	1	1	0	1	0	
6.		0,25	0	1	0	0	0,75	0	0	
7.		0	0	1	1	0	0	0	0	
8.		0,5	0	0	1	0	0,75	0	0	
9.		0	0	0	1	1	0	1	0	
10.		1	0	0	0	0	0	0	0	
11.		0,25	0	1	1	0	1	0	0	
12.		0,25	0	0	1	0	0,75	0	0	
13.		0,25	0	1	1	0	0	0	0	
14.		0,25	0	0	1	0	0	1	0	
15.		1	0	0	0	0	1	0	0	
16.		0	0	0	1	0	1	0	0	
17.		1	0	0	0	1	0	0	0	
18.		0.5	0	0	1	0	0	0	0	
19.		0.5	0	0	1	1	1	0	0	
20.		0	0	0	1	0	0	1	0	
21.		0,75	0	0	1	1	0	0	1	
22.		1	0	0	0	1	1	0	1	
23.		0,25	1	0	1	1	1	0	1	
24.		0,75	0	0	1	0	0	1	1	
25.		0,75	0	0	1	0	1	0	1	
26.		1	0	0	1	0	0	0	1	
27.		1	0	1	1	0	0	0	1	
28.		1	0	1	1	0	0.75	1	1	
29.		0,25	1	0	1	1	1	0	1	
30.		0,25	0	1	1	0	0,75	1	1	
31.		0,25	0	1	1	0	1	1	1	
32.		0,75	0	0	1	0	1	0	1	
33.		0	1	1	1	0	0,75	0	1	
34.		1	0	1	1	0	0	0	1	
35.		0,75	0	1	1	0	0	0	1	
36.		1	0	1	0	1	1	0	1	
37.		0,75	0	1	1	0	1	0	1	
38.		0	1	1	1	1	0,75	0	1	
39.		1	0	0	1	1	0,75	0	1	
40.		0,75	0	0	1	0	0,75	0	1	

.

.
Tabel 3.2. Data Pengujian
Pasien ke-	Variable gejala penyakit yang dialami	Target	
	X1	X2	X3	X4	X5	X6	X7		
1.		1	0	1	0	1	0	0	1	
2.		0,75	0	1	1	0	0,75	0	1	
3.		1	0	1	1	1	0	0	1	
4.		0,75	0	0	1	0	0	1	1	
5.		1	0	0	0	1	1	0	1	
6.		0,75	1	0	1	1	0	0	1	
7.		1	0	0	0	0	1	0	1	
8.		0,75	0	0	1	0	0,75	1	1	
9.		0,75	0	0	1	0	0,75	0	1	
10.		0,75	0	1	1	0	0	0	1	
11.		1	0	1	1	0	0,75	0	1	
12.		0,25	1	0	1	1	1	0	1	
13.		0,75	1	0	1	1	0	1	1	
14.		1	0	0	1	0	0	0	1	
15.		0,75	0	0	1	0	1	0	1	
16.		0,75	0	0	1	0	0	0	0	
17.		0,25	0	0	1	0	0	1	0	
18.		0	0	1	1	0	1	0	0	
19.		1	0	0	0	0	0	0	0	
20.		0	0	1	0	0	0,75	0	0	
21.		0	0	1	1	0	0	0	0	
22.		0,25	0	1	0	0	1	0	0	
23.		0	0	1	1	0	0	0	0	
24.		0,25	0	0	1	1	0,75	0	0	
25.		0,5	0	0	1	0	0	0	0	
26.		0	0	0	0	0	0	1	0	
27.		0.75	0	0	1	0	0	0	0	
28.		0,75	0	0	0	0	1	0	0	
29.		0,25	0	0	1	0	0	0	0	
30.		0,25	0	1	1	0	0	0	0	

Parameter-parameter dalam pembentukan jaringan backpropagation adalah sebagai berikut:
1.	Bobot dan Bias (wi dan bi)
Pemilihan bobot awal sangat mempengaruhi jaringan saraf dalam mencapai minimum terhadap nilai error, serta cepat tidaknya proses pelatihan menuju kekonvergenan. Nilai dari bobot (w1 dan w2) dan bias (b1 dan b2) dapat dilihat dalam lampiran 4.   
2.	Jumlah Neuron pada Layer Tersembunyi
Jumlah neuron pada layer tersembunyi tidak dapat ditentukan secara pasti. Hal ini karena proses yang berlangsung pada neuron hanya berpengaruh pada saat pelatihan sehingga banyaknya neuron ditentukan dengan trial and error untuk mendapatkan hasil yang optimal. Tabel 3.1 digunakan untuk menentukan neuron pada layar tersembunyi saat pelatihan. Hasil pelatihan diperoleh 50 neuron pada layer tersembunyi dalam menentukan keluaran yang diinginkan yaitu mencapai error goal. Jika pada saat pelatihan terjadi error (jaringan mengalami kesulitan pembelajaran), maka dapat ditambah neuron lagi. 
3.	Error Goal
Error goal atau galat ditentukan untuk membandingkan dengan galat pada jaringan saat pelatihan. Jaringan akan konvergen ketika error jaringan lebih kecil dari error goal. Nilai galat yang ditentukan untuk membandingkan dengan galat jaringan adalah 0.1.
4.	Learning Rate (Konstanta Belajar)
Learning rate dapat diubah-ubah dari 0 sampai 1 untuk mendapatkan kekonvergenan seperti pada tabel 3.3. Nilai learning rate tidak dapat ditentukan secara pasti sehingga perlu dilakukan trial and error untuk mendapatkan nilai learning rate yang dapat menghasilkan iterasi tercepat dalam mencapai konvergen. 

5.	Fungsi Aktivasi
Dalam jaringan saraf tiruan, fungsi aktivasi digunakan untuk menentukan keluaran suatu neuron. Fungsi aktivasi yang digunakan dalam penerapan JST untuk penyakit TBC yaitu fungsi aktivasi logsig.    
D.	Pelatihan dan Pengujian
Pelatihan dan pengujian dilakukan dengan menggunakan fungsi-fungsi yang tersedia dalam Matlab. Untuk pelatihan menggunakan fungsi initff dalam menginisialisasi bobot dan bias dengan listing program seperti pada gambar 3.1 yang disimpan dalam initff.m. 
Baris 1 sampai 7 merupakan penjelasan mengenai fungsi initff. Baris 9 menjelaskan aplikasi fungsi initff dalam Matlab command window. Baris 10 sampai dengan 15 merupakan penjelasan dari parameter-parameter yang digunakan dalam fungsi initff. Baris 17 menjelaskan penggunaan fungsi initff dengan matriks T (target).
Pelatihan pola masukan  pada jaringan dilakukan dengan fungsi trainbp. Listing program trainbp dapat dilihat dalam gambar 3.2 dan tersimpan dengan file trainbp.m. Baris 1 sampai 10 merupakan penjelasan fungsi trainbp. Baris 12 menjelaskan penggunaan fungsi trainbp pada Matlab command window. Baris 13 sampai 23 menjelaskan parameter yang digunakan dalam fungsi trainbp.

Gambar 3.1. Listing program fungsi initff
Sedangkan untuk pengujian jaringan digunakan fungsi simuff dengan tujuan menghitung keluaran jaringan berdasarkan pola masukan, target serta fungsi aktivasi yang dipakai. Litsing program simuff dapat dilihat pada gambar 3.3 yang tersimpan dalam simuff.m.

Gambar 3.2. Listing program fungsi trainbp
Baris 1 sampai dengan 9 merupakan penjelasan tentang fungsi simuff. Baris 11 sampai dengan 15 menjelaskan parameter yang digunakan dalam fungsi simuff. Baris 18 menjelaskan penggunaan fungsi simuff dalam Matlab command window.

Gambar 3.3. Listing program fungsi simuff
Proses pelatihan merupakan langkah penting bagi jaringan saraf tiruan untuk membentuk bobot yang baik agar mampu mengenali pola data gejala penyakit TBC. Fungsi aktivasi yang dipakai adalah fungsi aktivasi logsig. Metode backpropagation mampu menghasilkan bobot jaringan yang baik bagi jaringan saraf tiruan sehingga dapat melakukan tugasnya. Parameter yang dipakai adalah error goal (galat minimum yang diijinkan), epoch mach (iterasi maksimum yang diinginkan) serta learning rate. Diagram alir proses pelatihan jaringan ditunjukkan oleh gambar 3.4.

Gambar 3.4. Diagram alir proses pelatihan
Proses pengujian bertujuan untuk menguji jaringan saraf tiruan, apakah sudah mampu menghasilkan bobot-bobot yang baik dan mampu mengenali pola yang telah dilatihkan. Proses pengujian ini dapat dilakukan dengan menggunakan input dan data pengujian. Hanya saja nilai bobot dan bias tidak berubah yaitu menggunakan bobot dan bias yang didapat dari proses pelatihan. Proses pengujian jaringan saraf tiruan ditunjukkan dalam diagram alir seperti pada gambar 3.5.

Gambar 3.5. Diagram alir proses pengujian 
E.	Optimalisasi Jaringan
Dalam proses iterasi, untuk mencapai error goal, akan terdapat suatu kondisi yang disebut konvergen dan tidak konvergen. Kondisi tersebut terjadi karena error jaringan selalu dibandingkan dengan error goal yang telah ditentukan sebelumnya. Bila maksimum iterasi sudah tercapai dan error jaringan lebih kecil dari error goalnya maka kondisi tersebut akan konvergen. Bila error jaringan lebih besar dari error goalnya maka kondisi tersebut tidak konvergen. Dengan error yang semakin kecil maka akan didapat nilai keluaran yang semakin baik.
Optimasi jaringan yang akan dilakukan diberi batasan sehingga dapat diperoleh hasil yang efektif. Adapun batasan tersebut antara lain :
1.	Jumlah iterasi maksimum 1000
2.	Proses pelatihan dihentikan bila telah tercapai error goal 0,1.
3.	Hasil terbaik ditentukan dari iterasi tercepat dalam pencapaian error goalnya. 
F.	Perancangan Sistem
Perancangan sistem diperlukan agar jaringan yang akan digunakan dapat dijalankan sesuai dengan yang diharapkan oleh pembuat sistem. Pada penerapan jaringan saraf tiruan untuk mendiagnosa penyakit TBC juga akan dirancang sebuah sistem yang akan mendukung program tersebut yaitu algoritma beserta tampilan. 
1.	Algoritma
Algoritma yang digunakan adalah algoritma backpropagation seperti yang telah dijelaskan dalam dasar teori. Fungsi yang digunakan dalam sistem ini antara lain fungsi initff, trainbp, simuff serta fungsi aktivasi logsig yang telah tersedia dalam Matlab. Fungsi initff digunakan untuk inisialisasi bobot dan bias, fungsi trainbp digunakan untuk melatih jaringan untuk mengenali pola, sedangkan fungsi simuff digunakan untuk menentukan keluaran dari jaringan apakah sesuai dengan target yang telah ditentukan.   
2.	Perancangan Tampilan
Proses pelatihan, pengujian data dan aplikasi diagnosa penyakit TBC telah dirancang dalam suatu program Matlab sehingga user hanya memasukkan matriks-matrik dan besaran atau satuan yang digunakan sebagai parameter. GUIDE Matlab membantu pembuat program untuk menampilkan sebuah tampilan program agar lebih menarik. GUIDE sudah tersedia dalam Matlab sehingga user dapat memanfaatkan sesuai dengan kebutuhan. Rancangan tampilan pembuka ditunjukkan oleh gambar 3.6.

PENERAPAN JARINGAN SARAF TIRUAN
TERHADAP DIAGNOSA PENYAKIT TBC
DI RSU PKU MUHAMMADIYAH
YOGYAKARTA

Oleh
IHSAN BUDIARSO
033114002

MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS NEGERI YOGYAKARTA

Gambar 3.6. Rancangan tampilan pembuka
Selanjutnya rancangan tampilan pelatihan jaringan ditunjukkan gambar 3.7 yang menampilkan parameter-parameter pada saat pelatihan. 

Gambar 3.7 Rancangan tampilan pelatihan
Rancangan tampilan berikutnya yaitu tampilan pengujian seperti yang ditunjukkan gambar 3.8. 

Gambar 3.8 Rancangan pengujian data
Rancangan tampilan berikutnya merupakan tampilan prediksi, ditunjukkan oleh gambar 3.9. Tampilan ini digunakan untuk mengetahui apakah seorang user yang telah memasukkan input berupa gejala penyakit yang dialami, menderita penyakit TBC atau tidak. Variabel dari gejala penyakit TBC telah didefinisikan dalam m-file, sehingga user hanya memasukkan input berupa bilangan yang telah didefinisikan sebelumnya sesuai dengan tingkat gejala yang diderita. 

Gambar 3.9 Rancangan Prediksi

G.	Implementasi
Berdasarkan program yang telah dirancang maka implementasi dari penerapan jaringan saraf tiruan dalam mendiagnosa penyakit TBC akan dijelaskan dalam subbab ini. Seluruh tampilan yang digunakan menggunakan GUIDE dan disimpan dalam file dengan format *.fig.
Tampilan yang telah dirancang selanjutnya siap digunakan untuk mendiagnosa penyakit TBC. Program dapat dijalankan dengan cara memanggil nama file program utama pada Matlab command window dengan current directory Program Ihsan sehingga akan menghasilkan interface pembuka seperti pada gambar 3.10. 

Gambar 3.10 Tampilan pembuka
Program pelatihan jaringan dilakukan dengan cara memilih menu Program lalu pelatihan yang tampilannya dapat dilihat pada gambar 3.11. Interface pelatihan digunakan untuk memasukkan parameter pelatihan yang telah diperoleh pada  pelatihan sebelumnya. dengan potongan listing program sebagai berikut :
function tinput_Callback(hObject, eventdata, handles)
% hObject    handle to tinput (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 tinput as text
%        str2double(get(hObject,'String')) returns contents of tinput as a double
Matriks_input=get(handles.tinput,'String');
handles.Matriks_input=Matriks_input;
guidata(hObject, handles);
Potongan m-file di atas merupakan script untuk perintah pola input pada variabel pelatihan, sedangkan untuk variabel yang lain menyesuaikan. Script pada tombol pelatihan dapat dituliskan sebagai berikut : 
% --- Executes on button press in tmb_pelatihan.
function tmb_pelatihan_Callback(hObject, eventdata, handles)
% hObject    handle to tmb_pelatihan (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
P=handles.Matriks_input
T=handles.Matriks_output
A=handles.aktivasi
KB=handles.konstanta_blj
LT=handles.Lapisan_tersb
G=handles.Galat
TpI=handles.Tampilan
BI=handles.Batas_itrs
set(handles.tmb_pelatihan,'string','40');  
Sedangkan untuk tombol yang lain dapat dituliskan sesuai dengan fungsi tombol tersebut. M-script pada tombol pelatihan menggunakan style pushbutton, karena bila tombol tersebut ditekan akan menghasilkan keluaran berupa hasil pelatihan yang telah dilakukan pada program jaringan saraf tiruan.

Gambar 3.11 Tampilan pelatihan
Pada gambar 3.11 menggambarkan hasil dari pelatihan dengan parameter konstanta belajar 0.75, neuron pada layer tersembunyi 50 serta error goal 0.1 ketika tombol pelatihan dipilih. Variabel pelatihan yang diinputkan merupakan variabel yang menghasilkan iterasi tercepat dalam mencapai konvergensi sehingga merupakan konfigurasi terbaik yang dapat digunakan untuk proses berikutnya.  
Setelah pelatihan, selanjutnya dilakukan pengujian terhadap keakuratan jaringan dengan tampilan pada gambar 3.12. Masukkan input pada pola input yang diinginkan dengan sebuah variabel matiks. Begitu juga dengan masukan pada pola output yang diinginkan. Script untuk pola input pengujian dapat dituliskan berikut ini :
function tinput_Callback(hObject, eventdata, handles)
% hObject    handle to tinput (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 tinput as text
%        str2double(get(hObject,'String')) returns contents of tinput as a double
Pola_input=get(handles.tinput,'String');
handles.Pola_input=Pola_input;
guidata(hObject, handles);

M-script di atas menggunakan edit text untuk memasukkan input berupa matriks dengan tag t_input, sedangan untuk script pola output menyesuaikan seperti pada pola input. Script pada tombol-tombol pengujian, prediksi, reset, kembali, dan keluar menggunakan style pushbutton seperti pada tombol pelatihan. Gambar 3.12 menggambarkan masukan untuk pola input dan output muncul angka 30  ketika dipilih tombol pengujian yang merupakan jumlah dari data pengujian, kemudian pilih PREDIKSI akan muncul interface prediksi seperti pada gambar 3.13.

Gambar 3.12  Tampilan Pengujian
Tampilan pada gambar 3.13 digunakan untuk memasukkan gejala penyakit TBC pada tempat yang telah disediakan. Masukan berupa angka dari 0 sampai dengan 1 yang menunjukkan tingkatan gejala penyakit yang diderita sesuai dengan masing-masing variabel seperti pada definisi sebelumnya. Berikut script dari variabel batuk :
function tbatuk_Callback(hObject, eventdata, handles)
% hObject    handle to tbatuk (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 tbatuk as text
%        str2double(get(hObject,'String')) returns contents of tbatuk as a double
Batuk=str2num(get(handles.tbatuk,'String'));
handles.Batuk=Batuk;
guidata(hObject, handles);  
Pada script diatas menggunakan perintah str2num, karena semua masukan dinyatakan dalam string sehingga perlu diubah dalam bentuk numerik. Property inspector menggunakan edit text yang dapat diubah-ubah masukannya. Variabel gejala penyakit TBC yang lain hampir sama dengan variabel batuk.

Gambar 3.13  Tampilan Prediksi
Setelah semua input dimasukkan, kemudian pilih prediksi penyakit TBC sehingga akan muncul keterangan tentang seseorang menderita penyakit TBC atau tidak. Setelah itu pilih reset untuk membersihkan masukan agar dapat digunakan kembali. Saat ingin keluar dari tampilan dapat dipilih tombol KELUAR. Berikut merupakan script dari tombol keluar :
% --- Executes on button press in tmbl_keluar.
function tmbl_keluar_Callback(hObject, eventdata, handles)
% hObject    handle to tmbl_keluar (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
selection=questdlg([' Ingin keluar dari program ini ?'],...
                   ['Konfirmasi'],...
                     'Ya','Tidak','Ya');
if strcmp(selection,'Tidak')
    return;
end
close all
Perintah di atas memberikan pilihan ketika user ingin keluar dari program, akan ditampilkan dialog 'Ingin keluar dari program ini?'. Jika dipilih tidak maka akan kembali pada tampilan prediksi, namun bila dipilih ya maka program berakhir, M-script selengkapnya dapat dilihat pada lampiran 5.   
H.	Analisis Hasil
Hasil dari pelatihan digunakan untuk menentukan konfigurasi terbaik dari jaringan dengan metode backpropagatioan, error goal 0.1, iterasi maksimum 1000 serta fungsi aktivasi menggunakan fungsi logsig, sedangkan konstanta belajar dan banyaknya neuron pada lapisan tersembunyi diubah secara trial and error yang ditunjukkan oleh tabel 3.3. Pada tabel 3.3 menunjukkan hasil dari proses pelatihan untuk data pelatihan yang menjelaskan bahwa untuk konstanta belajar 0.01 jaringan tidak konvergen artinya error jaringan lebih besar dari error goal untuk semua neuron pada layer tersembunyi, sedangkan untuk konfigurasi yang lain memperlihatkan jaringan mencapai konvergen maupun tidak konvergen sesuai dengan konfigurasi yang telah ditentukan.  

Tabel 3.3 Hasil Pelatihan diagnosa Penyakit TBC
KB
NLT	0.01	0.05	0.08	0.1	0.4	0.5	0.75	0.95	
5	TK	TK	TK	TK	420	439	314	316	
10	TK	TK	TK	TK	643	495	309	225	
20	TK	TK	TK	902	204	150	86	59	
30	TK	TK	TK	TK	TK	TK	TK	TK	
40	TK	TK	815	649	84	100	TK	TK	
50	TK	TK	719	564	71	97	56	908	
60	TK	TK	683	525	80	81	201	TK	
70	TK	TK	611	471	75	76	TK	TK	
80	TK	752	452	348	92	66	TK	TK	
90	TK	941	502	397	87	222	TK	TK	
100	TK	721	376	279	125	363	230	166	

Keterangan :
KB	: konstanta belajar
NLT	: neuron pada layer tersembunyi
TK	: tidak konvergen

Berdasarkan tabel 3.3 dan batasan optimasi jaringan yang digunakan yaitu dengan iterasi tercepat sebanyak 56, maka dalam pelatihan jaringan digunakan kombinasi sebagai berikut : 
Variabel Input data				: 7
Neuron pada Layar tersembunyi		: 50
Konstanta belajar				: 0.75
Jadi konfigurasi tersebut merupakan konfigurasi terbaik dari jaringan. Hal tersebut karena pada konfigurasi tersebut jaringan dapat mencapai konvergen lebih cepat (grafik konvergensi ditunjukkan pada gambar 3.14) dibandingkan dengan konfigurasi jaringan yang lain. Sehingga konfigurasi ini akan digunakan dalam mendiagnosa penyakit TBC.

Gambar 3.14 Grafik konvergensi pada 56 iterasi
Hasil pelatihan terhadap 40 data ditunjukkan oleh tabel 3.4. Dari hasil pelatihan yang telah dilakukan jaringan mengenali 100% dari data yang dilatihkan, ditunjukkan oleh hasil keluaran yang ditampilkan komputer sesuai dengan target yang telah ditentukan yaitu misalkan pada pasien ke-1 target yang diberikan adalah 0 maka hail keluarannya juga 0 begitu juga dengan pasien ke-23 dengan target 1 maka keluarannya menunjukkan 0.9946 yang mendekati 1, kemudian jaringan diuji dengan 30 data baru untuk menentukan seberapa jaringan saraf tiruan mampu mengenali data baru yang dimasukkan.
Hasil pengujian terhadap 30 data baru ditunjukkan oleh tabel 3.5. Pada hasil pengujian menunjukkan bahwa 28 data sesuai dengan target atau sesuai dengan kenyataan. Sedangkan 2 data tidak sesuai dengan target yaitu pada pasien ke-7 dan pasien ke-8 yang targetnya masing-masing 1 namun keluarannya tidak sesuai dengan target yaitu masing-masing 0.0235 dan 0.3706. 

Tabel 3.4  Hasil Pelatihan
Pasien ke-	Gejala penyakit TBC	Target	Hasil	
	X1	X2	X3	X4	X5	X6	X7			
1.		0,25	0	0	1	0	1	0	0	0,0000	
2.		0,25	1	1	0	0	1	0	0	0,0493	
3.		0,25	0	1	1	0	0	0	0	0,0015	
4.		0,75	0	0	1	0	0	0	0	0,0646	
5.		0,5	0	0	1	1	0	1	0	0,0126	
6.		0,25	0	1	0	0	0,75	0	0	0,0001	
7.		0	0	1	1	0	0	0	0	0,0000	
8.		0,5	0	0	1	0	0,75	0	0	0,0057	
9.		0	0	0	1	1	0	1	0	0,0001	
10.		1	0	0	0	0	0	0	0	0,0114	
11.		0,25	0	1	1	0	1	0	0	0,0081	
12.		0,25	0	0	1	0	0,75	0	0	0,0000	
13.		0,25	0	1	1	0	0	0	0	0,0015	
14.		0,25	0	0	1	0	0	1	0	0,0000	
15.		1	0	0	0	0	1	0	0	0,0235	
16.		0	0	0	1	0	1	0	0	0,0000	
17.		1	0	0	0	1	0	0	0	0,0180	
18.		0,5	0	0	1	0	0	0	0	0,0001	
19.		0,5	0	0	1	1	1	0	0	0,0563	
20.		0	0	0	1	0	0	1	0	0,0000	
21.		0,75	0	0	1	1	0	0	1	0,8870	
22.		1	0	0	0	1	1	0	1	0,8935	
23.		0,25	1	0	1	1	1	0	1	0,9946	
24.		0,75	0	0	1	0	0	1	1	0,8980	
25.		0,75	0	0	1	0	1	0	1	0,9521	
26.		1	0	0	1	0	0	0	1	0,9806	
27.		1	0	1	1	0	0	0	1	1,0000	
28.		1	0	1	1	0	0,75	1	1	1,0000	
29.		0,25	1	0	1	1	1	0	1	0,9946	
30.		0,25	0	1	1	0	0,75	1	1	0,9264	
31.		0,25	0	1	1	0	1	1	1	0,9766	
32.		0,75	0	0	1	0	1	0	1	0,9521	
33.		0	1	1	1	0	0,75	0	1	0,9417	
34.		1	0	1	1	0	0	0	1	1,0000	
35.		0,75	0	1	1	0	0	0	1	0,9998	
36.		1	0	1	0	1	1	0	1	0,9998	
37.		0,75	0	1	1	0	1	0	1	0,9974	
38.		0	1	1	1	1	0,75	0	1	0,9987	
39.		1	0	0	1	1	0,75	0	1	0,9975	
40.		0,75	0	0	1	0	0,75	0	1	0,8348	

Tabel 3.5 Hasil Pengujian
Pasien ke-	Gejala penyakit TBC	Target	Hasil	K	
	X1	X2	X3	X4	X5	X6	X7				
1.		1	0	1	0	1	0	0	1	0,9983		
2.		0,75	0	1	1	0	0,75	0	1	0,9992		
3.		1	0	1	1	1	0	0	1	1,0000		
4.		0,75	0	0	1	0	0	1	1	0,8980		
5.		1	0	0	0	1	1	0	1	0,8935		
6.		0,75	1	0	1	1	0	0	1	0,9986		
7.		1	0	0	0	0	1	0	1	0,0235	*	
8.		0,75	0	0	1	0	0,75	1	1	0,3706	*	
9.		0,75	0	0	1	0	0,75	0	1	0,8348		
10.		0,75	0	1	1	0	0	0	1	0,9998		
11.		1	0	1	1	0	0,75	0	1	1,0000		
12.		0,25	1	0	1	1	1	0	1	0,9946		
13.		0,75	1	0	1	1	0	1	1	0,9999		
14.		1	0	0	1	0	0	0	1	0,9806		
15.		0,75	0	0	1	0	1	0	1	0,9521		
16.		0,75	0	0	1	0	0	0	0	0,0646		
17.		0,25	0	0	1	0	0	1	0	0,0000		
18.		0	0	1	1	0	1	0	0	0,0004		
19.		1	0	0	0	0	0	0	0	0,0114		
20.		0	0	1	0	0	0,75	0	0	0,0000		
21.		0	0	1	1	0	0	0	0	0,0000		
22.		0,25	0	1	0	0	1	0	0	0,0001		
23.		0	0	1	1	0	0	0	0	0,0000		
24.		0,25	0	0	1	1	0,75	0	0	0,0079		
25.		0,5	0	0	1	0	0	0	0	0,0001		
26.		0	0	0	0	0	0	1	0	0,0000		
27.		0,75	0	0	1	0	0	0	0	0,0646		
28.		0,75	0	0	0	0	1	0	0	0,0015		
29.		0,25	0	0	1	0	0	0	0	0,0000		
30.		0,25	0	1	1	0	0	0	0	0,0015		
Keterangan :
K	: ketepatan 
*	: salah  
Hasil terhadap pengujian 30 data baru  pada tabel 3.5 menunjukkan 93,33 % data sesuai dengan kenyataan. Hal ini disebabkan karena jaringan telah mengenali pola yang telah dilatihkan dengan baik artinya input sesuai dengan pola pelatihan. Ada 2 data yang salah atau tidak sesuai dengan kenyataan disebabkan oleh beberapa faktor, antara lain dengan variabel yang ada maka idealnya data yang dilatihkan tidak hanya sebanyak 40 pasien, karena semakin banyak pola nilai yang dilatihkan, jaringan akan semakin baik mengenali pola-pola yang menunjukkan penyakit TBC.
Kemudian untuk lebih menguji keakuratan jaringan dalam mengenali data baru digunakan 40 data fiktif yang dibuat sesuai dengan aturan seperti pada data pelatihan seperti yang ditunjukkan pada tabel 3.6.  Pada tabel 3.6 menunjukkan hasil dari pengujian data fiktif  bahwa 40 data yang diujikan memperlihatkan 37 data sesuai dengan target dan 3 data tidak sesuai dengan target. Hasil ini memperlihatkan bahwa jaringan telah mengenali dengan baik pola yang telah dilatihkan, walaupun ada beberapa data yang tidak sesuai dengan target.
I.	Penggunaan Program
Program yang telah dibuat siap digunakan untuk mendiagnosa apakah seseorang menderita penyakit TBC atau tidak. Seorang user yang ingin mengetahui apakah menderita penyakit TBC atau bukan dapat memilih tombol PREDIKSI pada tampilan pelatihan maupun pada pengujian. Kemudian masukkan nilai untuk masing-masing variabel gejala penyakit TBC sesuai dengan pendefinisian masukan yang dapat dilihat dalam informasi program pada tampilan pelatihan.
Nilai-nilai yang dimasukkan merupakan gejala yang diderita oleh user sesuai dengan pendefinisian masukan. Misalkan untuk batuk diisi 0.5, keringat malam 1, lelah 0, sesak napas 0, nyeri dada 0, demam 0.25, dan penurunan nafsu makan 0. Setelah semua variabel diisikan, maka klik tombol Prediksi Penyakit TBC, sehingga akan muncul tulisan Bukan TBC seperti pada gambar 3.15. Artinya bahwa user tidak menderita penyakit TBC tetapi mungkin panyakit yang lain.   
Tabel 3.6 Hasil Pengujian Data Fiktif
Pasien ke-	Variabel gejala penyakit yang dialami	Target	Hasil	K	
	X1	X2	X3	X4	X5	X6	X7				
1.		0,25	0	1	0	0	0	1	0	0,0548		
2.		0	1	1	0	0	0.75	0	0	0,0121		
3.		0,5	1	0	0	1	0	0	0	0,0772		
4.		0,25	0	0	1	0	0	0	0	0,0000		
5.		0,25	0	0	1	1	0	1	0	0,0007		
6.		0	0	1	0	0	0,75	0	0	0,0000		
7.		0,5	0	1	0	0	0	0	0	0,0768		
8.		0	1	0	1	0	0,75	0	0	0,0217		
9.		0,5	0	0	0	0	0,5	1	0	0,0001		
10.		0,75	0	0	0	0	0	1	0	0,0284		
11.		0,25	0	1	0	0	1	0	0	0,0001		
12.		0,25	0	0	1	0	0,5	0	0	0,0000		
13.		0,5	1	1	0	0	0	0	0	0,7224	*	
14.		0,25	0	0	0	0	0,25	1	0	0,0000		
15.		0,5	0	0	0	0	0,75	0	0	0,0001		
16.		0	0	0	1	0	0,25	0	0	0,0000		
17.		0,75	0	0	0	1	0	0	0	0,0037		
18.		0,75	0	0	1	0	0	0	0	0,0646		
19.		0,5	0	0	0	1	0,25	0	0	0,0028		
20.		0,25	1	0	0	0	0	1	0	0,0001		
21.		0,75	0	0	1	1	0,5	0	1	0,8896		
22.		0,75	1	0	0	1	1	0	1	0,9889		
23.		0,5	1	0	1	1	1	0	1	0,9991		
24.		1	1	0	0	0	0	1	1	0,9867		
25.		0,75	0	0	1	0	1	1	1	0,4016	*	
26.		0,75	1	0	1	0	0	0	1	0,9348		
27.		1	0	1	1	0	0,25	0	1	1,0000		
28.		1	0	1	1	0	0,75	1	1	1,0000		
29.		0,25	1	0	1	1	1	0	1	0,9946		
30.		0,25	0	1	1	1	0,75	1	1	0,9830		
31.		0,5	0	1	1	0	1	1	1	0,9998		
32.		0,25	1	0	1	0	1	1	1	0,1321	*	
33.		0,25	1	1	1	0	0,75	0	1	0,9969		
34.		1	0	1	1	0	0,75	0	1	1,0000		
35.		0,75	0	1	1	0	0	1	1	0,9995		
36.		1	1	1	0	1	1	0	1	1,0000		
37.		0,75	0	1	1	0	1	1	1	1,0000		
38.		0,25	0	1	1	1	0,75	0	1	0,9741		
39.		1	0	0	1	1	0,75	1	1	0,9976		
40.		0,75	1	0	1	0	0,75	0	1	0,8719		

Gambar 3.15 Hasil Prediksi
Gambar 3.15 memperlihatkan bahwa nilai-nilai yang telah dimasukkan dalam variabel menunjukkan user tidak menderita penyakit TBC. Hal ini dikarenakan jaringan telah mengenali pola yang telah dilatihkan yaitu ketika output mendekati nol maka keluaran yang diberikan adalah bukan TBC.