ANALISIS PENGGUNAAN ALGORITMA NGUYEN WIDROW
DALAM BACK PROPAGATION PADA PENYAKIT GINJAL
TESIS
ROMANUS DAMANIK
117038011
PROGRAM STUDI S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
ANALISIS PENGGUNAAN ALGORITMA NGUYEN WIDROW
DALAM BACK PROPAGATION PADA PENYAKIT GINJAL
TESIS
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh
ijazah
Magister Teknik Informatika
ROMANUS DAMANIK
117038011
PROGRAM STUDI S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul Tesis : ANALISIS PENGGUNAAN ALGORITMA
NGUYEN WIDROW DALAM
BACKPROPAGATION PADA PENYAKIT GINJAL
Kategori : TESIS
Nama Mahasiswa : ROMANUS DAMANIK
Nomor Induk Mahasiswa : 117038011
Program Studi : MAGISTER TEKNIK INFORMATIKA
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Pembimbing 2, Pembimbing 1,
Dr. Zakarias Situmorang Prof. Dr. Muhammad Zarlis
Diketahui/Disetujui oleh
Program Studi S2 Teknik Informatika Ketua,
PERNYATAAN ORISINALITAS
ANALISIS PENGGUNAAN ALGORITMA NGUYEN WIDROW
DALAM BACKPROPAGATION PADA PENYAKIT GINJAL
TESIS
Dengan ini saya nyatakan bahwa saya mengakui semua karya tesis ini adalah hasil kerja saya sendiri kecuali kutipan dan ringkasan yang tiap satunya telah dijelaskan sumbernya dengan benar.
Medan, 06 Desember 2013
PERNYATAAN PERSETUJUAN PUBLIKASI
KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan
dibawah ini:
Nama : Romanus Damanik
NIM : 117038011
Program Studi : Teknik Informatika Jenis Karya Ilmiah : Tesis
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada
Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalty
Free Right) atas Tesis saya yang berjudul:
ANALISIS PENGGUNAAN ALGORITMA NGUYEN WIDROW DALAM BACKPROPAGATION PADA PENYAKIT GINJAL
Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti
Non-Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media,
memformat, mengelola dalam bentuk database, merawat dan mempublikasikan Tesis
saya tanpa meminta ijin dari saya selama tetap mencantumkan nama saya sebagai
penulis dan sebagai pemegang dan atau sebagai pemilik hak cipta.
Demikian pernyataan ini dibuat dengan sebenarnya.
Medan, 06 Desember 2013
Telah diuji pada
Tanggal: 06 Desember 2013
PANITIA PENGUJI TESIS
Ketua
: Prof. Dr.Muhammad Zarlis
Anggota
: 1. Dr. Zakarias Situmorang
2. Prof. Dr.Herman Mawengkang
3. Prof. Dr.Tulus
RIWAYAT HIDUP
DATA PRIBADI
Nama Lengkap : Romanus Damanik, S.Kom
Tempat dan Tanggal Lahir : Bandar Hanopan, 15 Februari 1979
Alamat Rumah : Perumahan Griya Mekatani Blok-2B - Marendal
Handphone : 081264870561 / 081265362951
Instansi Tempat Bekerja : AMIK MBP MEDAN
Alamat Kantor : Jl. Letjend. Jamin Ginting P. Bulan - Medan
DATA PENDIDIKAN
SD : SD Taman Harapan Medan TAMAT: 1986 SLTP : SMP PGRI 4 Medan TAMAT: 1995 SLTA : SMA YP. Timbul Jaya 1 Medan TAMAT: 1998 S1 : STMIK Sisingamangaraja XII TAMAT: 2007 Jurusan Sistem Informasi
UCAPAN TERIMA KASIH
Pertama-tama penulis panjatkan puji syukur kehadirat Tuhan Yang Maha Esa, atas
segala rahmat dan karunia-Nya, penulis dapat menyelesaikan tesis ini dengan baik.
Tesis penulis yang berjudul : “Analisa Penggunaan Algoritma Nguyen Widrow
Dalam Backpropagation Pada Penyakit Ginjal” merupakan salah satu syarat akademik
penulis sebagai mahasiswa S2, program studi Teknik Informatika, Fakultas Ilmu
Komputer dan Teknologi Informasi (Fasilkom-TI), Universitas Sumatera Utara
(USU), Medan dalam menyelesaikan jenjang pendidikan S2.
Dengan selesainya tesis ini, perkenankanlah saya mengucapkan terima kasih yang
sebesar-besarnya kepada :
Rektor Universitas Sumatera Utara, Prof. Dr. dr. Syahril Pasaribu, DTM&H,
M.Sc(CTM), Sp.A(K) atas kesempatan yang diberikan kepada saya untuk mengikuti
dan menyelesaikan pendidikan Program Magister.
Dekan Fakultas Ilmu Komputer Universitas Sumatera Utara sekaligus Ketua
Program Studi Magister (S2) Teknik Informatika, Prof. Dr. Muhammad Zarlis dan
Sekretaris Program Studi Magister (S2) Teknik Informatika, M. Andri Budiman, S.T,
M.Com, M.E.M beserta seluruh staf pengajar yang telah banyak memberikan ilmu
pengetahuan selama masa perkuliahan serta seluruh staff pegawai pada Program
Studi S2 Teknik Informatika Universitas Sumatera Utara.
Prof. Dr. Muhammad Zarlis, selaku pembimbing utama yang telah banyak
memberikan bimbingan dan arahan serta motivasi kepada penulis dan Dr. Zakarias
Situmorang, selaku pembimbing kedua yang telah banyak memberikan bimbingan dan
arahan serta motivasi kepada penulis.
Prof. Dr. Tulus, Prof. Dr. Herman Mawengkang dan Ibu Dr. Erna B. Nababan,
M.IT selaku pembanding yang telah banyak memberikan kritikan serta saran kepada
penulis.
Secara khusus untuk Istriku Tercinta dan Tersayang Friska Erdiana Purba,
perhatian, pengertian, kasih sayang dan motivasi kepada penulis dan juga ucapan
terimakasih kepada kedua Orang Tuaku Josep Pius Damanik dan Normalina Saragih
yang telah banyak memberikan doa dan perhatiannya kepada penulis. Ucapan
terimakasih juga penulis ucapkan kepada teman-teman angkatan 2011 Program Studi
S2 Teknik Informatika, yang telah memberikan semangat kepada penulis.
Akhir kata penulis hanya berdoa kepada Tuhan Yang Maha Esa semoga Tuhan
memberikan limpahan karunia kepada semua pihak yang telah memberikan bantuan,
perhatian, serta kerjasamanya kepada penulis dalam menyelesaikan tesis ini.
Medan, 06 Desember 2013
ROMANUS DAMANIK
ABSTRAK
Pada penelitian ini penulis menggunakan algoritma Nguyen Widrow didalam Jaringan Syaraf Tiruan (JST) Backpropagation untuk pengenalan (recognition) gejala atau pola penyakit ginjal dan mempercepat mekanisme pembelajaran (training) berdasarkan gejala atau pola penyakit ginjal. Jaringan Syaraf Tiruan (JST) Backpropagation
merupakan algoritma pembelajaran yang bersifat supervisi (supervised learning), yaitu pembelajaran yang membutuhkan pengawasan untuk pembelajarannya. didalam Jaringan Syaraf Tiruan (JST) Backpropagation terdapat data masukan (input) dan data keluaran (output) yang dipakai dalam pelatihan (training) sehingga diperoleh bobot (weight) yaitu dari unit masukan (Input) ke layer tersembunyi (Hidden Layer)
dan dari layer tersembunyi (hidden layer) ke layer keluaran (Output). Pada penelitian ini, pengenalan pola penyakit ginjal terdapat 30 (tiga puluh) gejala dan 10 (sepuluh) macam penyakit ginjal. Data masukan (input) secara acak (random) dan data dilatih
(training) menggunakan algoritma backpropagation yang pembobotannya
menggunakan Nguyen Widrow. Dari penelitian yang dilakukan, keunggulan dari Jaringan Syaraf Tiruan (JST) Backpropagation secara acak lebih cepat dalam melakukan pelatihan (training) sedangkan dalam hal pengenalan (recognition) gejala atau pola penyakit ginjal algoritma Nguyen Widrow jauh lebih baik.
ANALISYS OF USE OF NGUYEN WIDROW ALGORITHM ON BACKPROPAGATION FOR IDENTIFICATION OF
KIDNEY DISEASE ABSTRACT
In this research, the writer implementing Nguyen Widrow Algorithm on neural network backpropagation on recognizing the sympthoms or pattern of kidney diseases and accelerating on the process of training based on the patterns of kidney diseases. Neural network backpropagation is supervised learning, training process that needs supervision. In neural network backpropagation there are input and output that use on trainig process to get weight of input unit to the hidden layer and from hidden layer to output layer. In this research of recognition of pattern of kidney diseases there are 30 (thirty) patterns and 10 (ten) diseases of kidney. The data for input inserted randomly and whole data trained by using neural network where to calculate the weight of each data calculated by Nguyen Widrow. Based on the research organized by writer, the result of training using neural network backpropagation is faster than using Nguyen Widrow, on the other hand, the result of recognition by using nguyen Widrow is better than neural network backpropagation.
DAFTAR ISI
COVER i
LEMBARPERSETUJUAN ii
LEMBAR PERNYATAAN ORISINALITAS iii
LEMBAR PERSETUJUAN PUBLIKASI iv
LEMBAR PANITIA PENGUJI TESIS v
LEMBAR RIWAYAT HIDUP vi
LEMBARUCAPANTERIMAKASIH vii
LEMBARABSTRAK ix
LEMBARABSTRACT x
DAFTAR ISI xi
DAFTAR TABEL xiv
DAFTAR GAMBAR xv
BAB I PENDAHULUAN 1
1.1 Latar Belakang Masalah 1
1.2 Perumusan Masalah 2
1.3 Batasan Masalah 2
1.4 Tujuan Penelitian 5
1.4 Manfaat Penelitian 5
BAB II LANDASAN TEORI 6
2.1 Ginjal 4
2.2 Jaringan Syaraf Biologi 4
2.3 Jaringan Syaraf Tiruan (Neural Network) 6
2.3.1 Arsitektur Jaringan Syaraf 7
2.3.2 Keuntungan Menggunakan Komputasi dengan JST 8
2.4 Algoritma Umum Jaringan Syaraf Tiruan 9
2.5 Sejarah Jaringan Syaraf Tiruan 11
2.6.1 Pelatihan dengan Supervisi 13
2.6.2 Pelatihan Tanpa Supervisi 14
2.7 Algoritma Backpropagation 14
2.7.1 Fase Propagasi Maju 15
2.7.2 Fase Propagasi Mundur 16
2.7.3 Fase Modifikasi Bobot 16
2.7.4 Prosedur Pelatihan 16
2.8 Inisialisasi Pembobotan 20
BAB III METODE PENELITIAN 34
3.1 Data Yang Digunakan 34
BAB IV ANALISIS DAN PEMBAHASAN 56
4.1 Analisis 56
4.2 Pembahasan 57
4.2.1 Implementasi Pembelajaran (Training)
e. Percobaan Kedua dengan Inisialisasi Nguyen Widrow 71
f. Percobaan Ketiga dengan Inisialisasi Nguyen Widrow 72
g. Perbandingan Recognition Inisialisasi Acak dengan
Nguyen Widrow Percobaan Pertama 74
h. Perbandingan Recognition Inisialisasi Acak dengan Nguyen
Widrow Percobaan Kedua 74
i. Perbandingan Recognition Inisialisasi Acak dengan Nguyen
Widrow Percobaan Ketiga 75
BAB V KESIMPULAN DAN SARAN 76
5.1 Kesimpulan 76
5.2 Saran 76
DAFTAR TABEL
Nomor Tabel
Judul Halaman
2.1
Perbedaan Jaringan Syaraf Biologis dengan JST Gejala-Gejala Penyakit Ginjal
Nama-Nama Penyakit Ginjal Pendefenisian Input
Tabel Pendefenisian Keluaran (Output)
Bobot dari layer input (Xi) ke layer tersembunyi (Zi
Hasil Training Percobaan Pertama Inisialisasi Acak ) Bobot-bobot Dari Layer Tersembunyi Ke LayerOutput
Hasil Training Percobaan Kedua Inisialisasi Acak Hasil Training Percobaan Ketiga Inisialisasi Acak Hasil Training Percobaan Pertama Algoritma Nguyen Widrow
Hasil Training Percobaan Kedua Algoritma Nguyen Widrow
Hasil Training Percobaan Ketiga Algoritma Nguyen Widrow
Perbandingan Hasil Training Percobaan Pertama Perbandingan Hasil Training Percobaan Kedua Perbandingan Hasil Training Percobaan Ketiga Hasil Recognition Percobaan Pertama
Hasil Recognition Percobaan Kedua Hasil Recognition Percobaan Ketiga
Hasil Recognition Percobaan Pertama Nguen Widrow Hasil Recognition Percobaan Kedua Nguen Widrow Hasil Recognition Percobaan Ketiga Nguen Widrow Perbandingan Recognition Inisialisasi Acak dengan Nguyen WidrowPercobaan Pertama
Perbandingan Recognition Inisialisasi Acak dengan Nguyen WidrowPercobaan Kedua
Perbandingan Recognition Inisialisasi Acak dengan Nguyen WidrowPercobaan Ketiga
DAFTAR GAMBAR
Nomor Gambar
Judul Halaman
2.1 Susunan Neuron Biologis 5
2.2 Jaringan Syaraf Tiruan dengan Lapisan Tunggal 6 2.3 Jaringan Syaraf Tiruan dengan Banyak Lapisan 6
2.4 Fungsi aktivasi: Undak Biner Hard Limit 7
2.5 Fungsi aktivasi: Undak Biner Threshold 7
2.6 Jaringan dengan 3 unit hidden layer 22
3.1 Flowchart Algoritma Pelatihan Backpropagation 30
3.2 Flowchart Algoritma Pelatihan Backpropagation
(Lanjutan)
31
3.3 Flowchart Algoritma Pelatihan Backpropagation
(Lanjutan)
32
3.4 Flowchart Pengujian Backpropagation 33
3.5 Arsitektur Jaringan 35
4.1 Tampilan Menu Utama Aplikasi 57
4.2 Tampilan Proses Training Gejala Penyakit Gagal Ginjal Akut
58
4.3 Tampilan Proses Training Gejala Penyakit Kanker Ginjal 59 4.4 Tampilan Hasil Recognition Gagal Ginjal Akut 65 4.5 Tampilan Hasil Recognition Gagal Ginjal Akut
Percobaan Pertama
67
4.6 Tampilan Hasil Recognition Gagal Ginjal Akut Percobaan Ketiga
68
ABSTRAK
Pada penelitian ini penulis menggunakan algoritma Nguyen Widrow didalam Jaringan Syaraf Tiruan (JST) Backpropagation untuk pengenalan (recognition) gejala atau pola penyakit ginjal dan mempercepat mekanisme pembelajaran (training) berdasarkan gejala atau pola penyakit ginjal. Jaringan Syaraf Tiruan (JST) Backpropagation
merupakan algoritma pembelajaran yang bersifat supervisi (supervised learning), yaitu pembelajaran yang membutuhkan pengawasan untuk pembelajarannya. didalam Jaringan Syaraf Tiruan (JST) Backpropagation terdapat data masukan (input) dan data keluaran (output) yang dipakai dalam pelatihan (training) sehingga diperoleh bobot (weight) yaitu dari unit masukan (Input) ke layer tersembunyi (Hidden Layer)
dan dari layer tersembunyi (hidden layer) ke layer keluaran (Output). Pada penelitian ini, pengenalan pola penyakit ginjal terdapat 30 (tiga puluh) gejala dan 10 (sepuluh) macam penyakit ginjal. Data masukan (input) secara acak (random) dan data dilatih
(training) menggunakan algoritma backpropagation yang pembobotannya
menggunakan Nguyen Widrow. Dari penelitian yang dilakukan, keunggulan dari Jaringan Syaraf Tiruan (JST) Backpropagation secara acak lebih cepat dalam melakukan pelatihan (training) sedangkan dalam hal pengenalan (recognition) gejala atau pola penyakit ginjal algoritma Nguyen Widrow jauh lebih baik.
ANALISYS OF USE OF NGUYEN WIDROW ALGORITHM ON BACKPROPAGATION FOR IDENTIFICATION OF
KIDNEY DISEASE ABSTRACT
In this research, the writer implementing Nguyen Widrow Algorithm on neural network backpropagation on recognizing the sympthoms or pattern of kidney diseases and accelerating on the process of training based on the patterns of kidney diseases. Neural network backpropagation is supervised learning, training process that needs supervision. In neural network backpropagation there are input and output that use on trainig process to get weight of input unit to the hidden layer and from hidden layer to output layer. In this research of recognition of pattern of kidney diseases there are 30 (thirty) patterns and 10 (ten) diseases of kidney. The data for input inserted randomly and whole data trained by using neural network where to calculate the weight of each data calculated by Nguyen Widrow. Based on the research organized by writer, the result of training using neural network backpropagation is faster than using Nguyen Widrow, on the other hand, the result of recognition by using nguyen Widrow is better than neural network backpropagation.
BAB 1 PENDAHULUAN
1.1 Latar Belakang Masalah
Teknologi informatika dan teknologi komputer saat ini berkembang sangat pesat,
seiring banyaknya penemuan-penemuan perangkat lunak (software) dan perangkat
keras (hardware) komputer, ditambah lagi dengan diciptakannya peralatan-peralatan
telekomunikasi yang canggih seperti telepon pintar (smartphone) yang dapat
digabungkan dengan teknologi komputer dan menghasilkan suatu kekuatan baru di
bidang teknologi informatika dan komputer.
Saat ini juga para ahli komputer mencoba menggantikan komputer menjadi
suatu alat yang dapat meniru kepintaran manusia (otak manusia), yang diharapkan
akan tercipta komputer yang dapat mengambil keputusan sendiri seperti layaknya
manusia. Hal inilah yang mendorong lahirnya teknologi kecerdasan buatan (Artificial
Intelligence).
Salah satu teknik komputasi yang dikelompokkan dalam teknologi
kecerdasan buatan (Artificial Intelligence) adalah jaringan syaraf tiruan (Artificial
Neural Network). Jaringan syaraf tiruan 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. Jaringan syaraf buatan mensimulasikan struktur proses pada otak manusia
yaitu fungsi syaraf biologis dan kemudian membawanya kepada perangkat lunak
kelas baru yang dapat mengenali pola yang kompleks serta belajar dari
pengalaman-pengalaman masa lalu.
Jaringan Saraf Tiruan (JST) Backpropagation telah banyak dimanfaatkan
untuk pengenalan pola penyakit, pencitraan dan suara. Beberapa penelitian tentang
pengenalan pola telah banyak dilakukan diantaranya, penelitian yang dilakukan oleh
beberapa peneliti berikut ini; Wahyono (2009) yang melakukan penelitian tentang
pun bisa digunakan dalam pengenalan huruf yang masuk dalam ruang lingkup
pengklasifikasian pola; Setyo Nugroho (2005) yang melakukan penelitian tentang
Algoritma Quickprop dan metode Active Learning dapat meningkatkan kecepatan
training; Ang Wie Siong dan Resmana (1999), melakukan penelitian tentang Jaringan
saraf tiruan ini mampu mengenali citra bernoise, namun kurang dapat menangani
pergeseran citra. Pada input citra dengan pengecilan sekaligus pergeseran, justru
jaringan dapat lebih mengenali; Sri Kusumadewi (2008), melakukan penelitian
tentang Metode Backpropagation yang dapat digunakan untuk melakukan
pendeteksian suatu jenis penyakit, gangguan, maupun kasus yang memiliki data masa
lalu, dan dengan menggunakan metode Backpropagation, target hasil (output) yang
diinginkan lebih mendekati ketepatan dalam malakukan pengujian, karena terjadi
penyesuaian nilai bobot dan bias yang semakin baik pada proses pelatihan (traning).
Berdasarkan penelitian yang ada tersebut, penulis mencoba untuk melakukan
penelitian menggunakan algoritma Nguyen Widrow yang meneliti tentang apakah
algoritma tersebut pada jaringan syaraf tiruan (JST) Backpropagation dapat
mempercepat mengenali pola penyakit yang dalam hal ini adalah penyakit ginjal dan
diharapkan penggunaan algoritma Nguyen Widrow dapat menghasilkan hasil yang
jauh lebih baik dibandingkan dengan Jaringan Syaraf Tiruan (JST) dengan
pembobotan secara acak.
1.2 Perumusan Masalah
Perumusan masalah yang dapat ditarik dari penjelasan latar belakang dibuatnya
pengenalan pola, yaitu bagaimana mempercepat proses pembelajaran dan pengenalan
gejala penyakit ginjal dengan mengunakan Backpropragation
1.3 Batasan Masalah
Rumusan masalah diatas, dibatasi dengan beberapa hal sebagai berikut :
1. Mempercepat proses pembelajaran (training) dalam mengenali gejala penyakit
2. Pengenalan penyakit ginjal dilakukan berdasarkan analisa gejala yang dialami oleh
penderita.
1.4 Tujuan Penelitian
Adapun tujuan penelitian ini adalah menggunakan algoritma Nguyen Widrow dalam
mengenali penyakit ginjal.
1.5 Manfaat Penelitian
Manfaat yang diharapkan dari hasil penelitian ini adalah sebagai berikut :
1. Dapat mengetahui sejauh mana penggunaan algoritma Nguyen Widrow pada
Jaringan Syaraf Tiruan Backpropagation mampu mengenali suatu pola penyakit.
2. Mempermudah pengenalan penyakit ginjal.
3. Menambah wawasan penulis dalam penggunaan jaringan syaraf tiruan dalam
BAB 2
LANDASAN TEORI
2.1 Ginjal
Ginjal adalah organ tubuh yang berfungsi untuk mengeluarkan urine, yang merupakan
sisa hasil metabolisme tubuh dalam bentuk cairan. Ginjal terletak pada dinding bagian
luar rongga perut, yang merupakan rongga terbesar dalam tubuh manusia, tepatnya
disebelah kanan dan kiri tulang belakang. Bentuk ginjal seperti biji kacang dengan
panjang 6 sampai 7,5 cm dengan ketebalan 1,5 – 2,5 cm.
Ginjal berfungsi untuk mengatur keseimbangan air dalam tubuh, mengatur konsentrasi
garam dalam darah, mengatur keseimbangan asam basa darah serta mengatur ekskresi
bahan buangan dan kelebihan garam. Apabila ginjal gagal dalam menjalankan
fungsinya ini, maka akan terjadi gangguan pada keseimbangan air dan metabolisme
dalam tubuh sehingga mengakibatkan terjadinya penumpukan zat-zat berbahaya
dalam darah yang dapat mengganggu kerja organ lain yang menyebabkan penderita
memerlukan pengobatan segera.
2.2 Jaringan Syaraf Biologi
Otak manusia memiliki struktur yang sangat kompleks dan memiliki kemampuan
yang luar biasa. Otak terdiri dari neuron-neuron dan penghubung yang disebut
sinapsis. Neuron bekerja berdasarkan impuls/sinyal yang diberikan pada neuron.
Neuron meneruskannya pada neuron lain. Diperkirakan manusia memiliki 1012 neuron dan 6x1018
Jumlah dan kemampuan neuron berkembang seiring dengan pertumbuhan fisik
manusia, terutama pada umur 0-2 tahun. Pada 2 tahun pertama umur manusia,
terbentuk 1 juta sinapsis per detiknya.
sinapsis. Dengan jumlah yang begitu banyak, otak mampu mengenali pola,
melakukan perhitungan, dan mengontrol organ-organ tubuh dengan kecepatan yang
Gambar 2.1 Susunan Neuron Biologis [Puspitaningrum, 2006]
Berikut ini adalah perbedaan terminologis antara jaringan syaraf biologis dan
tiruan seperti terlihat pada Tabel 2.1.
Tabel 2.1 Perbedaan Jaringan Syaraf Biologis dengan Jaringan Syaraf Tiruan
Neuron memiliki 3 komponen penting yaitu dendrit, soma dan axon. Dendrit
menerima sinyal dari neuron lain. Sinyal/tersebut berupa impuls elektrik yang dikirim
melalui celah sinaptik melalui proses kimiawi. Sinyal tersebut dimodifikasi
(diperkuat/diperlemah) di celah sinaptik. Berikutnya, soma menjumlahkan semua
sinyal-sinyal yang masuk. Kalau jumlahan tersebut cukup kuat dan melebihi batas
ambang (threshold), maka sinyal tersebut akan diteruskan ke sel lain melalui axon.
Frekuensi penerusan sinyal berbeda-bedaantara satu sel dengan yang lain. Neuron
mengenali sinyal input yang agak berbeda dari yang pernah kita terima sebelumnya.
Sebagai contoh, manusia sering dapat mengenali seseorang yang wajahnya pernah
dilihat dari foto, atau dapat mengenali seseorang yang wajahnya agak berbeda karena
sudah lama tidak dijumpainya. Kedua, otak manusia tetap mampu bekerja meskipun
beberapa neuronnya tidak mampu bekerja dengan baik. Jika sebuah neuron rusak,
neuron lain kadang-kadang dapat dilatih untuk menggantikan fungsi sel yang rusak
tersebut.
2.3 Jaringan Syaraf Tiruan (Neural Network (NN))
Jaringan Syaraf Tiruan (JST) adalah suatu metode pembelajaran yang diinspirasi dari
jaringan sistem pembelajaran biologis yang terjadi dari jaringan sel syaraf (neuron)
yang terhubung satu dengan yang lainnya.
Berikut adalah beberapa definisi JST :
1. JST adalah suatu teknik pemrosesan informasi berbasis komputer yang
mensimulasikan dan memodelkan sistem syaraf biologis.
2. Suatu model matematik yang mengandung sejumlah besar elemen pemroses yang
diorganisasikan dalam lapisan-lapisan.
3. Suatu sistem komputasi yang dibuat dari sejumlah elemen pemroses yang
sederhana dan saling diinterkoneksikan untuk memproses informasi melalui
masukan dari luar dan mampu inresponsi keadaan yang dinamis.
4. JST adalah suatu teknologi komputasi yang berbasis hanya pada model syaraf
biologis dan mencoba mensimulasikan tingkah laku dan kerja model syaraf.
5. 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 dikirirnkan diantara neuron-neuron melalui
penghubung-penghubung.
c. Penghubung antar neuron memiliki bobot yang akan memperkuat atau
d. Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi
(biasanyabukan fungsi linier) yang dikenakan pada jumlahan input yang
diterima. Besarnya output ini selanjutnya dibandingkan dengan suatu batas
ambang.
2.3.1 Arsitektur Jaringan Syaraf
Ada beberapa arsitektur jaringan syaraf (Silvia, 2007), antara lain:
a. Jaringan dengan Lapisan Tunggal (Single Layer Network)
Pada jaringan ini, sekumpulan masukan neuron dihubungkan langsung dengan
sekumpulan keluarannya. Sinyal mengalir searah dari layar (lapisan) masukan
sampai layar (lapisan) keluaran. Setiap simpul dihubungkan dengan simpul
lainnya yang berada diatasnya dan dibawahnya, tetapi tidak dengan simpul yang
berada pada lapisan yang sama.
Model yang masuk kategori ini antara lain : ADALINE, Hopfield, Perceptron,
LVQ, dan lain-lain. Pada gambar berikut diperlihatkan arsitektur jaringan layar
tunggal dengan n buah masukan (x1, x2,..., xn) dan m buah keluaran (y1, y2,...,
ym)
Gambar 2.2 Jaringan Syaraf Tiruan dengan Lapisan Tunggal [Puspitorini, 2008]
b. Jaringan dengan Banyak Lapisan (Multiple Layer Network)
Jaringan dengan banyak lapisan memiliki 1 atau lebih lapisan yang terletak
diantara lapisan input dan lapisan output. Seperti terlihat gambar dibawah ada
dengan banyak lapisan ini dapat menyelesaikan permasalahan lebih sulit dari pada
jaringan lapisan tunggal, tentu saja dengan pembelajaran yang lebih rumit.
Namun demikian, pada banyak kasus, pembelajaran pada jaringan dengan banyak
lapisan ini lebih sukses dalam menyelesaikan masalah. Model yang termasuk
kategori ini antara lain : MADALINE, Backpropagation.
Pada Gambar 2.3 diperlihatkan jaringan dengan n buah unit masukan (x1, x2,...,
xn), sebuah layar tersembunyi yang terdiri dari m buah unit (z1,z2,...,zm) dan 1
buah unit keluaran.
Gambar 2.3 Jaringan Syaraf Tiruan dengan Banyak Lapisan [Puspitorini, 2008]
c. Jaringan Reccurent
Model jaringan reccurent (reccurent network) mirip dengan jaringan layar
tunggal ataupun jamak. Hanya saja, ada simpul keluaran yanng memberikan
sinyal pada unit masukan (sering disebut feedback loop). Dengan kata lain sinyal
mengalir dua arah, yaitu maju dan mundur. Contoh : Hopfield network, Jordan
network, Elmal network.
2.3.2 Keuntungan Menggunakan Komputasi dengan JST
Kemampuan dan proses komputasi pada JST memberikan keuntungan-keuntungan
sebagai berikut :
1. JST bersifat adaptif terhadap perubahan parameter yang mempengaruhi
adaptif dan melaksanakan tugas berbasis pada data yang diberikan saat
pelatihan.
2. JST memiliki kekebalan atau toleran terhadap kesalahan. Artinya, JST tetap
berfungsi walaupun ada ketidak-lengkapan data yang dimasukkan. JST
mempunyai kemampuan mengisi bagian masukan yangkurang lengkap
sedemikian rupa sehingga tetap diperoleh keluaran yang lengkap.
3. JST dapat dilatih memberikan keputusan dengan memberikan set pelatihan
sebelumnya untuk mencapai target tertentu, sehingga JST mampu
membangun dan memberikan jawaban sesuai dengan informasi yang diterima
pada proses pelatihan.
4. JST mempunyai struktur paralel dan terdistribusi. Artinya, komputasi dapat
dilakukan oleh lebih dari satu elemen pemroses yang bekerja secara simultan.
5. JST mampu mengklasiflkasi pola masukan dan pola keluaran. Melalui proses
penyesuaian, pola keluaran dihubungkan dengan masukan yang diberikan
oleh JST.
6. JST mengurangi derau, sehingga dihasilkan keluaran yang lebih bersih.
7. JST dapat dimanfaatkan pada proses optimisasi penyelesaian suatu masalah.
8. JST dapat digunakan pada proses pengendalian sistem agar masukan
memperoleh tanggapan yang diinginkan.
2.4 Algoritma Umum Jaringan Syaraf Tiruan
Algoritma pembelajaran/pelatihan jaringan syaraf tiruan adalah sebagai berikut:
Dimasukkan n contoh pelatihan ke dalam jaringan saraf tiruan.
Lakukan :
1. Inisialisasi bobot-bobot jaringan. Set i = 1.
2. Masukkan contoh ke-i (dari sekumpulan contoh pembelajaran yang terdapat
dalam set pelatihan) ke dalam jaringan pada lapisan input.
3. Cari tingkat aktivasi unit-unit output menggunakan algoritma aplikasi.
If kinerja jaringan memenuhi standar yang ditentukan
then exit.
4. Update bobot-bobot dengan menggunakan aturan pembelajaran jaringan.
If i=n, then reset i = 1.
Else i = i - 1.
Ke langkah 2.
Algoritma aplikasi/inferensi jaringan saraf tiruan :
Dimasukkan sebuah contoh pelatihan ke dalam jaringan saraf tiruan. Lakukan:
1. Masukkan kasus ke dalam jaringan pada lapisan input.
2. Hitung tingkat aktivasi node-node jaringan.
3. Untuk jaringan koneksi umpan maju, jika tingkat aktivasi dari semua unit
output-nya telah dikalkulasi, maka exit. Untuk jaringan koneksi balik, jika
tingkat aktivasi dari semua unit output menjadi konstan atau mendekati
konstan, maka exit. J jika tidak, kembali ke langkah 2. Jika jaringannya tidak
stabil, maka exit dan fail.
Fungsi aktivasi
Ada beberapa fungsi aktivasi yang sering digunakan dalam jaringan saraf tiruan,
antara lain (Puspitorini, 2008):
a. Fungsi Undak Biner Hard Limit
Jaringan dengan lapisan tunggal sering menggunakan fungsi undak (step function)
untuk mengkonversikan input dari suatu variabel yang bernilai kontinu ke suatu
output biner (0 atau 1).
Fungsi undak biner hard limit dirumuskan sebagai berikut:
y = �0 �����< 0
1 ����� ≥0
b. Fungsi Undak Biner Threshold
Fungsi undak biner dengan menggunakan nilai ambang sering juga disebut
dengan nama fungsi nilai ambang (threshold) atau fungsi Heaviside. Fungsi
undak biner (dengan nilai ambang θ) dirumuskan sebagai berikut:
y = �0 �����< 0
1 ����� ≥0
Sumber: Puspitorini, 2008
Gambar 2.5 Fungsi aktivasi: Undak Biner Threshold [Puspitorini, 2008]
2.5 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 1958, Rosenblatt memperkenalkan dan mulai mengembangkan
model jaringan yang disebut Perceptron. Metode pelatihan diperkenalkan untuk
mengoptimalkan hasil iterasinya.
Widrow dan Hoff (1960) 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. Apa
yang dilakukan peneliti terdahulu hanya menggunakan jaringan dengan layer tunggal
(single layer). Rumelhart (1986) mengembangkan perceptron menjadi
Backpropagation, yang memungkinkan jaringan diproses melalui beberapa layer.
Selain itu, beberapa model jaringan syaraf tiruan lain juga dikembangkan oleh
sejak tahun 1990an adalah aplikasi model-model jaringan syaraf tiruan untuk
menyelesaikan berbagai masalah di dunia nyata.
Jaringan Syaraf Tiruan ditentukan oleh tiga hal :
1. Pola hubungan antar neuron (disebut arsitektur jaringan)
2. Metode untuk menentukan bobot penghubung (disebut metode
learning/training).
3. Fungsi aktivasi
2.6 Paradigma Pembelajaran
Berdasarkan cara memodifikasi bobotnya, ada 2 macam pelatihan yang dikenal yaitu
dengan supervisi (supervised) dan tanpa supervisi (unsupervised). Dalam pelatihan
dengan supervisi, terdapat sejumlah pasangan data (masukan-target keluaran) yang
dipakai untuk melatih jaringan hingga diperoleh bobot yang diinginkan. Pasangan data
tersebut berfungsi sebagai "guru" untuk melatih jaringan hingga diperoleh bentuk
yang terbaik. "Guru" akan memberikan informasi yang jelas tentang bagaimana sistem
harus mengubah dirinya untuk meningkatkan unjuk kerjanya. Pada setiap kali
pelatihan, suatu input diberikan ke jaringan. Jaringan akan memproses dan
mengeluarkan keluaran. Selisih antara keluaran jaringan dengan target (keluaran yang
diinginkan) merupakan kesalahan yang terjadi. Jaringan akan memodifikasi bobot
sesuai dengan kesalahan tersebut. Jaringan perceptron, ADALINE dan
Backpropagation merupakan model-model yang menggunakan pelatihan dengan
supervisi. Sebaliknya, dalam pelatihan tanpa supervisi (unsupervised learning) tidak
ada "guru" yang akan mengarahkan proses pelatihan. Dalam pelatihannya, perubahan
bobot jaringan dilakukan berdasarkan parameter tertentu dan jaringan dimodifikasi
menurut ukuran parameter tersebut.
Sebagai contoh, dalam model jaringan kompetitif, jaringan terdiri dari 2 layar,
yaitu layar input dan layar kompetisi. Layar input menerima data eksternal. Layar
kompetitif berisi neuron-neuron yang saling berkompetisi agar memperoleh
kesempatan untuk merespon sifat-sifat yangada dalam data masukan. Neuron yang
neuron pemenang akan dimodifikasi sehingga lebih menyerupai data masukan.
Sebagai ilustrasi, pelatihan dengan supervisi dapat diandaikan sebagai skripsi yang
dibimbing oleh seorang dosen. Pada setiap kali pengumpulan berkas skripsi, dosen
akan mengkritik, mengarahkan dan meminta perbaikan agar kualitas skripsi
meningkat. Sebaliknya, Dalam pelatihan tanpa supervisi dapat dibayangkan sebagai
skripsi tanpa dosen pembimbing. Mahasiswa mengerjakan skripsi sebaik-baiknya
berdasarkan ukuran tertentu (misal dibandingkan dengan skripsi yang sudah ada
sebelumnya atau dibandingkan dengan hasil skripsi temannya). Berdasarkan hasil
yang pernah dilaporkan, model pelatihan dengan supervisi lebih banyak digunakan
dan terbukti cocok dipakai dalam berbagai aplikasi. Akan tetapi kelemahan utama
pelatihan dengan supervisi adalah dalam hal pertumbuhan waktu komputasinya yang
berorde eksponensial. Ini berarti untuk data pelatihan yang cukup banyak, prosesnya
menjadi sangat lambat.
2.6.1 Pelatihan Dengan Supervisi
Jaringan memberikan tanggapan dengan mendapatkan target tertentu. Sebelum
jaringan mengubah sendiri bobotnya untuk mencapai target, bobot interkoneksi
diinisialisasi. Proses belajar JST dengan pengawasan adalah proses belajar dengan
memberikan latihan untuk mencapai suatu target keluaran yang ditentukan. JST
mendapatkan latihan untuk mengenal pola-pola tertentu. Dengan memberikan target
keluaran, perubahan masukan akan diadaptasi oleh keluaran dengan mengubah bobot
interkoneksinya mengikuti algoritma belajar yang ditentukan. Set pelatihan dipilih
dari fungsi keluaran maksimum setiap keadaan parameter yang diubah. Dengan
menginisialisasi bobot tiap sel, JST akan mencari error terkecil, sehingga bentuk
fungsi keluaran mendekati target yang diinginkan. Berdasarkan proses belajar yang
dilakukan, kita perlu memperhatikan beberapa hal dalam menyusun set pelatihan,
yaitu:
a. Pemberian urutan pola yang akan diajarkan
b. Kriteria perhitungan error
d. Jumlah iterasi yang harus dilalui
e. Inisialisasi bobot dan parameter awal
Pelatihan dilakukan dengan memberikan pasangan pola-pola masukan dan
keluaran. Untuk keperluan pengendalian, pasangan pola tidak mengikuti rumusan
tertentu. JST harus dapat mengadaptasi masukan yang acak supaya keluaran tetap
mengikuti target. Lebih lanjut, proses pelatihan dilakukan dengan memberikan pola
yang menggunakan masukan acak dan bobot interkoneksi yang besar. Dengan
pemberian bobot yang besar, perbedaan target dan keluaran berkurang lebih cepat,
sehingga proses adaptasi akan lebih cepat pula. Salah satu proses belajar dengan
pengawasan adalah proses belajar menggunakan algoritma propagasi balik. Proses
belajar jaringan umpan balik dituliskan dalam bentuk algoritma propagasi balik yang
dikenal sebagai JPB. Jaringan Propagasi Balik (JPB) kadang-kadang dikenal sebagai
Multilayer Perceptron (MLP). Anda dapat menggunakan algoritma propagasi balik
untuk melatih jaringan lapis banyak.
2.6.2 Pelatihan Tanpa Supervisi
Pada pelatihan tanpa supervisi, jaringan tidak mendapatkan target, sehingga JST
mengatur bobot interkoneksi sendiri. Belajar tanpa pengawasan kadang-kadang diacu
sebagai Self-Organizing Learning, yakni belajar mengklasifikasikan tanpa dilatih.
Pada proses belajar tanpa pengawasan, JST akan mengklasifikasikan contoh pola-pola
masukan yang tersedia ke dalam kelompok yang berbeda-beda. Contoh JST dengan
belajar tanpa pengawasan adalah jaringan Kohonen.
2.7 Algoritma Backpropagation
Algoritma pelatihan Backpropagation Neural Network (BPNN) pertama kali
dirumuskan oleh Werbos dan dipopulerkan oleh Rumelhart & Mc. Clelland. Pada
supervised learning terdapat pasangan data input dan output yang dipakai untuk
Pelatihan Backpropagation meliputi 3 fase:
a. fase propagsi maju (feedforward) pola pelatihan masukan. Pola masukan
dihitung maju mulai dari layer masukan hingga layer keluaran dengan fungsi
aktivasi yang ditentukan;
b. fase propasi mundur (Backpropagation) dari error yang terkait. Selisih antara
keluaran dan target merupakan kesalahan yang terjadi. Kesalahan tersebut
dipropagasi mundur, dimulai dari garis yang berhubungan langsung dengan
unit-unit dilayar keluaran;
c. fase modifikasi bobot.
Ketiga tahapan tersebut diulangi terus-menerus sampai mendapatkan nilai error
yang diinginkan. Setelah training selesai dilakukan, hanya tahap pertama yang
diperlukan untuk memanfaatkan jaringan syaraf tiruan tersebut. Kemudian, dilakukan
pengujian terhadap jaringan yang telah dilatih. Pembelajaran algoritma jaringan syaraf
membutuhkan perambatan maju dan diikuti dengan perambatan mundur.
2.7.1 Fase Propagasi Maju
Selama propagasi maju, sinyal masukan (x1) dipropagasikan ke layer tersembunyi
menggunakan fungsi aktivasi yang ditentukan. Keluaran dari unit tersembuyi (Z1)
tersebut selanjutnya dipropagasi maju lagi ke layer tersembunyi berikutnya dengan
fungsi aktivasi yang telah ditentukan. Dan seterusnya hingga menghasilkan keluaran
jaringan (yk
Berikutnya, keluaran jaringan (y ).
k) dibandingkan dengan target yang harus
dicapai (tk). Selisih (tk-yk)adalah kesalahan yang terjadi. Jika kesalahan ini lebih kecil
dari batas toleransi yang ditentukan, maka iterasi dihentikan. Jika kesalahan masih
lebih besar dari batas toleransi, maka bobot setiap garis dari jaringan akan
2.7.2 Fase Propagasi Mundur
Berdasarkan kesalahan t
k – yk dihitung faktor δk (k= 1, ..., m) yang dipakai untuk
mendistribusikan kesalahan di unit Y
k ke semua unit tersembunyi yang terhubung
langsung dengan Y
k. δk
Dengan cara yang sama, dihitung faktor δ
juga dipakai untuk mengubah bobot garis yang berhubungan
langsung dengan unit keluaran.
j di setiap layer tersembunyi sebagai
dasar perubahan bobot semua garis yang berasal dari unit tersembunyi di layer di
bawahnya. Dan seterusnya hingga semua faktor δ di unit tersembunyi yang terhubung
langsung dengan unit masukan dihitung.
2.7.3 Fase Modifikasi 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 hingga kondisi penghentian dipenuhi.
Umumnya kondisi penghentian yang sering dipakai adalah jumlah interasi 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 ditetapkan.
2.7.4 Prosedur Pelatihan
Langkah 0 : Inisialisasi bobot keterhubungan antara neuron dengan menggunakan bilangan acak kecil (-0.5 sampai +0.5).
Langkah 1 : Kerjakan langkah 2 sampai langkah 9 selama kondisi berhenti yang ditentukan tidak dipenuhi.
Propagasi maju
Langkah 3 : Setiap unit masukan (xi, i = 1,…., n) menerima sinyal masukan xi
Langkah 4 : Setiap unit tersembunyi (xi, I = 1,…….,p) jumlahkan bobot sinyal masukannya :
,
dan menyebarkannya ke seluruh unit pada lapisan tersembunyi
voj = bias pada unit tersembunyi j aplikasikan fungsi aktivasinya
untuk menghilangkan sinyal keluarannya, zj = f (z_inj
Langkah 5 : tiap unit keluaran (yk, k = 1,…….m) jumlahkan bobot sinyal masukannya :
), dan
kirimkan sinyal ini keseluruh unit pada lapisan diatasnya (unit
keluaran)
wok = bias pada unit keluaran k dan aplikasikan fungsi aktivasinya
untuk menghitung sinyal keluarannya, yk = f(y_ink)
Propagasi balik
Langkah 6 : tiap unit keluaran (yk, k = 1,…..,m) menerima pola target yang
saling berhubungan pada masukan pola pelatihan, hitung kesalahan
informasinya,
hitung koreksi bobotnya (digunakan untuk mempengaruhi
wjk
nantinya),
hitung koreksi biasnya (digunakan untuk mempengaruhi wok
dan kirimkan δk ke unit-unit pada lapisan dibawahnya,
Langkah 7 : Setiap unit lapisan tersembunyi (zj, j = 1,…..p) jumlah hasil
perubahan masukannya (dari unit-unit lapisan diatasnya),
kalikan dengan turunan fungsi aktivasinya untuk menghitung informasi kesalahannya,
hitung koreksi bobotnya (digunakan untuk memperbaharui voj
………...(2.7)
nanti)
hitung koreksi bias
Langkah 8 : Update bobot dan bias pada hubungan antar lapisan
Langkah 9 : Tes kondisi terhenti
Backpropagation secara garis besar terdiri dari dua fase, fase maju dan fase
mundur. Selama fase maju algoritma ini memetakan nilai masukan untuk
mendapatkan keluaran yang diharapkan. untuk menghasilkan keluaran pola maka
didapatkan dari rekapitulasi bobot masukan dan dipetakan untuk fungsi aktivasi
jaringan. keluaran dapat dihitung sebagai berikut :
����.�= (∑�−1�����) +��……….(2.12)
: bobot yang dihubungkan dari unit I ke unit j
net,j
θ
: jaringan keluaran untuk j unit
j
Di dalam fase mundur, pola keluaran (aktual output) kemudian dibandingkan dengan
keluaran yang dikehendaki dan sinyal error dihitung untuk masing – masing output.
sinyal-sinyal kemudian merambat mundur dari lapisan output ke masing-masing unit
dalam lapisan lapisan transisi memberikan kontribusi langsung ke output, dan bobot
disesuaikan iterasi selama proses pembelajaran, kemudian error diperkecil selama
descent direction. fungsi error pada output neuron digambarkan sebagai berikut : : bias untuk j unit
� =1
2∑��=1(��− ��)2……… (2.13)
dimana,
n : angka pada modul keluaran didalam lapisan output
tk
o
: keluaran yang dikendaki dari keluaran unit k
k : keluaran jaringan dari keluaran unit k
Keuntungan dari metode yaitu :
1. Back-Propagation sangat luas digunakan dalam paradigma jaringan saraf, dan
berhasil diaplikasikan dalam berbagai bidang. Misalnya : pengenalan pola militer,
diagnosa kedokteran, klasifikasi gambar, menerjemahkan kode, dan dalam
deteksi jenis penyakit Ginjal.
2. Back-Propagation dapat digunakan untuk dua atau lebih lapisan dengan bobot
dan menggunakan aturan pengalaman belajar.
4. Dapat memisahkan pola yang terpisah secara linear maupun pola yang terpisah
tidak linear. Terpisah linear adalah Dipisahkan 1 garis linear 2 pola tersebut.
Adapun kelemahannya yaitu : Waktunya Konvergen, karena pelatihan
memerlukan ratusan atau ribuan contoh dalam kumpulan pelatihan, dan mungkin
membutuhkan waktu komputasi sepanjang hari (atau lebih) untuk menyelesaikan
pelatihan.
2.8 Inisialisasi Pembobotan Nguyen Widrow
Bobot dan Bias yang didapat dengan metode Nguyen Widrow sangat dipengaruhi oleh
beberapa hal antara lain:
Berdasarkan penelitian yang dilakukan nilai bobot awal random (berada dalam
interval -1 sampai dengan 1) jika digunakan metode Nguyen Widrow sebagai
pembobotan awal maka jumlah bobotnya akan disesuaikan. Sehingga bobot awal
dapat bertambah maupun berkurang dari nilai awal. Dengan pembobotan awal
menggunakan Metode Nguyen Widrow maka jumlah node pada hidden layer akan
menentukan besar bias yang akan digunakan dari input layer menuju hidden layer.
Bobot dan Bias yang didapat dengan metode Nguyen Widrow sangat dipengaruhi oleh
beberapa hal antara lain.
1.
Jumlah node pada input layer juga memberikan pengaruh pada nilai bobot dan bias
yang dihasilkan dengan metode Nguyen Widrow. Jumlah node pada input layer
adalah tergantung jumlah dari input dari data yang diteliti.
Jumlah node pada Input layer
2.
Jumlah node pada hidden layer sangat berpengaruh dalam menentukan nilai bobot
dan bias. Untuk mendapatkan jumlah node yang tepat dilakukan secara trial error
dengan interval jumlah node hidden layer adalah antara 1sampai dengan 18node.
Jumlah node pada hidden layer
Jika jumlah node pada hidden layer semakin besar maka faktor skala juga akan
makin besar. Jika faktor skala besar maka nilai bobot juga akan bertambah dan
Penambahan bias pada pembelajaran dengan metode back propagation akan
meningkatkan jumlah keluaran (sinyal keluaran) dari sebuah lapisan.
3.
Nilai awal yang digunakan dalam metode Nguyen Widrow dapat bertambah atau
berkurang. Nilai awal yang dimaksut adalah nilai yang berada pada interval -0,5 -
0,5. Hal ini disebabkan karena metode Nguyen Widrow akan menyesuaikan untuk
pengenalan pola.
Nilai awal yang digunakan
Untuk mendapatkan bias dari input layer menuju hidden layer yang akan
digunakan maka terlebih dahulu dicari faktor skala.
β = faktor skala = (0.7(p)
Untuk Jumlah Hidden layer = 1 maka faktor skalanya adalah:
1/n
Jumlah Hidden layer = 2 maka faktor skalanya adalah: = 0,7
Sebagai contoh jaringan dengan sebuah 3 unit layer tersembunyi dibangun
untuk mengenali fungsi logika XOR dengan 2 masukan X1 dan X2. Iterasi untuk
Gambar 2.6 Jaringan dengan 3 unit hidden layer
Bobot-bobot diberikan nilai acak dengan range -1 sampai dengan 1. Misal
bobot dari layer input (Xi) ke layer tersembunyi (Zi
Langkah 0
) seperti pada Tabel 3.2 dan
bobot-bobot dari layer tersembunyi ke layeroutput seperti pada Tabel 3.3.
Untuk algoritma Backpropagasi Inisialisasi Standard: semua bobot dengan
bilangan acak kecil.
Tabel 3.2 Bobot dari layer input (Xi) ke layer tersembunyi (Zi)
Z1 Z2 Z3
X1 0.2 0.3 -0.1
X2 0.3 0.1 -0.1
V10 1
1
W10
V30 V20
Z1
V11
X1
W11
V21
V31
V12
W12
V22
X2 Z2 Y1
V32
W12
1 -0.3 0.3 0.3
Tabel 3.3 Bobot-bobot dari layer tersembunyi ke layeroutput
Y
Z1 0.5
Z2 -0.3
Z3 -0.4
1 -0.1
Untuk algoritma Backpropagasi Inisialisasi Nguyen Widrow: hitung semua bobot
dengan faktor skala Hitung faktor skala (ß) = 0.7(p)1/n
β = 0,7 √3 = 1,21
Jadi bias yang dipakai adalah faktor skala yang merupakan bilangan acak antara -1,21
hingga 1,21
‖�1‖ = ��112 +�212 = �0.22 + 0.32 = 0.36
‖�2‖ = ��122 +�222= �0.32 + 0.12 = 0.32
‖�3‖ = ��132 +�232= �−0.12 + (−0.1)2 = 0.14
Persamaan berikut merupakan bobot yang dipakai sebagai insialisasi dengan rumus:
‖�11‖ =1||.21∗00.36||.2 = 0.67
‖�12‖ =1||.21∗00.32||.3 = 1.13
‖�13‖ =1.||21∗−00.14||.1 = 0.86
‖�21‖ =1||.21∗00.36||.3 = 1
‖�22‖ =1||.21∗00.32||.1 = 0.38
‖�23‖ =1.21∗||0.(14−0||.1) = 0.86
Tabel 3.4 Bobot dari layer input (Xi) ke layer tersembunyi (Zi)
Z1 Z2 Z3
X1 (1,21*0,2)/0,36
= 0,67
(1,21*0,3)/0,32
= 1,13
(1,21*-0,1)/0.14
= 0.86
X2 (1,21*0,3)/0,36
= 1
(1,21*0,1)/0,32
= 0,38
(1,21*-0,1)/0.14
= 0.86
Untuk perhitungan bobot-bobot dari layer tersembunyi ke layer output sama dengan
standard yaitu secara acak bilangan yang kecil
Langkah 1
Jika kondisi penghentian belum terpenuhi, lakukan langkah 2 sampai dengan 8
Langkah 2
Untuk setiap pasang data pelatihan, lakukan langkah 3 sampai dengan 8
Langkah 3
Tiap unit masukkan menerima sinyal dan meneruskan ke unit tersembunyi
Langkah 4
Hitung semua keluaran di unit tersembunyi (Zj
Untuk pola pertama (X
Langkah 5
Hitung semua jaringan di unit keluaran (yk)
�_���� = ��0+� �����
Fase II : Propagasi Maju
Langkah 6
)=(0-0,44)*0,44*(1-0,44) = -0,11
Langkah 7
Hitung factor δ unit tersembunyi berdasarkan kesalahan di setiap unit tersembunyi zj
Faktor kesalahan δ unit tersembunyi (j=1,2,3,…,p)
δ_���� = �δ���� �
�=1
δ_���1 =δ1.�11= (−0,11). 0,5 = −0,055
δ_���2 =δ1.�12 = (−0,11). (−0,3) = 0,033
δ_���3 =δ1.�13 = (−0,11). (−0,4) = 0,044
δj = δ_netj f’(z_netj) = δ_net zj (1-zj
δ
)
1 = δ_net1 z1 (1-z1
δ
) = (-0.055).0,55.(1-(0,55)) = -0,01
2 = δ_net2 z2 (1-z2
δ
) = (0.033).0,67.(1-(0,67)) = 0,01
3 = δ_net3 z3 (1-z3) = (0.044).0,52.(1-(0,52)) = 0,01
Δvji = α δjxi
Δv10 = α δ1 = 0,2*(-0,01)*1 = -0,002
Δv20 = α δ2 = 0,2*(0,01)*1 = 0,002
Δv30 = α δ3 = 0,2*(0,01)*1 = 0,002
Δv21 = α δ2x1 = 0,2*(0,01)*1 = 0,002
Δv31 = α δ3x1 = 0,2*(0,01)*1 = 0,002
Δv12 = α δ1x2 = 0,2*(-0,01)*1 = -0,002
Δv22 = α δ2x2 = 0,2*(0,01)*1 = 0,002
Δv32 = α δ3x2 = 0,2*(0,01)*1 = 0,002
Fase III : Perubahan Bobot
Langkah 8
Perubahan bobot garis yang menuju unit keluaran
wkj (baru) = wkj (lama) + Δwkj
w10 (baru) = w10 (lama) + Δw10 = -0,1-0,022 = -0,122
w11 (baru) = w11 (lama) + Δw11 = 0,5-0,01 = 0,49
w12 (baru) = w12 (lama) + Δw12 = -0,3-0,01 = 0,31
w13 (baru) = w13 (lama) + Δw13 = -0,4-0,01 = 0,41
Vji (baru) = vji (lama) + Δvji
V10 (baru) = v10 (lama) + Δv10 = -0,3-0,002 = -0,302
V20 (baru) = v20 (lama) + Δv20 = 0,3+0,002 = 0,302
V30 (baru) = v30 (lama) + Δv30 = 0,3+0,002 = 0,302
V11 (baru) = v11 (lama) + Δv11 = 0,2-0,002 = 0,198
V31 (baru) = v31 (lama) + Δv31 = -0,1+0,002 = -0,098
V12 (baru) = v12 (lama) + Δv12 = 0,3-0,002 = 0,298
V22 (baru) = v22 (lama) + Δv22 =0,1+0,002 = 0,102
V32 (baru) = v32 (lama) + Δv32 =-0,1+0,002 = -0,098
Untuk pola yang kedua, X1=1, X2
Fase I: Propagasi Maju
=0 dan t=1
Langkah 3
Tiap unit masukkan menerima sinyal dan meneruskan ke unit tersembunyi
Langkah 4
Hitung semua keluaran di unit tersembunyi (Zj):
�2 =������2�=1 +�1−�_���2 = 1 +1��,� = 0,67
Hitung semua jaringan di unit keluaran (yk)
�_���� =��0+� �����
Fase II : Propagasi Maju
Δw13 = α δ1 (z3
Langkah 7
) = 0,2 * (-0,11) * (0,52) = -0,01
Hitung factor δ unit tersembunyi berdasarkan error di setiap unit tersembunyi zj
(j=1,2,3,…,p)
δ_���� = �δ���� �
�=1
δ_���1 =δ1∗ �11 = (−0,11)∗0,5 =−0,055
δ_���2 = δ1 ∗ �12 = (−0,11) ∗(−0,3) = 0,033
δ_���3 = δ1 ∗ �13 = (−0,11) ∗(−0,4) = 0,044
Faktor errorδ unit tersembunyi
δj = δ_netj f’(z_netj) = δ_net zj (1-zj
δ
)
1 = δ_net z1 (1-z1
δ
) = (-0.055) * 0,55 * (1-(0,55)) = -0,01
2 = δ_net z2 (1-z2
δ
) = (0.033) * 0,67 * (1-(0,67)) = 0,01
3 = δ_net z3 (1-z3) = (0.044) * 0,52 * (1-(0,52)) = 0,01
Δvji = α δjxi
Δv10 = α δ1 = 0,2 * (-0,01)*1 = -0,002
Δv20 = α δ2 = 0,2 * (0,01)*1 = 0,002
Δv30 = α δ3 = 0,2 * (0,01)*1 = 0,002
Δv21 = α δ2x1 = 0,2 * (0,01)*1 = 0,002
Δv31 = α δ3x1 = 0,2 * (0,01)*1 = 0,002
Δv12 = α δ1x2 = 0,2 * (-0,01)*1 = -0,002
Δv22 = α δ2x2 = 0,2 * (0,01)*1 = 0,002
Δv32 = α δ3x2 = 0,2 * (0,01)*1 = 0,002
Fase III : Perubahan Bobot
Langkah 8
Perubahan bobot garis yang menuju unit keluaran
V21 (baru) = v21 (lama) + Δv21
V
= 0,3+0,002 = 0,302
31 (baru) = v31 (lama) + Δv31
V
= -0,1+0,002 = -0,098
12 (baru) = v12 (lama) + Δv12
V
= 0,3-0,002 = 0,298
22 (baru) = v22 (lama) + Δv22
V
= 0,1+0,002 = 0,102
32 (baru) = v32 (lama) + Δv32
Lanjutkan dengan pola yang lainnya:
= -0,1+0,002 = -0,098
Pola ke 2 X1=1, X2=0, t=1
Pola ke 3 X1=0, X2=1, t=1
BAB 3
METODE PENELITIAN
3.1 Data Yang Digunakan
Berikut ini adalah data gejala-gejala yang diderita oleh pasien yang mengalami
penyakit ginjal, sebagai berikut:
Tabel 3.1 Gejala-Gejala Penyakit Ginjal
No Nama Gejala
1 Berkurangnya rasa, terutama di tangan
2 Darah pada urine (hematuria)
3 Demam
4 Desakan untuk kencing
5 Kejang
6 Kencing di malan hari (nokturia)
7 Menggigil
8 Mual
9 Mudah lelah
10 Muntah
12 Nanah pada urine (hematuria)
13 Nyeri pada tulang pinggul
14 Nyeri di daerah kandung kemih
15 Nyeri di daerah ginjal
16 Nyeri ketika kencing (disuria)
17 Nyeri perut
18 Nyeri punggung di bagian bawah
19 Nyeri yang hilang timbul
20 Pembengkakan organ tubuh tertentu
21 Pembengkakan yang menyeluruh
22 Penurunan berat badan
23 Perubahan mental/suasana hati
24 Rambut dan kuku menjadi rapuh
25 Ruam kulit/kulit kemerahan
26 Sering kencing
27 Syok dan kaget
28 Tekanan darah tinggi/hipertensi
29 Temor tangan
30 Volume air kencing berkurang
Berikut ini adalah daftar nama penyakit ginjal yang diderita oleh pasien
penyakit ginjal, sebagai berikut:
Tabel 3.2 Nama Penyakit Ginjal
No Nama Penyakit Ginjal
1 Gagal Ginjal Akut
2 Kanker Ginjal
3 Pielonefritis
4 Sindrom Nefrotik
5 Kejang
6 Hidronefrosis
7 Kanker Kandung Kemih
8 Ginjal Polkista
9 Nefritis Tububinter Stisialis
10 Sistisis
Sumber: Lubis, Abdul Rahim, dr., SpPD.KGH, 2013
3.2 Pendefinisian Input dan Output
Data gejala-gejala yang dialami oleh pasien penyakit ginjal 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
keluaran yang merupakan prediksi panyakit ginjal. Hal ini dikarenakan jaringan
menggunakan fungsi aktivasi logsig yang range-nya dari 0 sampai 1. Nilai-nilai yang
digunakan diperoleh berdasarkan kategori dari masing-masing variabel selain itu juga
untuk memudahkan mengingat dalam pendefinisiannya.
3.2.1 Masukan (Input)
Adapun yang menjadi masukan (input) adalah gejala penyakit ginjal (X), seperti
terlihat pada Tabel 3.3.
Tabel 3.3 Tabel Pendefenisian Input
No Gejala (X)
X1 Berkurangnya rasa, terutama di tangan
X2 Darah pada urine (hematuria)
X3 Demam
X4 Desakan untuk kencing
X5 Kejang
X6 Kencing di malan hari (nokturia)
X7 Menggigil
X8 Mual
X9 Mudah lelah
X10 Muntah
X12 Nanah pada urine (hematuria)
X13 Nyeri pada tulang pinggul
X14 Nyeri di daerah kandung kemih
X15 Nyeri di daerah ginjal
X16 Nyeri ketika kencing (disuria)
X17 Nyeri perut
X18 Nyeri punggung di bagian bawah
X19 Nyeri yang hilang timbul
X20 Pembengkakan organ tubuh tertentu
X21 Pembengkakan yang menyeluruh
X22 Penurunan berat badan
X23 Perubahan mental/suasana hati
X24 Rambut dan kuku menjadi rapuh
X25 Ruam kulit/kulit kemerahan
X26 Sering kencing
X27 Syok dan kaget
X28 Tekanan darah tinggi/hipertensi
X29 Temor tangan
X30 Volume air kencing berkurang
3.2.2 Keluaran (Output)
Adapun yang menjadi hasil (output) adalah pengenalan terhadap penyakit ginjal
berdasarkan gejala penyakit, seperti terlihat pada tabel berikut.
Tabel 3.4 Tabel Pendefenisian Keluaran (Output)
Nama Penyakit (Y)
Y1 Gagal Ginjal Akut
Y2 Kanker Ginjal
Y3 Pielonefritis
Y4 Sindrom Nefrotik
Y5 Kejang
Y6 Hidronefrosis
Y7 Kanker Kandung Kemih
Y8 Ginjal Polkista
Y9 Nefritis Tububinter Stisialis
Y10 Sistisis
3.3 Algoritma
Berikut ini adalah langkah-langka penyelesaian masalah atau algoritma yang penulis
gunakan dalam bentuk diagram alir (Flowchart).
a.FlowchartPelatihan Backpropagation
Adapun Flowchart dari Pelatihan Backpropagation adalah sebagai berikut:
Gambar 3.1 Flowchart Algoritma Pelatihan Backpropagation
Start
Parameter Jaringan,Vektor Input
A Nguyen Widrow ?
Inisialisasi Bobot dengan
Faktor Skala (ß)ß = 0 7(p)1/n
Yes No
Gambar 3.2 Flowchart Algoritma Pelatihan Backpropagation (Lanjutan)
Setiap input meneruskan ke hidden layer
Jalankan fungsi aktifasi untuk menghitung output
�����=��0+� ����� �
�
Hitung input bobotnya
Hitung komponen perubahan bobot
δ
∆
Hitung komponen Bias
w =αδ
∆
Setiap neuron hidden menjumlahkan input dari neuron diatasnya
∑
= m k jk
j w
in
_ δ
δ
A
Propagasi Maju
Hitung komponen error
δ ( ) f’( )
Propagasi Mundur
Gambar 3.3 Flowchart Algoritma Pelatihan Backpropagation (Lanjutan)
Keterangan Flowchart :
1. Mulai
2. Masukkan bobot awal
3. Setiap masukan meneruskan ke hidden layer
Hitung komponen error )
Hitung komponen koreksi errornya (untuk mengubah vij)
Hitung komponen koreksi errornya (untuk mengubah v0j)
Hitung semua perubahan bobot menuju ke unit keluaran
4. Kerjakan fungsi aktifasi untuk menghitung output
5. Kerjakan untuk menghitung komponen error
6. Kerjakan untuk menghitung komponen perubahan bobot
7. Kerjakan untuk menghitung komponen bias
8. Kerjakan untuk setiap neuron hidden menjumlahkan input dari neuron diatasnya
9. Kerjakan untuk menghitung komponen errornya
10. Kerjakan untuk menghitung koreksi error untuk mengubah V
11. Kerjakan untuk menghitung koreksi error untuk mengubah V
ij
12. Kerjakan untuk menghitung semua perubahan bobot menuju ke unit keluaran
oj
13. Kerjakan untuk menghitung semua perubahan bobot menuju ke unit keluaran
14. Selesai
b.FlowchartPengujian Backpropagation
Adapun proses dari algoritma Pengujian Backpropagation adalah seperti pada Gambar
3.4.
Gambar 3.4 Flowchart Pengujian Backpropagation
Start
Vektor Input
Setiap Unit pada Output Layer menghitung output
∑
�����=��0+� ����� �
Setiap Unit pada HiddenLayer
menghitung output
3.4 Arsitektur Jaringan
Berikut ini adalah gambar arsitektur jaringan (network) yang penulis gunakan dalam
menganalisa data masukan (input) (X), layer tersembunyi (hidden layer) (Z) dan
keluaran (output) (Y), dimana pada gambar tersebut terdapat 30 (tiga puluh) masukan
(input) dan 3 (tiga) layer tersembunyi (hidden layer) dan 10 (sepuluh) unit keluaran
(output). Dimana V adalah bobot hidden layer ke input layer dan W adalah bobot
Z1
BAB 4
ANALISIS DAN PEMBAHASAN
4.1 Analisis
Pada tesis ini dibahas analisis penggunaan algoritma Nguyen Widrow dalam jaringan
syaraf tiruan Backpropagation untuk memprediksi seseorang terkena penyakit ginjal
berdasarkan gejala-gejala yang dialami oleh pasien. 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
ginjal beserta kategori dan keluaran yang merupakan prediksi panyakit ginjal.
Bobot-bobot diberikan nilai acak dengan range -1 sampai dengan 1. Misal
bobot dari layer input (Xi) ke layer tersembunyi (Zi
Misalkan untuk pola yang pertama nilai, X
) seperti pada Tabel 3.5
1=1, X2=0, X3=1, X4=0, X5=0, X6=1,
X7=0, X8=0, X9=0, X10=0, X11=0, X12=0, X13=0, X14=1, X15=0, X16=1, X17=0,
X18=0, X19=0, X20=0, X21=1, X22=1, X23=0, X24=0, X25=0, X26=0, X27=0, X28=1,
X29=0, X30=1, dan t=1
Langkah 0
Untuk algoritma Backpropagasi Inisialisasi Standard: semua bobot dengan
bilangan acak kecil.
Tabel 3.5 Bobot dari layer input (Xi) ke layer tersembunyi (Zi
)
Z1 Z2 Z3
X1 0.2 0.3 0.1
X2 0.3 0.1 0.1
X4 0.3 0.1 0.3
X5 0.1 0.1 0.5
X6 0.2 0.5 0.3
X7 0.2 0.5 0.5
X8 0.3 0.1 0.3
X9 0.3 0.1 0.1
X10 0.2 0.5 0.3
X11 0.5 0.5 0.5
X12 0.2 0.5 0.3
X13 0.6 0.3 0.5
X14 0.1 0.5 0.3
X15 0.1 0.3 0.5
X16 0.1 0.1 0.7
X17 0.4 0.5 0.3
X18 0.2 0.5 0.2
X19 0.1 0.1 0.1
X20 0.7 0.6 0.4
X21 0.1 0.1 0.7
X22 0.1 0.1 0.5
X23 0.2 0.5 0.3
X24 0.2 0.5 0.3
X25 0.5 0.2 0.2