Anda di halaman 1dari 40

Sistem Syaraf Buatan

PENDAHULUAN

MATLAB

Matlab singkatan dari Matrix Laboratory. Matlab merupakan bahasa pemrogaman


yang dikembangkan oleh The Mathwork. Inc. Pada awalnya, program ini merupakan
interface untuk koleksi rutin-rutin numerik dari proyek LINPACK dan EISPACK,
namun sekarang merupakan produk komersial dari perusahaan Mathworks, Inc.
MATLAB telah berkembang menjadi sebuah environment pemrograman yang canggih
yang berisi fungsi-fungsi built-in untuk melakukan tugas pengolahan sinyal, aljabar
linier, dan kalkulasi matematis lainnya. MATLAB juga berisi toolbox yang berisi
fungsi-fungsi tambahan untuk aplikasi khusus .
MATLAB bersifat extensible, dalam arti bahwa seorang pengguna dapat menulis
fungsi baru untuk ditambahkan pada library ketika fungsi-fungsi built-in yang tersedia
tidak dapat melakukan tugas tertentu. Kemampuan pemrograman yang dibutuhkan
tidak terlalu sulit bila kita telah memiliki pengalaman dalam pemrograman bahasa lain
seperti C, PASCAL, atau FORTRAN. Bahasa pemograman ini banyak digunakan untuk
perhitungan numerik keteknikan, komputasi simbolik, visualisasi grafis, analisis data
matematis, statistika, simulasi pemodelan, dan desain GUI (graphical user interface).

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 6.1018 sinapsis. Dengan jumlah yang begitu banyak, otak mampu mengenali pola,
melakukan perhitungan, dan mengontrol organ-organ tubuh dengan kecepatan yang
lebih tinggi dibandingkan komputer digital. Sebagai perbandingan, pengenalan wajah
seseorang yang sedikit berubah (misal memakai topi, memiliki jenggot tambahan, dll)
akan lebih cepat dilakukan manusia dibandingkan komputer.
Pada waktu lahir, otak mempunyai struktur yang menakjubkan karena
kemampuannya membentuk sendiri aturan-aturan/pola berdasarkan pengalaman
yang diterima. 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.

Halaman 1
Sistem Syaraf Buatan

Gambar Jaringan Syaraf Pada Manusia

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-beda antara satu sel dengan yang lain.
Neuron biologi merupakan sistem yang "fault tolerant" dalam 2 hal. Pertama,
manusia dapat 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.

JARINGAN SYARAF TIRUAN

Berikut adalah beberapa definisi JST :


ƒ JST adalah suatu teknik pemrosesan informasi berbasis komputer yang
mensimulasikan dan memodelkan sistem syaraf biologis.
ƒ Suatu model matematik yang mengandung sejumlah besar elemen pemroses yang
diorganisasikan dalam lapisan-lapisan.
ƒ 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.

Halaman 2
Sistem Syaraf Buatan

ƒ JST adalah suatu teknologi komputasi yang berbasis hanya pada model syaraf
biologis dan mencoba mensimulasikan tingkah laku dan kerja model syaraf.

Jaringan syaraf tiruan (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 :
ƒ Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron).
ƒ Sinyal dikirirnkan diantara neuron-neuron melalui penghubung-penghubung.
ƒ Penghubung antar neuron memiliki bobot yang akan memperkuat atau
memperlemah sinyal.
ƒ Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi (biasanya
bukan fungsi linier) yang dikenakan pada jumlahan input yang diterima. Besarnya
output ini selanjutnya dibandingkan dengan suatu batas ambang.

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
karakteristik sistem, sehingga pada proses belajar, JST mampu belajar secara 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 yang kurang 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.

Halaman 3
Sistem Syaraf Buatan

Algoritma Umum Jaringan Saraf Tiruan


Algoritma pembelajaran/pelatihan jaringan saraf tiruan :
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
sebelumnya (memenuhi syarat berhenti)
then exit.
4. Update bobot-bobot dengan menggunakan aturan pembelajaran jaringan.
5. 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
outputnya 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.

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.

Halaman 4
Sistem Syaraf Buatan

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 memimgkinkan jaringan diproses melalui beberapa layer.
Selain itu, beberapa model jaringan syaraf tiruan lain juga dikembangkan oleh
Kohonen (1972), Hopfield (1982), dll. Pengembangan yang ramai dibicarakan sejak
tahun 1990an adalah aplikasi model-model jaringan syaraf tiruan untuk menyelesaikan
berbagai masalah di dunia nyata.

Jaringan Syaraf Tiruan ditentukan oleh tiga hal :


ƒ Pola hubungan antar neuron (disebut arsitektur jaringan)
ƒ Metode untuk menentukan bobot penghubung (disebut metode learning/training)
ƒ Fungsi aktivasi

ARSITEKTUR JARINGAN
Beberapa arsitektur jaringan yang sering dipakai dalam jaringan syaraf tiruan
antara lain :
ƒ Jaringan Layar Tunggal (single layer network)
Dalam jaringan ini, sekumpulan input neuron dihubungkan langsung dengan
sekumpulan outputnya. Dalam beberapa model (misal perceptron), hanya ada
sebuah unit neuron output.
ƒ Jaringan Layar Jamak (multi layer network)
Jaringan layar jamak merupakan perluasan dari layar tunggal. Dalam jaringan ini,
selain unit input dan output, ada unit-unit lain (sering disebut layar tersembunyi /
hidden layer). Dimungkinkan pula ada beberapa layar tersembunyi. Sama seperti
pada unit input dan output, unit-unit dalam satu layar tidak saling berhubungan.
ƒ Jaringan Recurrent
Model jaringan reccurent mirip dengan jaringan layar tunggal ataupun ganda.
Hanya saja, ada neuron output yang memberikan sinyal pada unit input (sering
disebut feedback loop).

Halaman 5
Sistem Syaraf Buatan

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 yang ada dalam data masukan. Neuron yang
memenangkan kompetisi akan memperoleh sinyal yang berikutnya ia teruskan. Bobot
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.

Halaman 6
Sistem Syaraf Buatan

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 eror 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 eror
c. Kriteria proses belajar
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.

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 mengklasifikasi-kan contoh pola-pola

Halaman 7
Sistem Syaraf Buatan

masukan yang tersedia ke dalam kelompok yang berbeda-beda. Contoh JST dengan
belajar tanpa pengawasan adalah jaringan Kohonen.

Masalah Yang On-Line Penyepadanan


Paradigma Tipe Belajar Pembatasan Implementasi
Diselesaikan /Off-Line Pola
Klasifikasi data Keterbatasan
Optik dan
AG tanpa On-line Ya Hebbian tempat
elektronik
pengawasan penyimpanan
Pemrosesan Keterbatasan
SG informasi On-line Ya Hebbian tempat Elektronik
manusia penyimpanan
Klasifikasi pola Competitiv Dibatasi pada
ARTI On-line Ya Komputer Syaraf
kompleks e decay biner
Pemrosesan Dibatasi pada Elektronika
DH On-line Tidak Hebbian
pemtaraan biner Optik
Optimasi Hebbian/ Keterbatasan Elektronika
CH On-line Ya
kombinasional kompetitif memori Optik
Belajar
Pengenalan Simulasi
BAM Off-line Ya Hebbian ekstensif
citra komputer
off-line
Keterbatasan
Proses pola
ABAM On-line Ya Hebbian tempat Komputer Syaraf
analog kontinu
penyimpanan
Keterbatasan
Optimasi On-line Simulasi
CABAM Ya Hebbian tempat
kombinatorial dan off line komputer
penyimpanan
Mekanik
Tak ada
LM Proses Monitor Off-line Ya Hebbian Elektronik
laporan
Magnetik
Keterbatasan
Simulasi
LAM Kontrol sistem Off-line Ya Hebbian tempat
komputer
penyimpanan
Belajar
Pemrosesan
OLAM Off-line Ya Hebbian ekstensif off- Optik
sinyal
line
Tabel Pelatihan Tanpa Supervisi

Masalah yang On-line / Penyepadanan


Paradigma Tipe Belajar Pembatasan Implementasi
diselesaikan Off-line Pola
Klasifikasi real Belajar off- Simulasi
BSB Off-line Ya Koreksi eror
time line Komputer
Tak ada Mesin
Perceptron Prediksi Off-line Ya Koreksi eror
laporan perceptron
Adaline/ Prediksi peng- Belajar off-
Off-line Ya Koreksi eror Magnetik optik
Madaline hapusan derau line
Pengenalan Belajar off- Elektronik optik
BP Off-line Ya Koreksi eror
tingkah laku line VLSi

Halaman 8
Sistem Syaraf Buatan

Self-organizing Belajar off-


AVQ Off-line Ya Koreksi eror Neural-computer
data line
Lack of
Self- control
CPN Off-line Ya Hebbian Neural-computer
programming w/o star
mapping
Hebbian
Optimasi Belajar off- Elektronik optik
BM Off-line Ya dan
kombinatorial line VLSi
annealing
Tabel Pelatihan Dengan Supervisi

Daftar singkatan :
Akronim Definisi
CPN Counter propagation
AG Additive Grossberg
BM Boltzman Machine
SG Shunting Grossberg
ART1 Adaptive Resonance Theory Biner
DH Hopfield Diskrit
CH Hopfield Kontinu
BAM Bidirectional Associative Memory Diskrit
ABAM Bidirectional Associative Memory Adaptive
CABAM Competitive ABAM
LM Learning Matrix
LAM Linear Associative Memory
OLAM Optimal Linear Associative Memory
BSB Brain State in a Box
PERCEP Perceptron
Adaline Adaptive Linear Element
Madaline Multiple Adaptive Linear Element
BP Back Propagation
AVQ Adaptive Vektor Quantizer

BACKPROPAGATION
Kelemahan JST yang terdiri dari layar tunggal membuat perkembangan JST
menjadi terhenti pada sekitar tahun 1970 an. Penemuan backpropagation yang terdiri
dari beberapa layar membuka kembali cakarawala. Terlebih setelah berhasil
ditemukannya berbagai aplikasi yang dapat diselesaikan dengan Backpropagation,
membuat JST semakin diminati orang.

Halaman 9
Sistem Syaraf Buatan

JST dengan layar tunggal memiliki keterbatasan dalam pengenalan pola.


Kelemahan ini bisa ditanggulangi dengan menambahkan satu/beberapa layar
tersembunyi diantara layar masukan dan keluaran. Meskipun penggunaan lebih dari
satu layar tersembunyi memiliki kelebihan manfaat untuk beberapa kasus, tapi
pelatihannya memerlukan waktu yang lama. Maka umumnya orang mulai mencoba
dengan sebuah layar tersembunyi lebih dahulu.
Seperti halnya model JST lain, Backpropagation melatih jaringan untuk
mendapatkan keseimbangan antara kemampuan jaringan untuk mengenali pola yang
digunakan selama pelatihan serta kemampuan jaringan untuk memberikan respon yang
benar terhadap pola masukan yang serupa (tapi tidak sama) dengan pola yang dipakai
selama pelatihan.

Arsitektur Backpropagation
Backpropagation memiliki beberapa unit yang ada dalam satu atau lebih layar
tersembunyi. Gambar berikut adalah arsitektur backpropagation dengan n buah
masukan (ditambah sebuah bias), sebuah layar tersembunyi yang terdiri dari p unit
(ditambah sebuah bias), serta m buah unit keluaran.

Gambar Arsitektur Backpropagation

Vji merupakan bobot garis dari unit masukan xi ke unit layar tersembunyi VJ (VJO
merupakan bobot garis yang menghubungkan bias di unit masukan ke unit layar
tersembunyi Zj. Wkj merupakan bobot dari unit layar tersembunyi ZJ ke unit keluaran
yk (wko merupakan bobot dari bias di layar tersembunyi ke unit keluaran Zk)

Halaman 10
Sistem Syaraf Buatan

Pelatihan Standar Backpropagation


Pelatihan Backpropagation meliputi 3 fase. Fase pertama adalah fase maju. Pola
masukan dihitung maju mulai dari layar masukan hingga layar keluaran menggunakan
fungsi aktivasi yang ditentukan. Fase kedua adalah fase mundur. Selisih antara keluaran
jaringan dengan target yang diinginkan merupakan kesalahan yang terjadi. Kesalahan
tersebut dipropagasikan mundur, dimulai dari garis yang berhubungan langsung
dengan unit-unit di layar keluaran. Fase ketiga adalah modifikasi bobot untuk
menurunkan kesalahan yang terjadi.
ƒ Fase I: Propagasi Maju
Selama propagasi maju, sinyal masukan (=Xi) dipropagasikan ke layar
tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari setiap
unit layar tersembunyi (= Zj) tersebut selanjutnya dipropagasikan maju lagi ke layar
tersembunyi di atasnya menggunakan fungsi aktivasi yang ditentukan. Demikian
seterusnya hingga menghasilkan keluaran jaringan (= yk).
Berikutnya, keluaran jaringan (=yk) 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. Akan tetapi apabila
kesalahan masih lebih besar dari batas toleransinya, maka bobot setiap garis dalam
jaringan akan dimodifikasi untuk mengurangi kesalahan yang terjadi.
ƒ Fase II: Propagasi Mundur
Berdasarkan kesalahan tk - yk, dihitung faktor δk (k = 1,2,..., m) yang dipakai
untuk mendistribusikan kesalahan di unit yk ke semua unit tersembunyi yang
terhubung langsung dengan yk. δk juga dipakai untuk mengubah bobot garis yang
berhubungan langsung dengan unit keluaran. Dengan cara yang sama, dihitung
faktor δ- di setiap unit di layar tersembunyi sebagai dasar perubahan bobot semua
garis yang berasal dari unit tersembunyi di layar di bawahnya. Demikian seterusnya
liingga semua faktor δ di unit tersembunyi yang berhubungan langsung dengan unit
masukan dihitung.
ƒ Fase III: Perubahan Bobot
Setelah semua faktor δ dihitung, bobot semua garis dimodifikasi bersamaan.
Perubahan bobot suatu garis didasarkan atas faktor δ neuron di layar atasnya.
Sebagai contoh, perubahan bobot garis yang menuju ke layar keluaran didasarkan
atas δk yang ada di unit keluaran. Ketiga fase terebut diulang-ulang terus hingga
kondisi penghentian dipenuhi. Umumnya kondisi penghentian yang sering dipakai
adalah jumlah iterasi atau kesalahan. Iterasi akan dihentikan jika jumlah iterasi

Halaman 11
Sistem Syaraf Buatan

yang dilakukan sudah melebihi jumlah maksimum iterasi yang ditetapkan, atau jika
kesalahan yang terjadi sudah lebih kecil dari batas toleransi yang diijinkan.

Gambar Alur Kerja Propagasi Balik (Backpropagation)

Aplikasi Backpropagation Dalam Peramalan


Salah satu bidang dimana Backpropagation dapat diaplikasikan dengan baik
adalah bidang peramalan (forecasting). Peramalan yang soring kita dengar adalah
peramalan besarnya penjualan, nilai tukar valuta asing, prediksi besarnya aliran air
sungai, dll. Sebagai contoh, dalam penjualan barang, diketahui record data penjualan
suatu produk pada beberapa bulan/tahun terakhir. Masalahnya adalah memperkirakan
berapa perkiraan produk yang terjual dalam bulan/tahun yang akan datang.
Secara umum, masalah peramalan dapat dinyatakan sebagai berikut: I )iketahui
sejumlah data runtun waktu (time series) xi,x2,...xn. Masalahnya adalah memperkirakan
berapa harga xn+i berdasarkan xi,X2, .... ,Xn.
Dengan Backpropagation, record data dipakai sebagai data pelatihan untuk
mencari bobot yang optimal. Untuk itu kita perlu menetapkan besarnya periode
dimana data berfluktuasi. Periode ini kita tentukan secara intuitif. Misalkan pada data
besarnya debit air sungai dengan data bulanan, periode data dapat diambil selama satu
tahun karena pergantian musim terjadi selama satu tahun.

Halaman 12
Sistem Syaraf Buatan

Jumlah data dalam satu periode ini dipakai sebagai jumlah masukan dalam
backpropagation. Sebagai targetnya diambil data bulan pertama setelah periode
berakhir. Pada data bulanan dengan periode satu tahun, maka masukan
backpropagation yang dipakai terdiri dari 12 masukan. Keluaran adalah 1 unit.
Bagian tersulit adalah menentukan jumlah layar (dan unitnya). Tidak ada teori
yang dengan pasti dapat dipakai. Tapi secara praktis dicoba jaringan yang kecil terlebih
dahulu (misal terdiri dari 1 layar tersembunyi dengan beberapa unit saja). Jika gagal
(kesalahan tidak turun dalam epoch yang besar), maka jaringan diperbesar dengan
menambahkan unit tersembunyi atau bahkan menambah layar tersembunyi.

FUNGSI AKTIVASI

Jaringan syaraf adalah merupakan salah satu representasi buatan dari otak
manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak
manusia tersebut. Istilah buatan disini digunakan karena jaringan syaraf ini
diimplementasikandengan menggunakan program komputer yang mampu
menyelesaikan sejumlah proses perhitungan selama proses pembelajaran.
Ada beberapa tipe jaringan syaraf, namun demikian, hampir semuanya memiliki
komponen-komponen yang sama. Seperti halnya otak manusia, jaringan syaraf juga
terdiri-dari beberapa neuron, dan ada hubungan antara neuron-neuron tersebut.
Neuron-neuron tersebut akan mentrans-formasikan informasi yang diterima melalui
sambungan keluarnya me-nuju ke neuron-neuron yang lain. Pada jaringan syaraf,
hubungan ini dikenal dengan nama bobot. Informasi tersebut disimpan pada suatu nilai
tertentu pada bobot tersebut.

Gambar Struktur Neuron Jaringan Syaraf

Jika kita lihat, neuron buatan ini sebenarnya mirip dengan sel neuron biologis.
Neuron-neuron buatan tersebut bekerja dengan cara yang sama pula dengan neuron-

Halaman 13
Sistem Syaraf Buatan

neuron biologis. Informasi (disebut dengan: input) akan dikirim ke neuron dengan
bobot kedatangan tertentu. Input ini akan diproses oleh suatu fungsi perambatan yang
akan menjumlahkan nilai-nilai semua bobot yang datang. Hasil penjumlahan ini ke-
mudian akan dibandingkan dengan suatu nilai ambang {threshold) tertentu melalui
fungsi aktivasi setiap neuron. Apabila input tersebut mele-wati suatu nilai ambang
tertentu, maka neuron tersebut akan diaktifkan, tapi kalau tidak, maka neuron tersebut
tidak akan diaktifkan. Apabila neuron tersebut diaktifkan, maka neuron tersebut akan
mengirimkan output melalui bobot-bobot outputnya ke semua neuron yang ber-
hubungan dengannya. Demikian seterusnya.
Pada jaringan syaraf, neuron-neuron akan dikumpulkan dalam lapisan-lapisan
(layer) yang disebut dengan lapisan neuron (neuron layers). Biasanya neuron-neuron
pada satu lapisan akan dihubungkan dengan lapisan-lapisan sebelum dan sesudahnya
(kecuali lapisan input dan lapisan output). Informasi yang diberikan pada jaringan
syaraf akan dirambatkan lapisan ke lapisan, mulai dari lapisan input sampai ke lapisan
output melalui lapisan yang lainnya, yang sering dikenal dengan nama lapisan
tersembunyi (hidden layer). Tergantung pada algoritma pembelajarannya, bisa jadi
informasi tersebut akan dirambatkan secara mundur pada jaringan.

Gambar Fungsi Aktivasi Pada Jaringan Syaraf Sederhana

Ada beberapa fungsi aktivasi yang sering digunakan dalam jaringan syaraf tiruan.
Fungsi Aktivasi yang disediakan pada toolbox Matlab, antara lain :
1. Fungsi Undak Biner (hardlim)
Jaringan dengan lapisan tunggal sering menggunakan fungsi undak buner (step
function) untuk mengkonversikan input dari suatu variabel yang bernilai kontinu
ke suatu output biner (0 atau 1). Fungsi undak biner (hardlimit) dirumuskan sebagai
:

Halaman 14
Sistem Syaraf Buatan

2. Fungsi Bipolar (symentric hardlims)


Fungsi bipolar sebenarnya hampir sama dengan fungsi undak biner, hanya saja
output yang dihasilkan berupa 1 atau -1 . Fungsi Symetric Hard Limit dirumuskan
sebagai :

3. Fungsi Linear (purelin)


Fungsi linear memiliki nilai output yang sama dengan nilai inputnya. Fungsi linear
dirumuskan sebagai:
y=x

Halaman 15
Sistem Syaraf Buatan

4. Fungsi Saturating Linear (satlin)


Fungsi ini akan bernilai 0 jika inputnya kurang dari -1/2 dan akan bernilai 1 jika
inputnya lebih dari 1/2 Sedangkan jika nilai input terletak antara -1/2 dan 1/2 maka
outputnya akan bernilai sama dengan nilai input ditambah 1/2. Fungsi saturating
linear dirumuskan sebagai :

5. Fungsi Symetric Saturating Linear (satlins)


Fungsi ini akan bernilai -1 jika inputnya kurang dari -1, dan akan ber-nilai 1 jika
inputnya lebih dari 1. Sedangkan jika nilai input terletak an-tara -1 dan 1, maka
outpunya akan bernilai sama dengan nilai inputnya. Fungsi symetric saturating
linear dirumuskan sebagai :

6. Fungsi Sigmoid Biner (logsig)


Fungsi ini digunakan untuk jaringan syaraf yang dilatih dengan meng-gunakan
metode backpropagation. Fungsi sigmoid biner memiliki nilai pada range 0 sampai

Halaman 16
Sistem Syaraf Buatan

1. Oleh karena itu, fungsi ini sering digunakan untuk jaringan syaraf yang
membutuhkan nilai output yang terletak pada interval 0 sampai 1. Namun, fungsi
ini bisa juga digunakan oleh jaringan syaraf yang nilai outputnya 0 atau 1. Fungsi
sigmoid biner dirumuskan sebagai :

7. Fungsi Sigmoid Bipolar (tansig)


Fungsi sigmoid bipolar hampir sama dengan fungsi sigmoid biner, hanya saja output
dari fungsi ini memiliki range antara 1 sampai -1. Fungsi sigmoid bipolar
dirumuskan sebagai :

Halaman 17
Sistem Syaraf Buatan

Aturan Algoritma
Paradigma Arsitektur Bidang Kerja
Pembelajaran Pembelajaran

ƒ Perceptron ƒ Klasifikasi pola


Perceptron lapisan ƒ Propagasi balik ƒ Aproksimasi fungsi
Pengoreksian-error
tunggal atau mutilapis ƒ Adaline dan ƒ Prediksi, kontrol
Madaline

Boltzmann Recurrent (berulang) Boltzman Klasifikasi pola


Terawasi Umpan maju multi Analisis
ƒ Analisis data
supervised Hebbian lapisan (multilayer diskriminan
ƒ Klasifikasi pola
feedforward) linear
LVQ (Learning
ƒ Kategori kelas
Kompetitif Vector
ƒ Kompresi data
Kompetitif Quantization)
ƒ Klasifikasi pola
Jaringan ART ARTMap
ƒ Kategori kelas

Pengkoreksian-error Multilayer feedforward Proyeksi Sammon Analisis data


Analisis
Umpan maju ƒ Analisis data
Komponen
atau kompetitif ƒ Kompresi data
Hebbian Prinsipal
Tidak Aturan memori
Hopfield Network Memori asosiatif
terawasi asosiatif
unsupervised ƒ Kategorisasi
Kompetitif Kuantisasi vektor
ƒ Kompresi data
ƒ Kategorisasi
Kohonen SOM Kohonen SOM
Kompetitif ƒ Analisis data
Jaringan ART ART1, ART2 Kategorisasi

ƒ Klasifikasi pola
Hibrida Pengkoreksian error
Jaringan RBF Algoritma RBF ƒ Aproksimasi fungsi
hybrid dan kompetitif
ƒ Prediksi, kontrol

Tabel Paradigma, Aturan Pembelajaran, Arsitektur, Algoritma, dan Aplikasi Jaringan Saraf Tiruan

Halaman 18
Sistem Syaraf Buatan

SIKLUS PEMBUATAN APLIKASI JARINGAN SARAF TIRUAN

Gambar Siklus Pembuatan Aplikasi Jaringan Saraf Tiruan

Halaman 19
Sistem Syaraf Buatan

STUDI KASUS
PERAMALAN PENJUALAN

Suatu swalayan ingin melakukan peramalan penjualan suatu produk mie instan.
Peramalan penjualan pada hari Xi ditentukan oleh penjualan pada hari yang sama, 1
minggu, 2 minggu, 3 minggu, dan 4 minggu sebelum nya. Secara matematis dapat
diformulasikan :
Xi+1 dipengaruhi oleh Xi-21, Xi-14, Xi-7, Xi
Tabel menunjukkan data-data penjualan mie instan dalam 121 hari terakhir (pada
bulan Nopember, Desember 2006, Januari, Pebruari 2007 Kolom hari menunjukkan
hari (S=Senin, S=Selasa, R=Rabu, dst), No menunjukkan nomor urut (dari 1 sampai
121), dan P menunjukkan jumlah permintaan mie instan pada hari tersebut dalam
satuan dus.
Hari Tgl No P Tgl No P Tgl No P Tgl No P Tgl No P

S 1 1 10 29 29 9 27 57 11 24 85 11 21 113 12
S 2 2 8 30 30 10 28 58 10 25 86 12 22 114 13
R 3 3 12 1 31 12 29 59 15 26 87 12 23 115 14
K 4 4 10 2 32 11 30 60 12 27 88 15 24 116 15
J 5 5 12 3 33 12 31 61 8 28 89 14 25 117 13
S 6 6 30 4 34 31 1 62 28 29 90 37 26 118 35
M 7 7 35 5 35 36 2 63 32 30 91 37 27 119 38
S 8 8 9 6 36 11 3 64 10 31 92 12 28 120 11
S 9 9 10 7 37 13 4 65 13 1 93 13 29 121 12
R 10 10 11 8 38 12 5 66 14 2 94 10
K 11 11 10 9 39 10 6 67 10 3 95 9
J 12 12 12 10 40 9 7 68 13 4 96 7
S 13 13 23 11 41 24 8 69 25 5 97 25
M 14 14 26 12 42 26 9 70 26 6 98 29
S 15 15 10 13 43 10 10 71 10 7 99 11
S 16 16 11 14 44 12 11 72 15 8 100 12
R 17 17 12 15 45 12 12 73 11 9 101 13
K 18 18 11 16 46 11 13 74 11 10 102 13
J 19 19 12 17 47 12 14 75 16 11 103 12
S 20 20 24 18 48 23 15 76 26 12 104 24
M 21 21 26 19 49 25 16 77 25 13 105 25
S 22 22 9 20 50 10 17 78 10 14 106 11
S 23 23 9 21 51 7 18 79 7 15 107 8
R 24 24 12 22 52 15 19 80 12 16 108 16
K 25 25 13 23 53 13 20 81 13 17 109 13
J 26 26 12 24 54 14 21 82 12 18 110 15
S 27 27 21 25 55 23 22 83 26 19 111 28
M 28 28 26 26 56 27 23 84 27 20 112 30

Halaman 20
Sistem Syaraf Buatan

Data-data tersebut diperlihatkan secara grafis pada Gambar berikut. Pada Gambar
tesebut terlihat bahwa sistem memiliki pengaruh kecenderungan musiman. Jumlah
permintaan akan tinggi pada hari-hari tertentu yaitu Sabtu dan Minggu. Demikian juga,
pada awal atau akhir bulan, permintaan mie instan ini bahkan lebih tinggi.

Input Target Input Target


No No
T-21 T-14 T-7 T T+7 T-21 T-14 T-7 T T+7
l 10 9 10 9 9 41 24 23 23 28 25
2 8 10 11 9 10 42 26 25 27 32 26
3 12 11 12 12 12 43 10 10 11 10 10
4 10 10 11 13 11 44 12 7 10 13 15
5 12 12 12 12 12 45 12 15 15 14 11
6 30 23 24 21 31 46 11 13 12 10 11
7 35 26 26 26 36 47 12 14 8 13 16
8 9 10 9 9 11 48 23 23 28 25 26
9 10 11 9 10 13 49 25 27 32 26 25
10 11 12 12 12 12 50 10 11 10 10 10
11 10 11 13 11 10 51 7 10 13 15 7
12 12 12 12 12 9 52 15 15 14 11 12
13 23 24 21 31 24 53 13 12 10 11 13
14 26 26 26 36 26 54 14 8 13 16 12
15 10 9 9 11 10 55 23 28 25 26 26
16 11 9 10 13 12 56 27 32 26 25 27

Halaman 21
Sistem Syaraf Buatan

17 12 12 12 12 12 57 11 10 10 10 11
18 11 13 11 10 11 58 10 13 15 7 12
19 12 12 12 9 12 59 15 14 11 12 12
20 24 21 31 24 23 60 12 10 11 13 15
21 26 26 36 26 25 61 8 13 16 12 14
22 9 9 11 10 10 62 28 25 26 26 37
23 9 10 13 12 7 63 32 26 25 27 37
24 12 12 12 12 15 64 10 10 10 11 12
25 13 11 10 11 13 65 13 15 7 12 13
26 12 12 9 12 14 66 14 11 12 12 10
27 21 31 24 23 23 67 10 11 13 15 9
28 26 36 26 25 27 68 13 16 12 14 7
29 9 11 10 10 11 69 25 26 26 37 25
30 10 13 12 7 10 70 26 25 27 37 29
31 12 12 12 15 15 71 10 10 11 12 11
32 11 10 11 13 12 72 15 7 12 13 12
33 12 9 12 14 8 73 11 12 12 10 13
34 31 24 23 23 28 74 11 13 15 9 13
35 36 26 25 27 32 75 16 12 14 7 12
36 11 10 10 11 10 76 26 26 37 25 24
37 13 12 7 10 13 77 25 27 37 29 25
38 12 12 15 15 14 78 10 11 12 11 11
39 10 11 13 12 10 79 7 12 13 12 8
40 9 12 14 8 13
Tabel 79 Data Yang Akan Dilatih.

Input Target
No
T-21 T-14 T-7 T T=7
1 12 12 10 13 16
2 13 15 9 13 13
3 12 14 7 12 15
4 26 37 25 24 28
5 27 37 29 25 30
6 11 12 11 11 12
7 12 13 12 8 13
8 12 10 13 16 14
9 15 9 13 13 15
10 14 7 12 15 13
11 37 25 24 28 35
12 37 29 25 30 38
13 12 11 11 12 11
14 13 12 8 13 12
Tabel 14 Data Yang Akan Dicek

Halaman 22
Sistem Syaraf Buatan

Untuk melakukan peramalan akan digunakan jaringan syaraf dengan metode


backpropagation dengan momentum. Jaringan syaraf ini terdiri atas lapisan input, 2
lapisan tersembunyi, dan lapisan output. Lapisan input terdiri atas 4 neuron, yang
masing-masing mewakili input penjualan ke-(t-21), (t-14), (t-7), dan t. Lapisan
tersembunyi pertama terdiri-atas 10 neuron dengan fungsi aktivasi tansig, sedangkan
lapisan tersembunyi kedua terdiri-atas 5 neuron dengan fungsi aktivasi logsig. Lapisan
output terdiri atas 1 neuron dengan fungsi aktivasi purelin. Sebelum jaringan dibangun,
terlebih dahulu dilakukan preprosesing untuk melakukan normalisasi menggunakan
mean dan deviasi standar. Apabila data input disimpan pada matriks p, dan target
disimpan pada matriks t, maka :

[pn,meanp,stdp,tn,meant,stdt]=prestd(P,T)

Kemudian dibangun jaringan syaraf dengan metode pembelajaran gradient descent


dengan momentum (traingdm) :

net=newff(minmax(pn),[10 5 1],{'tansig','logsig','purelin'} ,'traingdm');

Misalkan bobot awal ditetapkan sebagai berikut :


Bobot awal lapisan input ke lapisan tersembunyi pertama :
net.IW{1,1}=[...
0.4500 0.0894 -0.8542 0.8416
0.9579 -0.1978 -0.5595 -0.6146
-0.6119 -0.9953 0.1435 -0.4015
-0.6320 -0.7867 -0.4583 0.5986
-0.0152 1.1257 0.4672 -0.1576
0.4021 -0.7500 -0.3316 -0.8762
0.5958 0.6346 0.6376 0.6659
-0.3116 0.9297 -0.7423 0.1878
-0.0043 0.7410 -0.8049 -0.6237
-0.7518 0.4902 0.5800 -0.6967];

Bobot bias awal lapisan input ke lapisan tersembunyi pertama :


net.b{1,1}=[...
-2.9086
-1.6140
2.9221
1.9021
-0.9166
1.5395
-1.2132
-1.4846
-1.4403
-2.2184];

Halaman 23
Sistem Syaraf Buatan

Bobot awal lapisan tersembunyi pertama ke lapisan tersembunyi kedua :


net.LW{2,1}=[...
1.4500 1.0501 0.9679 -0.0225 0.0705 -1.7650 0.8302 1.1891 1.1413
0.3847
0.7305 1.4203 -0.3329 0.1057 -0.1429 -1.5011 -1.5074 1.0495 -
1.1499 -1.0838
1.5362 -1.2236 -0.6011 0.0316 0.8532 0.4183 -1.4828 -0.9369 -
0.9060 1.3406
1.4153 -1.2922 -0.1157 -1.2216 1.0480 1.6869 0.0372 0.9609 -0.1592
-0.8628
0.9604 1.1946 -1.2088 1.4801 0.34184 -0.2468 1.2570 -0.9697 -
1.4478 -0.1297];

Bobot bias awal lapisan tersembunyi pertama ke lapisan tersembunyi kedua :


net.b{2,1}=[...
-3.2889
-1.6445
0
1.6445
3.2889];

Bobot awal tersembunyi kedua ke lapisan ouput :


net.LW{3,2}=[0.6595 -0.3997 0.4192 -0.8508 0.5004];

Bobot bias awal tersembunyi kedua ke lapisan output :


net.b{3,1}=-0.0622;

Sebelum dilakukan pelatihan, kita tetapkan terlebih dahulu parameter-parameter yang


digunakan sebagai berikut :
net.trainParam.epochs = 5000;
net.trainParam.goal = le-2;
net.trainParam.lr = 0.5;
net.trainParam.show = 200;
net.trainParam.mc = 0.8;

Kemudian dilakukan proses pelatihan :


net=train(net,pn,tn);pause

Proses Pelatihan :
TRAINGDM, Epoch 0/5000, MSE 1.15396/0.01, Gradient 0.785193/1e-010
TRAINGDM, Epoch 200/5000, MSE 0.0709291/0.01, Gradient 0.0113334/1e-010
TRAINGDM, Epoch 400/5000, MSE 0.0611334/0.01, Gradient 0.0076065/1e-010
TRAINGDM, Epoch 600/5000, MSE 0.0561193/0.01, Gradient 0.00705583/1e-010
TRAINGDM, Epoch 800/5000, MSE 0.050736/0.01, Gradient 0.00765904/1e-010
TRAINGDM, Epoch 1000/5000, MSE 0.0447094/0.01, Gradient 0.0073939/1e-010
TRAINGDM, Epoch 1200/5000, MSE 0.0408566/0.01, Gradient 0.00509012/1e-010
TRAINGDM, Epoch 1400/5000, MSE 0.0387012/0.01, Gradient 0.00427469/1e-010
TRAINGDM, Epoch 1600/5000, MSE 0.0370799/0.01, Gradient 0.00380796/1e-010

Halaman 24
Sistem Syaraf Buatan

TRAINGDM, Epoch 1800/5000, MSE 0.035724/0.01, Gradient 0.00358099/1e-010


TRAINGDM, Epoch 2000/5000, MSE 0.0344841/0.01, Gradient 0.00346605/1e-010
TRAINGDM, Epoch 2200/5000, MSE 0.0333205/0.01, Gradient 0.00334411/1e-010
TRAINGDM, Epoch 2400/5000, MSE 0.0322628/0.01, Gradient 0.00313722/1e-010
TRAINGDM, Epoch 2600/5000, MSE 0.0313643/0.01, Gradient 0.00283738/1e-010
TRAINGDM, Epoch 2800/5000, MSE 0.0306464/0.01, Gradient 0.00251437/1e-010
TRAINGDM, Epoch 3000/5000, MSE 0.0300804/0.01, Gradient 0.00225066/1e-010
TRAINGDM, Epoch 3200/5000, MSE 0.0296119/0.01, Gradient 0.00209144/1e-010
TRAINGDM, Epoch 3400/5000, MSE 0.0291917/0.01, Gradient 0.00201661/1e-010
TRAINGDM, Epoch 3600/5000, MSE 0.0287926/0.01, Gradient 0.00198145/1e-010
TRAINGDM, Epoch 3800/5000, MSE 0.0284046/0.01, Gradient 0.00195814/1e-010
TRAINGDM, Epoch 4000/5000, MSE 0.0280249/0.01, Gradient 0.0019398/1e-010
TRAINGDM, Epoch 4200/5000, MSE 0.0276507/0.01, Gradient 0.00193121/1e-010
TRAINGDM, Epoch 4400/5000, MSE 0.027277/0.01, Gradient 0.00193774/1e-010
TRAINGDM, Epoch 4600/5000, MSE 0.0268978/0.01, Gradient 0.00196013/1e-010
TRAINGDM, Epoch 4800/5000, MSE 0.0265065/0.01, Gradient 0.00200075/1e-010
TRAINGDM, Epoch 5000/5000, MSE 0.0260923/0.01, Gradient 0.00208085/1e-010
TRAINGDM, Maximum epoch reached, performance goal was not met.

Gambar Hasil Pelatihan Sampai 5000 Epoch

Halaman 25
Sistem Syaraf Buatan

Diperoleh bobot akhir :


BobotAkhir_Input =
1.1605 0.7208 -1.7414 0.6660
2.4893 0.2488 -0.7857 -0.2273
-0.2320 -0.7314 0.2584 -1.0628
-0.4607 -0.2146 0.1429 1.2892
-2.2951 2.2632 1.0401 0.2142
1.0997 -1.1705 -1.9181 -0.9992
-0.5987 0.1715 1.8544 0.3305
-0.7688 -0.4725 -1.7628 1.9775
-0.0131 0.2169 -1.8838 1.2326
-0.9041 0.1325 0.3392 -0.5816

BobotAkhir_Bias_Input =
-2.2329
-2.8326
2.9022
2.1041
-0.8067
1.8065
-0.7975
-1.0957
-0.7028
-2.3400

BobotAkhir_Lapisan1 =
1.4245 1.0772 1.0029 -0.0390 0.0126 -1.7508 0.8081 1.1688 1.0990 0.3959
0.8857 1.4784 -0.0239 0.0917 -0.5102 -1.0847 -1.9556 1.0259 -1.2774 -1.0410
1.3385 -2.6600 -0.5967 0.0841 2.7134 -0.0976 -1.1809 -0.9917 -1.8543 0.9382
1.1372 -1.4831 0.6483 -0.4661 -0.0826 3.0700 -0.7946 0.4980 -0.1740 -1.2393
1.0950 1.1320 -1.4433 1.2657 0.5956 -0.3650 1.7735 -2.2310 -1.3305 0.3142

BobotAkhir_Bias_Lapisan1 =
-3.3011
-1.6648
0.4462
2.1487
3.0177

BobotAkhir_Lapisan2 =
0.6345 -1.0312 -2.1722 -1.8339 1.9859

BobotAkhir_Bias_Lapisan2 =
1.8964

Pengujian dilakukan terhadap data-data yang ikut dilatih :


an = sim(net,pn);
a = poststd(an,meant,stdt);

Menghasilkan :

Datake- Target(T) Output(a) E=T-a


1 9.00 10.58 -1.58

Halaman 26
Sistem Syaraf Buatan

2 10.00 9.39 0.61


3 12.00 11.39 0.61
4 11.00 11.69 -0.69
5 12.00 11.35 0.65
6 31.00 31.01 -0.01
7 36.00 35.57 0.43
8 11.00 10.77 0.23
9 13.00 11.80 1.20
10 12.00 10.46 1.54
11 10.00 11.12 -1.12
12 9.00 11.35 -2.35
13 24.00 23.68 0.32
14 26.00 26.97 -0.97
15 10.00 12.58 -2.58
16 12.00 12.97 -0.97
17 12.00 11.35 0.65
18 11.00 10.51 0.49
19 12.00 11.84 0.16
20 23.00 24.12 -1.12
21 25.00 24.79 0.21
22 10.00 9.90 0.10
23 7.00 9.78 -2.78
24 15.00 11.35 3.65
25 13.00 12.29 0.71
26 14.00 13.56 0.44
27 23.00 24.00 -1.00
28 27.00 26.41 0.59
29 11.00 9.82 1.18
30 10.00 10.84 -0.84
31 15.00 12.38 2.62
32 12.00 11.92 0.08
33 8.00 11.60 -3.60
34 28.00 28.07 -0.07
35 32.00 32.09 -0.09
36 10.00 11.63 -1.63
37 13.00 14.13 -1.13
38 14.00 12.56 1.44
39 10.00 10.42 -0.42
40 13.00 12.07 0.93
41 25.00 25.48 -0.48
42 26.00 26.88 -0.88
43 10.00 10.54 -0.54
44 15.00 12.70 2.30
45 11.00 11.81 -0.81
46 11.00 10.82 0.18
47 16.00 14.29 1.71
48 26.00 24.05 1.95
49 25.00 25.12 -0.12
50 10.00 10.70 -0.70
51 7.00 6.73 0.27
52 12.00 12.62 -0.62
53 13.00 12.44 0.56
54 12.00 11.98 0.02
55 26.00 24.73 1.27
56 27.00 27.29 -0.29
57 11.00 11.21 -0.21
58 12.00 12.41 -0.41
59 12.00 13.11 -1.11
60 15.00 12.07 2.93

Halaman 27
Sistem Syaraf Buatan

61 14.00 13.82 0.18


62 37.00 36.76 0.24
63 37.00 37.51 -0.51
64 12.00 11.34 0.66
65 13.00 14.32 -1.32
66 10.00 12.19 -2.19
67 9.00 10.25 -1.25
68 7.00 8.68 -1.68
69 25.00 25.88 -0.88
70 29.00 27.09 1.91
71 11.00 10.85 0.15
72 12.00 11.09 0.91
73 13.00 11.26 1.74
74 13.00 12.61 0.39
75 12.00 11.75 0.25
76 24.00 24.55 -0.55
77 25.00 25.03 -0.03
78 11.00 10.31 0.69
79 8.00 7.56 0.44

Error (E) terkecil terletak pada data ke-6 yaitu sebesar 0.01 ; sedangkan E terbesar
terletak pada data ke-24 yaitu sebesar 3.6536. nilai MSE di akhir pelatihan sebesar
0.026.
Output jaringan dan target dianalisis dengan regresi linear menggunakan postreg :

[m1,a1,r1]=postreg(a,T)

Menghasilkan
Gradien garis terbaik (m1):
m1 =
0.9730

Konstanta :
a1 =
0.4300

Persamaan garis untuk kecocokan terbaik : 0.973T + 0.4303


Koefisien korelasi :
r1 =
0.9867

Halaman 28
Sistem Syaraf Buatan

Gambar Perbandingan Antara Target Dengan Output Jaringan, Untuk Data Pelatihan

Selanjutnya, pengujian akan dilakukan terhadap data-data yang tidak ikut dilatih (Data
cheking sebanyak 14 data pada Tabel). Misalnya data cek disimpan pada matriks Q
untuk input data (t-21), (t-14), (t-7), dan t; serta matriks TQ untuk target. Sebelumnya
kita lakukan normalisasi terlebih dahulu dengan trastd, hasil simulasi didenormalisasi
dengan poststd.
Qn = trastd(Q,meanp,stdp);
Bn = sim(net,Qn)
B = poststd(bn,meant,stdt)

Menghasilkan:

Data cek ke- Target (TQ) Output (b) E=TQ-b


1 16.00 13.20 2.80
2 13.00 13.63 -0.63
3 15.00 14.44 0.56
4 28.00 25.83 2.17
5 30.00 27.60 2.40

Halaman 29
Sistem Syaraf Buatan

6 12.00 10.78 1.22


7 13.00 11.48 1.52
8 14.00 12.31 1.69
9 15.00 12.01 2.99
10 13.00 12.00 1.00
11 35.00 27.51 7.49
12 38.00 36.75 1.25
13 11.00 11.64 -0.64
14 12.00 14.44 -2.44

Koefisien korelasi bernilai 0.9750 (mendekati 1), menunjukkan hasil yang baik untuk
kecocokan output jaringan dengan target.
Lihat perbandingan antara target dengan output jaringan pada gambar berikut. Pada
gambar berikut, output jaringan (o) dan target (*) sebagian besar sudah berdekatan
(hampir menempati posisi yang sama). Hasil terbaik terjadi apabila posisi (o) dan (*)
betul-betul berada pada posisi yang sama.

Gambar Perbandingan Antara Target Dengan Output Jaringan, Untuk Data Pengujian

Halaman 30
Sistem Syaraf Buatan

Coding Selengkapnya
>>Clear;
% Data Input & Target
>>Data=[…
10 9 10 9 9
8 10 11 9 10
12 11 12 12 12
10 10 11 13 11
12 12 12 12 12
30 23 24 21 31
35 26 26 26 36
9 10 9 9 11
10 11 9 10 13
11 12 12 12 12
10 11 13 11 10
12 12 12 12 9
23 24 21 31 24
26 26 26 36 26
10 9 9 11 10
11 9 10 13 12
12 12 12 12 12
11 13 11 10 11
12 12 12 9 12
24 21 31 24 23
26 26 36 26 25
9 9 11 10 10
9 10 13 12 7
12 12 12 12 15
13 11 10 11 13
12 12 9 12 14
21 31 24 23 23
26 36 26 25 27
9 11 10 10 11
10 13 12 7 10
12 12 12 15 15
11 10 11 13 12
12 9 12 14 8
31 24 23 23 28
36 26 25 27 32
11 10 10 11 10
13 12 7 10 13
12 12 15 15 14
10 11 13 12 10
9 12 14 8 13
24 23 23 28 25
26 25 27 32 26
10 10 11 10 10
12 7 10 13 15
12 15 15 14 11
11 13 12 10 11
12 14 8 13 16
23 23 28 25 26
25 27 32 26 25
10 11 10 10 10
7 10 13 15 7
15 15 14 11 12
13 12 10 11 13
14 8 13 16 12

Halaman 31
Sistem Syaraf Buatan

23 28 25 26 26
27 32 26 25 27
11 10 10 10 11
10 13 15 7 12
15 14 11 12 12
12 10 11 13 15
8 13 16 12 14
28 25 26 26 37
32 26 25 27 37
10 10 10 11 12
13 15 7 12 13
14 11 12 12 10
10 11 13 15 9
13 16 12 14 7
25 26 26 37 25
26 25 27 37 29
10 10 11 12 11
15 7 12 13 12
11 12 12 10 13
11 13 15 9 13
16 12 14 7 12
26 26 37 25 24
25 27 37 29 25
10 11 12 11 11
7 12 13 12 8];

>> P=Data(:,1:4)';
>> T=Data(:,5)';

%Preprocessing
>> [pn,meanp,stdp,tn,meant,stdt]=prestd(P,T)

%Membangun Jaringan Syaraf Feedforward


>> net=newff(minmax(pn),[10 5 1],{'tansig','logsig','purelin'}
,'traingdm');

%Set Bobot
>> net.IW{1,1}=[...
0.4500 0.0894 -0.8542 0.8416
0.9579 -0.1978 -0.5595 -0.6146
-0.6119 -0.9953 0.1435 -0.4015
-0.6320 -0.7867 -0.4583 0.5986
-0.0152 1.1257 0.4672 -0.1576
0.4021 -0.7500 -0.3316 -0.8762
0.5958 0.6346 0.6376 0.6659
-0.3116 0.9297 -0.7423 0.1878
-0.0043 0.7410 -0.8049 -0.6237
-0.7518 0.4902 0.5800 -0.6967];

>> net.b{1,1}=[...
-2.9086
-1.6140
2.9221
1.9021
-0.9166
1.5395
-1.2132
-1.4846
-1.4403

Halaman 32
Sistem Syaraf Buatan

-2.2184];

>> net.LW{2,1}=[...
1.4500 1.0501 0.9679 -0.0225 0.0705 -1.7650 0.8302 1.1891 1.1413
0.3847
0.7305 1.4203 -0.3329 0.1057 -0.1429 -1.5011 -1.5074 1.0495 -
1.1499 -1.0838
1.5362 -1.2236 -0.6011 0.0316 0.8532 0.4183 -1.4828 -0.9369 -
0.9060 1.3406
1.4153 -1.2922 -0.1157 -1.2216 1.0480 1.6869 0.0372 0.9609 -0.1592
-0.8628
0.9604 1.1946 -1.2088 1.4801 0.34184 -0.2468 1.2570 -0.9697 -
1.4478 -0.1297];

>> net.b{2,1}=[...
-3.2889
-1.6445
0
1.6445
3.2889];

>> net.LW{3,2}=[0.6595 -0.3997 0.4192 -0.8508 0.5004];


>> net.b{3,1}=-0.0622;

% Melihat Bobot-Bobot Awal Input, Lapisan Dan Bias


>> BobotAwal_Input = net.IW{1,1}
>> BobotAwal_Bias_Input = net.b{1,1}
>> BobotAwal_Lapisan1 = net.LW{2,1}
>> BobotAwal_Bias_Lapisan1 = net.b{2,1}
>> BobotAkhir_Lapisan2 = net.LW{3,2}
>> BobotAkhir_Bias_Lapisan2 = net.b{3,1}

% Set Max Epoch, Goal, Learning Rate, Show Step


>> net.trainParam.epochs = 5000;
>> net.trainParam.goal = le-2;
>> net.trainParam.lr = 0.5;
>> net.trainParam.show = 200;
>> net.trainParam.mc = 0.8;

% Melakukan Pembelajaran
>> net=train(net,pn,tn);pause

% Melihat Bobot-Bobot Awal Input, Lapisan Dan Bias


>> BobotAkhir_Input = net.IW{1,1}
>> BobotAkhir_Bias_Input = net.b{1,1}
>> BobotAkhir_Lapisan1 = net.LW{2,1}
>> BobotAkhir_Bias_Lapisan1 = net.b{2,1}
>> BobotAkhir_Lapisan2 = net.LW{3,2}
>> BobotAkhir_Bias_Lapisan2 = net.b{3,1}

% Malakukan Simulasi
>> an = sim(net,pn);
>> a = poststd(an,meant,stdt);
>> H = [(1:size(P,2))' T' a' (T'-a')];
>> sprintf('%2d %9.2f %7.2f %5.2f\n',H')

Halaman 33
Sistem Syaraf Buatan

% Evaluasi Output Jaringan (Data Pelatihan Dengan Target)


>> [m1,a1,r1]=postreg(a,T)
>> pause
>> plot([1:size(P,2)]',T,'bo',[1:size(P,2)]',a','r*');
>> title('Hasil Pengujian Dengan Data Pelatiha: Target(o), Output(*)');
>> xlabel('Data Ke-');ylabel('Target/Output');pause

% Input Baru Q akan di Tes, Dengan target PQ


>> Cek=[...
12 12 10 13 16
13 15 9 13 13
12 14 7 12 15
26 37 25 24 28
27 37 29 25 30
11 12 11 11 12
12 13 12 8 13
12 10 13 16 14
15 9 13 13 15
14 7 12 15 13
37 25 24 28 35
37 29 25 30 38
12 11 11 12 11
13 12 8 13 12];
>> Q =Cek(:,1:4)';
>> TQ=Cek(:,5)';

% Normalisasi Input Baru


>> Qn=trastd(Q,meanp,stdp);
>> bn=sim(net,Qn);
>> b=poststd(bn,meant,stdt)
>> L=[(1:size(Q,2))' TQ' b' (TQ'-b')];
>> sprintf('%2d %11.2f %9.2f %7.2f\n',L')

% Evaluasi Output Jaringan (Data Testing Dengan Target)


>> [m2,b1,r2]=postreg(b,TQ)
>> pause
>> k=[1:size(Q,2)]';
>> plot(k,TQ,'bo',k,b','r*');
>> title('Hasil Pengujian Dengan Data Pelatihan: Target(o), Output(*)');
>> xlabel('Data Ke-');ylabel('Target/Output');
>> text(k+0.2*ones(length(k),1),TQ,int2str(k));

Halaman 34
Sistem Syaraf Buatan

PERAMALAN CUACA BERBASIS LOGIKA FUZZY

Informasi cuaca merupakan hal penting yang mendukung kelancaran kegiatan


manusia. Peramalan cuaca berbasis logika fuzzy dilakukan dengan memberikan
masukan berupa suhu, tekanan dan kelembaban relatif. Kemudian, hasilnya adalah
masukan peramalan cuaca yang berupa suhu rata-rata, kelembaban relatif rata-rata
serta keadaan cuaca. Peramalan cuaca berbasis logika fuzzy di-lakukan dengan sistem
fuzzifikasi dan defuzzifikasi seperti pada FLC (Fuzzy Logic Controller). Tujuannya
adalah menghasilkan peramalan yang lebih baik dibandingkan peramalan yang masih
dilakukan manual oleh peramal cuaca (forecaster).
Dengan menggunakan proses fuzzifikasi dan defuzzifikasi, data masukan crisp
diubah menjadi data fungsi keanggotaan fuzzy melalui proses fuzzifikasi. Sebaliknya.
data keluaran melalui proses defuzzifkasi akan diubah menjadi data keluaran yang
diinginkan yaitu suhu rata-rata, kelembaban rata-rata, dan keadaan cuaca.

Fungsi keanggotaan (membership function) himpunan fuzzy untuk masing-masing


masukan adalah :
1. Fungsi keanggotaan masukan suhu (temperatur) : very low, low medium, high, dan
very high.
2. Fungsi keanggotaan masukan tekanan (pressure) : very low, low medium, high, dan
very high.
3. Fungsi keanggotaan masukan kelembaban relatif (relative humidity) : very
low, low, medium, high, dan very high.
Fungsi keanggotaan himpunan fuzzy untuk masing-masing keluaran adalah :
1. Fungsi keanggotaan keluaran suhu rata-rata : very low, low medium, high, dan very
high.
2. Fungsi keanggotaan keluaran kelembaban relatif rata-rata : very low, low, medium,
high, dan very high.
3. Fungsi keanggotaan keluaran keadaan cuaca : hujan, hujan berawan, berawan,
cerah berawan, dan cerah.

Peramalan cuaca memberikan masukan suhu, tekanan, dan kelembaban relatif suatu
daerah dengan batasan-batasannya, yaitu :
1. Batasan suhu, yaitu berada di antara 24,3°C sampai dengan 31°C untuk
mendefinisikan suhu udara saat ini.

Halaman 35
Sistem Syaraf Buatan

2. Batasan tekanan udara, yaitu berada di antara 1006 mBar sampai dengan 1014,6
mBar untuk mendefinisikan tekanan udara saat ini.
3. Batasan kelembaban relatif, yaitu berada di antara 62% sampai dengan 97% untuk
mendefinisikan tingkat kelembaban udara relatif saat ini.

(a)

(b)

(c)

Gambar (A) Fungsi Keanggotaan Masukan Temperatur


(b) Fungsi keanggotaan masukan tekanan udara
(c) Fungsi keanggotaan masukan kelembahan udara

Halaman 36
Sistem Syaraf Buatan

(a)

(b)

(c)

Gambar (a) Fungsi keanggotaan keluaran temperatur rata-rata


(b) Fungsi keanggotaan keluaran kelembaban udara
(c) Fungsi keanggotaan keluaran keadaan cuaca

Halaman 37
Sistem Syaraf Buatan

(a)

(b)

Gambar (a) Keluaran Suhu Rata-Rata (b) Keluaran Kelembaban Relatif Rata-Rata

Fuzzy Rule Base


No. IF THEN
RH Tek Temp Out_RH Out_Temp OutCast
1 Very Low Very Low Very High Very Low Hujan
2 Medium Very Low Very High Very Low Hujan
3 High Very Low Very High Very Low Hujan
4 Very Low Low Very Low Very High Very Low Hujan
5 Low Low Very Low Very Low Very High Cerah
6 Very High Low Very Low Very High Very Low Hujan
7 Medium Very Low Very High Very Low Hujan
8 Very Low High Very Low Very Low Very High Cerah
9 Low High Very Low Very Low Very High Cerah
10 Very High High Very Low Very Low Very High Cerah
11 Very Low Very High Very Low Low Medium Cerah Berawan
12 Low Very High Very Low Very Low Very High Cerah
13 Very High Very High Very Low Very High Very Low Hujan
14 Very Low Low Low Medium Cerah Berawan
15 Low Very Low Low Very Low Very High Cerah

Halaman 38
Sistem Syaraf Buatan

16 Medium Very Low Low Low Medium Cerah Berawan


17 High Very Low Low Very High Very Low Hujan
18 Very High Very Low Low Low Medium Cerah Berawan
19 Low Low Low Very Low Very High Cerah
20 Medium Low Low Low Medium Cerah Berawan
21 High Low Low Very High Very Low Hujan
22 Very High Low Low Very Low Very High Cerah
23 Low Medium Low Very Low Very High Cerah
24 Medium Medium Low Very High Very Low Hujan
25 High Medium Low Very High Very Low Hujan
26 Very High Medium Low Very High Very Low Hujan
27 Low High Low Very Low Very High Cerah
28 Medium High Low Very Low Very High Cerah
29 High High Low Very Low Very High Cerah
30 Very High High Low Very Low Very High Cerah
31 Very High Low Low Medium Cerah Berawan
32 Very Low Very Low Medium Low Medium Cerah Berawan
33 Low Medium Very Low Very High Cerah
34 Medium Very Low Medium Medium High Hujan Berawan
35 High Very Low Medium Very High Very Low Hujan
36 Very High Very Low Medium High Low Berawan
37 Very Low Low Medium Very Low Very High Cerah
38 Medium Low Medium High Low Berawan
39 High Low Medium Very High Very Low Hujan
40 Very High Low Medium High Low Berawan
41 Very Low Medium Medium Very High Very Low Hujan
42 Medium Medium Medium Very High Very Low Hujan
43 High Medium Medium Very High Very Low Hujan
44 Very High Medium Medium Very High Very Low Hujan
45 High Medium Very Low Very High Cerah
46 Very Low Very High Medium Low Medium ' Cerah Berawan
47 Medium Very High Medium Very High Very Low Hujan
48 High Very High Medium Very High Very Low Hujan
49 Very High Very High Medium Very Low Very High Cerah
50 Very Low Very Low High Very Low Very High Cerah
51 Low High Very Low Very High Cerah
52 Medium Very Low High Very Low Very High Cerah
53 High Very Low High Very High Very Low Hujan
54 Low High Very Low Very High Cerah
55 Very High High Very Low Very High Cerah
56 Very Low Medium High Very Low Very High Cerah
57 Medium Medium High Very High Very Tow Hujan
58 High Medium High Very High Very Low Hujan
59 High High Very Low Very High Cerah
60 Very Low Very High High Low Medium Cerah Berawan
61 Medium Very High High Very Low Very High Cerah
62 High Very High High Very Low Very High Cerah
63 Very Tow Very Low Very High Medium High Hujan Berawan

Halaman 39
Sistem Syaraf Buatan

64 Tow Very High Very Tow Very High Cerah


65 Medium Very Tow Very High Medium High Hujan Berawan
66 High Very High Very High Very Low Hujan
67 Very High Very Low Very High Medium High Hujan Berawan
68 Very Tow Tow Very High Very High Very Low Hujan
69 Medium Low Very High Medium High Hujan Berawan
70 Very High Low Very High High Low Berawan
71 Very Tow Medium Very High Very High Very Low Hujan
72 Medium Medium Very High Very High Very Tow Hujan
73 Very High Medium Very High Very High Very Low Hujan
74 Very Tow High Very High Very Low Very High Cerah
75 Medium High Very High Very Low Very High Cerah
76 Very High High Very High Very Tow Very High Cerah
77 Very Tow Very High Very High Low Medium Cerah Berawan
78 Medium Very High Very High Medium High Hujan Berawan
79 Very High Very High Very High Very High Very Tow Hujan

DAFTAR PUSTAKA

[1] Diyah Puspitaningrum. Pengantar Jaringan Syaraf Tiruan. Yogyakarta : Penerbit


Andi. 2006.

[2] Jong Jek Siang. Jaringan Syaraf Tiruan Pemrograman Menggunakan Matlab.
Yogyakarta : Penerbit Andi. 2005.

[3] Lanny W. Pandjaitan. Dasar-Dasar Komputasi Cerdas. Yogyakarta : Penerbit


Andi. 2007.

[4] Sri Kusumadewi. Membangun Jaringan Syaraf Tiruan Menggunakan Matlab.


Yogyakarta : Penerbit Graha Ilmu. 2004.

Halaman 40

Anda mungkin juga menyukai