Anda di halaman 1dari 15

INTEGRAL, Vol. 9 No.

3, November 2004

JARINGAN SARAF TIRUAN PROPAGASI BALIK


UNTUK KLASIFIKASI DATA
Giri Dhaneswara1) dan Veronica S. Moertini2)
Jurusan Ilmu Komputer, Universitas Katolik Parahyangan, Bandung
Email: 1)rebirth_82@yahoo.com, 2)moertini@home.unpar.ac.id

Intisari
Data yang tersimpan di basisdata dapat dianalisis dengan teknik klasifikasi
data jaringan saraf tiruan (JST) propagasi balik dan dimanfaatkan untuk
mengambil keputusan. Makalah ini akan membahas JST ini, analisis-
perancangan-implementasi dari JST ini, eksperimen-eksperimen untuk
mendapatkan konfigurasi JST yang terbaik dan penggunaannya untuk
mengklasifikasi data aplikasi kredit di sebuah bank.

Kata kunci: propagasi balik, jaringan saraf tiruan, klasifikasi data

Abstract
Data strored in databases could be analized using a classification technique
of back-propagation neural networks (BP NN) and utilized in supporting
decission making processes. This paper discusses BP NN, the experiments
conducted to discover the best configuration of the NN and its use in
classifying banking credit application data.

Keywords: backpropagation, neural network, data classification

Diterima : 6 Agustus 2004


Disetujui untuk dipublikasikan : 18 Agustus 2004

1. Pendahuluan untuk menganalisis data untuk keperluan ini


Banyak data yang tersimpan di adalah teknik klasifikasi data.
basisdata yang dapat dianalisis dan
dimanfaatkan untuk membantu proses Klasifikasi data terdiri dari dua langkah yang
pengambilan keputusan. Misalnya: (a) utama, yaitu: (1) Pembangunan model dari
Untuk menentukan apakah sebuah set data pelatihan. Pada jaringan saraf tiruan
aplikasi kredit di bank akan diterima (JST), ini dilakukan dengan “pembentukan”
atau tidak. (b) Untuk memilih jenis jaringan dan penghitungan nilai-nilai
servis asuransi yang paling sesuai parameter jaringan (bobot, bias, dll.,). (2)
untuk seorang kustomer. (c) Di Penggunaan model untuk mengklasifikasi
lingkungan perguruan tinggi: untuk data baru. Di sini, sebuah rekord
memprediksi calon mahasiswa apakah “diumpankan” ke model, dan model akan
kelak akan berprestasi atau drop-out. memberikan jawaban “kelas” hasil
Salah satu teknik yang digunakan perhitungannya.

117
INTEGRAL, Vol. 9 No. 3, November 2004

JST propagasi balik adalah JST dengan


Makalah ini akan membahas JST topologi multi-lapis (multilayer) dengan satu
propagasi balik (backpropagation), lapis masukan (lapis X), satu atau lebih lapis
analisis-perancangan-implementasi hidden atau tersembunyi (lapis Z) dan satu
sistem JST ini, eksperimen-eksperimen lapis keluaran (lapis Y). Setiap lapis memiliki
untuk mendapatkan konfigurasi JST neuron-neuron (unit-unit) yang dimodelkan
yang terbaik dan penggunaannya untuk dengan lingkaran (lihat Gambar 1). Di antara
mengklasifikasi data aplikasi kredit neuron pada satu lapis dengan neuron pada
bank, serta kesimpulan dan arah lapis berikutnya dihubungkan dengan model
penelitian lanjutan. koneksi yang memiliki bobot-bobot
(weights), w dan v. Lapis tersembunyi dapat
memiliki bias, yang memiliki bobot sama
dengan satu [1].
2. Jaringan Saraf Tiruan (JST)
Propagasi Balik

Gambar 1. Jaringan saraf propagasi balik dengan satu lapis tersembunyi.

2.1. Algoritma Pelatihan JST keluaran. Algoritma pelatihan maju dan


Propagasi balik propagasi balik ini ditunjukkan pada
Algoritma pelatihan JST Propagasi Algoritma 1 [1].
balik pada dasarnya terbagi menjadi 2
langkah, yaitu: langkah maju Nilai mean square error (MSE) pada satu
(feedforward)) dan propagasi balik siklus pelatihan (langkah 2 – 10, dimana
(back propagation). Pada langkah seluruh rekord dipresentasikan satu kali)
maju, perhitungan bobot-bobot neuron adalah nilai kesalahan (error = nilai keluaran
hanya didasarkan pada vektor - nilai masukan) rata-rata dari seluruh rekord
masukan, sedangkan pada propagasi (tupple) yang dipresentasikan ke JST dan
balik, bobot-bobot diperhalus dengan dirumuskan sebagai:
memperhitungkan nilai target atau

118
INTEGRAL, Vol. 9 No. 3, November 2004

∑ error 2 perhitungan perubahan bobot-bobot. Tujuan


MSE = ( ) dari pengembangan ini adalah untuk
jumlah rekord
melancarkan pelatihan dan mencegah agar
Semakin kecil MSE, JST semakin kecil
bobot tidak “berhenti” di sebuah nilai yang
kesalahannya dalam memprediksi
belum optimal. Perubahan bobot pada
kelas dari rekord yang baru. Maka,
Algoritma 1 diubah menjadi [1]:
pelatihan JST ditujukan untuk
memperkecil MSE dari satu siklus ke ∆w jk (t + 1) = αδ k z j + µ∆w jk (t ) dan
siklus berikutnya sampai selisih nilai
∆vij (t + 1) = αδ j xi + µ∆vij (t ) , dimana
MSE pada siklus ini dengan siklus
sebelumnya lebih kecil atau sama µ merupakan konstanta dari momentum
dengan batas minimal yang diberikan dengan rentang [0,1].
(epsilon).
2.3. Klasifikasi Data
2.2. Pengembangan Algoritma Setelah pelatihan selesai dilakukan, maka
Pelatihan dengan Menggunakan model JST siap digunakan untuk
Momentum mengklasifikasi rekord baru. Klasifikasi ini
Salah satu pengembangan algoritma cukup dilakukan langkah feedforward dan
pelatihan propagasi balik dilakukan hasilnya adalah berupa kelas yang diprediksi
dengan penggunaan momentum pada JST untuk rekord yang baru ini.

119
INTEGRAL, Vol. 9 No. 3, November 2004

Narasi: Melatih JST dengan data pelatihan (berupa vektor atau rekord-rekord tabel) yang diberikan sampai
bobot-bobot tidak berubah lagi (atau dicapai kondisi konvergen).
Input: Set data pelatihan , jumlah lapis, jumlah neuron, learning rate, epsilon
Output: Model JST yang siap untuk mengklasifikasi data (vektor) baru.
Algoritma:
(1) Menginisialisasi bobot awal dengan nilai acak yang sangat kecil, hitung MSE dan ∆MSE inisialisasi.
(2) Selama ∆MSE > epsilon lakukan:
(3) Untuk setiap tupple pada set data pelatihan lakukan
Feedforward:
(4) Setiap unit masukan (Xi, i=1..n) menerima vektor masukan Xi dan mengirimkan vektor ini ke
seluruh unit pada lapis diatasnya (hidden layer).
(5) Setiap unit hidden (Zj, j=1..p) menjumlahkan bobot dari vektor masukan:
n
z _ in j = v0 j + ∑ xi vij Hitung keluaran fungsi aktivasi: z j = f ( z _ in j )
i =1
Kirimkan vektor ini ke unit-unit pada lapis diatasnya (lapis keluaran)
(6) Setiap unit keluaran (Yk, k=1..m) menjumlahkan vektor masukan:.
p
y _ in k = w0 k + ∑ z j w jk
j =1

Hitung keluaran dari fungsi aktivasi: y k = f ( y _ in k )


Propagasi balik dari error:
(7) Setiap unit keluaran (Yk, k=1..m) menerima vektor hasil yang diinginkan (tk) untuk data masukan
tersebut, hitung error-nya δ k = (t k − y k ) f ' ( y _ in k )
(t k − yk ) :
Hitung nilai koreksi bobotnya dengan α sebagai learning ratenya: ∆w jk = αδ k z j

Hitung nilai koreksi biasnya: ∆w0 k = αδ k


Kirimkan δk ke unit pada lapis dibawahnya.
(8) Setiap unit hidden (Zj, j=1..p) menjumlahkan delta masukannya (dari unit-unit pada lapis
diatasnya):
m
δ _ in j = ∑ δ k w jk
k =1
Kalikan dengan turunan dari fungsi aktivasinya untuk menghitung errornya:
δ j = δ _ in j f ' ( z _ in j ) Hitung nilai koreksi bobotnya: ∆vij = αδ j xi Hitung nilai

koreksi biasnya: ∆v0 j = αδ j


Perbaharui bobot dan bias:
(9) Setiap unit keluaran (Yk, k=1..m) memperbaharui bias dan bobotnya (j=0..p).
w jk ( new) = w jk (old ) + ∆w jk
Setiap unit tersembunyi (Zj, j=1..p) memperbaharui bias dan bobotnya (i=0..n).
vij ( new) = vij (old ) + ∆vij
MSEold = MSE. Hitung MSE, ∆MSE = MSE – MSEold.
(10) Uji kondisi berhentinya

Algoritma 1. Algoritma pelatihan pada JST Propagasi balik.

120
INTEGRAL, Vol. 9 No. 3, November 2004

Keterangan Notasi untuk Algoritma 1: x = vektor masukan = ( x1 ,..., x i ,..., x n ) ,


t = vektor keluaran= (t1 ,..., t k ,..., t m ) . δ k = nilai koreksi bobot error untuk w jk
yang disebabkan oleh error pada unit keluaran Yk . δ j = nilai koreksi bobot error untuk vij
yang disebabkan oleh informasi propagasi balik dari error pada lapis keluaran ke unit
tersembunyi Z j . α = konstanta laju pembelajaran (learning rate). X i =unit masukan i. v0 j =
bias pada unit tersembunyi j. Z j =unit tersembunyi j. w0 k =bias pada unit keluaran k. Yk =
unit keluaran k. Fungsi aktivasi yang dapat digunakan pada propagasi balik antara lain
1 2
adalah: Binary sigmoid: f ( x) = − x , arc tangen: f ( x ) = arctan( x) , radial
1+ e π
basis: f ( x) = e − x
.

3. Analisis, Perancangan dan menghitung jumlah unit (neuron) di lapis


Implementasi JST Propagasi masukan dan keluaran sesuai dengan data
Balik pelatihan. (d) Fitur untuk transformasi data.
(e) Fitur untuk mendefinisikan prosentase dan
3.1. Analisis Sistem JST cara pemilihan data validasi dari tabel. (f)
Sistem JST Propagasi balik yang Fitur untuk memvalidasi model JST hasil
dibangun dimaksudkan untuk pelatihan.
mengklasifikasi data (apa saja) yang
tersimpan di tabel-tabel basisdata.
Agar sistem ini berfungsi dan
berperformansi dengan baik, ada b. Performansi Sistem JST
beberapa isu dan solusi yang perlu Isu: (a) Jumlah atau nilai lapis tersembunyi,
dipertimbangkan yang terkait dengan unit di lapis(-lapis) ini, fungsi aktivasi,
set data pelatihan dan performansi learning-rate, dan momentum yang optimal
sistem. bergantung kepada karakteristik set data
pelatihan. (b) Tingkat ketelitian yang
a. Set Data Pelatihan diperlukan mungkin bergantung kepada tipe
Isu: (a) Bebas. (b) Jumlah, tipe kolom data pelatihan. (c) Model hasil pelatihan
tabel, dan jumlah kelas pada kolom dapat digunakan untuk memprediksi data
keluaran (target) bervariasi. (c) Tipe baru kapan saja.
kolom: kontinyu (dengan rentang Solusi sistem: (a) Fitur untuk mengambil
bervariasi) atau diskret, sedangkan JST nilai-nilai ini. (b) Fitur untuk mengamati
hanya mengolah tipe kontinyu. (d) statistik proses dan hasil pelatihan. (c) Fitur
Perlu data validasi yang diambil dari untuk mendefinisikan nilai epsilon dan
data pelatihan. jumlah siklus pelatihan. (d) Fitur untuk
Solusi sistem: (a) Fitur untuk memilih menyimpan model JST hasil pelatihan.
tabel yang berisi dara pelatihan. (b)
Fitur untuk memilih kolom yang akan Transfomasi data kontinyu dimaksudkan
digunakan untuk melatih JST dan untuk menormalisasi data dan dilakukan
mendefinisikan tipe dari tiap kolom (c) dengan rumus
Sistem JST secara otomatis [BER97]

121
INTEGRAL, Vol. 9 No. 3, November 2004

nilai _ asli − batas _ bawah pada Gambar 2 (pemodelan sistem yang


nilai _ baru =
batas _ atas − batas _ bawah lengkap dan keterangan dari DFD ini dapat
. Sedangkan kolom tipe diskret dilihat di [DAN04]). Pada gambar ini
(kategorial) ditransformasi menjadi ditunjukkan bahwa ada proses-proses lain
kontinyu. Transformasi pada sistem yang terkait dengan proses Latih JST, karena
JST ini dilakukan dengan cara sebelum set data pelatihan siap untuk
sederhana, yaitu rentang nilai [0,1] dipresentasikan, data harus ditransformasi
dibagi menjadi rentang-rentang menjadi nilai kontinyu (proses Transformasi
homogen sebanyak nilai pada kolom Data) dan ada pemilihan data yang akan
bertipe diskret dikurangi 1, lalu setiap digunakan untuk validasi (proses Atur Data).
nilai diskret diasosiasikan dengan nilai Pengguna juga dapat menginisialisasi bobot-
pada batas rentang-rentang baru ini. bobot JST secara manual (proses Buat File
Bobot). Setelah proses Latih JST dijalankan,
Jumlah unit (neuron) lapis keluaran pengguna dapat mengeksekusi proses
bergantung kepada jumlah kelas yang Validasi untuk memperhalus bobot-bobot
ada di kolom kelas dan didapat dengan JST dan Simulasikan Hasil Validasi untuk
rumus: m = pembulatan ke atas memvisualisasi statistik proses validasi.
(log2(jumlah kelas)) Pengguna juga dapat menyimpan bobot-bobot
Data flow diagram JST ke sebuah file untuk keperluan klasifikasi
Data flow diagram (DFD) dari proses rekord baru.
pelatihan pada sistem JST ditunjukkan

122
INTEGRAL, Vol. 9 No. 3, November 2004

Gambar 2.DFD untuk proses pelatihan JST Propagasi balik.

3.2. Perancangan Struktur Data deklarasi array dinamis untuk bobot-bobot di


Semua struktur data yang digunakan lapis masukan dan tersembunyi (untuk JST
untuk menyimpan bobot, bias, dengan 1 lapis tersembunyi):
masukan-keluaran fungsi aktivasi, InWeights: Array of Array
kesalahan dan perubahan bobot adalah of Single;
array dinamis bertipe real, dimana H1Weights: Array of Array
dimensi dari array ini dibuat sesuai of Single;
dengan parameter masukan pengguna. SetLength(InWeights,
Sebagai contoh, berikut ini adalah NrOfInputs, NrOfHidden1);

123
INTEGRAL, Vol. 9 No. 3, November 2004

SetLength(H1Weights, 3 dan Gambar 4. Jendela pada Gambar 3


NrOfHidden1, berkaitan dengan fitur penyiapan data
NrOfOutputs); pelatihan dengan fitur untuk: (1) Membuka
atau memilih tabel yang akan digunakan
Dengan NrOfInputs adalah jumlah untuk melatih JST (Gambar 3.a.) (2)
neuron lapis masukan, NrOfHidden1 Mendefinisikan tipe-tipe kolom tabel,
adalah jumlah neuron lapis memilih kolom sebagai kelas (target) dan
tersembunyi 1 dan NrOfOutputs adalah mentransformasi isi-isi kolom ke dalam nilai
jumlah neuron lapis keluaran. kontinyu yang siap dipresentasikan ke JST
(Gambar 3.b). Setelah langkah ini, pengguna
3.3. Implementasi Jendela-Jendela dapat memilih data yang akan digunakan
Sistem JST untuk validasi melalui tombol (menu)
Beberapa dari jendela utama pada Pengaturan data.
sistem JST ini diberikan pada Gambar

124
INTEGRAL, Vol. 9 No. 3, November 2004

(a)

(b)

Gambar 3. (a) Pembukaan tabel set data pelatihan. (b). Pendefinisian tipe kolom dan
transformasi data.

Setelah data ditransformasi, maka pelatihan (MSE rata-rata, MSE terendah,


pengguna dapat melatih JST dengan waktu pelatihan, dll.), melakukan validasi
memilih menu Pelatihan dan selama dengan memilih menu Validasi dan
proses pelatihan berlangsung, mengamati statistik hasil validasi. Jika
pengguna dapat mengamati perubahan semua statistik dapat diterima, maka JST siap
MSE dari siklus (epoch) ke ke siklus digunakan untuk mengklasifikasi rekord baru
(Gambar 4.a). Setelah tahap ini selesai, (Gambar 4.b.).
pengguna dapat melihat statistik hasil

125
INTEGRAL, Vol. 9 No. 3, November 2004

(a)

(b)

Gambar 4. (a). Jendela pelatihan JST. (b) Jendela prediksi untuk rekord baru.

4. Eksperimen difungsikan untuk mengklasifikasi data nyata.


Pada penelitian ini, ada dua kelompok Karena keterbatasan ruang, pada makalah ini
eksperimen yang akan dilakukan: (1) hanya diberikan hasil eksperimen dan
Eksperimen yang dilakukan dengan bahasan utama sedangkan bahasan yang
data simulasi dan terdiri dari 5 sub- lengkap dapat dilihat di [2].
kelompok eksperimen. Eksperimen-
eksperimen pada kelompok ini 4.1. Learning rate
bertujuan untuk mencari yang terbaik Konfigurasi JST yang digunakan adalah: 1
dari nilai learning rate, momentum, lapis tersembunyi, jumlah neuron pada lapis
fungsi aktivasi, jumlah neuron pada tersembunyi = 4, momentum = 0, jumlah
lapis tersembunyi dan jumlah lapis siklus pelatihan maksimum = 3000, epsilon =
tersembunyi. (2) Eksperimen yang 0,00001, fungsi aktivasi pada lapis
dilakukan dengan data nyata, yaitu data tersembunyi dan lapis keluaran adalah
aplikasi kredit di sebuah bank. sigmoid dan bobot-bobot diinisialisasi dengan
Eksperimen ini bertujuan untuk nilai acak. Pada eksperimen ini, JST dilatih
mengetahui apakah sistem JST dapat dengan nilai learning rate (lr) 0,02, 0,125,

126
INTEGRAL, Vol. 9 No. 3, November 2004

0,25 dan 1. Pada setiap pelatihan, grafil hasil eksperimen diberikan pada Gambar 5.
MSE terhadap siklus pelatihan (epoch)
diamati. Sebagai contoh, dua grafik
(a). lr = 0,02 (b). lr = 1

Gambar 5. Grafik MSE terhadap siklus pelatihan (epoch) untuk 2 nilai learning rate (lr).

Dari hasil eksperimen didapati bahwa 4.2. Momentum


makin besar lr maka MSE makin cepat Pada eksperimen ini, konfigurasi JST yang
turun atau makin cepat JST belajar. digunakan sama dengan eksperimen lr, hanya
Hasil ini sesuai dengan yang saja nilai lr dibuat konstan (0,125) dan nilai
diharapkan, karena lr memang momentum, µ, diubah-ubah: 0; 0,2; 0,5 dan 1.
merupakan laju dari JST dalam belajar. Dari hasil eksperimen didapati bahwa makin
Hanya saja, sebagai kosekuensinya, besar momentum, makin cepat proses
tingkat ketelitian JST dalam pelatihan JST. Juga didapati bahwa
perhitungan penyesuaian bobot perubahan nilai momentum tidak berbanding
menjadi berkurang. lurus dengan perubahan MSE. Sebagai
contoh hasil eksperimen, pada Gambar 6
diberikan grafik pelatihan (MSE vs siklus)
untuk µ= 0 dan µ = 1.

(a) µ = 0 (b) µ = 1

Gambar 6. Grafik MSE terhadap siklus pelatihan (epoch) untuk: (a) momentum = 0, (b)
momentum = 1.

127
INTEGRAL, Vol. 9 No. 3, November 2004

4.3. Fungsi Aktivasi dari tiga fungsi aktivasi sigmoid, arc tangen
Konfigurasi JST pada eksperimen ini dan radial basis, contohnya: sigmoid –
sama dengan yang digunakan pada sigmoid, sigmoid – arc-tangen , arc-tangen –
eksperimen momentum, dengan sigmoid, sigmoid - radial basis, radial basis –
momentum = 1. Pasangan fungsi yang arc tangen, radial basis – radial basis, dll.
diobservasi di lapis tersembunyi dan Sebagai contoh hasil eksperimen, pada
keluaran pada eksperimen ini adalah Gambar 7 diberikan grafik MSE vs siklus
kombinasi dua (keduanya boleh sama) dari 4 pasangan fungsi aktivasi.

(a) (b)
(c)

(d)

Gambar 7. Grafik MSE terhadap siklus pelatihan (epoch) untuk 4 kombinasi fungsi aktivasi
di lapis tersembunyi dan lapis keluaran. (a) sigmoid - sigmoid (b) arc-tangen – sigmoid (c).
radial basis – sigmoid (d) radial basis – radial basis

Hasil keseluruhan eksperimen 4.4. Jumlah Neuron pada Lapis


menunjukkan bahwa fungsi aktivasi Tersembunyi
berperan sangat penting dalam proses Konfigurasi JST yang digunakan pada
pelatihan JST. Penggunaan fungsi eksperimen ini mirip dengan pada
aktivasi radial basis ternyata eksperimen learning rate. Hanya saja,
mempercepat waktu pelatihan (Gambar sekarang jumlah neuron (unit) pada lapis
7.c dan 7.d) dan pelatihan tercepat tersembunyi diubah-ubah menjadi 1, 4 dan
terjadi ketika pasangan fungsi aktivasi 10. Grafik MSE vs siklus pelatihan untuk JST
adalah radial basis - radial basis dengan ketiga konfigurasi ini ditunjukkan
(Gambar 7.d). pada Gambar 8.a, 8.b dan 8.c, dengan waktu
pelatihan (hingga mencapai siklus ke-3000
dan belum konvergen) 21,5; 22,1 dan 22,9
detik.

128
INTEGRAL, Vol. 9 No. 3, November 2004

(b) j=4
(a) j=1
(c) j=10

Gambar 8. Grafik MSE terhadap siklus pelatihan (epoch) untuk jumlah unit (neuron) di lapis
tersembunyi: (a) 1, (b) 4, (c) 10.

Dari hasil eksperimen dapat tersembunyi lebih baik daripada dengan 2


disimpulkan bahwa semakin banyak lapis (dengan jumlah neuron tertentu atau
jumlah neuron maka semakin cepat konstan) atau sebaliknya.
MSE turun atau semakin cepat JST
belajar dilihat dari banyaknya siklus 4.6. Eksperimen dengan Data Aplikasi
pelatihan. Namun, ternyata semakin Kredit Bank
banyak neuron di lapis tersembunyi, Pada eksperimen ini, sistem JST akan diuji
waktu eksekusi untuk menuju apakah sudah dapat digunakan untuk
kekonvergenan tidak semakin mengklasifikasi data nyata. Data nyata untuk
mengecil. pelatihan yang digunakan di eksperimen ini
adalah Australian Credit Database dari
4.5. Jumlah Lapis Tersembunyi http://www.liacc.up.pt/ML/statlog/datasets/au
Pada eksperimen ini, konfigurasi JST stralian/australian.doc.html. Data ini memiliki
yang digunakan mirip dengan 690 rekord dan jumlah atribut adalah 14
eksperimen pada 5.1 dengan jumlah (bertipe kontinyu dan diskret) ditambah 1
lapis tersembunyi 1 atau 2 dan dengan atribut kelas (0 menyatakan kredit disetujui
total jumlah neuron tetap. Ada 5 dan 1 ditolak atau sebaliknya). Semua data
eksperimen yang dilakukan, yaitu dijadikan data pelatihan dan 25 % dari data
dengan: 1 lapis tersembunyi (lt) tersebut diambil sebagai data validasi.
dengan 4 neuron, 2 lt dengan 2 neuron
di lt-1 dan 2 neuron di lt-2, 1 lt dengan Konfigurasi JST yang digunakan adalah: 2
6 neuron, 2 lt dengan 4 neuron di lt-1 lapis tersembunyi, jumlah neuron di lapis 1 =
dan 2 neuron di lt-2 dan 2 lt dengan 2 20, jumlah neuron lapis 2 = 10, learning rate
neuron di lt-1 dan 4 neuron di lt-2. = 0.125, momentum = 1, jumlah siklus
pelatihan maksimum = 3000, epsilon =
Dari hasil eksperimen (lihat [2]), 0,00001, fungsi aktivasi lapis 1 = sigmoid,
ternyata tidak dapat ditarik kesimpulan fungsi aktivasi lapis 2 2 = arc tangen, fungsi
apakah JST dengan 1 lapis aktivasi lapis keluaran = sigmoid. (Pada

129
INTEGRAL, Vol. 9 No. 3, November 2004

kasus ini, penggunaan fungsi radial untuk dihitung kesalahannya. Nilai kesalahan
basis ternyata tidak mempercepat untuk tiap rekord (dalam rentang [0,1])
proses pelatihan JST ini.) Bobot-bobot diberikan pada Gambar 9, dimana pada
diinisialisasi dengan nilai-nilai yang gambar ini terlihat bahwa sebagian besar
dapat mempercepat proses pelatihan. rekord diklasifikasi tanpa kesalahan (dengan
kesalahan nol) dan sebagian kecil rekord
Dengan konfigurasi di atas, pelatihan diklasifikasi dengan salah. Dari perhitungan
JST makan waktu tiga setengah menit. jumlah rekord yang salah diklasifikasi dibagi
Selesai dilatih, JST lalu divalidasi, dengan total rekord didapat prosentase
kemudian data pelatihan kesalahan klasifikasi = 7,074 %.
dipresentasikan lagi ke sistem JST

Gambar 9. Grafik nilai kesalahan untuk semua rekord pada data pelatihan.

5. Kesimpulan dan Penelitian Eksperimen-eksperimen lanjutan untuk


Lanjutan melatih sistem JST dengan berbagai tipe
JST propagasi balik yang dilatih dengan data simulasi dan data nyata, juga untuk
menggunakan momentum dapat membandingkan dengan teknik-teknik
difungsikan sebagai teknik klasifikasi data. klasifikasi data yang lain (misalnya: pohon
Salah satu masalah utama pada JST adalah keputusan, bayesian belief networks, dll.)
lamanya proses pelatihan (pembentukan masih diperlukan untuk mengobservasi
model jaringan), karena itu pemilihan performansi dari JST ini. Kekurangan atau
konfigurasi jaringan (jumlah lapis kelemahan dari JST yang mungkin didapati
tersembunyi, neuron, nilai momentum, kemudian dapat diperbaiki dengan
learning-rate, fungsi aktivasi) yang tepat mempelajari dan mengimplementasikan
diperlukan untuk mempercepat proses algoritma-algoritma pengembangan JST
pelatihan. Hanya saja, konfigurasi ini dapat propagasi balik hasil penelitian yang paling
berbeda dari satu set data pelatihan yang mutakhir.
lain, sehingga diperlukan eksperimen untuk
mencarinya. Sistem JST yang dibangun ini masih
bersifat standalone, padahal banyak data
yang perlu diklasifikasi tersimpan di server

130
INTEGRAL, Vol. 9 No. 3, November 2004

basisdata di jaringan. Pengintegrasian JST [2] Dhaneswara, Giri, “Implementasi


di server basisdata (sebagai stored Jaringan Saraf Tiruan Tipe Multilayer
procedures) yang dapat diakses dari clients Feed-Forward Menggunakan
akan menambah fungsionalitas dari Algoritma Backpropagation dengan
basisdata dan membuat basisdata lebih Momentum untuk Klasifikasi Data”,
pintar, sehingga lebih mendatangkan Skripsi, Jur. Ilmu Komputer, Univ.
banyak manfaat bagi para pengguna Katolik Parahyangan, Juli 2004.
basisdata. [3] Freeman, James A., dan David M.
Skapura, “Neural Networks:
6. Referensi Algorithms, Applications, and
Programming Techniques”. Addison-
[1] Fausett, Laurent, “Fundamentals of Wesley Publishing Company, 1991.
Neural Networks: Architectures, [4] Borland Software Cp., Borland Delphi
Algorithms, and Applications”, v.7 On-line Manual, USA, 2002.
Prentice-Hall, Inc., New Jersey, 1994.

131