Anda di halaman 1dari 246

1

2
KATA PENGANTAR

Bismillahir Rohmannir Rohiim


Segala puji Penulis panjatkan kehadirat Mu Ya Allah
atas segala Rahmat, karunia dan kesempatan yang telah
diberikan untuk dapat mewujudkan cita cita menulis buku
tentang Teori dan Praktek Kecerdasan Buatan dengan Jaringan
Syaraf Tiruan serta Aplikasi Matlab
Buku ini membahas konsep dan Praktek Kerja Algoritma
Jaringan syaraf tiruan, didesign untuk Dosen, Mahasiswa,
Umum terutama bagi Pemula.
Buku ini tidak akan terwujud tanpa dukungan dan
bantuan dari berbagai pihak. Pada kesempatan ini, tidak lupa
mengucapkan terima kasih yang sebesar besarnya bagi
akademisi dan praktisi dimana buku buku nya referensi penulis
dalam menyusun buku ini. Pihak penerbit, keluarga, teman
teman propesi serta berbagai pihak yang tidak bisa disebutkan
semuanya, yang sudah membantu mendukung terwujudnya
buku ini

Bekasi, Januari 2019


Ttd

Amril Mutoi Siregar

3
DAFTAR ISI

KATA PENGANTAR ......................................................... i


DAFTAR ISI ....................................................................... ii
DAFTAR GAMBAR .......................................................... iv
DAFTAR TABEL ................................................................ viii
DAFTAR RUMUS .............................................................. x
BAB I KECERDASAN BUATAN .................................... 1
1.1 Pengertian Artificial Intelligence ................................... 2
1.2 Sejarah Artificial Intelligence .......................................... 6
1.3 Jenis-Jenis Kecerdasan Buatan ...................................... 10
1.4 Aplikasi Artificial Intelligence ........................................ 11
1.5 Algoritma Artificial Intelligence.................................... 24
1.6 Jaringan Syaraf Buatan (Artificial Neural Networks) .... 25
BAB II ARTIFICIAL NEURAL NETWORK ................ 34
2.1 Pergertian Jaringan Saraf Tiruan.................................... 35
2.2 Struktur Dasar Jaringan Saraf Tiruan ................................. 42
2.3 Arsitektur Jaringan Saraf Tiruan .................................... 48
2.4 Konsep Dasar Pemodelan Jaringan Syaraf Tiruan ......... 51
2.5 Mengaktifkan jaringan saraf tiruan ........................................ 53
2.6 Fungsi Aktivasi Jaringan Syaraf Tiruan......................... 54
2.7 Proses Pembelajaran/Learning ....................................... 64
2.8 Model-Model Jaringan Syaraf Tiruan (JST) .................. 90

4
BAB III SINGLE LAYER PERCEPTRON ....................... 101
3.1 Pergertian Perceptron ..................................................... 102
3.2 Aturan Pembelajaran ...................................................... 104
3.3 Arsitektur Perceptron .................................................... 105
3.4 Latihan soal perhitungan Algoritma Perceptron ............ 120
3.5 Latihan soal perceptron logika AND dengan matlabs ... 132
BAB IV MULTI LAYER PERCEPTRON ...................... 170
4.1 Pengertian Multilayer Perceptron .................................. 171
4.2 Mekanisme Kerja Multilayer Perceptron
Neural Network .............................................................. 181
4.3 Backpropagation ............................................................ 190
4.4 Arsitektur Backpropagation ........................................... 192
4.5 Fungsi Aktivasi Backpropagation .................................. 193
4.6 Pelatihan Standar Backpropagation ............................... 195
4.7 Algoritma Backpropagation ........................................... 197
4.8 Optimalitas Arsitektur Backpropagation ....................... 207
4.9 Jumlah Unit Tersembunyi .............................................. 210
4.10 Aplikasi Multilayer Perceptron in Matlab ................... 212
DAFTAR PUSTAKA
PROFIL PENULIS

5
DAFTAR GAMBAR

Gambar 1.1 Bedah bedah sisi pasien dari


Sistem Bedah Da Vinci ............................................ 12
Gambar 1.2 X-ray tangan, dengan perhitungan otomatis
usia tulang ................................................................ 14
Gambar 1.3 Mobil tesla (mobil masa depan) ....................... 16
Gambar 1.4 Starup Fintech lending ..................................... 19
Gambar 1.5 AI Ciptakan Film Kartun Hanya Berdasarkan
Deskripsi Teks yang Diberikan ................................ 21
Gambar 1.6 mplementasi AI pada system radar .................. 22
Gambar 1.7 Artificial Neural Networks ............................... 25
Gambar 1.8 Fuzzy Logics .................................................... 27
Gambar 1.9 Genetic Algorithms .......................................... 28
Gambar 1.10 Robotics.......................................................... 29
Gambar 1.11 Kelemahan AI dan kelebihan AI .................... 30
Gambar 1.12 Expert System ................................................ 30
Gambar 2.1 Struktur jaringan otak manuasi ........................ 43
Gambar 2.2 Arsitektur jaringan Syaraf Tiruan .................... 48
Gambar 2.3 Neuron berinput tunggal Output neuron ......... 50
Gambar 2.4 Jaringan saraf multilayer .................................. 51
Gambar 2.5 Model tiruan sebuah neuron ............................. 52
Gambar 2.6 Fungsi pengaktif ............................................... 53
6
Gambar 2.7 fungsi aktivasi dalam JST ................................ 54
Gambar 2.8 Fungsi Undak Biner (Hard Limit) .................... 55
Gambar 2.9 Fungsi Undak Biner Thershold ........................ 56
Gambar 2.10. Fungsi Bipolar (Symetric Hard Limit) .......... 56
Gambar 2.11. Fungsi Bipolar dengan threshold .................. 57
Gambar 2.12. Fungsi Linear (Identitas) ............................... 58
Gambar 2.13. Fungsi Aktivasi Bipolar (threshold) .............. 59
Gambar 2.14. Fungsi Symetric Saturating Linear................ 60
Gambar 2.15. Fungsi Sigmoid Biner ................................... 61
Gambar 2.16. Fungsi Sigmoid Bipolar ................................ 62
Gambar 2.17. Proses pembelajaran Jaringan Syaraf Tiruan 65
Gambar 2.18. Struktur Dasar Pelatihan Mandiri Kohonen .. 77
Gambar 2.19. Tetangga di sekitar pemenang ....................... 78
Gambar 2.20. Layout dari JST Hopfield .............................. 80
Gambar 2.21 Perceptron ..................................................... 93
Gambar 2.22 Multilayer Perceptron..................................... 95
Gambar 2.23 Backpropagation ............................................ 96
Gambar 2.24 Hopfield Net ................................................... 98
Gambar 2.25 Kohenen Feature Map .................................... 99
Gambar 3.1 Arsitektur Perceptron ......................................... 106
Gambar 3.2. Jaringan Perceptron ......................................... 107
Gambar 3.3 Fungsi aktivasi hardlim .................................... 109
Gambar 3.4 Two-Input/Single-Output Perceptron............... 110
7
Gambar 3.5 Batas Keputusan untuk Dua-Input Perceptron . 112
Gambar 3.6 tampilan ruang input ........................................ 114
Gambar 3.7 Grafik dengan gerbang AND ........................... 115
Gambar 3.8 Proses Pembelajaran Perceptron ...................... 116
Gambar 3.9 proses pelatihan perceptron AND .................... 133
Gambar 3.10 Performance jaringan logika AND ................. 134
Gambar 3.11 Output jaringan logika AND .......................... 135
Gambar 3.12 Proses pelatihan perceptron OR ..................... 137
Gambar 3.13 Performance jaringan logika OR .................... 138
Gambar 3.14 Output jaringan logika OR ............................. 139
Gambar 3.15 Perancangan GUI untuk implementasi Program
Perceptron ........................................................................... 140
Gambar 3.16 Percobaan program perceptron GUI 1 ........... 148
Gambar 3.17 Testing program perceptron ke-2 ................... 149
Gambar 3.18 Testing program perceptron ketiga ................ 150
Gambar 3.19 Hasil input and output data ............................ 152
Gambar 3.20 Tampilan training perceptron ......................... 153
Gambar 3.21 Hasil Plot decision boundary ......................... 154
Gambar 3.22 Hasil menetapkan data ................................... 156
Gambar 3.23 Hasil train perceptron ..................................... 158
Gambar 3.24 Hardlimit dalam perceptron ........................... 158
Gambar 3.25 Hardlimit dalam jaringan ............................... 162
Gambar 3.26 Tampilan training .......................................... 163

8
Gambar 3.27 SOM Topology............................................... 165
Gambar 3.28 Tmapilan Hasil hits ........................................ 166
Gambar 3.29 Hasil SOM Neighbor Connections................. 167
Gambar 3.30 SOM Topology............................................... 168
Gambar 3.31 Tampilan Weights .......................................... 169
Gambar 4.1 Arsitektur Multilayer Perceptron ..................... 172
Gambar 4.2 Ilustrasi maksimisasi algoritma ........................ 178
Gambar 4.3 Penggunaan Single Layer Neural Network ...... 181
Gambar 4.4 Single layer neural network ............................. 182
Gambar 4.5 Pengenalan pola serta pemrosesan gambar ...... 183
Gambar 4.6 Multilayer Perceptron Neural Network 3 Layer 185
Gambar 4.7 Jaringan backpropagation................................. 191
Gambar 4.8 Arsitektur backpropagation .............................. 193
Gambar 4.9 Grafik sismoid biner ......................................... 194
Gambar 4.10 Grafik sismoid bipolar.................................... 195
Gambar 4.11 Arsitektur Backpropagation
1 layer tersembunyi ........................................ 201

Gambar 4.12 Pemisahan linier XOR.................................... 212

Gambar 4.13 Aturan Delta ................................................... 215


Gambar 4.14 Hasil menentukan 4 clusters pada input data . 221
Gambar 4.15 Tampilan Neural network .............................. 222
Gambar 4.16 Tampilan untuk plots untuk melatih hasil ...... 223
9
Gambar 4.17 Tampilan hasil terbaik .................................... 224
Gambar 4.18 Tampilan hasil training state .......................... 224
Gambar 4.19 Tampilan hasil training Regression ................ 225
Gambar 4.20 Tampilan hasil error = target – output............ 225
Gambar 4.21 Tampilan hasil target plot dan
respon network .............................................. 226
Gambar 4.22 Tampilan hasil klasifikasi Plot ....................... 227
Gambar 4.23 Hasil menentukan 4 clusters pada input data . 230
Gambar 4.24 Tampilan Neural network yang digunakan .... 231
Gambar 4.25 Tampilan Training Neural network ................ 232
Gambar 4.26 Tampilan Training state ................................. 232
Gambar 4.27 Tampilan Error = Target – output .................. 233
Gambar 4.28 Tampilan Training Regression MLP .............. 233
Gambar 4.29 Tampilan Evaluate network performance ...... 235
Gambar 4.30 Tampilan Plot classification result ................. 237

10
DAFTAR TABEL

Tabel 2.1 Contoh XOR ......................................................... 69


Tabel 2.2 Perhitungan XOR ................................................. 69
Tabel 2.3 Contoh neuron permasalahan rute sales............... 81
Tabel 2.4 Matrik jarak empat kota ....................................... 83
Tabel 2.5 Kombinasi rute 4 kota .......................................... 87
Tabel 3.1 Soal Logika AND ................................................ 120
Tabel 3.2 Soal Logika AND in Matlab ................................ 132
Tabel 3.3 Soal Logika OR in Matlab ................................... 136
Tabel 4.1 Soal Bobot ........................................................... 202
Tabel 4.2 Target ................................................................... 203

11
DAFTAR RUMUS

2.1 Rumus fungsi keluaran dari neuron ............................... 52


2.2 Rumus perbaikan bobotnya ............................................ 67
2.3 Rumus Metoda jarak Euclidean ..................................... 78
3.1 Rumus matrik bobot jaringan ......................................... 107
3.2 W dari baris ke- I ........................................................... 107
3.3 Rumus partisi matrik bobot ............................................ 108
3.4 Rumus persamaan a ....................................................... 108
3.5 Rumus fungsi transfer hardlim ....................................... 109
3.6 Rumus Keluaran dari jaringan ....................................... 110
3.7 Rumus vektor input dimana n input jaringan adalah nol110
3.8 Rumus bobot dan bias .................................................... 111
3.9 Rumus Batas keputusan ................................................. 111
3.10 Rumus p2 yang memintas tentukan p1 ........................ 111
3.11 Rumus p1 yang memintas ............................................ 111
3.12 Rumus keluaran jaringan ............................................. 112
3.13 Rumus bahwa batas selalu orthogonal ......................... 113
3.14 Rumus gerbang AND ................................................... 114
3.15 Rumus tak terhingga .................................................... 115
3.16 Rumus menemukan bias .............................................. 115
3.17 Rumus hardlimt a ......................................................... 115
4.1 Rumus vektor weight ..................................................... 187

12
4.2 Rumus metoda penggunaan Momentum........................ 188
4.3 Rumus update nilai weight ............................................. 189
4.4 Rumus nilai konvigurasi ................................................ 190
4.5 Rumus fungsi sigmoid biner .......................................... 194
4.6 Rumus fungsi sigmoid bipolar ....................................... 194

13
BAB I
ARTIFICIAL INTELLIGENCE
KECERDASAN BUATAN

DAFTAR ISI

1.1 Pengertian Kecerdasan Buatan


1.2 Sejarah Artificial Intelligence
1.3 Jenis-jenis Kecerdasan Buatan
1.4 Aplikasi Artificial Intelligence
1.5 Metode Artificial Intelligence
1.6 Aplikasi Penerapannya

14
1.1. Pengertian Artificial Intelligence
Artificial Intelligence (AI) atau di kenal dengan
Kecerdasan Buatan adalah sesuatu buatan/tiruan yang membuat
computer menjadi cerdas seperti layaknya manusia. Cerdasnya
berfikir layaknya seperti manusia dalam menyelesaikan suatu
masalah, mengambil keputusan dalam hal melakukan tindakan.
System ini juga dikenal sebagai system cerdas yang berasal dari
pengetahuan manusia dan sumber penambahan informasi lain
seperti buku, dokumentasi, dan data-data refensi yang
mendukung pada basis pengetahuan kecerdasan buatan.
Kecerdasan buatan (Artificial Intelligence), kadang-
kadang disebut juga kecerdasan mesin yaitu kecerdasan yang
ditunjukkan oleh mesin, berbeda dengan kecerdasan alami yang
ditampilkan oleh manusia dan hewan lainnya. Banyak penelitian
dibidang Artificial Intelligence didefinisikan sebagai studi
tentang "agen cerdas". Perangkat apa pun yang merasakan
lingkungannya dan mengambil tindakan yang memaksimalkan
peluangnya untuk berhasil mencapai tujuannya. Dalam bahasa
sehari-hari, istilah "kecerdasan buatan" diterapkan ketika mesin
meniru fungsi "kognitif" yang dikaitkan manusia dengan pikiran
manusia lainnya, seperti "belajar" dan "pemecahan masalah".
(Russell et all 1009)
Ruang lingkup Artificial Intelligence masih dalam

15
perdebatan para ahli karena mesin menjadi semakin mampu,
tugas-tugas yang dianggap membutuhkan "kecerdasan" sering
dihapus dari definisi, sebuah fenomena yang dikenal sebagai
efek Artificial Intelligence, yang mengarah ke quip dalam
Teorema Tesler. Artificial Intelligence adalah apa pun yang
belum telah dilakukan. Misalnya, pengenalan karakter optik
sering tidak tidak dimasukkan dari kecerdasan buatan, yang
telah menjadi teknologi rutin. Kemampuan mesin modern
umumnya diklasifikasikan sebagai Artificial Intelligence
termasuk berhasil memahami ucapan manusia, bersaing
ditingkat tertinggi dalam sistem permainan strategis seperti catur
dan Go, mobil yang beroperasi secara otonom, dan jalur cerdas
dalam jaringan pengiriman konten dan simulasi militer.
Kecerdasan buatan didirikan sebagai disiplin akademis
pada tahun 1956, dan pada tahun-tahun setelah mengalami
beberapa gelombang optimisme, diikuti oleh kekecewaan dan
hilangnya dana yang dikenal sebagai "Artificial Intelligence
musim dingin", yang diikuti oleh pendekatan baru, kesuksesan
dan pendanaan baru. Untuk sebagian besar sejarahnya,
penelitian Artificial Intelligence telah dibagi menjadi sub bidang
yang sering gagal berkomunikasi satu sama lain. Sub-bidang ini
didasarkan pada pertimbangan teknis, seperti tujuan tertentu
misalnya "robotika" atau "pembelajaran mesin", penggunaan

16
alat-alat tertentu "logika" atau jaringan saraf tiruan, atau
perbedaan filosofis yang mendalam. Sub bidang juga didasarkan
pada faktor sosial lembaga tertentu atau karya peneliti tertentu
(McCorduck 2004).
Masalah masalah tradisional atau tujuan penelitian
Artificial Intelligence termasuk penalaran, representasi
pengetahuan, perencanaan, pembelajaran, pemrosesan bahasa
alami, persepsi dan kemampuan untuk memindahkan dan
memanipulasi objek. Kecerdasan umum adalah salah satu tujuan
jangka panjang bidang ini. Pendekatan termasuk metode
statistik, kecerdasan komputasi, dan Artificial Intelligence
simbolik tradisional. Banyak alat yang digunakan dalam
Artificial Intelligence, termasuk versi pencarian dan
pengoptimalan matematis, jaringan syaraf tiruan, dan metode
berdasarkan statistik, probabilitas dan ekonomi. Bidang
Artificial Intelligence mengacu pada ilmu komputer, teknik
informasi, matematika, psikologi, linguistik, filsafat, dan banyak
lainnya.
Bidang ini didasarkan pada pendapat bahwa kecerdasan
manusia dapat dideskripsikan secara tepat sehingga sebuah
mesin dapat dibuat untuk mensimulasikannya. Hal ini
menimbulkan argumen filosofis tentang sifat pikiran dan etika
menciptakan makhluk buatan yang dikaruniai kecerdasan mirip

17
manusia yang merupakan isu yang telah dieksplorasi oleh mitos,
fiksi dan filsafat sejak jaman dahulu. Beberapa orang juga
menganggap Artificial Intelligence sebagai bahaya bagi manusia
jika ia terus berlanjut. Lainnya percaya bahwa Artificial
Intelligence, tidak seperti revolusi teknologi sebelumnya, akan
menciptakan risiko pengangguran massal. Namun Google
menjadi tuan kontes global untuk mengembangkan Artificial
Intelligence yang bermanfaat bagi kemanusiaan.
Pada abad ke 21, teknik Artificial Intelligence telah
mengalami kebangkitan menyusul kemajuan konkuren dalam
kekuatan komputer, sejumlah besar data, dan pemahaman
teoritis; dan teknik Artificial Intelligence telah menjadi bagian
penting dari industri teknologi, membantu menyelesaikan
banyak masalah yang menantang dalam ilmu komputer,
rekayasa perangkat lunak dan riset operasi (Russell et all 2003).
Beberapa tujuan dari Aritificial Intelligence adalah:
1. Untuk Membuat mesin menjadi lebih pintar
2. Memahami apa itu kecerdasan
3. Membuat mesin lebih bermanfaat
4. Membuat mesin dapat belajar

1.2 Sejarah Artificial Intelligence


Manusia yang mampu berpikir muncul sebagai alat

18
pencerita pada zaman kuno, dan telah umum dalam fiksi, seperti
dalam Mary Shelley's Frankenstein atau Karel Čapek's R.U.R.
yaitu Robot Universal Rossum. Karakter-karakter ini mereka
mengangkat banyak masalah yang sama yang sekarang dibahas
dalam etika kecerdasan buatan.
Studi tentang penalaran mekanis atau formal dimulai
dengan para filosofi dan ahli matematika di zaman kuno. Studi
tentang logika matematika langsung mengarah pada teori
komputasi Alan Turing, yang menyarankan bahwa sebuah
mesin, dengan mengocok simbol sesederhana "0" dan "1", dapat
mensimulasikan segala tindakan deduksi matematis yang
mungkin. Wawasan ini, bahwa komputer digital dapat
mensimulasikan proses pemikiran formal apa pun, dikenal
sebagai tesis Church-Turing. Seiring dengan penemuan
bersamaan dalam neurobiologi, teori informasi dan sibernetika,
ini mengarahkan para peneliti untuk mempertimbangkan
kemungkinan membangun otak elektronik. Turing mengusulkan
bahwa jika seorang manusia tidak dapat membedakan antara
tanggapan dari mesin dan manusia, mesin itu dapat dianggap
cerdas. Pekerjaan pertama yang sekarang dikenal sebagai
Artificial Intelligence adalah McCullouch dan Pitts '1943 desain
formal untuk Turing-complete artificial neurons.
Bidang penelitian Artificial Intelligence lahir di sebuah

19
lokakarya di Dortmouth College pada tahun 1956. Dihadiri
Allen Newell (CMU), Herbert Simon (CMU), John McCarthy
(MIT), Marvin Minsky (MIT) dan Arthur Samuel (IBM)
menjadi pendiri dan pemimpin penelitian Artificial Intelligence.
Mereka menghasilkan program program yang sangat
menakjubkan yaitu komputer bisa belajar strategi main catur,
dan tahun 1959 dilaporkan bermain lebih baik daripada rata-rata
manusia, memecahkan kata masalah dalam aljabar,
membuktikan teorema logis (Logic Theorist, pertama dijalankan
yang dapat berbicara bahasa Inggris pada tahun 1959 (Crevier,
Daniel (1993).
Pada pertengahan 1960-an, penelitian di AS didanai
oleh Departemen Pertahanan dan laboratorium telah didirikan di
seluruh dunia. Pendiri Artificial Intelligence optimis tentang
masa depan seperti Herbert Simon memperkirakan, mesin akan
mampu dalam dua puluh tahun, melakukan pekerjaan apa pun
yang dapat dilakukan oleh manusia. Marvin Minsky setuju dan
menulis, dalam satu generasi masalah menciptakan kecerdasan
buatan akan terpecahkan.
Kenyataannya mereka gagal mengenali kesulitan dari
beberapa tugas. Kemajuan melambat pada tahun 1974, sebagai
tanggapan terhadap kritik terhadap Sir James Lighthill dan
tekanan berkelanjutan dari Kongres AS untuk mendanai proyek-
20
proyek yang lebih produktif, baik pemerintah AS dan Inggris
memotong penelitian eksplorasi di Artificial Intelligence.
Beberapa tahun kemudian akan disebut "Artificial Intelligence
musim dingin", periode ketika mendapatkan pendanaan untuk
proyek Artificial Intelligence sulit.
Pada awal 1980-an, penelitian Artificial Intelligence
dihidupkan kembali oleh keberhasilan komersial sistem pakar,
suatu bentuk program Artificial Intelligence yang
mensimulasikan pengetahuan dan keterampilan analitis para ahli
manusia. Pada 1985, pasar untuk Artificial Intelligence telah
mencapai lebih dari satu miliar dolar. Pada saat yang sama,
proyek komputer generasi kelima Jepang menginspirasi
pemerintah AS dan Inggris untuk memulihkan dana untuk
penelitian akademis. Namun, dimulai dengan runtuhnya pasar
Mesin Lisp pada tahun 1987, Artificial Intelligence sekali lagi
jatuh ke dalam keterpurukan.
Pada akhir 1990-an dan awal abad 21, Artificial
Intelligence mulai digunakan untuk logistik, penggalian data,
diagnosis medis dan area lainnya. Keberhasilannya adalah
karena meningkatnya kekuatan komputasi, penekanan yang
lebih besar pada pemecahan masalah khusus, hubungan baru
antara Artificial Intelligence dan bidang lain seperti statistik,
ekonomi dan matematika, dan komitmen oleh peneliti untuk

21
metode matematika dan standar ilmiah. Deep Blue menjadi
sistem catur komputer pertama yang mengalahkan juara catur
dunia, Garry Kasparov, pada 11 Mei 1997.
Pada tahun 2011, sebuah Jeopardy dalam pertunjukan
pameran kuis, sistem penjawab pertanyaan IBM, Watson,
mengalahkan dua Jeopardy terbesar juara, Brad Rutter dan Ken
Jennings, dengan selisih yang signifikan. Komputer yang lebih
cepat, peningkatan algoritmik, dan akses ke sejumlah besar data
memungkinkan kemajuan dalam pembelajaran dan persepsi
mesin, metode pembelajaran mendalam data dapat dimulai
mendominasi benchmark akurasi sekitar 2012. Kinect, yang
menyediakan antarmuka gerak tubuh 3D untuk Xbox 360 dan
Xbox One, menggunakan algoritma yang muncul dari penelitian
Artificial Intelligence yang lama seperti halnya asisten pribadi
cerdas dalam ponsel cerdas.
Pada bulan Maret 2016, AlphaGo memenangkan 4 dari
5 game Go dalam pertandingan dengan juara Go Lee Sedol,
menjadi komputer pertama sistem Go-playing untuk
mengalahkan pemain Go profesional tanpa cacat. Dalam Future
Summit Go 2017, AlphaGo memenangkan pertandingan tiga
pertandingan dengan Ke Jie, yang pada saat itu terus memegang
peringkat No. 1 dunia selama dua tahun. Ini menandai selesainya
tonggak penting dalam pengembangan Artificial Intelligence

22
sebagai Go adalah permainan yang sangat kompleks, lebih dari
Catur.

1.3 Jenis-Jenis Kecerdasan Buatan


1. System pakar (expert system): computer sebagai sarana
pengetahuan para pakar dalam pengambilan keputusan
dan seolah-olah bertindak sebagai pakar dengan keahlian
dan pengetahuannya.
2. Pengolahan bahasa alami (natural language processing)
yakni user dapat berkomunikasi dengan computer
menggunakan bahasa sehari-hari selayaknya
berkomunikasi dengan manusia. Misalnya: bahasa
inggris, mandarin, Indonesia, dan lain lain.
3. Pengenalan ucapan (speech recognition) manusia dapat
berkomunikasi dengan computer menggunakan suara.
4. Robotika dan sistem sensor
5. Computer vision, menginterpresikan gambar dan objek
tampak melalui computer
6. Game playing
7. Intelligent computer – aided instruction: computer dapat
digunakan sebagai tutor yang dapat melatih dan
mengajar.

23
8. Soft computing: system cerdas yang memiliki keahlian
seperti manusia. Metodologi-metodologi yang
digunakan pada soft computing: Logika fuzzy, Jaringan
syaraf tiruan, Probabilistic reasoning, Algoritma
genetika.

1.4 Aplikasi Artificial Intelligence


Artificial Intelligence relevan dengan tugas intelektual
apa pun. Teknik-teknik kecerdasan buatan modern sangat
banyak. Seringkali, ketika suatu teknik mencapai penggunaan
umum, itu tidak lagi dianggap sebagai kecerdasan buatan.
Contoh profil tinggi Artificial Intelligence termasuk kendaraan
otonom (seperti drone dan mobil self-driving), diagnosis medis,
menciptakan seni (seperti puisi), membuktikan teorema
matematika, bermain game (seperti Chess atau Go), mesin
pencari (seperti Pencarian Google), asisten online (seperti Siri),
pengenalan gambar dalam foto, penyaringan spam, prediksi
keputusan pengadilan dan penargetan iklan online.
Dengan situs media sosial menyalip TV sebagai sumber
berita bagi kaum muda dan organisasi berita yang semakin
bergantung pada platform media sosial untuk menghasilkan
distribusi, penerbit besar sekarang menggunakan teknologi
kecerdasan buatan (Artificial Intelligence) untuk memposting

24
berita secara lebih efektif dan menghasilkan volume yang lebih
tinggi. lalu lintas. Berikut bidang bidang penerapan Artificial
Intelligence yang sudah sukses:
A. Kesehatan

Gambar 1.1 Bedah sisi pasien dari Sistem Bedah Da


Vinci
Artificial Intelligence sedang diterapkan pada masalah
biaya masalah dosis tinggi - di mana temuan menyarankan
bahwa Artificial Intelligence dapat menghemat $ 16 miliar. Pada
tahun 2016, sebuah penelitian di California menemukan bahwa
rumus matematika yang dikembangkan dengan bantuan
Artificial Intelligence dengan benar menentukan dosis obat
imunosupresan yang akurat untuk diberikan kepada pasien
organ.

25
Kecerdasan buatan menembus industri perawatan
kesehatan dengan membantu dokter. Menurut Bloomberg
Technology, Microsoft telah mengembangkan Artificial
Intelligence untuk membantu dokter menemukan perawatan
yang tepat untuk kanker. Ada banyak penelitian dan obat-obatan
yang dikembangkan berkaitan dengan kanker. Secara detail, ada
lebih dari 800 obat dan vaksin untuk mengobati kanker. Ini
berdampak negatif pada dokter, karena ada terlalu banyak
pilihan untuk dipilih, sehingga lebih sulit untuk memilih obat
yang tepat untuk pasien. Microsoft sedang mengerjakan proyek
untuk mengembangkan mesin yang disebut "Hanover".
Tujuannya adalah untuk menghafal semua kertas yang
diperlukan untuk kanker dan membantu memprediksi kombinasi
obat mana yang paling efektif untuk setiap pasien. Satu proyek
yang sedang dikerjakan saat ini adalah memerangi leukemia
myeloid, kanker fatal di mana pengobatannya belum membaik
dalam beberapa dekade. Studi lain dilaporkan telah menemukan
bahwa kecerdasan buatan sama baiknya dengan dokter terlatih
dalam mengidentifikasi kanker kulit. Penelitian lain
menggunakan kecerdasan buatan untuk mencoba dan memantau
beberapa pasien berisiko tinggi, dan ini dilakukan dengan
mengajukan pertanyaan kepada banyak pasien berdasarkan data
yang diperoleh dari dokter langsung ke interaksi pasien.

26
Gambar 1.2 X-ray tangan, dengan perhitungan otomatis
usia tulang
Menurut CNN, para ahli bedah di Children's National
Medical Centre di Washington berhasil menunjukkan operasi
dengan robot otonom. Tim ini mengawasi robot saat melakukan
operasi jaringan lunak, menyatukan usus babi selama operasi
terbuka, dan melakukannya lebih baik daripada ahli bedah
manusia, kata tim tersebut. IBM telah menciptakan komputer
kecerdasan buatannya sendiri, IBM Watson, yang telah
mengalahkan kecerdasan manusia (pada beberapa level).
Watson tidak hanya menang di game show Jeopardy melawan
mantan juara, tetapi dinyatakan sebagai pahlawan setelah
berhasil mendiagnosis seorang wanita yang menderita leukemia.

27
B. Otomotif
Kemajuan dalam Artificial Intelligence telah
berkontribusi pada pertumbuhan industri otomotif melalui
penciptaan dan evolusi kendaraan self driving. Pada 2016 ada
lebih dari 30 perusahaan yang memanfaatkan Artificial
Intelligence kedalam penciptaan mobil tanpa pengemudi.
Beberapa perusahaan yang terlibat dengan AI termasuk Tesla,
Google, dan Apple.
Banyak komponen berkontribusi pada fungsi mobil self
driving. Kendaraan-kendaraan ini menggabungkan sistem
seperti pengereman, perubahan jalur, pencegahan tabrakan,
navigasi dan pemetaan. Bersama-sama, sistem ini, serta
komputer berkinerja tinggi, terintegrasi ke dalam satu kendaraan
yang rumit.

Gambar 1.3 Mobil tesla (mobil masa depan)

28
Perkembangan mobil otonom baru baru ini telah
membuat inovasi truk penggerak sendiri menjadi mungkin,
meskipun mereka masih dalam tahap pengujian. Pemerintah
Inggris telah meloloskan undang-undang untuk memulai
pengujian peleton truk self driving pada tahun 2018. Peleton truk
yang mengemudi sendiri adalah armada truk yang mengemudi
sendiri setelah memimpin satu truk yang tidak mengemudi
sendiri, sehingga peleton truk belum sepenuhnya mandiri.
Sementara itu, Daimler, sebuah perusahaan mobil Jerman,
sedang menguji Freightliner Inspiration yang merupakan truk
semi-otonom yang hanya akan digunakan di jalan raya (Davies,
Alex, 2017).
Salah satu faktor utama yang memengaruhi kemampuan
mobil tanpa pengemudi untuk berfungsi adalah pemetaan.
Secara umum, kendaraan akan diprogram dengan peta daerah
yang sedang dikendarai. Peta ini akan mencakup data tentang
perkiraan lampu jalan dan ketinggian pinggir jalan agar
kendaraan menjadi sadar lingkungannya. Namun, Google telah
bekerja pada algoritma dengan tujuan menghilangkan kebutuhan
untuk peta yang sudah diprogram dan sebagai gantinya,
menciptakan perangkat yang akan dapat menyesuaikan dengan
berbagai lingkungan baru. Beberapa mobil self driving tidak
dilengkapi dengan roda kemudi atau pedal rem, jadi ada juga

29
penelitian yang berfokus pada penciptaan algoritma yang
mampu menjaga lingkungan yang aman untuk penumpang di
dalam kendaraan melalui kesadaran kecepatan dan kondisi
mengemudi.
Faktor lain yang mempengaruhi kemampuan mobil
tanpa pengemudi adalah keselamatan penumpang. Untuk
membuat mobil tanpa pengemudi, para insinyur harus
memprogramnya untuk menangani situasi berisiko tinggi.
Situasi ini bisa termasuk tabrakan dengan pejalan kaki. Tujuan
utama mobil harus membuat keputusan yang akan menghindari
memukul pejalan kaki dan menyelamatkan penumpang didalam
mobil. Tetapi ada kemungkinan mobil akan perlu membuat
keputusan yang akan membahayakan seseorang. Dengan kata
lain, mobil perlu memutuskan untuk menyelamatkan pejalan
kaki atau penumpang. Pemrograman mobil dalam situasi ini
sangat penting untuk mobil tanpa pengemudi yang sukses.

C. Keuangan dan Ekonomi


Lembaga keuangan telah lama menggunakan sistem
jaringan saraf tiruan untuk mendeteksi tuduhan atau klaim di
luar aturan/norma, menandai ini untuk penyelidikan manusia.
Penggunaan Artificial Intelligence dalam perbankan dapat
ditelusuri kembali ke tahun 1987 ketika Keamanan Pacific

30
National Bank di AS membentuk sebuah gugus Tugas Penipuan
Fraud untuk melawan penggunaan kartu debit yang tidak sah.
Program seperti Kasisto dan Moneystream menggunakan AI
dalam layanan keuangan.

Gambar 1.4 Starup Fintech lending


Bank menggunakan sistem kecerdasan buatan hari ini
untuk mengatur operasi, memelihara pembukuan, berinvestasi
dalam saham, dan mengelola properti. Artificial Intelligence
dapat bereaksi terhadap perubahan dalam semalam atau ketika
bisnis tidak terjadi. Pada Agustus 2001, robot mengalahkan
manusia dalam kompetisi perdagangan keuangan simulasi.
Artificial Intelligence juga telah mengurangi penipuan dan
kejahatan keuangan dengan memantau pola perilaku pengguna
untuk setiap perubahan abnormal atau anomali.

31
Penggunaan mesin Artificial Intelligence di pasar dalam
aplikasi seperti perdagangan online dan pengambilan keputusan
telah mengubah teori ekonomi utama. Sebagai contoh, platform
pembelian dan penjualan berbasis Artificial Intelligence telah
mengubah hukum penawaran dan permintaan dimana sekarang
mungkin untuk dengan mudah memperkirakan permintaan
individual dan kurva penawaran dan dengan demikian harga
individual. Selain itu, mesin Artificial Intelligence mengurangi
asimetri informasi di pasar dan dengan demikian membuat pasar
lebih efisien sambil mengurangi volume perdagangan.
Selanjutnya, Artificial Intelligence di pasar membatasi
konsekuensi perilaku pasar akan membuat pasar lebih efisien.
Teori-teori lain dimana Artificial Intelligence memiliki dampak
termasuk dalam pilihan rasional, ekspektasi rasional, teori
permainan, titik putar Lewis, optimalisasi portofolio dan
pemikiran kontrafaktual.

D. Video Game
Dalam video game, kecerdasan buatan secara rutin
digunakan untuk menghasilkan perilaku yang dinamis dan
dinamis dalam karakter non-pemain (NPC). Selain itu, teknik
Artificial Intelligence yang dipahami dengan baik secara rutin
digunakan untuk mencari jejak. Beberapa peneliti menganggap

32
NPC Artificial Intelligence dalam game sebagai masalah
terpecahkan untuk sebagian besar tugas produksi. Game dengan
Artificial Intelligence yang lebih banyak termasuk AI director
Left 4 Dead (2008) dan pelatihan neuroevolutionary dari pleton
di Supreme Commander 2 pada tahun 2010.

Gambar 1.5 AI Ciptakan Film Kartun Hanya Berdasarkan


Deskripsi Teks yang Diberikan

E. Militer
Perlombaan senjata intelijen buatan, senjata otonom
mematikan, dan kendaraan udara tempur tak berawak.
Pengeluaran militer tahunan di seluruh dunia untuk robotika
meningkat dari 5,1 miliar dolar AS pada 2010 menjadi 7,5 miliar
dolar AS pada 2015. Drone militer yang mampu bertindak
secara otonom secara luas dianggap sebagai aset yang berguna.

33
Pada 2017, Vladimir Putin menyatakan bahwa "Siapapun yang
menjadi pemimpin (kecerdasan buatan) akan menjadi penguasa
dunia". Banyak peneliti kecerdasan buatan berusaha
menjauhkan diri dari aplikasi militer Artificial Intelligence.

Gambar 1.6 mplementasi AI pada system radar

F. Audit
Untuk audit laporan keuangan, Artificial Intelligence
memungkinkan dilakukannya audit berkelanjutan. Alat
Artificial Intelligence dapat menganalisis banyak kumpulan
informasi yang berbeda dengan segera. Manfaat potensial adalah
risiko audit secara keseluruhan akan berkurang, tingkat jaminan
akan ditingkatkan dan durasi waktu audit akan berkurang.

34
G. Iklan
Sebuah laporan oleh surat kabar Guardian di Inggris
pada tahun 2018 menemukan bahwa perusahaan perjudian
online menggunakan Artificial Intelligence untuk memprediksi
perilaku pelanggan untuk menargetkan mereka dengan promosi
yang dipersonalisasi. Pengembang platform Artificial
Intelligence komersial juga mulai mengajukan banding lebih
langsung ke operator kasino, menawarkan berbagai layanan
yang ada dan potensial untuk membantu mereka meningkatkan
keuntungan mereka dan memperluas basis pelanggan mereka.

H. Seni
Artificial Intelligence telah menginspirasi banyak
aplikasi kreatif termasuk penggunaannya untuk menghasilkan
seni visual. Pameran "Mesin Berpikir Seni dan Desain di Era
Komputer, 1959-1989". Memberikan gambaran yang baik
tentang aplikasi historis Artificial Intelligence untuk seni,
arsitektur, dan desain. Pameran terbaru yang menunjukkan
penggunaan Artificial Intelligence untuk menghasilkan karya
seni termasuk manfaat dan lelang yang disponsori Google di
Grey Area Foundation di San Francisco, dimana seniman
bereksperimen dengan algoritma deep blue dan pameran tidak
manusiawi Seni di Era Artificial Intelligence, yang berlangsung

35
di Los Angeles dan Frankfurt pada musim gugur 2017. Pada
musim semi 2018, Asosiasi Mesin Komputasi mendedikasikan
edisi majalah khusus untuk subjek komputer dan seni menyoroti
peran pembelajaran mesin dalam seni.

1.5 Algoritma Artificial Intelligence


1. Algoritma Pohon n-ary (tree): Algoritma yag terdiri dari
node-node yang berupa induk dan anak, yang dilakukan
melalui pencarian jarak tercepat atau terpendek dalam
menyelesaikan masalah. Contoh penerapannya pada
game playing seperti tic tac toe.
2. Algoritma forward chaining: Yakni bagaimana cara
menyusun aturan terdiri dari beberapa premis dan
konklusi dari beberapa fakta yang kemudian dihasilkan
sebuah solusi. Penerapannya pada: system diagnose
keadaaan bayi dalam kandungan
3. Algoritma genetika: Algoritma yang memanfaatkan
proses seleksi alamiah dengan proses evolus kemudian
proses pencarian dengan pencarian dilakukan secara
acak. Penerapannya pada gen sebuah populasi baru
4. Algoritma Bayesian: Biasanya digunakan pada system
jaringan saraf tiruan

36
Artificial Intelligence telah menjadi permasalahan yang
kompleks di dalam dunia modern, Setidaknya ada lima jenis
algoritma kecerdasan buatan yang sering kita temui, yaitu
adalah:

1.6 Jaringan Syaraf Buatan (Artificial Neural Networks)


Merupakan sekelompok jaringan saraf (neuron) buatan
yang menggunakan model matematis atau komputasi untuk
pemrosesan informasi berdasarkan pendekatan terhubung pada
komputasi. Pada kebanyakan kasus, JST merupakan sistem
adaptif yang merubah strukturnya berdasarkan informasi
eksternal maupun internal yang mengalir melalui jaringan
tersebut.

Gambar 1.7 Artificial Neural Networks

37
Contoh penerapannya aplikasi jaringan syaraf tiruan adalah
sebagai berikut:
1. Pengenalan Pola (pattern Recognition)
Jaringan syaraf tiruan dapat dipakai untuk mengenali
pola (misal huruf, angka, suara atau tanda tangan) yang
sudah sedikit berubah. Hal ini mirip dengan otak
manusia yang masih mampu mengenali orang yang
sudah beberapa waktu tidak dijumpainya (mungkin
wajah/bentuk tubuhnya sudah sedikit berubah).
2. Signal Processing
Jaringan syaraf tiruan (model ADALINE) dapat dipakai
untuk menekan noise dalam saluran telepon.
3. Prediksi/Peramalan
Jaringan syaraf tiruan dapat dipakai untuk
memprediksikan yang sudah terjadi di masa yang akan
datang berdasarkan pola kejadian yang ada dimasa
lampau. Ini dapat dilakukan mengingat kemampuan
jaringan syaraf tiruan untuk mengingat dan membuat
generalisasi dari apa yang sudah ada sebelumnya.

Disamping area-area terebut, jaringan syaraf tiruan juga


dapat menyelesaikan masalah dalam bidang kontrol, kedokteran,
dan lain-lain. Meskipun banyak aplikasi menjanjikan yang dapat

38
dilakukan oleh jaringan syaraf tiruan juga memiliki beberapa
keterbatasan umum, Pertama adalah ketidak akuratan hasil yang
diperoleh. Jaringan syaraf tiruan bekerja berdasarkan pola yang
terbentuk pada inputnya.

2 Logika Fuzzy (Fuzzy Logics)


Logika fuzzy adalah salah satu komponen pembentuk soft
computing. Logika fuzzy pertama kali diperkenalkan oleh
Prof. Lotfi A. Zadeh. Dasar logika fuzzy adalah teori
himpunan fuzzy.

Gambar 1.8 Fuzzy Logics

39
3 Algoritma Genetik (Genetic Algorithms)
Algoritma Genetik biasanya digunakan dibidang kedokteran,
misal untuk menganalisis DNA.

Gambar 1.9 Genetic Algorithms

4 Robotika (Robotics)
Artificial Intelligence ini banyak digunakan di pabrik.
Biasanya dibuat untuk melakukan kegiatan otomatisasi, misal
dalam PLC (Programmable Logic Control

40
Gambar 1.10 Robotics
5 Permainan Komputer (Games)
Artificial Intelligence jenis ini yang paling disukai oleh anak-
anak, misal untuk memainkan game Age of Mythology atau
Counter Strike.
6 Kelemahan dan kelebihan Artificial Intelligence
Kelemahan Artificial Intelligence adalah mesin bertindak
seakan-akan mempunyai kecerdasan (contoh smartphone-
call by voice, seacrh by voice, find & replace)

Kelebihan Artificial Intelligence adalah mesin berpikir dan


bertindak seperti manusia (robot pabrik, pengenalan pola
kunci ruangan dg mata, suara, dll)

41
Gambar 1.11 Kelemahan AI dan kelebihan AI

7 Sistem Pakar (Expert System)


Expert System adalah komputer sebagai sarana untuk
menyimpan pengetahuan para pakar sehingga komputer
memiliki keahlian menyelesaikan permasalahan dengan
meniru keahlian yang dimiliki pakar

Gambar 1.12 Expert System

42
Contoh aplikasinya adalah:
• MYCIN : Diagnosa penyakit
• DENDRAL : Mengidentifikasi struktur molekular
campuran yang tak dikenal
• XCON & XSEL: Membantu konfigurasi sistem
komputer besar
• SOPHIE : Analisis sirkit elektronik
• Prospector : Digunakan di dalam geologi untuk
membantu mencari dan menemukan
deposit
• FOLIO : Menbantu memberikan keutusan bagi
seorang manajer dalam hal stok
broker dan investasi
• DELTA Pemeliharaan lokomotif listrik disel

9. Pengolahan Bahasa Alami (Natural Language Processing)


Natural Language Processing adalah user dapat
berkomunikasi dengan komputer menggunakan bahasa
sehari-hari, misal bahasa inggris, bahasa indonesia, bahasan
arab, Bahasa mandarin dan sebagainya.
Algoritma Pendukung atau Bahasa pemrograman Artificilal
Intelligence yaitu:

43
A. LISP, Dikembangkan awal tahun 1950-an, bahasa
pemrograman pertama yang diasosiasikan dengan
Artificial Intelligence. Lisp adalah bahasa pemrograman
yang masuk dalam bahasa pemrograman fungsional
yang inti programnya adalah berupa fungsi-fungsi. LISP
sendiri diciptakan oleh John McCarty pada tahun 1958
ketika ia berada di Massachusets Institute of Technology
(MIT) Amerika Serikat. John McCarty menerbitkan
sebuah makalah desain Communication in ACM pada
tahun 1960 berjudul "Recursive Functions of Symbolic
Expressions and Their Computation by Machine, Part I",
namun bagian ke 2 dari artikel tersebut tidak pernah
diterbitkan. Dia menunjukkan bahwa dengan operator
sederhana dan notasi fungsi, seseorang dapat membuat
Turing-Complete untuk bahasa algoritma. Bahasa
Pengolahan Informasi adalah bahasa AI pertama, dari
tahun 1955 - 1956, dan sudah termasuk banyak konsep
seperti daftar pengolahan dan rekursi yang kemudian
digunakan dalam lisp.

B. PROLOG, Dikembangkan pada tahun 1970-an. Prolog


merupakan singkatan dari “Programing In Logic”
pertama kali dikembangkan oleh Alain Colmetrouer dan

44
P,Roussel di Universitas Marseilles Prancis tahun 1972.
Selama tahun 70an, prolog populer di Eropa untuk
aplikasi Artificial Intelligence. Pada awalnya, Prolog dan
LISP sangat lambat dalam eksekusi program dan
memakan memori yang besar sehingga hanya kalangan
tertentu yang menggunakannya. Dengan adanya
Compiler Prolog, kecepatan eksekusi program dapat
ditingkatkan, namun Prolog masih dipandang sebagai
bahasa yang terbatas (hanya digunakan di kalangan
perguruan tinggi dan riset).
Jadi Artificial Intelligence adalah sebuah studi tentang
bagaimana membuat komputer melakukan hal-hal yang pada
saat ini dapat dilakukan lebih baik oleh manusia, serta
mempunyai wawasan penelitian, aplikasi dan instruksi yang
terkait dengan pemrograman komputer untuk melakukan
sesuatu hal yang dalam pandangan manusia adalah cerdas.

45
BAB II
ARTIFICIAL NEURAL NETWORK
JARINGAN SYARAF TIRUAN

DAFTAR ISI

2.1 Pengertian JST/ANN


2.2 Struktur dasar JST/ANN
2.3 Arsitektur JST/ANN
2.4 Konsep dasar pemodelan
2.5 Fungsi aktivasi JST/ANN
2.6 Model model JST

46
2.1 Pergertian Jaringan Saraf Tiruan
Jaringan saraf adalah representasi buatan dari otak
manusia yang selalu mencoba mensimulasikan proses
pembelajaran otak manusia tersebut. Istilah tiruan atau buatan
digunakan karena jaringan saraf di implementasikan dengan
menggunakan program komputer agar computer dapat cerdas
layaknya manusia yang mampu menyelesaikan sejumlah proses
perhitungan selama proses pembelajaran.
Jaringan Saraf Tiruan merupakan sistem pemrosesan
informasi yang memiliki karakteristik kemampuan yang secara
umum mirip dengan jaringan saraf biologi. Jaringan saraf tiruan
telah dikembangkan sebagai turunan model matematika dari
kesadaran manusia atau saraf biologis, karena berdasar pada
asumsi bahwa:
1. Pemrosesan informasi terjadi pada beberapa elemen
sederhana yang disebut neuron.
2. Sinyal lewat diantara neuron menciptakan jaringan
koneksi.
3. Setiap koneksi penghubung memiliki bobot yang
terhubung, yang dalam jaringan saraf tertentu
mengalikan sinyal yang ditransmisikan.

47
4. Setiap neuron mempunyai fungsi aktrivasi (biasanya
nonlinier) pada jaringan inputnya (jumlah dari bobot
sinyal input) untuk menentukan sinyal outputnya.
Pengertian Artificial Neural Network atau jaringan saraf
tiruan adalah system komputasi dimana arsitektur dan
komputasi diilhami dari pengetahuan tentang sel saraf dalam
otak. Artificial Neural Network (ANN) merupakan model yang
meniru cara kerja jaringan neural biologis.
Artificial Neural Network merupakan cabang ilmu multi
disiplin yang meniru cara kerja otak manusia. Salah satu struktur
yang ditiru adalah bentuk neuronnya (sel saraf). Jaringan saraf
tiruan ANN dapat menyelesaikan persoalan rumit/tidak
mungkin jika diselesaikan dengan menggunakan komputasi
kovensional.
Dengan melakukan proses belajar jaringan saraf tiruan
dapat mengatur dirinya untuk menghasilkan suatu respon yang
konsisten terhadap rangkaian masukkan. Jaringan saraf tiruan
dirancang dan dilatih untuk memiliki kemampuan seperti
manusia.
Setiap neuron dapat memiliki beberapa masukan dan
mempunnyai satu keluaran. Jalur masukan pada suatu neuron
bisa berisi data mentah atau data hasil olahan neuron
sebelumnya. Sedangkan hasil keluaran suatu neutron dapat

48
berupa hasil akhir atau berupa bahan masukkan bagi neutron
berikutnya. Jaringan neuron buatan terdiri atas kumpulan grup
neuron yang tersusun dalam lapisan yaitu:
1. Lapisan Input (Input Layer).
2. Lapisan Tersembunyi (Hidden Layer).
3. Lapisan Output (Output Layer).

Kelebihan dan Kekurangan Artificial Neural Network.


Keuntungan:
1. Suatu neural jaringan dapat melaksanakan tugas yang
suatu program linier tidak bisa.
2. Ketika suatu unsur neural jaringan gagal, Artificial
Neural Network (ANN) masih dapat melanjut tanpa
masalah oleh paralel mereka.
3. Artificial Neural Network (ANN) bisa
diimplementasikan pada berbagai aplikasi.
4. Artificial Neural Network (ANN) bisa
diimplementasikan tanpa masalah yang berarti

Kerugian:
1. Artificial Neural Network (ANN) membutuhkan
“pelatihan” terlebih dahulu sebelum beroprasi.

49
2. Arsitektur dari Artificial Neural Network (ANN)
berbeda dari arsitektur kebanyakan microprocessor,
sehingga membutuhkan proses emulasi.
3. Membutuhkan waktu processing yang tinggi untuk
Artificial Neural Network (ANN) dengan ukuran yang
besar.

Peran Jaringan Syaraf Tiruan Dalam Aspek Kehidupan


sekarang ini
Jaringan saraf tiruan pada umumnya digunakan untuk
tugas atau pekerjaan yang kurang praktis jika dikerjakan secara
manual. Kegunaan Dalam Kehidupan Nyata:
a) Perkiraan Fungsi, atau Analisis Regresi, termasuk prediksi
time series dan modeling.
b) Klasifikasi, termasuk pengenalan pola dan pengenalan
urutan, serta pengambil keputusan dalam pengurutan.
c) Pengolahan data, termasuk penyaringan, pengelompokan,
dan kompresi.
d) Robotik.

50
Bidang-bidang penelitian yang memanfaatkan jaringan saraf
tiruan diantaranya;
1. Pendeteksian uang palsu, evaluator aplikasi kredit,
pengidentifikasian pola-pola data pasar saham.
2. Pertahanan (Militer).
3. Pengendali senjata, pendeteksi bom, penelusuran target,
pembedaan objek, pengendali sensor, sonar, radar, dan
pengolahan sinyal citra yang meliputi kompresi data,
ektrasksi bagian istimewa dan penghilangan derau,
pengenalan sinyal atau citra.
4. Elektronik, Pembuatan perangkat keras yang bias
mengimplementasikan jaringan saraf tiruan secara efisien
(pendesainan VLSI), machine vision, pengontrol gerakan
dan penglihatan robot, sintesis suara.
5. Broadcast, Pencarian klip berita melalui pengenalan wajah.

Suatu jaringan saraf tiruan memproses sejumlah besar


informasi secara paralel dan terdistribusi, hal ini terinspirasi oleh
model kerja otak biologis. Beberapa definisi tentang jaringan
saraf tiruan adalah sebagai berikut di bawah ini.
Hecht-Nielsend (1988) adalah sebagai berikut:
"Suatu neural network (NN), adalah suatu struktur pemroses
informasi yang terdistribusi dan bekerja secara paralel, yang

51
terdiri atas elemen pemroses (yang memiliki memori lokal
dan beroperasi dengan informasi lokal) yang diinterkoneksi
bersama dengan alur sinyal searah yang disebut koneksi.
Setiap elemen pemroses memiliki koneksi keluaran tunggal
yang bercabang (fan out) ke sejumlah koneksi kolateral yang
diinginkan (setiap koneksi membawa sinyal yang sama dari
keluaran elemen pemroses tersebut).

Keluaran dari elemen pemroses tersebut dapat


merupakan sembarang jenis persamaan matematis yang
diinginkan. Seluruh proses yang berlangsung pada setiap elemen
pemroses harus benar-benar dilakukan secara lokal, yaitu
keluaran hanya bergantung pada nilai masukan pada saat itu
yang diperoleh melalui koneksi dan nilai yang tersimpan dalam
memori lokal".
Menurut Haykin, S. (1994), Neural Networks: A
Comprehensive Foundation, NY, Macmillan, adalah sebagai
berikut:
“Sebuah jaringan saraf adalah sebuah prosesor yang
terdistribusi paralel dan mempuyai kecenderungan untuk
menyimpan pengetahuan yang didapatkannya dari
pengalaman dan membuatnya tetap tersedia untuk

52
digunakan. Hal ini menyerupai kerja otak dalam dua hal
yaitu:
1. Pengetahuan diperoleh oleh jaringan melalui suatu
proses belajar.
2. Kekuatan hubungan antar sel saraf yang dikenal dengan
bobot sinapsis digunakan untuk menyimpan
pengetahuan.

Dan menurut Zurada, J.M. (1992), Introduction to Artificial


Neural Systems, Boston: PWS Publishing Company,
mendefinisikan sebagai berikut:
“Sistem saraf tiruan atau jaringan saraf tiruan adalah sistem
selular fisik yang dapat memperoleh, menyimpan dan
menggunakan pengetahuan yang didapatkan dari
pengalaman”.

DARPA Neural Network Study (1988, AFCEA International


Press, p. 60) mendefinisikan jaringan saraf buatan sebagai
berikut:
Sebuah jaringan saraf adalah sebuah sistem yang dibentuk
dari sejumlah elemen pemroses sederhana yang bekerja
secara paralel dimana fungsinya ditentukan oleh stuktur

53
jaringan, kekuatan hubungan, dan pegolahan dilakukan pada
komputasi elemen atau nodes.
3. Sejarah Jaringan syaraf tiruan

2.2 Struktur Dasar Jaringan Saraf Tiruan


Struktur saraf tiruan di dasari dari struktur jaringan
biologi, khususnya struktur jaringan otak manusia. Perlu
dipahami untuk mengenal asal-usul serta bagaimana suatu
struktur jaringan saraf tiruan dibuat dan dapat digunakan sebagai
suatu bantu seperti untuk analysis, alat penghitung dan lain
lainya, akan dibahas sedikit sebagai pengenalan tentang apa saja
yang digunakan berhubungan dengan jaringan syaraf tiruan.
Jaringan otak manusia tersusun atas sel-sel saraf atau
dikenal dengan neuron-neuron yang membentuk jaringan.
Sekumpulan neuron (saraf) yang saling terhubung satu dengan
lain ini berfungsi untuk memberikan sebuah tanggapan atas
sebuah rangsangan yang mengenainya. Setiap rangsangan
memiliki tanggapan - tanggapan tersendiri dari sebuah neuron
tersebut terhadap jenis rangsangan yang mengenainya.
Syaraf atau neuron adalah satuan unit pemroses terkecil
pada otak, bentuk sederhana sebuah neuron yang oleh para ahli
dianggap sebagai satuan unit pemroses tersebut didapat
Digambar seperti dibawah ini:

54
Gambar 2.1 Struktur jaringan otak manuasi
Sebuah syaraf atau neuron memiliki 3 tipe komponen
yaitu dendrites (bagian yang menerima rangsang dari axon), cell
body atau soma (badan sel saraf) dan axon (bagian sel yang
berhubungan dengan dendrites sel saraf lain dan membentuk
simpul yang disebut synapse). Dendrites dapat menerima
banyak sinyal dari neuron lain. Sinyal adalah impuls listrik yang
dipancarkan menlintasi celah synapse yang disebabkan proses
kimia. Tindakan dari pancaran proses kimia mengubah sinyal
yang datang (secara khas, dengan penskalaan frekuensi sinyal
yang diterima). Proses tersebut sama dengan sifat bobot dalam
jaringan saraf tiruan.
Cell body atau Soma, untuk menjumlahkan sinyal yang
datang. Ketika masukan cukup diterima, sel menjadi aktif, saat
itulah sel mengirimkan sinyal melaui axonnya ke sel lainnya.
55
Kejadian ini menimbulkan anggapan bahwa setiap sel saraf
berada dalam keadaan aktif atau tidak aktif, pada setiap satuan
waktu. Sehingga pengiriman sinyal dikenali sebagai kode biner.
Kenyataannya, frekuensi dari keadaan aktif bervariasi, sesuai
dengan kekuatan sinyal yakni kuat atau lemah magnitudenya.
Pencocokan dengan kode biner ini dilakukan untuk
menentukan tahapan dalam tiap waktu yang diskrit dan
menjumlahkan semua aktivitas (sinyal diterima atau dikirim)
pada tahap tertentu berdasarkan satuan waktu. Transmisi sinyal
dari neuron tertentu disempurnakan dengan hasil kerja energi
potensial neuron yang disebabkan perbedaan konsentrasi ion-ion
dari setiap sisi sarung pelindung axon neuron (sumsum otak
manusia). Ion-ion kebanyakan secara langsung melibatkan zat-
zat potassium, sodium dan klorida.
Struktur pada gambar diatas tersebut adalah bentuk
standard dasar satuan unit jaringan otak manusia yang telah
disederhanakan. Bentuk standard ini mungkin dikemudian hari
akan berubah bila ada ilmuwan yang dapat menciptakan bentuk
standard yang lebih baik ataupun memperbaiki bentuk standard
yang digunakan saat ini. Jaringan otak manusia tersusun tidak
kurang dari 1013 buah neuron yang masing-masing terhubung
oleh sekitar 1015 buah dendrites. Sebagaimana Fungsi dendrites
adalah sebagai penyampai sinyal dari neuron tersebut ke neuron

56
yang terhubung dengannya. Sebagai keluaran setiap neuron
memiliki axon, sedangkan bagian penerima sinyal disebut
synapse. Penjelasan lebih rinci tentang hal ini dapat diperoleh
pada disiplin ilmu biology molecular.
Secara umum jaringan saraf terbentuk dari jutaan
(bahkan lebih) struktur dasar neuron yang terinterkoneksi dan
terintegrasi antara satu dengan yang lain sehingga dapat
melaksanakan aktifitas secara teratur dan terus menerus sesuai
dengan kebutuhan.
Beberapa attribute atau fitur penting dalam proses
elemen dari jaringan saraf tiruan yang berasal dari cara kerja
jaringan saraf biologi:
a. Elemen pemroses menerima beberapa sinyal.
b. Sinyal memungkinkan dimodifikasi oleh bobot pada
synapse penerima.
c. Elemen pemroses menjumlahkan bobot input.
d. Dalam lingkungan yang sesuai (jumlah input yang
sesuai), neuron mengirimkan output tunggal.
e. Output dari neuron khusus memungkinkan dipindahkan
kebeberapa neuron lain (melalui cabang axon).
Beberapa jenis fitur jaringan saraf tiruan yang dipelajari
dari neuron biologi:

57
1. Pemrosesan informasi bersifat lokal (meskipun cara
berbeda dalam proses transmisi, seperti aksi beberapa
hormon, memungkinkan penganjuran cara control proses
yang bersifat keseluruhan).
2. Memori terdistribusi:
a. Memori yang berjangka panjang berada dalam
synapse neuron atau bobot.
b. Memori jangka pendek merespon sinyal kiriman
oleh neuron.
c. Kekuatan synapse dapat dimodifikasi oleh
pengalaman.
d. Neuron pengirim untuk synapse mungkin bersifat
pengeksitasi atau penghambat.
Hal hal yang penting dalam jaringan saraf tiruan yang
merupakan bagian dari sistem saraf biologi memiliki toleransi
kesalahan/kekurangan data. Sistem jaringan saraf biologi
memiliki toleransi kesalahan dalam 2 aspek:
a. Dapat mengenali banyak input sinyal yang beberapa
diantaranya berbeda dengan yang pernah dikenali
sebelumnya. Sebagai contoh kemampuan manusia untuk
mengenali seseorang dari suatu gambaran atau
mengenali seseorang setelah periode yang lama.

58
b. Dapat menerima kerusakan kedalam sistem jaringan
saraf itu sendiri.
Manusia memiliki lebih dari 100 trilyun neuron.
Kebanyakan diantaranya berada di otak. Jika terjadi kerusakan
pada salah satu bagian, maka akan memungkinkan bagian lain
akan menjalankan fungsi dari neuron yang rusak.

2.3 Arsitektur Jaringan Saraf Tiruan


Pada umumnya neuron yang terletak pada lapisan yang
sama akan memiliki keadaan sama. Faktor terpenting dalam
menentukan kelakuan suatu neuron adalah fungsi aktivasi dan
pola bobotnya. Pada setiap lapisan yang sama, neuron–neuron
akan memiliki fungsi aktivasi yang sama. Apabila neuron–
neuron dalam suatu lapisan (misalkan lapisan tersembunyi) akan
dihubungkan dengan neuron–neuron pada lapisan yang lain
(misalkan lapisan output), maka setiap neuron pada lapisan
tersebut (misalkan lapisan tersembunyi) juga harus dihubungkan
dengan lapisan lainnya (misalkan lapisan output). Ada beberapa
bentuk arsitektur jaringan saraf, antara lain:

59
Gambar 2.2 Arsitektur jaringan Syaraf Tiruan

1. Jaringan dengan lapisan tunggal (single layer net)


Jaringan ini hanya memiliki satu lapisan dengan bobot
bobot terhubung. Jaringan ini menerima input yang kemudian
secara langsung akan mengolahnya menjadi output tanpa harus
melalui lapisan tersembunyi.
Sebuah neuron berinput tunggal diperlihatkan pada
gambar 4. Input skalar p dikalikan dengan skalar weight w untuk
kodisi (bentuk) wp, salah bentuk ini yang dikirim ke dalam
penjumlah. Input yang lain, 1, adalah dikalikan dengan bias b
dan dilewatkan ke dalam penjumlah. Output dari penjumlah n
sering kali digunakan sebagai input net, yang berjalan ke dalam
fungsi transfer f, yang menghasilkan output neuron skalar a.
(“fungsi aktivasi” disebut juga fungsi transfer dan “offset”
disebut juga bias).
60
Bobot w berhubungan dengan sebuah kekuatan
gabungan dari sel badan yang direpresentasikan dengan
penjumlahandan fungsi transfer, dan output neuron a
mengambarkan signal dalam axon

Gambar 2.3 Neuron berinput tunggal Output neuron


Jika untuk sesaat, kemudian Output nyata bergantung
pada fakta-fakta fungsi transfer yang dipilih. Kita akan
mendiskusikan transfer fungsi dalam bagian berikutnya. Bias
lebih mirip dengan bobot, kecuali jika mempunyai input konstan
1. Akan tetapi, jika kita tidak menginginkan bias di dalam
sebuah bagian neuron, bias ini bisa diabaikan. Penting untuk w
dan b diatur keduanya dalam bentuk neuron berparameter skalar.
Biasanya fungsi transfer dipilih oleh desainer dan kemudian
parameter w dan b akan diatur oleh beberapa peraturan pelatihan
jadi neuron input atau output yang saling berhubunngan
ditetapkan terlebih dahulu dengan spesifik tujuan (goal).
61
2. Jaringan dengan banyak lapisan (multilayer)
Jaringan ini memiliki satu atau lebih lapisan yang
terletak diantara lapisan input dan lapisan outputnya (memiliki
satu atau lebih lapisan tersembunyi). Jaringan dengan banyak
lapisan ini dapat menyelesaikan permasalahan yang lebih sulit
dari pada jaringan dengan lapisan tunggal, tetapi
pembelajarannya lebih rumit. Jaringan ini pada banyak kasus
lebih sukses dalam menyelesaikan masalah. Pada gambar 1.5
menunjukkan jaringan saraf multilayer.

Gambar 2.4 Jaringan saraf multilayer.


2.4 Konsep Dasar Pemodelan Jaringan Syaraf Tiruan
Tiruan atau buatan sebuah neuron dalam struktur
jaringan saraf tiruan adalah sebagai elemen pemroses berfungsi
seperti halnya sebuah neuron. Sejumlah sinyal masukan a
dikalikan dengan masing-masing penimbang yang bersesuaian
w. Kemudian dilakukan penjumlahan dari seluruh hasil
62
perkalian tersebut dan keluaran yang dihasilkan dilalukan
kedalam fungsi pengaktip untuk mendapatkan tingkatan derajad
sinyal keluarannya F (a, w). Walaupun masih jauh dari
sempurna, namun kinerja dari tiruan neuron ini identik dengan
kinerja dari sel biologi yang kita kenal saat ini.

Gambar 2.5 Model tiruan sebuah neuron


Dalam jaringan syaraf tiruan, misalkan ada nilai n untuk buah
sinyal masukan dan n sebuah penimbang, fungsi keluaran dari
neuron adalah berikut,
ini = ∑j Wji * aj (2.1)

Keterangan:
• Aj : Nilai aktivasi dari unit j

• wj, i : Bobot dari unit j ke unit i


• Ini : Penjumlahan bobot dan masukan ke unit i

63
• G : Fungsi aktivasi
• ai : Nilai aktivasi dari unit i
Kumpulan dari neuron dibuat menjadi sebuah jaringan
yang akan berfungsi sebagai alat komputasi. Jumlah neuron dan
struktur jaringan untuk setiap problema yang akan diselesaikan
adalah berbeda.

2.5 Mengaktifkan jaringan saraf tiruan


Mengaktipkan jaringan saraf tiruan berarti meng-aktikan
setiap neuron yang dipakai pada jaringan tersebut. Banyak
fungsi yang dapat dipakai sebagai pengaktif, seperti fungsi-
fungsi geometri dan hiperboliknya, fungsi unit step, impulse,
sigmoid, dan lain sebagainya seperti pada gambar dibawah ini,
tetapi yang lazim digunakan adalah fungsi sigmoid, karena
dianggap lebih mendekati kinerja sinyal pada otak.

Gambar 2.6 Fungsi pengaktif


64
Keterangan:
a. Step(x) →1 if x >= t else 0
b. Sign(x) → +1 if x >= 0 else –1
c. Sigmoid(x) → 1/(1+e-x)

2.6 Fungsi Aktivasi Jaringan Syaraf Tiruan


Fungsi Aktivasi merupakan operasi matematik yang
berhubungan, pada sinyal output y. dan fungsi digunakan untuk
mengaktifkan atau menonaktifkan neuron. Karateristik pada JST
ditentukan oleh bobot dan input-output, fungsi aktivasi yang
ditetapkan. Beberapa fungsi aktivasi yang sering digunakan
dalam JST menurut (Sutojo, T., et al 2010) adalah:

Gambar 2.7 fungsi aktivasi dalam JST


Ada beberapa fungsi aktivasi yang sering digunakan dalam
jaringan saraf tiruan, antara lain:

65
a. Fungsi Undak Biner (Hard Limit)
Fungsi Undak Biner merupakan jaringan lapisan
tunggal yang menggunakan fungsi undak (step function)
untuk mengkonversikan input dari suatu variabel yang
bernilai kontinyu ke suatu output biner (0 atau 1).

Gambar 2.8 Fungsi Undak Biner (Hard Limit)

b. Fungsi Undak Biner (Threshold)


Fungsi undak biner dengan menggunakan nilai
ambang sering juga disebut dengan nama fungsi nilai ambang
(thresholed) atau fungsi Heaviside. Fungsi undak biner
(dengan nilai ambang θ) dirumuskan sebagai berikut:

66
Gambar 2.9 Fungsi Undak Biner Thershold

c. Fungsi Bipolar (Symetric Hard Limit)


Fungsi bipolar dengan Symetric hard limit
sebenarnya hampir sama dengan fungsi undak biner, hanya
saja output yang dihasilkan berupa 1, 0, -1. Fungsi Symetric
Hard Limit dirumuskan sebagai berikut dan gambarnya
dibawah ini:

Gambar 2.10. Fungsi Bipolar (Symetric Hard Limit)

67
d. Fungsi Bipolar (dengan threshold)
Fungsi bipolar dengan threshold sebenarnya hampir
sama dengan fungsi undak biner, hanya saja output yang
dihasilkan berupa 1, 0 atau -1. Fungsi bipolar dengan nilai
ambang 0 dirumuskan gambarnya sebagai berikut: hanya saja
output yang dihasilkan berupa 1, 0, atau –1. Fungsi ini
dirumuskan sebagai berikut:

Gambar 2.11. Fungsi Bipolar dengan threshold

e. Fungsi Linear (Identitas)


Fungsi ini memiliki nilai output yang sama dengan
nilai inputnya, dirumuskan sebagai berikut:

68
Gambar 2.12. Fungsi Linear (Identitas)
f. Fungsi Saturating Linear
Fungsi ini akan bernilai 0 jika inputnya kurang dari –
½, dan akan bernilai 1 jika inputnya lebih dari ½. Sedangkan
jika nilai input terletak antara -½ dan ½, maka outputnya akan
bernilai sama dengan nilai inputnya ditambah ½. Fungsi
saturating linear ini dirumuskan sebagai berikut:

Gambar 2.13. Fungsi Aktivasi Bipolar (threshold)


69
g. Fungsi Symetric Saturating Linear
Fungsi ini akan bernilai –1 jika inputnya kurang dari
–1, dan akan bernilai 1 jika inputnya lebih dari 1. Sedangkan
jika nilai input terletak antara -1 dan 1, maka outputnya akan
bernilai sama dengan nilai inputnya. Fungsi ini dapat
dirumuskan sebagai berikut:

Gambar 2.14. Fungsi Symetric Saturating Linear

h. Fungsi Sigmoid Biner


Fungsi ini digunakan untuk jaringan saraf yang dilatih
dengan menggunakan metode backpropagation, mempunyai
range 0 sampai 1. Biasanya digunakan untuk jaringan saraf

70
yang membutuhkan nilai output yang terletak pada interval 0
sampai dengan 1, juga pada jaringan saraf yang nilai
outputnya 0 atau 1. Fungsi ini dirumuskan sebagai berikut:

Gambar 2.15. Fungsi Sigmoid Biner

i. Fungsi Sigmoid Bipolar


Output dari fungsi sigmoid bipolar memiliki range
antara 1 sampai -1. Secara matematis, fungsi sigmoid bipolar
dirumuskan sebagai berikut.

71
Fungsi ini hampir sama dengan fungsi hyperbolic
tangent. Keduanya memiliki range antara -1 sampai 1. Secara
matematis, fungsi hyperbolic tanget dituliskan sebagai berikut.

Gambar 2.16. Fungsi Sigmoid Bipolar

Dalam Jaringan Syaraf tiruan dapat diaplikasikan


kedalam machine learning, dalam pembelajaran mesin dapat
dikategorikan bermacam macam pembelajaran, adapun jenis
pembelajaran yang digunakan adalah sebagai berikut:

72
2.7 Proses Pembelajaran/Learning
Pada otak manusia, informasi yang dilewatkan dari satu
neuron ke neuron yang lainnya berbentuk rangsangan listrik
melalui dendrit. Jika rangsangan tersebut diterima oleh suatu
neuron, maka neuron tersebut akan membangkitkan output ke
semua neuron yang berhubungan dengannya sampai neuron
tersebut sampai ke tujuannya yaitu terjadinya suatu reaksi. Jika
rangsangan yang diterima terlalu halus, maka output yang
dibangkitkan oleh neuron tersebut tidak akan direspon. Tentu
sangatlah sulit memahami bagaimana otak manusia itu belajar.
Selama proses pembelajaran, terjadi perubahan yang
cukup berarti pada bobot–bobot yang menghubungkan antar
neuron. Apabila ada rangsangan yang sama yang diterima oleh
neuron, maka neuron akan memberikan reaksi dengan cepat.
Tetapi, apabila nantinya ada rangsangan yang berbeda dengan
apa yang diterima oleh neuron, maka neuron akan beradaptasi
untuk memberikan reaksi yang sesuai.
Jaringan saraf akan mencoba mensimulasikan
kemampuan otak manusia untuk belajar. Jaringan saraf tiruan
juga tersusun atas neuron dan dendrit. Tidak seperti model
biologis, jaringan saraf memiliki struktur yang tidak dapat

73
diubah, dibangun oleh sejumlah neuron, dan memiliki nilai
tertentu yang menunjukkan seberapa besar koneksi antar neuron
(dikenal dengan nama bobot).
JST mampu mengenali, dan meniru pola pemetaan dari
pasangan sinyal input dan output yang diberikan. Proses
memberikan pasangan input dan output, pada sistem Jaringan
Syaraf Tiruan (Neural network) disesbut sebagai proses
pembelajaran. Umumnya, jika menggunakan Jaringan Syaraf
Tiruan (Neural network), hubungan antara input dan output
harus diketahui, secara pasti dan jika hubungan tersebut telah
diketahui maka dapat dibuat suatu model. Hal lain yang penting
adalah proses belajar hubungan input/output dilakukan dengan
pembelajaran. Ada dua tipe pembelajaran pada Jaringan Syaraf
Tiruan (Neural network) yang dikenal yaitu: pembelajaran
terawasi dan pembelajaran tak terawasi. Jaringan Syaraf Tiruan
(Neural network), proses pembelajaran, proses pembelajaran
JST, proses pembelajaran neural network, tipe pembelajaran
pada Jaringan Syaraf Tiruan (Neural network), Proses
Pembelajaran Terawasi (supervised learning), supervised
learning, Proses Pembelajaran Tidak Terawasi (unsupervised
learning), unsupervised learning, pembelajaran terawasi,
pembelajaran tak terawasi, Metode pembelajaran terawasi,

74
Metode pembelajaran tidak terawasi dapat kita lihat gambaran
seperti dibawah ini:

Gambar 2.17. Proses pembelajaran Jaringan Syaraf Tiruan

Perubahan yang terjadi selama pembelajaran adalah


perubahan nilai bobot. Nilai bobot akan bertambah, jika
informasi yang diberikan oleh neuron yang bersangkutan
tersampaikan, sebaliknya jika tidak disampaikan oleh suatu
neuron ke neuron yang lain, maka nilai bobot yang
menghubungkan keduanya akan dikurangi. Pada saat
pembelajaran dilakukan pada input yang berbeda, maka nilai
bobot akan diubah secara dinamis hingga mencapai nilai yang
cukup seimbang. Apabila nilai ini telah tercapai yang
mengindikasikan bahwa tiap–tiap input telah berhubungan
dengan output yang diharapkan. Ada beberapa metode untuk
proses pembelajaran pada jaringan saraf tiruan ini, diantaranya:
75
A. pembelajaran terawasi (supervised learning)
Metode pembelajaran jaringan saraf disebut terawasi jika
output yang diharapkan telah diketahui sebelumnya. Pada proses
pembelajaran, satu pola input akan diberikan ke satu neuron
pada lapisan input. Pola ini akan dirambatkan disepanjang
jaringan saraf hingga sampai ke neuron pada lapisan output.
Lapisan output ini akan membangkitkan pola output yang
nantinya akan dicocokkan dengan pola output targetnya.
Apabila terjadi perbedaan antara output hasil pembelajaran
dengan pola target, maka disini akan muncul error. Apabila error
ini masih cukup besar, mengindikasikan bahwa masih perlu
dilakukan lebih banyak pembelajaran lagi. Pada contoh
menggunakan supervised learning adalah data pasar saham pada
DOW, NASDAQ atau FTSE, data yang ada sebelumnya
mengenai aplikasi kredit yang berhasil termasuk daftar
pertanyaan atau posisi sebuah robot dan reaksi yang benar.
Contoh algoritma jaringan saraf tiruan yang mernggunakan
metode supervised learning adalah hebbian (hebb rule),
perceptron, adaline, boltzman, hapfield, dan backpropagation.
Pada kesempatan ini saya akan membahas tentang
metode hebb rule dan perceptron. Hebb rule merupakan metode
pembelajaran dalam supervised yang paling sederhana, karena

76
pada metoode ini pembelajaran dilakukan dengan cara
memperbaiki nilai bobot sedemikian rupa sehingga jika ada 2
neuron yang terhubung, dan keduanya pada kondisi hidup (on)
pada saat yang sama, maka bobot antara kedua dinaikkan.
Apabila data dipresentasiakn secara bipolar, maka perbaikan
bobotnya adalah:
wi (baru) = wi(lama) + xi * y (2.2)

Keterangan:
wi : Bobot data input ke-i;
xi : Input data ke-i;
y : Output data.
Misalkan kita menggunakan pasangan vektor input (s) dan
vektor output sebagai pasangan vektor yang akan dilatih.
Sedangkan vektor yang hendak digunakan sebagai testing
adalah vektor (x).
Algoritma pasangan vektor diatas adalah sebagai berikut:
0. Insialisasi semua bobot dimana:
wij = 0;
i = 1,2……n;
j =1,2…...m
Pertama pasangan input-output(s-t), maka terlebih dahulu
dilakukan langkah-langkah sebagai berikut:

77
2.2 Set input dengan nilai yang sama dengan vektor
inputnya:
xi = si; (I = 1,2…n)
2.3 Set outputnya dengan nilai yang sam dengan vektor
outputnya:
yj = tj; (j = 1,2..,m)
2.4 Kemudian jika terjadi kesalahan maka perbaiki
bobotnya:
wij (baru) = wij (lama) + xi * yj;
(I = 1,2..n dan j = 1,2,….,m)
sebagai catatan bahwa nilai bias selalu 1.

Contoh:
Sebagaimana yang kita ketahui dalam fungsi OR jika A & B = 0
maka “OR” 0, tetapi jika salah satunya adalah 1 maka “OR” 1,
atau dengan kata lain jika angkanya berbeda maka hasilnya 1.
Misalkan kita ingin membuat jaringan syaraf untuk melakukan
pembelajaran terhadap fungsi OR dengan input dan target
bipolar sebagai berikut:
Input Bias Target
1 -1 -1 -1
1 1 -1 1
78
1 -1 1 1
1 1 1 1
Tabel 2.1 Contoh XOR

X= T= Bobot awal=
-1 -1 -1 w=
-1 1 1 0
1 -1 1 0
1 1 1 b=0
Tabel 2.2 Perhitungan XOR
(catatan penting: bobot awal dan bobot bias kita set = 0)
Data ke-1
w1 = 0 + 1 = 1
w2 = 0 + 1 = 1
b = 0 – 1 = -1
Data ke-2
w1 = 1 – 1 = 0
w2 = 1 + 1 = 2
b =0+1=1

Data ke-3
w1 = 0 + 1 = 1
w2 = 2 - 1 = 1
79
b =0+1=1
Data ke-4
w1 = 1 + 1 = 2
w2 = 1 + 1 = 2
b =1+1=2
Kita melakukan pengetesan terhadap salah satu data
yang ada, misal kita ambil x = [-1-1] dan kita masukkan pada
data ke-4 maka hasilnya adalah sebagai berikut:
Y = 2 + (-1 * 2) + (-1 * 2) = -2
Karena nilai yin = -2, maka y=f (yin) = f (-2) = -1 (cocok dengan
output yang diberikan).

B. Pembelajaran Tak Terawasi (Unsupervised Learning)


Pada metode pembelajaran yang tak terawasi ini, tidak
memerlukan target output. Pada metode ini, tidak dapat
ditentukan hasil seperti apakah yang diharapkan selama proses
pembelajaran. Selama proses pembelajaran, nilai bobot disusun
dalam suatu range tertentu tergantung pada nilai input yang
diberikan. Tujuan pembelajaran ini adalah mengelompokkan
unit–unit yang hampir sama dalam suatu area tertentu.
Pembelajaran ini biasanya sangat cocok untuk pengelompokan
(klasifikasi) pola. Contoh algoritma jaringan saraf tiruan yang
menggunakan metode unsupervised ini adalah competitive,

80
hebbian, kohonen, LVQ (Learning Vector Quantization),
Neocognitron. Berikut contoh penerapanya unsupervised
learning adalah:

Metode kohenen.
Metode kohonen adalah Jaringan syaraf self organizing
yang sering disebut juga topology preserving maps, yang
mengansumsikan sebuah struktur topologi antar unit-unit
cluster. Jaringan syaraf self organizing ini pertama kali
diperkenalkan oleh Tuevo Kohonen dari University of Helsinki
pada tahun 1981. Jaringan kohonen SOM (Self Organizing Map)
merupakan salah satu model jaringan syaraf yang menggunakan
metode pembelajaran unsupervised. Jaringan kohonen SOM
terdiri dari 2 lapisan (layer), yaitu lapisan input dan lapisan
output. Setiap neuron dalam lapisan input terhubung dengan
setiap neuron pada lapisan output. Setiap neuron dalam lapisan
output merepresentasikan kelas dari input yang diberikan.
Penulisan istilah yang ada pada struktur jaringan kohonen Self
Organizing Map adalah sebagai berikut:
X : Vektor input pembelajaran.
X = (x1, x2, xj,.,xn)
: Learning rate
: Radius neighborhood

81
X1 : Neuron/node input
w0j : Bias pada neuron output ke-j
Yj : Neuron/node output ke-j
C : Konstanta
Berikut ini adalah tahapan Algoritma dari kohonen self
organizing map adalah sebagai berikut:
Langkah 1. Inisialisasikan bobot wij. Set parameter-parameter
tetangga dan set parameter learning rate.
Langkah 2. Selama kondisi berhenti masih bernilai salah,
kerjakan langkah-langkah berikut ini:
a. Untuk masing-masing vektor input x, lakukan:
Titik Pusat
(0,0) x, y
b. Untuk masing-masing j, lakukan perhitungan:
D (j) =)
c. Tentukan J sampai D (j) bernilai minimum.
d. Untuk masing-masing unit j dengan spesifikasi tetangga
tertentu pada j dan untuk semua I, kerjakan:
wij (baru) = (wij) lama + [xi – wij (lama)]
e. Perbaiki learning rate ()
f. Kurangi radius tetangga pada waktu-waktu tertentu.
g. Tes kondisi berhenti.

82
Sebagai contohnya, data yang digunakan adalah penelitian
berupa realisasi penerimaan keuangan daerah tingkat II
suatu propinsi serta jumlah penduduk pertengahan
tahunnya dalam sebuah kabupaten/kota. Atribut-atribut
yang digunakan dalam penelitian ini adalah:
a. X1 = Jumlah penduduk
b. Pendapatan Daerah Sendiri (PDS) yang terdiri dari:
1. Pendapatan Asli Daerah (PDA) yang berupa:
ü X2 = Pajak Daerah
ü X3 = Retribusi Daerah
ü X4 = Bagian laba usaha daerah
ü X4 = Penerimaan lain-lain

2. Bagian pendapatan dari pemerintah dan instansi yang lebih


tinggi yang berupa:
ü X6 = Bagi hasil pajak
ü X7 = Bagi hasil bukan pajak
ü X8 = Subsidi daerah otonom
ü X9 = Bantuan pembangunan
ü X10= Penerimaan lainnya
3. Pinjaman pemerintah daerah
ü X11= Pinjaman Pemerintah Pusat
ü X12= Pinjaman Lembaga Keuangan Dalam Negeri

83
ü X13= Pinjaman Dari Luar Negeri
Data set yang digunakan sebagai input tersebut
dinormalkan dengan nilai rata-rata sebagai acuan yang analog
dengan persamaan:
f(x)-
Berdasarkan data yang tesebut maka akan terlihat untuk
masing-masing atribut memiliki nilai terendah, nilai tertinggi,
dan nilai rata-rata. Selanjutnya dari nilai rata-rata tersebut maka
akan menjadi acuan untuk menentukan input dari data menuju
ke input pada jaringan saraf tiruan kohonen dengan pengkodean
1 dan 0. Kemudian data-data input tersebut akan diproses oleh
JST sehingga menghasilkan output berupa kelompok daerah
tingkat II berdasarkan penerimaan daerah. Jaringan kohonen
SOM ini akan menghubungkan antara neuron input dan neuron
output dengan koneksi bobot, yang mana bobot ini selalu
diperbaiki pada proses iterasi pelatihan jaringan. Kemudian
aliran informasi system JST ini akan mengelompokan tingkat
kesejahteraan daerah tingkat II, diawali dengan dimasukkannya
data penerimaan daerah. Data-data inilah yang akan berfungsi
sebagai input awal selain parameter input berupa learning rate
(), dan radius neighborhood (R).
Teknik self-organizing map (SOM) dikenalkan pertama
kali oleh Teuvo Kohonen, merupakan proses unsupervised

84
learning yang mempelajari distribusi himpunan pola-pola tanpa
informasi kelas.
Ide dasar teknik ini, dipahami dari bagaimana proses otak
manusia menyimpan gambar/pola yang telah dikenalinya
melalui mata, kemudian mampu mengungkapkan kembali
gambar/pola tersebut. Pada mata kita proses tersebut adalah
realisasi pemetaan mapping dari retina menuju cortex. Oleh
karenanya aplikasi model JST ini banyak digunakan pada
pengenalan obyek/citra visual (visual image).
Proses pemetaan terjadi bila sebuah pola berdimensi bebas
diproyeksikan dari ruang masukan ke posisi pada array
berdimensi satu atau dua. Metoda ekstraksi informasi tersebut
dapat dinyatakan sebagai observasi terhadap sebuah pola
melalui jendela yang terbentuk oleh lokasi unit-unit luasan pola.
Pola yang dikenali hanya pola yang batasan unit lokasinya jelas
berbeda, biasanya observasi hanya dapat dilakukan bila
lokasi pola tersebut mendapat iluminasi/ pencahayaan
yang cukup/normal.
Meskipun SOM adalah proses klasifikasi, namun tidak
seperti teknik klasifikasi atau pengelompokan yang umum
digunakan, hanya menyediakan penataan kelas-kelas
berdasarkan topologinya. Kemiripan pada pola masukan
dipertahankan agar tidak berubah sampai pada keluaran proses.

85
Topologi untuk mempertahankan pola kemiripan pada proses
SOM membuatnya berguna sekali, khususnya pada klasifikasi
data yang memiliki jumlah kelas yang besar. Pada klasifikasi
sampel subcitra, sebagai contoh, mungkin ada sejumlah besar
kelas yang perubahannya dari satu kelas ke kelas selanjutnya
tidak begitu jauh (membuatnya sulit untuk mendefiniskan batas
kelas yang jelas).
Pada jaringan saraf tiruan ini lapisan masukan (pertama)
terhubung secara penuh dengan lapisan kompetitif (kedua). Jadi
setiap unit masukan terhubung ke semua unit keluaran dan pada
hubungan tersebut terdapat nilai penimbang (weight) tertentu.

Gambar 2.18. Struktur Dasar Pelatihan Mandiri Kohonen


86
Kita melakukan pengetesan terhadap salah satu data
yang ada, misal kita ambil x = [-1-1] dan kita masukkan pada
data ke-4 maka hasilnya adalah sebagai berikut:
Y = 2 + (-1 * 2) + (-1 * 2) = -2
Karena nilai yin = -2, maka y=f (yin) = f (-2) = -1 (cocok dengan
output yang diberikan).

Metode pelatihan mandiri kohonen


Menentukan unit keluaran pemenang yaitu yang
memiliki derajat kemiripan terbesar diantara semua vektor
penimbang wi dan vektor masukan e. Metoda jarak Euclidean
digunakan untuk menentukan unit pemenangnya

(2.3)
dimana c adalah indek pemenang.
Menentukan tetangga disekitar pemenang. Memperbarui
penimbang pemenang dan tetangganya

(2.4)
dimana NBc adalah tetangga disekitar pemenang c, dan η
adalah laju pelatihan. Untuk menentukan tetangga dapat
menggunakan fungsi Gaussian:

87
(2.5)
dimana pi dan pc adalah posisi keluaran dan σ adalah cakupan
tetangga

Gambar 2.19. Tetangga di sekitar pemenang

Metoda Hopfield
Metoda ini dikembangkan oleh John Hopfield pada
tahun 1980. Cara pemahaman paling mudah JST Hopfield bila
dinyatakan sebagai sebuah memori asosiatip (associative
memory) yang gambaran umumnya adalah sebagai berikut:
Bila ada sebuah JST yang terbentuk dari N X N neuron dimana
N adalah jumlah variabel dari obyek yang akan dioptimasi.
Setiap neuron terhubung penuh satu sama lainnya. Berikut
gambar ilustrasi metode Hopfield.

88
Gambar 2.20. Layout dari JST Hopfield

89
Jaringan Syaraf Tiruan Hopfield merupakan salah satu
metoda optimasi untuk pencarian nilai minimum dari kombinasi
fungsi obyektif. Sebagai contoh untuk menjelaskan metoda ini
secara rinci digambarkan/dianalogikan sebagai suatu problema
penyelesaian permasalahan rute perjalanan salesman/
pramuniaga. Permasalahan ini dituntut untuk menentukan
rute/jalur terpendek yang bisa ditempuh oleh seorang sales
dengan beberapa ketentuan antara lain:
Setiap kota harus dikunjungi satu kali saja.
Setiap berhenti hanya mungkin untuk mengunjungi satu kota
saia.
Dicari rute dengan total jarak minimum.
Jika terdapat 4 kota, maka dapat didefinisikan matrik 4 x 4
berisikan neuron /elemen biner sebagai berikut:

Tabel 2.21 Contoh neuron permasalahan rute sales

90
Terlihat bahwa setiap kolom hanya ada 1 neuron yang
bernilai "l" dan setiap baris hanya terdapat neuron yang bernilai
"l,'. Dengan maksud bahwa hanya diperbolehkan mengunjungi
satu kota saja dalam tiap kunjungan, dan setiap kota hanya
diperbolehkan dikunjugi satu kali saja. Contoh kota ke-3
dikunjugi pada urutan ke – 2 setelah kota pertama. Berikutnya
kota ke tiga dan terakhir kota ke - 4.
Dari tetapan tetapan tersebut dapat disusun sebuah persamaan
energi yang merupakan gabungan dari beberapa fungsi obyektif
sebagai berikut:

Dimana:
A, B, C, D, n’ = Konstanta
Vxy = Aktifasi antara neuron x dan neuron y
dxy = Parameter jarak neuron x dan neuron y
Pada setiap notasi penjumlahan tersebut, dimaksudkan
mempunyai batas (range) dari 1 ke n dimana n mengacu pada
indek yang berhubungan dengan permasalahan, untuk problema
perjalanan pramuniaga tersebut adalah jumlah kota. persamaan

91
energi tersebut merupakan implementasi dari tetapan – tetapan
yang digunakan dalam masalah ini. Pada suku pertama
persamaan, jika merupakan rute yang valid menyatakan bahwa
tidak boleh lebih dari satu elemen yang bernilai "1" pada setiap
barisnya, ini berarti bahwa tidak ada satu kota yang dikunjungi
lebih dari satu kali.
Suku kedua jika merupakan rute yang valid menyatakan
bahwa tidak boleh lebih dari satu elemen yang bernilai "1" pada
setiap kolomnya, ini berarti bahwa tidak mungkin dua kota
dikunjungi dalam waktu yang sama.
Pada suku ketiga terdapat variabel dpi ini menunjukkan
jarak kota k ke kota j, atau parameter lainnya sesuai dengan
permasalahan yang dioptimasi.
Sebagai contoh perhitungan berikut matrik jarak antara empat
kota yang ada:

Tabel 2.3 Matrik jarak empat kota

92
Seperti telah dijelaskan bahwa masing-masing suku pada
persamaan energi menggambarkan keadaan dari suatu rute yang
didapat. Kita tetapkan suatu rute perjalanan sebagai berikut, kota
pertama kota 1, diteruskan ke kota 2 kemudian kota 3 dan
terakhir 4 sebelum kembali ke kota 1. Secara jelas ditulis
kembali rute perjalanan adalah: l-2-3-4-1.
Jika rute ini merupakan sebuah rute yang benar maka
suku pertama dan kedua dari persamaan energi akan bernilai nol
(0). Suku ketiga dengan sendirinya akan bernilai nol (0).
Sehingga berapa jarak total yang ditempuh pada rute tersebut
dapat dihitung dengan suku ketiga dari persamaan energi yang
dituliskan kembali berikut ini.

Diketahui bahwa D adalah konstanta energi dan diambil 0.5,


maka persamaan (x.25) dapat dikembangkan sebagai berikut:

93
Untuk data jarak antar kota seperti tabel x.2 dapat dibuat
matrik jarak sebagai berikut:

Sedangkan untuk rute 1 - 2 - 3 - 4 - 1 matrik neuronnya adalah


sebagai berikut:

94
Sehingga dengan memasukkan nilai dan didapatkan
perhitungan sebagai berikut:

Untuk beberapa kombinasi rute yang bisa dicapai


adalah beberapa rute dengan jarak total yang ditempuh:

95
Tabel 2.4 Kombinasi rute 4 kota

C. Pembelajaran Semi Terarah (Semi-Supervised Learning)


Pembelajaran semi terarah adalah tipe yang
menggabungkan antara supervised dan unsupervised untuk
menghasilkan suatu fungsi. Algoritma pembelajaran semi
terarah menggabungkan kedua tipe algoritme di atas, dimana
diberikan contoh masukan-keluaran yang tepat dalam jumlah
sedikit dan sekumpulan masukan yang keluarannya belum
diketahui. Algoritma ini harus membuat sebuah rangkaian

96
kesatuan antara dua tipe algoritma diatas untuk dapat menutupi
kelemahan pada masing-masing algoritma.
Misalnya sebuah sistem yang dapat menebak umur
seseorang berdasarkan foto orang tersebut. Sistem tersebut
membutuhkan beberapa contoh, misalnya yang didapatkan
dengan mengambil foto seseorang dan menanyakan umurnya
(pembelajaran terarah). Akan tetapi, pada kenyataannya
beberapa orang sering kali berbohong tentang umur mereka
sehingga menimbulkan noise pada data. Oleh karena itu,
digunakan juga pemelajaran tak terarah agar dapat saling
menutupi kelemahan masing-masing, yaitu noise pada data dan
ketiadaan contoh masukan-keluaran.

D. Reinforcement Learning
Reinforment Learning adalah tipe yang mengajarkan
bagaimana cara bertindak untuk menghadapi suatu masalah,
yang suatu tindakan itu mempunyai dampak.
Reinforment Learning memiliki algoritma pembelajaran
yang diterapkan pada agen cerdas agar ia dapat menyesuaikan
dengan kondisi dilingkungannya, hal ini dicapai dengan cara
memaksimalkan nilai dari hadiah ‘reward’ yang dapat dicapai.
Suatu hadiah didefinisikan sebuah tanggapan balik ‘feedback’
dari tindakan agen bahwa sesuatu baik terjadi. Sebagai contoh

97
sangatlah sulit untuk memrogram sebuah agen untuk
menerbangkan sebuah helikopter, tetapi dengan memberikan
beberapa nilai negatif untuk menabrak, bergoyang-goyang, serta
melenceng dari jalur tujuan perlahan-lahan agen tersebut dapat
belajar menerbangkan helikopter dengan lebih baik.
Cara menggunakan algoritma ini adalah mesin dilatih
untuk membuat keputusan tertentu. Ia bekerja dengan cara ini,
mesin terkena lingkungan dimana ia melatih dirinya untuk terus
melakukan trial and error. Mesin ini belajar dari pengalaman
masa lalu dan mencoba untuk menangkap pengetahuan terbaik
untuk membuat keputusan bisnis yang akurat. Contoh
Reinforcement Learning: Markov Decision Process.

E. Developmental Learning Algorithm


Developmental learning algorithm adalah sebuah bidang
yang bertujuan untuk mempelajari mekanisme pengembangan,
arsiterktur, dan batasan yang memungkinkan dibuatnya metode
pembelajaran yang berlaku seumur hidup, serta bersifat terbuka
terhadap kemampuan dan pengetahuan untuk dipasangkan
kepada mesin.

98
F. Transduction
Transduction adalah tipe yang hampir mirip dengan
Supervised Learning, tapi tidak secara jelas untuk membangun
suatu fungsi melainkan mencoba memprediksi output baru yang
berdasarkan dari input baru, masukan pelatihan input dan output

G. Learning to Learn
Learning to learn adalah tipe yang menggunakan
algoritma untuk mempelajari yang sebelumnya.

2.8 Model-Model Jaringan Syaraf Tiruan (JST)


Terdapat beberapa jenis jaringan syaraf tiruan
(JST)/Artificial Neural Network (ANN)/Neural network (NN),
dibedakan berdasarkan type, algoritma, learning methode
maupun activation function, yang digunakan.
Macam macam Neural Network yaitu yang berkaitan dengan
koneksi antar neuron antara lain:
a. Feedforward
Feedforward type merupakan type Artificial Neural Network
dimana neuron pada suatu layer hanya bisa berkoneksi
dengan neuron yang berada pada layer yang berbeda.
Yang termasuk dalam struktur feedforward
1. Single-layer perceptron

99
2. Multilayer perceptron
3. Radial-basis function networks
4. Higher-order networks
5. Polynomial learning networks

2. Feedback
Sedangkan feedback type merupakan type Artificial
Neural Network dimana neuron pada suatu layer bisa berkoneksi
dengan neuron pada layer lainnya dan juga dengan neuron pada
layer yang sama.
Yang termasuk dalam stuktur recurrent (feedback)
1. Competitive networks
2. Self-organizing maps
3. Hopfield networks
4. Adaptive-resonanse theory models
Algoritma matematis yang digunakan Neural Network untuk
melakukan proses belajar adalah sebagai berikut.
1. Backpropagation, merupakan suatu algoritma belajar
(learning algorithm) yang digunakan oleh Artificial
Neural Network pada metode supervised. Salah satu
bentuknya adalah delta learning rule.
2. Delta learning rule, merupakan algoritma belajar
(learning algorithm) yang digunakan oleh Artificial

100
Neural Network pada metode supervised, dimana
perubahan weight diperoleh dari hasil perkalian antara
input, error dan learning rate.
3. Forwardpropagation, merupakan algoritma dimana
output neuron hanya dipropagasi pada satu arah dari
input ke output.
4. Hebb learning rule, merupakan algoritma yang
digunakan dengan supervised learning, khususnya pada
perceptron, dimana perubahan weight diperoleh dari
perkalian input, output dan learning rate.

Simulated annealing, merupakan tipe khusus dari learning


algorithm, khususnya untuk Artificial Neural Network tipe
feedback.
Berikut adalah beberapa jenis Artificial Neural Network yang
biasa digunakan adalah sebagai berikut:

(1) Perceptron.
Pertama kali diperkenalkan oleh F. Rosenblatt pada
tahun 1958. Umumnya hanya digunakan untuk operasi logic
sederhana seperti AND atau OR, tidak untuk operasi logic yang
agak kompleks seperti XOR.

101
Gambar 2.21 Perceptron
Type : Feedforward.
Neuron layer : 1 input layer, 1 output layer.
Activation function : Hard limiter.
Learning methode : Supervised.
Learning algorithm : Hebb learning rule.
Penggunaan : Simple logical operations,
pattern classification.

Jaringan lapis tunggal perseptron (single layer


perceptron) terdiri dari beberapa unit pemroses (neuron) seperti
pada gambar diatas, yang terhubung dan mempunyai beberapa
masukan serta beberapa keluaran. Single Perceptron sering
disebut juga dengan Perceptron. Perceptron menghitung jumlah

102
nilai perkalian penimbang dan masukan dari parameter
permasalahn yang kemudian dibandingkan dengan nilai
treshold. Bila nilai keluaran lebih besar dari treshold maka
keluarannya adalah satu, sebaliknya adalah nol.
Dimana xi adalah sinyal masukan dan wji adalah penimbangnya.
Bila I>T maka keluaran O = 1 sebaliknya O = 0 dimana T adalah
treshold.

(2) Multi-layer-perception.
Diperkenalkan oleh M. Minsky dan S. Papert pada tahun
1969, merupakan pengembangan dari Perceptron dan
mempunyai satu atau lebih hidden layers yang terletak antara
input dan output layers. Multi-layer-perceptron dapat
digunakan untuk operasi logik termasuk yang kompleks seperti
XOR.

Gambar 2.22 Multi Layer Perceptron

103
Type : Feedforward.
Neuron layers : 1 input layer, 1 atau lebih hidden layers
dan 1 output layer.
Activation function : Hard limiter/sigmoid.
Learning methode : Supervised.
Learning algorithm : Delta learning rule atau
backpropagation
Penggunaan : Complex logical operations,
patten classification.

(3) Jaringan Backpropagation


Diperkenalkan oleh G.E. Hinton, E. Rumelhart dan R.J.
Williams pada tahun 1986, merupakan tipe yang paling baik
(powerfull).

Gambar 2.23 Backpropagation

104
Type : Feedforward.
Neuron layers : 1 input layer, 1 atau lebih hidden layers
dan 1 output layer.
Activation function : Sigmoid.
Learning methode : Supervised.
Learning algorithm : Backpropagation.
Penggunaannya : Complex logical operations,
patten classification, speech analysis.
Algoritma backpropagasi termasuk metode yang di desain untuk
operasi pada jaringan feed foward multi lapis. Metode ini telah
banyak digunakan secara luas, diantaranya diterapkan di bidang
finansial, pengenalan pola tulisan tangan, pengenalan pola suara
sistem kendali, pengolah citra medika, dan masih banyak lagi.
Secara garis besar cara kerja metode ini adlah jika jaringan
diberikan pola masukan maka pola tersebut menuju ke unit-unit
pada lapisan tersembunyi untuk diteruskan ke unit-unit lapisan
keluaran. Kemudian unit-unit lapisan keluaran memberikan
tanggapan yang disebut keluaran jaringan. Jika keluaran
jaringan tidak sama dengan keluaran yang diharapkan, maka
keluaran akan menyebar mundur pada lapisan tersembunyi lalu
ke unit pada lapisan masukan. Sehingga metode ini disebut
backpropagation.

105
(4) Hopfield Net.
Diperkenalkan oleh ahli fisika J.J. Hopfield tahun 1982
dan menjadi tipe Artificial Neural Network yang disebut
“thermodynamical models”. Terdiri dari sekumpulan neurons,
tidak ada perbedaan antara input dan output neurons.

Gambar 2.24 Hopfield Net


Type : Feedback.
Neuron layers : 1 matrix.
Activation function : Signum/hard limiter.
Learning method : Unsupervised.
Learning algorithm : Delta learning rule/simulated annealing
(paling banyak digunakan).

106
Penggunaannya : Patten association,
optimization problems.
Metode dapat dinyatakan sebagai sebuah memori asosiatip
(associative memory). JST Hopfield merupakan salah satu
metode optimasi untuk pencarian nilai minimum dari kombinasi
fungsi obyektif.

(5) Kohonen Feature Map.


Diperkenalkan oleh Teuvo Kohonen (University of
Helsinki) tahun 1982.

Gambar 2.25 Kohenen Feature Map

107
Type : Feedforward/Feedback.
Neuron layers : 1 input layer, 1 map layer.
Activation function : Sigmoid.
Learning methode : Unsupervised.
Learning algorithm : Selforganization.
Penggunaanya : Patten association, optimization
problems, simulation.

Metode ini merupakan proses unsupervised learning


yang mempelajari distribusi himpunan pola-pola tanpa
informasi kelas. Ide dasar teknik ini dipahami dari bagaimana
proses otak manusia menyimpan gambar/pola yang telah
dikenalinya melalui mata, kemudian mampu mengungkapkan
kembali gambar/pola tersebut. Oleh karena itu, aplikasi model
ini banyak digunakan pada pengenalan obyek/citra visual (visual
image).

108
BAB III
SINGLE LAYER PERCEPTRON
PERCEPTRON

DAFTAR ISI

3.1 Pengertian Perceptron


3.2 Aturan Pembelajaran
3.3 Arsitektur Perceptron
3.4 Latihan soal
3.5 Aplikasinya dengan matlab

109
3.1 Pergertian Perceptron
Perceptron adalah bagian dari metode Jaringan Syaraf
Tiruan training yang paling sederhana, menggunakan prosedur
algoritma training yang pertama kali. Terdiri dari neuron tunggal
dengan bobot synaptic yang diatur menggunakan fungsi aktifasi
hard limit.
Pada tahun 1943 Warren McCulloch dan Walter Pitts
memperkenalkan salah satu artificial neurons. Fitur utama dari
model neuron mereka adalah bahwa jumlah bobot sinyal input
dibandingkan dengan ambang batas untuk menentukan neuron
output. Ketika jumlah lebih besar dari atau sama dengan ambang
batas, output adalah 1. Ketika jumlah kurang dari ambang batas,
keluaran adalah 0. Mereka tetap meneruskan penelitian dengan
menunjukkan bahwa jaringan neuron ini pada prinsipnya bisa
menghitung setiap fungsi aritmetika atau logika. Tidak seperti
jaringan biologis, parameters jaringan mereka harus dirancang,
karena tidak ada metode pelatihan yang tersedia. Namun,
hubungan yang dirasakan antara biologi dan komputer digital
menghasilkan banyak minat
Pada akhir 1950-an, Frank Rosenblatt dan beberapa
peneliti lain mengembangkan suatu kelas jaringan saraf yang
disebut Perceptrons. Neuron dalam jaringan yang mirip dengan
McCulloch dan pitts. Kunci kontribusi Rosenblatt adalah

110
pengenalan aturan belajar untuk pelatihan jaringan perceptron
untuk memecahkan masalah pengenalan pola [Rose58]. Ia
membuktikan bahwa aturan belajarnya akan selalu bertemu
untuk bobot jaringan yang benar, jika bobot yang ada
memecahkan masalah. Pembelajarannya sederhana dan
otomatis. Contoh perilaku yang layak.
Model jaringan perceptron ditemukan Rosenblatt (1962)
dan Minsky-Papert (1969). Model tersebut merupakan model
yang memiliki aplikasi dan pelatihan yang paling baik pada era
tersebut.
diajukan ke jaringan yang belajar dari kesalahan.
Perceptron bahkan bisa belajar ketika diinisialisasi dengan nilai
acak untuk bobot dan bias.
Sayangnya, jaringan perceptron secara inheren terbatas.
Keterbatasan ini dipublikasikan secara luas dalam buku
Perceptrons oleh Marvin Minsky dan Seymour Papert. Mereka
menunjukkan bahwa jaringan perceptron tidak mampu
melaksanakan fungsi dasar tertentu. Hal ini tidak sampai tahun
1980-an, dimana keterbatasan ini diatasi dengan memperbaiki
jaringan perceptron (multilayer) dan aturan belajar yang saling
terkait/berhubungan.
Saat ini perceptron masih dipandang sebagai jaringan
penting. Menyisakan suatu jaringan yang cepat dan handal

111
untuk kelas masalah yang dapat dipecahkan. Selain daripada itu,
pemahaman tentang operasi dari perceptron menyediakan dasar
yang baik untuk memahami jaringan yang lebih kompleks.

3.2 Aturan Pembelajaran


Pembelajaran berarti belajar dari kesalahan. Semakin
sering jaringan syaraf tiruan ini digunakan semakin cerdaslah
dia, artinya kesalahannya semakin kecil. Kecepatan peningkatan
kecerdasan ditentukan oleh nilai parameter kecepatan
pembelajaran (learning rate) disimbolkan dengan α.
Bagaimanapun, jika sampai kali ke-N komputasi ulang
(istilahnya: N iterasi) kesalahannya tetap besar maka proses
pembelajaran dihentikan dan jaringan digunakan apa adanya.
Ketika kita mulai pembahasan kita tentang aturan pembelajaran
perceptron, kami ingin mendiskusikan aturan pembelajaran
secara umum. Aturan belajar yang kami maksud adalah sebuah
prosedur untuk memodifikasi bobot dan bias dari jaringan.
Prosedur ini juga dapat disebut sebagai algoritma pelatihan.
Tujuan aturan pembelajaran untuk melatih jaringan
untuk melakukan beberapa tugas. Ada banyak jenis aturan
belajar jaringan saraf. Mereka dibagi dalam 3 kategori besar:
pembelajaran dengan pengawasan (supervised learning),
pembelajaran tanpa pengawasan (unsupervised learning) dan

112
pembelajaran penguatan tanpa pengawasan (atau dinilai)
(reinforcement learning). Ada 3 mekanisme penting proses
pembelajaran: 1. Hitung selisih keluaran (a) dari target (t) 2. Jika
besarnya selisih dapat ditolerir maka a diterima, tetapi jika
selisih tersebut tidak dapat ditolerir dan banyaknya iterasi belum
N kali maka rubahlah w dan b, lalu lakukan komputasi ulang. 3.
Nilai baru w dan b bergantung kepada nilai α. Segera setelah
jaringan mengalami pembelajaran, jaringan tersebut dapat
digunakan untuk menyelesaikan masalah yang sesuai dengan
konstruksi jaringan tersebut.
Aturan pembelajaran perceptron lebih handal jika
dibandingkan dengan aturan lain seperti Hebbrule, dengan
asumsi yang sesuai prosedur belajar iteratifnya dapat dibuktikan
dengan konvergennya ke bobot yang benar, yaitu bobot yang
memungkinakan jaringan menghasilkan nilai output yang benar
untuk setiap pola input pelatihan.

3.3 Arsitektur Perceptron


Sebelum membahas aturan pembelajaran perceptron,
kita memperdalam pemahaman tentang jaringan perceptron.
Jaringan perceptron yang umum ditunjukkan dengan adanya
Output dari jaringan diberikan oleh a = hardlim (Wp + b).

113
Dengan menggunakan fungsi transfer, bukan hardlim, tapi tidak
mempengaruhi kemampuan jaringan.
Arsitektur perceptron dapat belajar mengenali pola
dengan metode pembelajaran terbimbing/supervised. Perhatikan
gambar berikut ini

Gambar 3.1 Arsitektur Perceptron


Keterangan
Target = Nilai yang diinginkan
Output = Nilai yang keluar dari neuron
Proses Compare digunakan untuk membandingkan antara output
dengan target, jika terjadi perbedaan maka weight/bobot di
adjust/atur sampai nilai ouput = (mendekati) nilai target.

114
Gambar 3.2. Jaringan Perceptron
Dalam pengembangan aturan jaringan perceptron dapat dengan
mudah mereferensikan elemen-elemen individu dari output
jaringan. Yang pertama dilakukan dengan mempertimbangkan
matrik bobot jaringan sebagai berikut:

(3.1)

Selanjutnya mendefinisikan sebuah vector yang terdiri dari


elemen-elemen W dari baris ke- i sebagai berikut:

115
(3.2)

Sekarang dapat mempartisi matrik bobot sebagai berikut:

(3.3)

Sehingga didapatkan persamaan berikut:

(3.4)

Berikut dapat digambarkan fungsi aktivasi seperti dibawah ini:

116
Gambar 3.3 Fungsi aktivasi hardlim
Perlu diingatkan bahwa fungsi transfer hardlim seperi gambar
atas dapat didefinisikan sebagai:

(3.5)
Oleh karena itu jika produk inner dari baris ke-i dari
matrik bobot dengan vektor input lebih besar dari atau sama
dengan –bi, output akan menjadi 1, sebaliknya output akan
menjadi 0. Jadi setiap neuron dalam jaringan membagi masukan
ruang menjadi dua daerah. Hal ini berguna untuk menyelidiki
batas-batas antara daerah ini. Kita akan mulai dengan kasus
sederhana dari single-neuron perceptron dengan dua input.

117
Single-Neuron Perceptron
Dapat mempertimbangkan dua input perceptron dengan satu
neuron, seperti yang ditunjukkan pada gambar dibawah ini:

Gambar 3.4 Two-Input/Single-Output Perceptron

Keluaran dari jaringan ini ditentukan dengan berikut:

(3.6)

Batas Keputusan (Decision Boundary)


Batas keputusan ditentukan oleh vektor input dimana n input
jaringan adalah nol sebagai berikut:

(3.7)

118
Untuk membuat contoh yang lebih konret, kita menetapkan
nilai-nilai berikut untuk bobot dan bias seperti dibawah ini:

(3.8)
Batas keputusan adalah

((3.9)

Dapat mendefinisikan sebuah garis dalam ruang input.


Di satu sisi garis jaringan output akan menjadi 0, pada baris dan
pada sisi lain dari garis output akan menjadi 1. Untuk menarik
garis, untuk menemukan titik-titik dimana ia memotong sumbu
p1 dan p2. Untuk menemukan p2 yang memintas tentukan p1 =
0.
(3.10)

Untuk menemukan p1 yang memintas, tentukan p2 = 0.

(3.11)

Batas keputusan yang dihasilkan diilustrasikan pada


Gambar dibawah ini. Untuk mengetahui sisi mana dari batasan
yang berhubungan dengan output 1, kita hanya perlu menguji
119
satu titik. Untuk input p = [2 0] T, keluaran jaringan akan
menjadi

(3.12)

Oleh karena itu, Keluaran jaringan akan menjadi 1 untuk


wilayah di atas dan ke kanan dari batasan keputusan. Areanya
ditandai dengan daerah yang diarsir seperti gambar dibawah
ini:

Gambar 3.5 Batas Keputusan untuk Dua-Input Perceptron


Selanjutnya dapat menemukan batas keputusan secara
grafis. Langkah pertama adalah perhatikan bahwa batas selalu

120
orthogonal, seperti yang digambarkan dalam angka yang
berdekatan. Batas didefinisikan oleh

(3.13)
Untuk semua titik diperbatasan, produk inner dari vektor
input dengan bobot vektor adalah sama. Ini menunjukkan bahwa
semua vektor input ini akan memiliki proyeksi yang sama ke
vektor bobot, sehingga mereka harus terletak pada garis
orthogonal dengan bobot vektor. Sebagai tambahan, setiap
vektor di daerah bayangan seperti gambar diatas, akan memiliki
produk inner yang lebih besar dari -b, dan vektor di daerah yang
tidak terarsir memiliki produk inner yang lebih kecil dari -b.
Oleh karena itu vektor bobot 1w akan selalu menunjuk ke arah
dimana neuron output adalah 1.
Setelah memilih salah satu vektor bobot dengan orientasi
sudut yang benar, nilai bias dapat dihitung dengan memilih titik
pada batas dan memenuhi persamaan diatas (3.13).
Marilah kita menerapkan beberapa konsep ini untuk desain
sebuah jaringan perceptron untuk melaksanakan fungsi logika
sederhana: gerbang AND. Pasangan input/target untuk gerbang
AND adalah

(3.14)

121
Gambar 3.6 tampilan ruang input
Gambar diatas adalah menggambarkan masalah secara grafis. Ia
menampilkan ruang input, dengan masing-masing vector input
ditandai sesuai dengan targetnya. Lingkaran gelap
menunjukkan bahwa target adalah 1, dan lingkaran terang
menunjukkan bahwa target adalah 0.
Langkah pertama dari desain adalah untuk memilih batas
keputusan. Kita dapat memiliki garis yang memisahkan
lingkaran hitam dan lingkaran terang. Ada sejumlah solusi yang
tidak terbatas untuk masalah ini. Tampaknya masuk akal untuk
memilih garis yang jatuh “di tengah” antara dua kategori input,
seperti ditunjukkan pada gambar yang berdekatan. Selanjutnya
kami ingin memilih vector bobot yang orthogonal terhadap batas
keputusan. Vektor bobot tersebut dapat berupa sembarang
panjang, sehingga terdapat kemungkinan yang tak terhingga.
Satu pilihan adalah

122
(3.15)

Gambar 3.7 Grafik dengan gerbang AND


Seperti yang ditunjukkan pada gambar diatas. Akhirnya
menemukan bias, b. dapat melakukan dengan memilih sebuah
titik pada batas keputusan dan memenuhi persamaan (3.13). jika
menggunakan p= [1.5 0] kita menemukan seperti dibawah ini:

(3.16)

(3.17)
Sekarang dapat menguji jaringan pada salah satu
pasangan input/target. Jika menerapkan p2 ke jaringan, output
akan yang sama dengan output target t2. Lakukan hal yang sama
untuk menguji semua input apakah sudah diklasifikasi dengan
benar. Untuk berekperimen dengan batasan keputusan, gunakan
disain jaringan Neural untuk memperagakan batas keputusan.

123
Cara perceptron memahami proses pembelajaran
Sebelum membahas ke aplikasi, perlu memahami
bagaimana perceptron dalam pembelajaran, berikut ilustrasi
seperti dibawah ini:

Gambar 3.8 Proses Pembelajaran Perceptron

Keterangan.
p = Input jaringan
w = Bobot
b = bias
Untuk input jaringan akan diberikan pembobotan (w),
kemudian diproses oleh elemen dimana nilai input akan
dikalikan dengan nilai pembobotannya.

124
Perceptron ditraining dengan menggunakan sekumpulan
pola yang diberikan kepadanya secara berulang ulang selama
latihan. Setiap pola yang diberikan merupakan pasangan pola
masukan dan pola yang diinginkan sebagai target. Perceptron
melakukan penjumlahan terhadap tiap tiap masukannya dan
menggunakan fungsi ambang untuk menghitung keluarannya.
Kemudian keluaran dibandingkan dengan hasil yang diinginkan,
perbedaan yang dihasilkan dari perbandingan ini digunakan
untuk merubah bobot bobot dalam jaringan. Demikian dilakukan
berulang ulang sampai dihasilkan keluaran yang sesuai dengan
hasil yang diinginkan.

Keterpisahan Linier
Berbagai penelitian dilakukan untuk mengetahui
kemampuan perceptron dalam klasifikasi pola. meskipun
perceptron mampu menyelesaikan banyak masalah klasifikasi
pola tetapi kadang kadang konvergensi terjadi dalam waktu yang
sangat lama, kelemahan ini terjadi karena keterbatasan
perceptron yang tidak mengijinkan adanya lapisan hiden layer
diantara lapisan input dan outputnya.
Sehingga didalam pengklasifikasian pola hal ini
menyebabkan perceptron hanya mampu memisahkan pola yang
terpisah secara linier.

125
Konsep keterpisahan linier menyatakan bahwa pola
dikatakan terpisah secara linier jika pola tersebut dapat
dipisahkan oleh sebuah garis lurus.

Langkah langkah proses pembelajaran perceptron


Pertama tama bobot dibuat kecil untuk menjaga jangan
sampai terjadi perbedaan yang sangat besar dengan target.
Bobot awal adalah dibuat random, umumnya dalam interval [-
0.5 – 0.5]
Keluaran adalah proses jumlah perkalian antara masukan
dengan bobot.
Jika terjadi perbedaan antara keluaran dengan target, e(k) = a(k)
– t(k), k = iterasi ke- 1, 2, 3, maka:
Bobot diupdate/diatur sedikit demi sedikit untuk mendapatkan
keluaran yang sesuai dengan target
w(k+1) = w(k) + Δw(k)

Langkah pertama.
Inisialisasi Awal dengan mengatur bobot w1, w2, ..., wn interval
[-0.5–0.5], mengatur bias/threshold b, mengatur kec
pembelajaran ŋ, fungsi aktivasi

126
Langkah kedua
Menghitung keluaran dengan mengaktifkan perceptron dengan
memakai masukan p1(k), p2(k), ..., pi(k) dan target yang
dikehendaki t(k). Hitunglah output aktual pada iterasi ke-k = 1
Langkah ke tiga
Menghitung error e(k) = t(k) – a(k) → t(k) = target a (t) =
keluaran perceptron
Langkah ke empat
Mengatur Bobot dengan mengupdate bobot perceptron
wi(k+1) = wi(k) + Δwi(k)
w(k+1) --> bobot baru w(k)--> bobot yg lalu
Δwi(p) adalah pengkoreksian bobot pada iterasi k, yang
dihitung dengan:
Δwi(p) = ŋ x pi(k) x e(k)
Langkah ke lima
Pengulangan dengan menaikkan iterasi k dengan 1 (k=k+1),
kembalilah ke langkah ke dua dan ulangi proses sampai
keluaran=target or mendekati target.

3.4 Latihan soal perhitungan Algoritma Perceptron


Dalam jaringan syaraf tiruan memiliki macam macam algoritma,
salah contoh adalah perceptron sebagai kategori sederhana
mulai dari perhitungan maupun kasus yang tangani.

127
Berikut contoh kasus algoritma perceptron dengan logika AND.
Contoh soal.
Data dibawah ini menggunakan data logika AND sebagai
berikut.
x1 x2 Target
0 0 0
0 1 0
1 0 0
1 1 1

Tabel 3.1 Soal Logika AND


Pertama tama tentukan bobot awal secara acak, misalkan w1 =
0, w2 =0, learning rate = 1, bias = 0, maksimal epoh = 10.
Epoh ke 1
Data ke satu x = {0,0}, bobot w = {0,0}, b=0, Target = 0
y_in = (x1*w1) + (x2*w2) + b
= (0*0) + (0*0) + 0
=0
y = sign (0) = 1
Karena y = target maka hitung error dan update bobot
error = Target - y
=0–1
= -1

128
w1_baru = w1_lama + (learning_rate * error * x1)
= 0 + (1* (-1) * 0)
=0
w2_baru = w2_lama + (learning_rate * error * x2)
= 0 + (1 * (-1) * 0)
=0
bias_baru = bias_lama + (learning_rate*error)
= 0 +(1*(-1)) = -1
Maka didapat bobot baru w = {0,0}, b = -1 → dilanjutkan
untuk data yang ke dua
Data ke dua x = {0,1}, w = {0,0}, b = -1, target = 0
y_in = (x1*w1) + (x2 * w2) + b
= (0 * 0) + (1 * 0) + (-1)
= -1
y = sign (-1) = 0
Karena y = target, tidak perlu dilakukan perbaikan bobot dan
lanjutkan untuk data yang ke tiga
Data ke tiga x = {1,0}, w = {0,0}, b = -1 target = 0
y_in = (x1 * w1) + (x2 * w2) + b
= (1 * 0) + (0 * 0) + (-1)
= -1
y = sign (-1) = 0

129
Karena y = Target, tidak perlu dilakukan perbaikan bobot dan
lanjutkan untuk data yang ke empat
Data ke empat x = {1,1} w = {0,0}, b = -1 target = 1
y_in = (x1 * w1) + (x2 * w2) + b
= (1 * 0) + (1 * 0) + (-1)
= -1
y = sign (-1) = 0
Karena y = target, → hitung error dan update bobot
error = Target - y
=1–0
=1
w1_baru = w1_lama + (learning_rate * error * x1)
= 0 + (1 * (1) * 1)
=1
w2_baru = w2_lama +(learning_rate * error * x2)
= 0 + (1 * (1) * 1)
=1
bias_baru = bias_lama + (learning_rate * error)
= -1 + (1 * 1)
=0
Maka didapat bobot baru w = {1,1}, b = 0 dan lanjutkan untuk
data selanjutnya

130
karena di epoh pertama masih ada yang error, maka perhitungan
di lanjutkan ke epoh berikutnya
Epoh ke dua
Data ke satu dengan x = {0,0}, w = {1,1}, b = 0, target = 0
y_in = (x1 * w1) + (x2 * w2) + b
= (0*1) + (0 * 1) + 0
=0
y = sign (0) = 1
karena y = target, maka hitung error dan update bobot
error = target - y
=0-1
= -1
w1_baru = w1_lama + (learning_rate * error * x1)
= 1 + (1 * (-1) * 0)
=1
w2_baru = w2_lama + (learning_rate * error * x2)
= 1+ (1 * (-1) * 0)
=1
bias_baru = bias_lama + (learning_rate * error)
= 0 + (1 * (-1))
= -1
Didapat bobot baru w = {1,1}, b = -1 dan lanjutkan untuk data
yang ke dua

131
Data ke dua dengan x = {0,1}, w = {1,1}, b= -1, target = 0
y_in = (x1 * w1) + (x2 * w2) + b
= (0 * 1) + (1 * 1) + (-1)
=0
y = sign (0) = 1
karena y ≠ target, maka hitung error dan update bobot
error = target - y
=0-1
= -1
w1_baru = w1_lama +(learning_rate * error * x1)
= 1 + (1 * (-1) * 0)
=1
w2_baru = w2_lama + (learning_rate * error * x2)
= 1+ (1 * (-1) * 1)
=0
bias_baru = bias_lama + (learning_rate * error)
= -1 +(1* (-1))
= -2
Didapat bobot baru w = {1,0}, b = -2 dan lanjutkan untuk data
yang ke tiga
Data ke tiga dengan x = {1,0}, w = {1,0}, b = -2, target = 0
y_in = (x1 * w1) + (x2 * w2) + b
= (1 * 1) + (0 * 0) + (-2)

132
= -1
y = sign (-1) = 0
y = target, maka tidak perlu dilakukan perbaikan bobot dan
lanjutkan untuk data yang ke empat
Data ke empat dengan x = {1,1}, w = {1,0}, b = -2, target = 1
y_in = (x1 * w1) + (x2 * w2) + b
= (1 * 1) + (1 * 0) + (-2)
= -1
y = sign (-1) = 0
y = target, maka hitung error dan update bobot
error = target - y
=1-0
=1
w1_baru = w1_lama + (learning_rate * error * x1)
= 1 + (1 * 1 * 1)
=2
w2_baru = w2_lama + (learning_rate * error * x2)
= 0 + (1 * 1 * 1)
=1
bias_baru = bias_lama + (learning_rate * error)
= -2 + (1 * 1)
= -1

133
Didapat bobot baru w = {2,1}, b = -1. Karena di epoh ke dua
masih ada error, maka di lanjut ke epoh berikutnya.
Epoh ke tiga
Data ke satu dengan x = {0,0}, w = {2,1}, b = -1, target = 0
y_in = (x1 * w1) + (x2 * w2) + b
= (0 * 2) + (0 * 1) + (-1)
= -1
y = sign (-1) = 0
karena y = target, maka tidak perlu dilakukan perbaikan bobot
dan lanjutkan untuk data yang ke dua
Data ke dua dengan x = {0,1}, w = {2,1}, b = -1, target = 0
y_in = (x1 * w1) + (x2 * w2) + b
= (0 * 2) + (1 * 1) + (-1)
=0
y = sign (0) = 1
karena y = target, maka hitung error dan update bobot
error = target - y
=0-1
= -1
w1_baru = w1_lama + (learning_rate * error * x1)
= 2 + (1 * (-1) * 0)
=2
w2_baru = w2_lama + (learning_rate * error * x2)

134
= 1+ (1 * (-1) * 1)
=0
bias_baru = bias_lama + (learning_rate * error)
= -1 + (1 * (-1))
= -2
Didapat bobot baru w = {2,0}, b = -2 dan lanjutkan untuk data
yang ke tiga
Data ke tiga dengan x = {1,0}, w = {2,0}, b = -2, target = 0
y_in = (x1 * w1) + (x2 * w2) + b
= (1*2) + (0 * 0) + (-2)
=0
y = sign (0) = 1
Karena y = target, maka hitung error dan update bobot
error = target - y
=0-1
= -1
w1_baru = w1_lama +(learning_rate * error * x1)
= 2 + (1 * (-1) * 1)
=1
w2_baru = w2_lama + (learning_rate * error * x2)
= 0 + (1 * (-1) * 0)
=0
bias_baru = bias_lama + (learning_rate * error)

135
= -2 + (1 * (-1))
= -3
Didapat bobot baru w = {1,0}, b = -3 dan lanjutkan untuk data
yang ke empat
Data ke empat dengan x = {1,1}, w = {1,0}, b = -3, target = 1
y_in = (x1 * w1) + (x2 * w2) + b
= (1 * 1) + (1 * 0) + (-3)
= -2
y = sign (-2) = 0
karena y = target, maka hitung error dan update bobot
error = target - y
=1-0
=1
w1_baru = w1_lama + (learning_rate * error * x1)
= 1 + (1 * 1 * 1)
=2
w2_baru = w2_lama +(learning_rate * error * x2)
= 0 + (1 * 1 * 1)
=1
bias_baru = bias_lama + (learning_rate * error)
= -3 + (1 * 1)
= -2

136
Didapat bobot baru w = {2,1}, b = -2. Karena di epoh ke dua
masih ada error, maka di lanjut ke epoh selanjutnya.
Epoh ke empat
Data ke satu dengan x = {0,0}, w = {2,1}, b = -2, target = 0
y_in = (x1 * w1) + (x2 * w2) + b
= (0 * 2) + (0 * 1) + (-2)
= -2
y = sign (-2) = 0
karena y = target, maka tidak perlu dilakukan perbaikan bobot
dan lanjutkan untuk data yang ke dua
Data ke dua dengan x = {0,1}, w = {2,1}, b = -2, target = 0
y_in = (x1 * w1) + (x2 * w2) + b
= (0 * 2) + (1 * 1) + (-2)
= -1
y = sign (-1) = 0
karena y = target, maka tidak perlu dilakukan perbaikan bobot
dan lanjutkan untuk data yang ke tiga
Data ke tiga dengan x = {1,0}, w = {2,1}, b = -2, target = 0
y_in = (x1 * w1) + (x2 * w2) + b
= (1 * 2) + (0 * 1) + (-2)
=0
y = sign (0) = 1
karena y ≠ target, maka hitung error dan update bobot

137
error = target - y
=0-1
= -1
w1_baru = w1_lama + (learning_rate * error * x1)
= 2 + (1 * (-1) * 1)
=1
w2_baru = w2_lama + (learning_rate * error * x2)
= 1+ (1 * (-1) * 0)
=1
bias_baru = bias_lama + (learning_rate * error)
= -2 + (1 * (-1))
= -3
Didapat bobot baru w = {1,1}, b = -3 dan lanjutkan untuk data
yang ke empat
Data ke empat dengan x = {1,1}, w = {1,1}, b = -3, target = 1
y_in = (x1 * w1) + (x2 * w2) + b
= (1 * 1) + (1 * 1) + (-3)
= -1
y = sign (-1) = 0
karena y ≠ target, maka hitung error dan update bobot
error = target - y
=1-0
=1

138
w1_baru = w1_lama + (learning_rate * error * x1)
= 1 + (1 * 1 * 1)
=2
w2_baru = w2_lama + (learning_rate * error * x2)
= 1+ (1 * 1 * 1)
=2
bias_baru = bias_lama + (learning_rate * error)
= -3 + (1 * 1)
= -2

Didapat bobot baru w = {2,2}, b = -2. Karena di epoh ke dua


masih ada error, maka di lanjut ke epoh selanjutnya sampai tidak
ada error untuk setiap data dalam satu iterasi atau epoh mencapai
maksimal epoh. Setelah iterasi berhenti, karena tidak ada error
atau jumlah epoh terpenuhi, maka nilai bobot w dan bias b
digunakan dalam proses klasifikasi dengan rumus:

y_in = (input_1* bobot_1) + (input_2 * bobot_2)


+......(input_n * bobot_n) + b
output = sign(y_in)

139
3.5 Latihan soal perceptron logika AND dengan matlabs
Berikut ini merupakan algoritma pengenalan pola
sederhana dengan algoritma Jaringan Syaraf Tiruan untuk
mengenali pola logika AND.menggunakan matlab
Tabel kebenaran Logika AND
x1 x2 Kelas (y)
0 0 0
0 1 0
1 0 0
1 1 1

Tabel 3.2 Soal Logika AND in Matlab


Berikut source code dan penjelasannya
1. Mempersiapkan input dan target
>> input = [0 0 1 1;0 1 0 1];
>> target = [0 0 0 1];

2. Membangun jaringan perceptron


>> net = newp(input,target);

3. Melatih jaringan
>> net.trainParam.epochs = 5;
>> net = train(net,input,target);

140
Catatan coding dimatlabs diawali dengan >> dan diakhiri titik
koma
Berikut Proses pelatihan

Gambar 3.9 Proses pelatihan perceptron AND


Performance jaringan dengan epochs = 5

141
Gambar 3.10 Performance jaringan logika AND

4. Mengecek keluaran jaringan

>>output = sim(net,input)

sehingga diperoleh nilai keluaran seperti pada tampilan berikut:

142
Gambar 3.11 Output jaringan logika AND

Nilai keluaran yang dihasilkan 100% sesuai dengan


nilai keluaran dari logika AND yang diinginkan. Hal tersebut
menunjukkan bahwa jaringan syaraf tiruan perceptron sangat
baik dalam mengenali pola logika AND.

143
Contoh perceptron dengan logika OR matlabs
Berikut ini merupakan algoritma pengenalan pola
sederhana dengan algoritma Jaringan Syaraf Tiruan untuk
mengenali pola logika OR menggunakan matlab
Tabel kebenaran Logika OR

x1 x2 Kelas (y)
0 0 0
0 1 1
1 0 1
1 1 1
Tabel 3.3 Soal Logika OR in Matlab
Berikut source code dan penjelasannya
1. Mempersiapkan input dan target misalkan x = input, t = target

>> x = [0 0 1 1; 0 1 0 1];
>> t = [0 1 1 1];

2. Membangun jaringan perceptron


>> net = perceptron;

3. Melatih jaringan
>> net.trainParam.epochs = 5;
>> net = train(net,x,t);

144
Catatan coding dimatlabs diawali dengan >> dan diakhiri titik
koma
Berikut Proses pelatihan

Gambar 3.12 Proses pelatihan perceptron OR

Performance jaringan dengan epochs = 5

145
Gambar 3.13 Performance jaringan logika OR

4. Mengecek keluaran jaringan


>> y = net(x)

sehingga diperoleh nilai keluaran seperti pada tampilan berikut:

146
Gambar 3.14 Output jaringan logika OR

Nilai keluaran yang dihasilkan 100% sesuai dengan nilai


keluaran dari logika OR yang diinginkan. Hal tersebut
menunjukkan bahwa jaringan syaraf tiruan perceptron sangat
baik dalam mengenali pola logika OR.

Program Perceptron dengan dengan fasilitas GUI


Perceptron merupakan salah satu algoritma dalam Jaringan
Saraf Tiruan (JST). Algoritma Perceptron sering digunakan
untuk melakukan klasifikasi secara Linier. Algoritma
Perceptron melakukan klasifikasi dengan metode pembelajaran
dan iterasi yang dilakukan terus menerus sampai semua data
terklasifikasi.

147
Desain Implementasi Program
Implementasi menggunakan GUI yang didesain pada
MATLAB. Berikut ini adalah tampilan dari Perancangan GUI
yang dibuat.

Gambar 3.15 Perancangan GUI untuk implementasi Program


Perceptron
Perancangan GUI untuk implementasi program menggunakan
Panel, Static text, Textfield, Button, tabel dan Axes. Untuk
masing-masing Tag dari atribut GUI yang digunakan dijabarkan
sebagai struktur Tag dari GUI.

148
Struktur GUI dan Tag
• Textfield bobot W1:
o String = kosong, Tag = w1atas
• Textfield bobot W2:
o String = kosong, Tag = w2atas
• Textfield bobot W0:
o String = kosong, Tag = w0atas
• Button inisialisasi bobot:
o String = random, tag = random
• Textfiel Rho (alpha - learning rate):
o String = kosong, tag = rho
• Button Training:
o String = Training, tag = training
• Tabel Iterasi:
o Tag = tabel, isi dari kolom tabel = Iterasi,
Missclassifikasi, W1, W2 dan W0
• Textfield bobot akhir W1:
o String = kosong, Tag = w1bawah, Enable = off
• Textfield bobot akhir W2:
o String = kosong, Tag = w2bawah, Enable = off
• Textfield bobot akhir W0:
o String = kosong, Tag = w0bawah, Enable = off

149
• Textfield testing nilai X:
o String = kosong, Tag = x
• Textfield testing nilai Y:
o String = kosong, Tag = y
• Button Test:
o String = Test, Tag = test
• Textfield klasifikasi kelas
o String = kosong, Tag = class, Enable = off
• Axes:
o Tag = axes1

Alur Program
Program Perceptron dimulai dengan masukan input
bobot awal. Terdapat dua cara untuk memberikan input bobot
awal yaitu pertama dengan manual dengan mengetikkan
bobotnya pada masing-masing kolom w1, w2 dan w0. Atau
dengan cara kedua yaitu dengan mengklik button random untuk
input bobot random.
Tahap selanjutnya adalah melakukan training pada inisialisasi
bobot sebelumnya. Kita inputkan nilai Rho (nilai alpha -
learning rate) pada textfield. Kemudian klik button Training
untuk memulai pembelajaran pada algoritma perceptron. Hasil
dari training akan ditampilkan berupa tabel.

150
Kemudian selanjutnya bobot akhir yang didaptkan sari
hasil pembelajaran dan iterasi diletakkan pada textfiel w1, w2
dan w0 yang baru.
Tahap selanjutnya kita melakukan testing pada data nilai
x dan y. Pada program perceptron sederhana yang kita
imlementasikan kita batasi untuk testing data x dan y pada 0,0;
0,1; 1,0; 1,1. Kita input testing datanya dan kemudian kita klik
button Test. Sehingga testing kalsifikasi ditampilkan pada
textfield class dan grafik axes.

Code Program
Tahapan selanjutnya kita sisipkan code program untuk
inputan nilai bobot random. Klik kanan button Random
kemudian view calback. Kemudian sisipkan code berikut untuk
inputan random.
>> w = [rand() rand() rand()];
>> set(handles.w1atas,'String',rand());
>> set(handles.w2atas,'String',rand());
>> set(handles.w0atas,'String',rand());

Kemudian kita akan ambil nilai yang telah diinputkan pada


masing-masin gtextfiel bobot. Untuk code ini kita sisipkan pada

151
callback dari button Training. Kita sisipkan code berikut.

>> set(handles.tabel,'data',[]);
>> data = get(handles.tabel,'data');
>> x = [ 0 0 1 ; 0 1 1 ; 1 0 1 ; 1 1 1 ]; %buat dataset
[x,y,bias]
>> k = [1; -1; -1; -1];
>> ro = str2num(get(handles.rho,'String'));
>> w(1) = str2num(get(handles.w1atas,'String'));
>> w(2) = str2num(get(handles.w2atas,'String'));
>> w(3) = str2num(get(handles.w0atas,'String'));
>> t = 0; %iterasi
>> miss=4; %missclassifikasi

Pada code mengambil input bobot, kita juga sekaligus


mengambil input dari learning rate pada

ro = str2num(get(handles.rho,'String'));.

Kita tentukan untuk dataset dengan bias dengan masing-masing


nilai batasan x = [ 0 0 1 ; 0 1 1 ; 1 0 1 ; 1 1 1 ]. Kemudian untuk
target k = [ 1; -1; -1; -1]. Dengan 4 vektor missclasifikasi.
Selanjutnya kita sisipkan algoritma untuk Perceptron.
Dilakukan perulangan dengan dimulai dari missclassifikasi = 0.
Kembali ke rumus awal dari Perceptron, akan dilakukan training
terhadap bobot dan dataset dengan beberapa iterasi sampai

152
menemukan klasifikasi. Masih dalam callback button Training,
sisipkan code berikut.
while(miss>0)
miss=0;
t=t+1; %iterasi
data{t,1}=t;
disp(t);
temp = zeros(3,1);
for i=1:4
if (((x(i,:)*w')*k(i))<=0)
miss = miss+1;
temp = temp + ro*(-
k(i))*x(i,:)';
end
end
data{t,2}=miss;
w = w - temp';
disp(w);
data{t,3}=w(1);
data{t,4}=w(2);
data{t,5}=w(3);
end

153
Selanjutnya kita tampilkan data hasil training pada
textfield bobot baru. Sisipkan code berikut dibawahnya (masih
dalam callback button training).

set(handles.tabel,'data',data);
set(handles.w1bawah,'String',w(1));
set(handles.w2bawah,'String',w(2));
set(handles.w0bawah,'String',w(3));
w0=str2double(get(handles.w0bawah,'String'));
w1=str2double(get(handles.w1bawah,'String'));
w2=str2double(get(handles.w2bawah,'String'));

Kemdian kita beralih ke panel testing. kita akan menginputkan


nilai x dan y dengan 0 atau 1. Sehingga ketika kita mengklik
button Test maka akan muncul klasifikasi dari data yang kita
inputkan. Grafik ditampilkan pada axes lengkap dengan
hyperplanenya.

154
a1 = -w0/w1;
b1 = -w0/w2;
b1 = -a1/b1;
x = linspace(-2,2,20);
y = a1 + b1*x;
plot(x,y);

hold on
plot(0,0,'-.rs');
plot(0,1,'-.rs');
plot(1,0,'-.rs');
plot(1,1,'-.rs');
hold off

xlabel('x');
ylabel('y');
axis([-1 2 -1 2]);
grid on;
legend('g(x) / hyperplane');

Semua code telah kita sisipkan. Tahapan akhir kita save


codenya. Dan kita running programmnya.

155
Testing Running Program
Untuk testing pertama, kita klik button random. Didapatkan
nilai w1 = 0,9133, w2 = 0.6323 dan w0 = 0.0975. Nilai
learning rate yang digunakan adalah 0.2. didapatkan iterasi
kurang lebih 10 iterasi (dapat discroll pada tabel). Kemudian
untuk nilai bobot baru w1 = -0.2866, w2 = -0.1676 dan w0 =
0.09754

Gambar 3.16 Percobaan program perceptron GUI 1


Kemudian kita testing dengan nilai x = 1 dan nilai y = 0, maka
hasil klasifikasi datasetnya berada pada kelas 2. Sesuai dengan
apa yang ditampilkan pada diagram dan hyperplane pada axes.
Dapat diklik gambarnya untuk tampilan yang lebih jelas.

156
Kita coba dengan testing kedua dengan data bobot yang sama
pada testing pertama. namun kita ubah nilai learning ratenya
menjadi lebih kecil yaitu 0.06. didaptkan bobot baru menjadi w1
= -0.046, w2 = -0.087 dan w0 = 0.037.

Gambar 3.17 Testing program perceptron ke-2


Terlihat juga untuk aplikasi hyperplane berubah posisi. Keta
gunakan dataset yang sama pada contoh pertama. Didapatkan
klasifikasi pada kelas 2.
Terakhir kita coba testing ketiga dengan menggunakan hasil
testing ke-2. Hanya kita ubah nilai pada dataset menjadi x = 0
dan y = 0. Diadapatkan hasil klasifikasi berada pada kelas 1.

157
Gambar 3.18 Testing program perceptron ketiga
Demikian untuk testing programnya. Dari contoh diatas
didapatkan iterasi yang berbeda dengan bobot yang berbeda dan
juga dengan learning rate yang berbeda. bobot sama dengan
learning rate berbeda akan memberikan jumlah iterasi yang
berbeda yaitu semakin sedikit ataupun semakin banyak.
Sekian implementasi dari program perceptron dengan
MATLAB, semoga posting kali ini membantu masalah sobat
dalam penerapan algoritma Perceptron dalam pemrograman.

158
Klasifikasi data yang dapat dipisahkan secara linier dengan
perceptron

Deskripsi problem Dua kelompok data, yang termasuk dalam


dua kelas, didefinisikan dalam ruang input 2 dimensi. Kelas
terpisah secara linear. Bagaimana membuat Perceptron untuk
klasifikasi data.
Langkah langkah untuk menyelesaikan permasalahan
1. Menentukan data input dan output
2. Membuat dan training perceptron
3. Menentukan Plot decision boundary
Menentukan data input dan output
close all, clear all, clc, format
compact
% Jumlah contoh setiap kelas
N = 20;
% Menentukan input dan output
offset = 5; % offset kedua kelas
x = [randn(2,N) randn(2,N)+offset]; %
input/masukan
y = [zeros(1,N) ones(1,N)]; %
output/keluaran
% Plot input ontoh dengan PLOTPV (Plot
perceptron
Berikut hasil dariinput/target vectors)
menentukan input and output data.
figure(1)
plotpv(x,y);

159
Gambar 3.19 Hasil input and output data

Membuat dan training perceptron


net = perceptron;
net = train(net,x,y);
view(net);

Berikut hasil dari training perceptron.

160
Gambar 3.20 Tampilan training perceptron
Menentukan Plot decision boundary

figure(1)
plotpv(x,y);
plotpc(net.IW{1},net.b{1});

Setelah coding dapat dijalankan, akan didapatkan hasil sebagai


berikut

161
Gambar 3.21 Hasil Plot decision boundary
Klassifikasi 4 kelas dengan perceptron
Deskripsi masalah adalah jaringan Perceptron dengan 2
masukan (input) dan 2 keluaran (output) sebagai terlatih untuk
vector input klassifikasi kedalam 4 kategori.
Langkah langkah untuk menyelesaikan permasalahan.
1. Menetapkan data
2. Menyiapkan inputs dan outputs untuk training
perceptron
3. Membuat perceptron

162
4. Melatih perceptron
5. Bagaimana menggunakan perceptron yang terlatih
1. Menetapkan data
close all, clear all, clc, format compact
% jumlah contoh pada setiap kelas
K = 30;
% menentukan kelas
q = .6; % offset pada kelas
A = [rand(1,K)-q; rand(1,K)+q];
B = [rand(1,K)+q; rand(1,K)+q];
C = [rand(1,K)+q; rand(1,K)-q];
D = [rand(1,K)-q; rand(1,K)-q];
% plot kelas
plot(A(1,:),A(2,:),'bs')
hold on
grid on
plot(B(1,:),B(2,:),'r+')
plot(C(1,:),C(2,:),'go')
plot(D(1,:),D(2,:),'m*')
% label teks untuk kelas
text(.5-q,.5+2*q,'Class A')
text(.5+q,.5+2*q,'Class B')
text(.5+q,.5-2*q,'Class C')
text(.5-q,.5-2*q,'Class D')
% menentukan code output untuk kelas
a = [0 1]';
b = [1 1]';
c = [1 0]';
d = [0 0]';
% % bagaimana code ini tidak bekerja
% a = [0 0]';
% b = [1 1]';
% d = [0 1]';

Setelah coding dapat dijalankan, akan didapatkan hasil sebagai


berikut.

163
Gambar 3.22 Hasil menetapkan data

2. Menyiapkan inputs dan outputs untuk training


perceptron
% menentukan input (kombinasi contoh contoh dari
semua ke empat kelas
P = [A B C D];
% menentukan target
T = [repmat(a,1,length(A)) repmat(b,1,length(B)) ...
repmat(c,1,length(C)) repmat(d,1,length(D)) ];
%plotpv(P,T);

164
3. Membuat perceptron

net = perceptron;

Melatih perceptron ADAPT kembali pada objek jaringan


baru dengan performance untuk klasifikasi lebih baik,
jaringan output, dan kesalahan. Perulangan ini di ijinkan
jaringan untuk ADAPT untuk selesai xx, plots garis
classification, dan lanjut sampai kesalahan menjadi 0.
4. Melatih perceptron
E = 1;
net.adaptParam.passes = 1;
linehandle = plotpc(net.IW{1},net.b{1});
n = 0;
while (sse(E) & n<1000)
n = n+1;
[net,Y,E] = adapt(net,P,T);
linehandle =
plotpc(net.IW{1},net.b{1},linehandle);
drawnow;
end
% menampilkan struktur perceptron
view(net);

Setelah coding dapat dijalankan, akan didapatkan hasil sebagai


berikut

165
Gambar 3.23 Hasil train perceptron

Gambar 3.24 Hardlimit dalam perceptron


5. Bagaimana menggunakan perceptron yang terlatih

166
% untuk contoh, klasifikasi vector input [0.7;
1.2]
p = [0.7; 1.2]
y = net(p)
% membandingkan respon dengan code output
(a,b,c,d)

Setelah coding dapat dijalankan, akan didapatkan hasil sebagai


berikut
p =
0.7000
1.2000
y =
1
1

Contoh pengelompokan bunga Iris


Ini mengilustrasikan bagaimana jaringan saraf
memetakan untuk mengatur sendiri dalam mengelompokkan
bunga iris ke dalam kelas secara topologi, memberikan wawasan
tentang jenis-jenis bunga dan alat yang berguna untuk analisis
lebih lanjut. Permasalah contoh ini adalah pengelompokan
Bunga Iris. Dengan membangun jaringan saraf yang
mengelompokkan bunga-bunga iris ke dalam kelas kelas alami,

167
sehingga kelas-kelas serupa dikelompokkan bersama. Setiap iris
dijelaskan oleh empat fitur:
• Sepal length in cm
• Sepal width in cm
• Petal length in cm
• Petal width in cm
Contoh ini masalah pengelompokan, di mana ingin
mengelompokkan sampel ke dalam kelas berdasarkan kesamaan
antara sampel. Dan membuat jaringan saraf yang tidak hanya
menciptakan definisi kelas untuk input yang diketahui, tetapi
juga mengklasifikasikan input yang tidak diketahui.
Self organizing map (SOMs) sangat bagus dalam
membuat klasifikasi. Selanjutnya, klasifikasi mempertahankan
informasi topologi tentang kelas mana yang paling mirip dengan
yang lain. Peta yang dapat diatur sendiri dan dibuat dengan
tingkat detail sesuai dengan yang diinginkan. Ini sangat cocok
untuk mengelompokkan data dalam banyak dimensi dan dengan
ruang fitur yang berbentuk kompleks dan terhubung, sangat
cocok untuk mengelompokkan bunga iris.
Empat atribut bunga akan bertindak sebagai input ke SOM, yang
akan memetakannya ke lapisan neuron 2 dimensi.

168
Mempersiapkan Data
Data untuk masalah pengelompokan diatur untuk SOM dengan
mengatur data ke dalam matriks input X. Setiap kolom ke-i dari
matriks input akan memiliki empat elemen yang mewakili empat
pengukuran yang diambil pada bunga tunggal.
Ini contoh membuka dataset
x = iris_dataset;
kita dapat menampilkan ukuran dari masukan x.
Catatan: bahwa x memiliki 150 kolom. Ini representasi 150 set
attribute bunga iris. Terdiri dari empat baris, untuk empat
ukuran.
size(x)
ans =

4 150

Clustering dengan Jaringan Saraf Tiruan


Langkah selanjutnya adalah membuat jaringan saraf yang akan
belajar mengelompokan.
Self organizing map membuat peta yang dapat diatur sendiri
untuk mengklasifikasikan sampel dengan detail sebanyak yang
diinginkan dengan memilih jumlah neuron di setiap dimensi
lapisan. Kasus ini menggunakan dengan mencoba lapisan 2
dimensi dari 64 neuron yang disusun dalam bentuk heksagonal
8x8. Secara umum, detail yang lebih besar dicapai dengan lebih

169
banyak neuron, dan lebih banyak dimensi memungkinkan untuk
memodelkan topologi ruang fitur yang lebih kompleks.
Ukuran input adalah 0 karena jaringan belum dikonfigurasi
untuk mencocokkan data input, ini akan terjadi ketika jaringan
dilatih.
net = selforgmap([8 8]);
view(net)

Gambar 3.25 Hardlimit dalam jaringan


Sekarang jaringan siap untuk mengoptimalkan dengan training,
Neural Network Training Tool shows menunjukkan jaringan
yang dilatih dan algoritma yang digunakan untuk melatihnya. Ini
juga menampilkan status pelatihan selama pelatihan dan kriteria
yang menghentikan pelatihan akan disorot dengan warna hijau.
Tombol-tombol di bagian bawah membuka plot berguna
yang dapat dibuka selama dan setelah pelatihan. Tautan di
sebelah nama algoritma dan tombol plot membuka dokumentasi
tentang subjek tersebut.

170
[net,tr] = train(net,x);
nntraintool

Gambar 3.26 Tampilan training


Di sini self organizing map digunakan untuk menghitung
vektor kelas dari masing-masing input pelatihan. Klasifikasi ini
mencakup ruang fitur yang dihuni oleh bunga yang dikenal, dan
sekarang dapat digunakan untuk mengklasifikasikan bunga baru
yang sesuai. Output jaringan akan menjadi matriks 64x150, di
171
mana setiap kolom itu mewakili cluster ke-j untuk setiap vektor
input ke-i dengan 1 pada elemen ke-nya.
Fungsi vec2ind mengembalikan indeks neuron dengan output 1,
untuk setiap vektor. Indeks akan berkisar antara 1 dan 64 untuk
64 kluster yang diwakili oleh 64 neuron.

y = net(x);

cluster_index = vec2ind(y);

Plotsomtop adalah plot topologi the self-organizing maps dari


64 neuron yang diposisikan dalam bentuk heksagonal 8x8.
Setiap neuron telah belajar untuk mewakili kelas bunga yang
berbeda, dengan neuron yang berdekatan biasanya mewakili
kelas yang sama.

plotsomtop(net)

172
Gambar 3.27 SOM Topology

Plotsomhits adalah menghitung kelas untuk setiap bunga dan


menunjukkan jumlah bunga di setiap kelas. Area neuron dengan
jumlah hit yang besar menunjukkan kelas yang mewakili daerah
yang sangat padat dari ruang fitur. Sedangkan area dengan
beberapa klik menunjukkan wilayah yang jarang diisi dari ruang
fitur.

plotsomhits(net,x)

173
Gambar 3.28 Tmapilan Hasil hits

Plotsomnc adalah menunjukkan koneksi tetangga neuron.


Tetangga biasanya mengklasifikasikan sampel yang serupa.

plotsomnc(net)

174
Gambar 3.29 Hasil SOM Neighbor Connections
Plotsomnd adalah menunjukkan seberapa jauh (dalam hal jarak
Euclidian) setiap kelas neuron dari tetangganya. Koneksi yang
cerah menunjukkan area yang sangat terhubung pada ruang
input. Sementara koneksi gelap menunjukkan kelas yang
mewakili wilayah ruang fitur yang berjauhan, dengan sedikit
atau tanpa bunga di antaranya.
Batas panjang koneksi gelap yang memisahkan daerah besar
ruang input menunjukkan bahwa kelas di kedua sisi perbatasan
mewakili bunga dengan fitur yang sangat berbeda.
plotsomnd(net)

175
Gambar 3.30 SOM Topology
Plotsomplanes adalah menunjukkan bidang bobot untuk masing-
masing dari empat fitur input. Mereka adalah visualisasi dari
bobot yang menghubungkan setiap input ke masing-masing 64
neuron dalam kisi heksagonal 8x8. Warna yang lebih gelap
mewakili bobot yang lebih besar. Jika dua input memiliki bidang
bobot yang sama (gradien warnanya mungkin sama atau
terbalik) itu menunjukkan mereka sangat berkorelasi.

plotsomplanes(net)

176
Gambar 3.31 Tampilan Weights

Contoh ini menggambarkan bagaimana merancang jaringan


saraf untuk mengelompokkan bunga iris berdasarkan empat
karakteristiknya.

177
BAB IV
MULTI LAYER PERCEPTRON
BACKPROPAGATION FEEDFORWARD

DAFTAR ISI

4.1 Pergertian multilayer perceptron


4.2 Arsitektur multilayer perceptron
4.3 Latihan Contoh
4.4 Aplikasinya multilayer perceptron dengan matlab

178
4.1 Pengertian Multilayer Perceptron
MultiLayer Perceptron adalah jaringan syaraf tiruan
feed-forward yang terdiri dari sejumlah neuron yang
dihubungkan oleh bobot-bobot penghubung.
Neuron-neuron tersebut disusun dalam lapisan-lapisan
yang terdiri dari satu lapisan input (input layer), satu atau lebih
lapisan tersembunyi (hidden layer), dan satu lapisan output
(output layer). Lapisan input menerima sinyal dari luar,
kemudian melewatkannya ke lapisan tersembunyi pertama, yang
akan diteruskan sehingga akhirnya mencapai lapisan output
[Riedmiller, 1994].
Diperkenalkan oleh M. Minsky dan S. Papert pada tahun
1969, merupakan pengembangan dari Perceptron dan
mempunyai satu atau lebih hidden layers yangterletak antara
input dan output layers. Multi-layer-perceptron dapat digunakan
untukoperasi logik termasuk yang kompleks seperti XOR.

179
Gambar 4.1 Arsitektur Multilayer Perceptron

Multilayer Perceptron adalah jaringan syaraf tiruan feed-


forward yang terdiri dari sejumlah neuron yang dihubungkan
oleh bobot-bobot penghubung. Neuron-neuron tersebut disusun
dalam lapisan- lapisan yang terdiri dari satu lapisan input (input
layer), satu atau lebih lapisan tersembunyi (hidden layer), dan
satu lapisan output (output layer). Lapisan input menerima
sinyal dari luar, kemudian melewatkannya kelapisan
tersembunyi pertama, yang akan diteruskan sehingga akhirnya
mencapai lapisan output [Riedmiller, 1994]. Setiap neuroni di
dalam jaringan adalah sebuah unit pemrosesan sederhana yang
menghitung nilai aktivasinya yaitusi terhadap inputeksitasi yang
juga disebut melambangkan himpunan predesesor dari unit i, wij
melambangkan bobot koneksi dari unitj ke unit i, dan θi adalah
nilai bias dari unit i. Untuk membuat representasi menjadi lebih
mudah, seringkali bias digantikan dengan suatu bobot yang
terhubung dengan unit bernilai 1. Dengan demikian bias dapat
diperlakukan secara sama dengan bobot koneksi.
Metode Multilayer perception diperkenalkan oleh M.
Minsky dan S. Papert pada tahun 1969, merupakan
pengembangan dari Perceptron dan mempunyai satu atau lebih
hidden layers yang terletak antara input dan output layers. Multi-
180
layer-perceptron dapat digunakan untuk operasi logik termasuk
yang kompleks seperti XOR.
Type : Feedforward.
Neuron layers : 1 input layer, 1 atau lebih hidden layers
dan 1 output layer.
Activation function : Hard limiter/sigmoid.
Method : Multi-Layer-Perception Learning
Method : Supervised. Learning
Algorithm : Delta learning rule atau
backpropagation
Penggunaan : Complex logical operations,
patten classification.
Aplikasi Terapan : Kekurangan (-), Kelebihan (+)
Memiliki kemampuan untuk mendeteksi atau melakukan
analisa untuk permasalahan yang sifatnya sangat kompleks.
Setiap neuron I didalam jaringan adalah sebuah unit
pemrosesan sederhana yang menghitung nilai aktivasinya yaitu
si terhadap input eksitasi yang juga disebut net input neti.

(4.1)

dimana pred(i) melambangkan himpunan predesesor dari unit i,


wij melambangkan bobot koneksi dari unit j ke unit i, dan q i

181
adalah nilai bias dari unit i. Untuk membuat representasi
menjadi lebih mudah, seringkali bias digantikan dengan suatu
bobot yang terhubung dengan unit bernilai 1. Dengan demikian
bias dapat diperlakukan secara sama dengan bobot koneksi.

(4.2)

Aktivasi dari unit i, yaitu si, dihitung dengan memasukkan net


input ke dalam sebuah fungsi aktivasi non-linear. Biasanya
digunakan fungsi logistik sigmoid:
Salah satu keuntungan dari fungsi ini adalah memiliki derivatif
yang mudah dihitung:

(4.3)

Nilai dari fungsi sigmoid di atas memiliki nilai output antara 0


dan 1. Jika diinginkan nilai output antara –1 dan 1, dapat
digunakan fungsi bipolar sigmoid berikut [Fausett, 1994]:

(4.4)

Derivatif dari fungsi tersebut adalah:

182
(4.5)

Tahapan Dalam Penyelesaian Masalah Menggunakan Metode


Jaringan Syarat Tiruan Menggunakan Multilayer Percepteron
1. Identifikasi masalah
✓ Tahap ini merupakan identifikasi masalah yang
hendak diselesaikan dengan jaringan syaraf
tiruan, meliputi identifikasi jenis dan jumlah
masukan serta keluaran pada jaringan.
2. Menyiapkan training data set
✓ Training data set merupakan kumpulan pasangan
data masukan-keluaran berdasarkan pengetahuan
yang telah dikumpulkan sebelumnya.
✓ Banyaknya data set harus mencukupi dan dapat
mewakili setiap kondisi yang hendak
diselesaikan. Terbatasnya data set akan
menyebabkan akurasi jaringan menjadi rendah.
3. Inisialisasi dan pembentukan jaringan
✓ Tahap inisialisasi meliputi penentuan topologi,
pemilihan fungsi aktivasi, dan pemilihan fungsi
pelatihan jaringan.

183
✓ Penentuan topologi adalah penentuan banyaknya
hidden layer dan penentuan jumlah neuron pada
input layer, hidden layer dan output layer.
4. Simulasi jaringan
✓ Simulasi jaringan dilakukan untuk melihat
keluaran jaringan berdasarkan masukan, bobot
neuron dan fungsi aktivasinya.
5. Pelatihan/training jaringan
✓ Sebelum melakukan pelatihan, dilakukan
penentuan parameter training terlebih dahulu,
seperti penentuan jumlah iterasi, learning rate,
error yang diijinkan. Setelah itu dilakukan
pelatihan yang merupakan proses iteratif untuk
menentukan bobot koneksi antar neuron.
6. Menggunakan jaringan untuk pengenalan pola
✓ Setelah pelatihan dilakukan, jaringan siap untuk
digunakan untuk pengenalan pola. Kemampuan
jaringan dalam mengenal pola sangat bergantung
dari bagaimana jaringan tersebut dilatih.

Gradient Descent
Gradient descent (ascent) adalah algoritma optimasi orde
pertama. Untuk menemukan minimum lokal dari fungsi

184
menggunakan gradien descent, diambil langkah sebanding
dengan negatif dari gradien (atau perkiraan gradien) dari fungsi
pada titik sekarang.
Jika diambil langkah sebanding dengan gradien positif,
maka akan didapatkan maksimum lokal fungsi tersebut;
prosedur ini kemudian dikenal sebagai gradient ascent.
Gradient descent juga dikenal sebagai steepest descent,
sedangkan gradient ascent dikenal dengan steepest ascent.
Algoritma (maksimisasi)
Mulai dari titik awal v0
Bergerak dari v0 ke v1 dengan arah ∇f(v0):
v1 = v0 + t0 ∇f(v0)
dengan t0 adalah solusi dari masalah optimisasi berikut:
max f (v0 + t0 ∇f(v0))
s.t t0 ≥ 0
Langkah – langkah tersebut diulangi sampai didapat nilai vi dan
vi+1 yang cukup dekat
Mulai dari titik awal v0
Bergerak dari v0 ke v1 dengan arah ∇f(v0):
v1 = v0 - t0 ∇f(v0)
dengan t0 adalah solusi dari masalah optimisasi berikut:
min f (v0 - t0 ∇f(v0)) s.t t0 ≥ 0

185
Langkah – langkah tersebut diulangi sampai didapat nilai vi dan
vi+1 yang cukup dekat

Gambar 4.2 Ilustrasi maksimisasi algoritma

Contoh Soal
Gunakan metode steepest ascent untuk aproksimasi solusi dari
Max𝑧 = −𝑥(x1−3)2 – (𝑥2−2)2
s.t (𝑥1, x2) ∈𝑅2
Dengan titik awal v0 = (1,1) Jawab:
∇f (x1, x2) = (– 2(x1 – 3), – 2(x2 – 2))
∇f(v0) = ∇f(1,1) = (4,2)
Pilih t0 yang memaksimumkan
f (v0 + t0 ∇f(v0)) → max f [(1,1) + t0(4,2)]
→ max f [1+4 t0, 1+2 t0]
Max𝑧 = −(1 + 4𝑡0 – 3)2 – (1+2𝑡0−2)2
186
Max𝑧 = −1+4𝑡0−3*−1+2𝑡0−2*
Max𝑧 = −2+4𝑡0*−−1+2𝑡0*
f ‘(t0) = 0 → - 2(-2 + 4t0) 4 -2(-1 + 2t0) 2 = 0
➔ 20 – 40 t0 = 0
➔ t0 = 0.5
v1 = [(1,1) + 0.5(4,2)] = (3,2)
Karena ∇f (3, 2) = (0,0) maka iterasi dihentikan
Karena f (x1, x2) adalah fungsi konkaf, maka (3,2) adalah solusi
yang dicari

Kesimpulan
1. Bila data training cukup banyak dan konsisten, akurasi
jaringan akan tinggi, sebaliknya bila data training tidak
memadai, akurasi jaringan rendah.
2. Selain data training, akurasi jaringan juga ditentukan
oleh pemilihan topologi yang tepat.
3. Proses pembentukan jaringan sangat melelahkan,
dilakukan secara terus menerus hingga diperoleh
jaringan yang paling baik. Tetapi setelah jaringan yang
optimal ditemukan, proses pengenalan pola dapat
dilakukan secara cepat, lebih cepat bila dibandingkan
metoda lainnya.
187
Metode Multilayer Perceptron merupakan salah satu metode
dari Jaringan Syaraf Tirual (JST) sangat cocok untuk
menyelesaikan masalah yang tidak linear dan non deterministik.
Contoh aplikasinya antara lain:
1. Untuk speech recognition
2. Untuk image recognition
3. Untuk software mesin translasi

4.2 Mekanisme Kerja Multilayer Perceptron Neural


Network
Sesuai dengan karakteristik neural network, pada
dasarnya Multilayer Perceptron memiliki kecenderungan yang
sama dengan jenis neural network lainnya, namun setiap jenis
memiliki karakteristik masing-masing, seperti halnya Single
layer Neural Network, biasanya hanya digunakan untuk
memberikan solusi yang sifatnya hanya sederhana saja, sebagai
contoh berikut ini.

188
Gambar 4.3 Penggunaan Single Layer Neural Network

Gambar diatas menunjukkan bahwa single layer neural


network digunakan untuk menganalisa dua bagian yang berbeda
saja, yaitu agar dapat mengetahui posisi lingkaran hitam dan
lingkaran yang berwarna putih. Lain halnya dengan dengan
kodisi pada gambar dibawah ini.

Gambar 4.4 Multilayer neural network

189
Pada Gambar 4.1 menunjukkan bahwa dengan
karakteristik Single Layer Neural Network yang hanya mampu
mendeteksi dua daerah saja membuat kasus ini sulit untuk dapat
diselesaikan. Multilayer Perceptron Neural Network adalah
jenis neural network yang memiliki kemamuan untuk
mendeteksi atau melakukan analisa untuk permasalahan yang
sifatnya cukup atau bahkan sangat kompleks, seperti pada
masalah Pemrosesan Bahasa, Pengenalan suatu Pola serta
Pemrosesan suatu Image atau gambar. Adapun Proses yang
terjadi Pada Multilayer Perceptron Neural Network, adalah
sebagai berikut :

Gambar 4.5 Pengenalan pola serta pemrosesan gambar

190
Masukan
Proses ini merupakan bagian dari sistem kerja secara
keseluruhan, karena proses masukan digunakan untuk
menunjang pada proses pembelajaran serta proses pengujian.
Pada proses ini, masukan diklasifikasikan berdasarkan
keinginan dari pembuat, dimana bentuk masukan dapat berupa
nilai logic atau bilangan biner ( 1 atau 0 ), atau juga bisa berupa
nilai angka atau bilangan real (120.3 atau 100) bahkan dapat
melakukan proses dengan menggunakan bilangan negatif.

Proses Pembelajaran
Pada bagian ini merupakan sisi kelebihan dari metoda
Neural network, dimana setiap permasalahan yang akan
dihadapi dapat dipecahkan dengan melalui tahapan
pembelajaran, seperti halnya otak manusia yang secara sifat
biologis, memiliki kemampuan untuk mempelajari hal-hal yang
baru. Memang pada dasarnya, neural network ini dibuat untuk
dapat mempelajari sesuatu hal yang baru sehingga mampu
melakukan penganalisaan tanpa menggunakan suatu rumusan
yang baku.
Proses pembelajaran ini sangat mempengaruhi
sensitifitas kemampuan dalam melakukan penganalisaan,
semakin banyak bahan atau masukan sebagai pembelajaran

191
maka akan semakin mudah dan sensitif dalam melakukan
analisa. Biasanya untuk membahas hal-hal yang cukup
kompleks, Multilayer Perceptron Neural network memiliki
hidden neuron yang digunakan untuk mengimbangi setiap
permasalahan yang akan dihadapi, umumnya untuk melakukan
penganalisaan pada hal-hal yang rumit, rancangan neural
network yang dibuat minimal memiliki tiga layer seperti pada
gambar dibawah ini, namun hal ini tergantung pada tingkat
kompleksitas yang dihadapi.

Gambar 4.6 Multilayer Perceptron Neural Network 3 Layer

Proses Perhitungan saat pembelajaran


Proses ini melibatkan dua faktor penting, yaitu masukan
dan keluaran yang ditentukan. Keluaran tersebut merupakan
bagian dari sistem atau metoda pembelajaran yang dinamakan
192
“Supervised Learning”, dengan demikian setiap masukan
memiliki keluaran yang nantinya akan dijadikan sebagai acuan
pembelajaran. Hal inilah yang membuat Neural Network
melakukan penganalisaan, selain banyaknya masukan yang
diberikan, proses pembelajaran yang dilakukan secara berulang
pun akan menunjang kemampuan Neural Network saat
menganalisa.

Keluaran/ph
Bagian ini merupakan proses yang digunakan untuk
mengetahui seberapa besar pengaruh pembelajaran terhadap
keluaran yang diinginkan, jika hasil yang diinginkan kurang
sesuai maka kemungkinan yang terjadi adalah :
1. Variabel masukan ( informasi yang diberikan ) kurang
menunjang
2. Kurangnya layer pada rancangan keseluruhan
3. Jumlah neuron yang terlalu sedikit
Namun tidak menutup kemungkinan karena ketidaksesuaian
penerapan saat proses pembelajaran dilakukan juga dapat
mempengaruhi proses pembelajaran. Hal lainnya yang dapat
mempengaruhi proses pencapaian target adalah pemilihan
metoda Back Propagation, yang akan dijelaskan pada sub bab
berikut.

193
BackPropagation Multilayer Perceptron Neural Network
Back Propagation adalah istilah dalam penggunaan
metoda MLP Neural Network untuk melakukan proses update
pada nilai vektor weight dan bias. Adapun bentuk metoda weight
ini memiliki beberapa macam, antara lain adalah sebagai
berikut.
1. Gradient Descent Back Propagation (GD)
2. Gradient Descent Back Propagation dengan Momentum
(GDM)
3. Variable Learning Rate Back Propagation dengan
Momentum (GDX)
4. Conjugate Gradient Back Propagation (CGP)

Gradient Descent Back Propagation (GD)


Metoda ini merupakan proses update untuk nilai weight
dan bias dengan arah propagasi fungsinya selalu menurunkan
nilai weight sebelumnya. Bentuk vektor weight tersebut berlaku
seperti metoda berikut.

Wk+1 = Wk – α . gk (4.1)

194
Dimana α, merupakan Learning rate serta g, merupakan gradient
yang berhubungan dengan nilai error yang diakibatkan oleh
weight tersebut.

Gradient Descent Back Propagation dengan Momentum


Penggunaan Momentum pada Metoda ini memberikan
nilai tambah dimana hasil update diharapkan tidak berhenti pada
kondisi yang dinamakan “Local Minimum”, sehingga proses
penelusuran hingga mencapai nilai minimum yang paling
puncak dalam pengertian nilai error yang paling kecil dapat
tercapai. Adapun bentuk metoda penggunaan Momentum ini
adalah seperti dibawah ini.

Wk+1 = Wk – α . gk + μ . Wk-1 (4.2)

Variabel Learning Rate Back Propagation dengan


Momentum
Penggunaan metoda ini bertujuan untuk mempercepat
waktu penyelesaian sehingga proses mendapatkan nilai error
yang paling kecil dapat tercapai dengan cepat serta penelusuran
yang lebih singkat. Sebaliknya jika nilai yang digunakan dalam
praktisnya maka hasil yang didapatkan biasanya akan
memperlambat proses penelusuran nilai error yang paling kecil.

195
Dalam penggunaan metoda ini para peniliti biasanya
menggunakan cara memperbesar nilai dari Variabel Learning
Rate saat hasil yang dicapai jauh dari target, dan sebaliknya saat
hasil yang dicapai dekat dengan nilai target. Secara perhitungan
metoda ini memang tidak begitu jauh dari metoda yang telah
dijelaskan sebelumnya, namun perbedaannya adalah seperti
dibawah ini.

Wk+1 = Wk – αk+1 . gk + μ . Wk-1


αk+1 = β . αk
0.7 jika nilai new error > 1.04 (old error)
1.05 jika nilai new error < 1.04 (old error)

Conjugate Gradient Back Propagation (CGX)


Conjugate Gradient Back Propagation memiliki
perbedaan dibandingkan dengan metoda GD yaitu pada saat
melakukan proses update, dimana untuk metoda GD proses
tersebut dilakukan setiap penggunaan rumus sedangkan pada
proses CGX, update dilakukan setiap iterasi dilakukan.
Berikut ini merupakan proses update nilai weight.

196
dan Δgk-1 = gk - gk-1 (4.3)

Quasi- Newton Back Propagation (BPGS)


Metoda Newton ini merupakan improvisasi dari metoda CGX,
dimana pencapaian nilai konvigurasi dapat dilakukan lebih
cepat. Metoda yang digunakan adalah sebagai berikut :
Wk+1 = Wk – Ak . gk (4.4)
Ak merupakan Hessian Matrix untuk nilai wieght dan Bias.

4.3 Backpropagation
Dalam backpropagation adalah salah satu metode untuk
menyempurnakan dalam system jaringan syaraf tiruan. Penemu
back propagation adalah Bryson dan Ho (1969) dilanjutkan Paul
Werbos (1974), David E. Rumelhart, Geoffrey E. Hinton,
Richard J. Williams (1986).
Konsep dasar back propagation terdiri dari:

197
Arsitektur : Multilayer Perceptron.
Metode Pembelajaran : Supervised (Terawasi)
Fungsi Aktivasi : Sigmoid, Transig, Purelin
Secara umum pelatihan sebuah jaringan backpropagation
memiliki 3 langkah:
1. Pelatihan pola input secara feedforward
2. Perhitungan dan Propagasi Balik dari kumpulah
kesalahan (error/galat)
3. Penyesuaian bobot

Gambar 4.7 Jaringan backpropagation

198
Dalam jaringan syaraf tiruan memiliki kelemahan yang
terdiri dari layar tunggal membuat perkembangan JST menjadi
terhenti pada sekitar tahun 1970 an. Penemuan backpropagation
yang terdiri dari beberapa layar membuka kembali wawasan.
Terlebih setelah berhasil ditemukannya berbagai aplikasi yang
dapat diselesaikan dengan backpropagation, sehingga Jaringan
Syaraf Tiruan semakin berkembang dan diminati banyak orang.
Jaringan Syaraf Tiruan dengan layar tunggal memiliki
keterbatasan dalam pengenalan pola. Kelemahan ini bisa
ditanggulangi dengan menambahkan satu atau 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. Jadi umumnya
orang mulai mencoba dengan sebuah layar tersernbunyi lebih
dahulu. Seperti halnya model jaringan syaraf tiruan lainnya,
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
rnasukan yang serupa (tapi tidak sama) dengan pola yang
dipakai selama pelatihan.

199
4.4 Arsitektur Backpropagation
Backpropagation memiliki beberapa unit yang ada dalam
satu atau lebih layar tersembunyi. Garnbar dibawah ini adalah
arsitektou backpropagation dengan n buah masukan (ditambah
sebuah bias), sebuah layar tersembunyi yang terdiri dari p unit
(ditambah sebuah bias), serta m sebuah unit keluaran. vji
merupakan bobot garis dari unit masukan xi ke unit layar
tersembuyi (vj0 merupakan bobot garis yang
menghubungkankan bias di unit masukan ke unit layar
tersembuyi zj). w5 merupakan bobot dari unit layar tersembuyi
zi ke unit keluaran yk (wko merupakan bobot dari bias di layar
tersembunyi ke unit keluaran zk.)

Gambar 4.8 Arsitektur backpropagation

200
4.5 Fungsi Aktivasi Backpropagation
Dalam backpropagation adalah fungsi aktivasi yang
dipakai harus memilikivbeberapa syarat yaitu: kontinu,
terdiferensial dengan mudah dan merupakan fungsi yang tidak
turun. salah satu fungsi yang memenuhi ketiga syarat tersebut,
sehingga sering dipakai adalah fungsi sigmoid biner yang
memiliki range (0, 1).

(4.5)

Gambar 4.9 Grafik sismoid biner


Fungsi lain yang sering dipakai adalah fungsi sigmoid bipolar.
fungsinya mirip dengan fungsi sigmoid biner, range C1,1).

201
(4.6)

Fungsi sigmoid memiliki nilai maksimum = 1 dan untuk


pola yang targehya > 1, pola masukan dan keluaran harus
terlebih dahulu ditransformasi sehingga semua polanya
memiliki range yang sama seperti fungsi sigmoid yang dipakai.
Altematif lain adalah menggunakan fungsi akbivasi sigmoid
hanya pada lavar vang bukan layer keluaran. Pada layar
keluaran, fungsi aktivasi yang dipakai adalah fuurgsi identitas:
f(x) = a

Gambar 4.10 Grafik sismoid bipolar

4.6 Pelatihan Standar Backpropagation


Pelatihan Backpropagation meliputi 3 fase. Fase pertama
adalah fase maju. Pola masukan dihitung maju mulai dari layer
202
masukan hingga layer 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 layer keluaran. Fase ketiga adalah modifikasi bobot
untuk menurunkan kesalahan yang terjadi.

Fase I: Propagasi maju


Selama propagasi maju, sinyal masukan (= xi)
dipropagasikan ke layer tersembunyi menggunakan fungsi
aktivasi yang ditentukan. Keluaran dari setiap unit layer
tersembunyi (= zj) tersebut selanjutnya dipropagasikan maju lagi
ke layer tersembunyi di atasnya rnenggunakan 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.

203
Fase II: Propagasi mundur
Berdasarkan kesalahan tk – yk, dihitung factor 𝛿 k (k = 1,2, ..., m)
yang dipakai untuk mendistribusikan kesalahan diunit yk ke
semua unit tersembuyi yang terhubung langsung dengan yk. 𝛿 k
juga dipakai untuk mengubah bobot garis yang berhubungan
langsung dengan unit keluaran.
Dengan cara yang sama, dihitung factor 𝛿 j di setiap unit
layer tersembuyi sebagai dasar perubahan bobot semua garis
yang berasal dari unit tersembunyi di layer dibawahnya.
Demikian seterusnya hingga semua faktor 𝛿 diunit tersembruryi
yang berhubungan langsung dengan unit masukan dihitung.

Fase III: Perubahan bobot


Setelah semua factor 𝛿 dihitung, bobot semua garis
dimodifikasi bersamaan. Perubahan bobot suatu garis
didasarkan atas factor 𝛿 neuron di layer atasnya. sebagai contoh,
perubahan bobot garis yang menuju ke layer keluaran
didasarkan atas 𝛿 k yang ada di unit keluaran.
Ketiga fase tersebut diulang ulang terus hingga kondisi
penghentian terpenuhi. Umumnya kondisi penghentian yang
sering dipakai adalah jumlah iterasi atau kesalahan. Iterasi akan
dihentikan jika jumlah iterasi yang dilakukan sudah melebihi

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

4.7 Algoritma Backpropagation


Berikut langkah langkah algoritma Backpopagation adalah:
Langkah 1: Inisialisasi bobot dengan bilangan nilai acak kecil
Langkah 2: Selama kondisi berhenti salah, kerjakan langkah 3
s.d. 8
Umpan Maju (Feedforward)
Langkah 3: Tiap unit masukan (xi, I = 1..n) menerima isyarat
masukan xi dan diteruskan ke unit-unit tersembunyi (hidden
layer)
Langkah 4: Tiap unit tersembunyi (zj, z = 1,….,p)
menjumlahkan bobot sinyal input.

(4.7)

dengan menerpakan fungsi aktivasi hitung:

(4.8)

misal, fungsi aktivasi yang digunakan adalah sigmoid:

205
(4.9)

dan mengirimkan isyarat ini ke semua unit pada unit keluaran

Langkah 5: Tiap unit keluaran (yk, k = 1,…..,m) menjumlahkan


isyarat masukan berbobot

(4.10)

dengan menerpakan fungsi aktivasi hitung:

(4.11)

Perambatan Galat Mundur (Backpropagation)


Langkah 6: Tiap unit keluaran (yk, k = 1..,m) menerima pola
pelatihan masukannya. Hitung galat (error) informasinya:

(4.12)

Hitung koreksi bobot dan biasnya:

206
(4.13)

Langkah 7: Tiap unit tersembunyi (zj, z=1,….,p)


menjumlahkan delta masukannya (dari unit-unit yang
berada pada lapisan atasanya).

(4.14)

Hitung galat (error) informasinya:

(4.15)

Hitung koreksi bobot dan biasnya:

(4.16)
Perbaiki bobot dan bias

Langkah 8: Tiap unit keluaran (yk, k = 1,..,m) memperbaharui


bobot dan bias ( j = 0,1,..p)

207
(4.17)

Tiap unit tersembunyi (zj, z=1,.,p) memperbaharui bobot dan


biasnya (i=0,1,..n)

(4.18)
Langkah 9: Uji syarat berhenti

Setelah pelatihan selesai dilakukan, jaringan dapat


dipakai untuk mengenalkan pola. Dalam hal ini, hanya propagasi
maju (langkah 4 dan 5) saja yang dipakai untuk menentukan
keluaran jaringan. Apabila fungsi aktivasi yang dipakai bukan
sigmoid biner, maka langkah 4 dan 5 harus disesuaikan.
Demikian juga turunannya pada langkah 6 dan 7

Contoh 4.1
Gunakan Backpropagation dengan sebuah layer tersembunyi
(dengan 3 unit) untuk mengenali fungsi logika XOR dengan 2
masukan x1 dan x2. Buatlah iterasi untuk menghitung bobot
jaringan untuk pola pertama (x1 = 1, x2 = 1 dan t = 0). Gunakan
laju pemahaman α = 0,2

208
Penyelesaian
Arsitektur Backpropagation dengan 1layer tersembunyi yang
terdiri dari 3 unit untuk mengenali fungsi XOR tampak pada
garnbar dibawah ini.

Gambar 4.11 Arsitektur Backpropagation 1 layer tersembunyi

Mula-mula bobot diberi nilai acak yang kecil (range [-1, 1])
Misalkan didapat bobot seperti tabel dibawah ini. (bobot dari
layer masukan ke layer tersembunyi = vji) dan tabel berikutnya
(bobot dari layer masukan ke layer tersembunyi = wkj).

Z1 Z2 Z3
X1 0.2 0.3 -0.1
X2 0.3 0.1 -0.1
1 -0.3 0.3 0.3

Tabel 4.1 Soal Bobot


209
Y
Z1 0.5
Z2 -0.3
Z3 -0.4
1 -0.1

Tabel 4.2 Target

Langkah 4: Hitung keluaran unit tersembunyi (zj)

Z_net1 = -0.3 + 1, (0.2) + 1 (0.3) = 0.2

Z _net2 = 0.3 + 1 (0.3) + 1 (0.1) = 0.7

Z_net3 = 0.3 + 1 (-0.1) + 1 (-0.1) = 0.1

Langkah 5: Hitung keluaran unit yk

210
Karena jaringan hanya memiliki sebuah unit keluaran y maka
y_netk

Langkah 6: Hitung factor 𝛿 di unit keluaran yk.

Karena jaringan hanya memiliki

sebuah keluaran maka

(0- 0.44) (0.44) (1- 0.44) = -0.11

Suku perubahan bobot wkj (dengan α = 0.2):

Δw10 = 0.2 (-0.11) (1) = - 0.02

Δw11 = 0.2 (-0.11) (0.55) = - 0.01

Δw12 = 0.2 (-0.11) (0.67) = - 0.01

Δw13 = 0.2 (-0.11) (0.52) = - 0.01

211
Langkah 7: Hitung penjumlahan kesalahan dari unit
tersembunyi (= 𝛿 )

Karena jaringan hanya memiliki sebuah unit

Keluaran maka

𝛿_net1 = (-0.11) (0.5) = -0.05

𝛿_net2 = (-0.11) (-0.3) = 0.03

𝛿_net3 = (-0.11) (-0.4) = 0.04

Faktor kesalahan 𝛿 di unit tersembunyi:

𝛿_net1 = -0.05 (0.55) (1 - 0.55) = -0.01

𝛿_net2 = 0.03 (0.67) (1 - 0.67) = 0.01

𝛿_net3 = 0.04 (0.52) (1 - 0.52) = 0.01

Suku perubahan bobot ke unit tersembunyi


(j = 1,2,3 dan i=0,1,2)

212
Z1 Z2 Z3
X1 ∆𝑣11 = (0.2) (- ∆𝑣21 = (0.2) ∆𝑣31 = (0.2)
0.01) (1)=0 (0.01) (1)=0 (0.01) (1)=0
X2 ∆𝑣12 = (0.2) (- ∆𝑣22 = (0.2) ∆𝑣32 = (0.2)
0.01) (1)=0 (0.01) (1)=0 (0.01) (1)=0
1 ∆𝑣10 = (0.2) (- ∆𝑣20 = (0.2) ∆𝑣30 = (0.2)
0.01) (1)=0 (0.01) (1)=0 (0.01) (1)=0

Langkah 8: Hitung semua perubahan bobot

Perubahan bobot unit keluaran:

W11 (baru) = 0.5 – 0.01 = 0.49


W12 (baru) = -0.3 - 0.01 = -0.31
W13 (baru) = -0.4 - 0.01 = -0.41
W10 (baru) = -0.1 - 0.02 = -0.12

Perubahan bobot unit tersembunyi:

Vji (baru) = vji (lama) + ∆𝑣ji (j =1,2,3 dan i=0,1,2)

Z1 Z2 Z3
X1 V11 (baru) = 0.2 V21 (baru) = 0.3 V31 (baru) = -0.1
+ 0 = 0.2 + 0 = 0.3 + 0 = -0.1
X2 V12 (baru) = 0.3 V22 (baru) = 0.1 V32 (baru) = -0.1
+ 0 = 0.3 + 0 = 0.1 + 0 = -0.1
1 V10 (baru) = -0.3 V20 (baru) = 0.3 V30 (baru) = 0.3
+ 0 = -0.3 + 0 = 0.3 + 0 = 0.3
213
Kita dapat mencoba membuat iterasi untuk pola kedua (x1 = l, x2
= 0, t = 1)

4.8 Optimalitas Arsitektur Backpropagation


Permasalahan utama vang dihadapi dalam
Backpropagation adalah lamanya iterasi yang harus dilakukan.
Backpropagation tidak dapat memberikan kepastian tentang
berapa epoch yang dilakukan untuk mencapai kondisi yang
diinginkan. Oleh karena itu banyak orang meneliti bagaimana
parameter parameter jaringan dibuat sehingga menghasilkan
jumlah iterasi yang relatif lebih sedikit.

Pemilihan Bobot dan Bias


Awal Bobot awal akan mempengaruhi apakah jaringan
mencapai titik minimum lokal atau global, dan seberapa cepat
konvergensinya. Bobot yang menghasilkan nilai turunan
aktivasi yang kecil sedapat mungkin dihindari karena akan
menyebabkan perubahan bobotnya menjadi sangat kecil.
Demikian pula nilai bobot awal tidak boleh terlalu besar karena
nilai turunan fungsi aktivasinya menjadi sangat kecil juga. Oleh
karena itu dalam standar Backpropagation bobot dan bias diisi
dengan bilangan acak kecil.

214
Nguyen dan Widrow (1990) mengusulkan cara membuat
inisialisasi bobot dan bias ke unit tersembunyi sehingga
menghasilkan iterasi lebih cepat
Misalnya
n = Jumlah unit masukan
p = Jumlah unit tersembunyi
𝛽 = Faktor skala 0.7 𝑛√𝑝
Algoritrna inisialisasi Nguyen Widrow adalah sebagai berikut:
a. Inisialisasi semua bobot (vji (lama)) dengan bilangan
acak dalam interval [-0.5, 0.5]
b. Hitung =

c. Bobot yang dipakai sebagai inisialisasi =

d. Bias yang dipakai sebagai inisialisasi = vjo = bilangan


acak antara - 𝛽 dan 𝛽

Contoh 4.2
Buatlah bobot awal ke unit tersembunyi contoh 4.1
menggunakan modifikasi bobot Ngruyen Widrow

215
Penyelesaian
Dalam contoh 4.1, n = junlah unit masukan = 2 dan p = jumlah
unit tersembunyi = 3. Bobot lama (vji lama) yang didapat
secara acak tampak dalam tabel dibawah ini.
Z1 Z2 Z3
X1 0.2 0.3 -0.1
X2 0.3 0.1 -0.1
1 -0.3 0.3 0.3

Tabel 7.6 merupakan bobot yang dipakai sebagai inisialisasi.

Z1 Z2 Z3
X1 (1.21*0.2)/0.36 = (1.21*0.3)/0.32 = (1.21*(-
0.67 1.13 0.1))/0.14
=0.86
X2 (1.21*0.3)/0.36 = (1.21*0.1)/0.32 = (1.21*(-
1 0.38 0.1))/0.14
=0.86

Bias yang dipakai adalah bilangan acak antara -1.21 hingga


1.21

216
4.9 Jumlah Unit Tersembunyi
Hasil teoritis yang didapat menunjukkan bahwa iaringan
dengan sebuah layar tersembunyi sudah cukup bagi
Backpropagation untuk mengenali sembarang perkawanan
antara masukan dan target dengan tingkat ketelitian yang
ditentukan. Akan tetapi penambahan jumlah layar tersembunyi
kadangkala membuat pelatihan lebih mudah. Tidak ada aturan
yang pasti untuk mengetahui seberapa banyak lapisan
tersembunyi yang sebenarnya diperlukan. Ada 2 ide yang bisa
dipakai. Pertama adalah dengan menerapkan jaringan yang besar
kemudian memangkas yang tidak perlu, atau sebaliknya,
bergerak dari jaringan yang kecil kemudian bergerak melakukan
penambahan yang dipandang perlu.
1. Dari jaringan besar ke kecil
Arsitektur jaringan dibangun berdasarkan data,
membentuk jaringan yang besar dan kemudian
memangkas node-node dan koneksi-koneksi sampai
menjadi jaringan terkecil yang bisa melakukan aplikasi.
2. Dari jaringan kecil ke besar
Dimulai dari pembangunan sebuah jaringan kecil
kemudian secara bertahap dilakukan penambahan node-
node tersembunyi

217
Jika jaringan memiliki lebih dari satu layar tersembunyi, maka
algoritrna pelatihan yang dijabarkan sebelumnya perlu direvisi.
Dalam propagasi maju, keluaran harus dihitung untuk tiap layar,
dimulai dari layar tersembunyi paling bawah (terdekat dengan
masukan). Sebaliknya, dalam propagasi mundur, faktor perlu
dihitung untuk tiap layar tersembunyi, dimulai dari layar
keluaran

Jumlah Pola Pelatihan


Tidak ada kepastian tentang berapa banyak pola yang
diperlukan agar jaringan dapat dilatih dengan sempurna. Jumlah
pola yang dibutuhkan dipengaruhi oleh banyaknya bobot dalam
jaringan serta tingkat akurasi yang diharapkan. Aturan kasarnya
dapat ditentukan berdasarkan rumusan: Jumlah pola = Jumlah
bobot / tingkat aktivasi

4.10 Aplikasi Multilayer Perceptron in Matlab

Bab sebelumnya kita telah membahas perceptron sederhana,


yang melibatkan pembelajaran Backpropagation berdasarkan
dua lapisan yaitu: input dan output. Sekarang memperluas
sedikit kompleksitas dengan memasukkan lapisan ketiga, atau
lapisan tersembunyi ke dalam jaringan. Untuk melakukan ini
didasarkan pada konsep keterpisahan linear. Sementara gerbang
218
logika seperti "OR", "AND" atau "NAND" dapat dipisahkan
oleh 0 dan 1 oleh satu baris (atau hyperplane dalam berbagai
dimensi), pemisahan linier ini tidak dimungkinkan untuk "XOR"
(OR eksklusif). Matlab Geeks.

Gambar 4.12 Pemisahan linier XOR

Seperti yang ditunjukkan dua gambar di atas, satu baris


dapat memisahkan nilai yang mengembalikan 1 dan 0 untuk
gerbang "OR", tetapi tidak ada garis yang dapat ditarik untuk
logika "XOR". Oleh karena itu, perceptron sederhana tidak
dapat menyelesaikan masalah XOR. Yang kita butuhkan adalah
cara nonlinier untuk menyelesaikan masalah ini, kasus ini multi-
layer perceptrons dapat membantu kita memecahkan
pemasalahannya.

219
Pertama mari kita inisialisasi semua variabel kita, termasuk
input, output yang diinginkan, bias, koefisien pembelajaran,
iterasi dan bobot acak.

% XOR input for x1 and x2 → sebagai input


input = [0 0; 0 1; 1 0; 1 1];
% Desired output of XOR → sebagai output
output = [0;1;1;0];
% Initialize the bias → sebagai bias
bias = [-1 -1 -1];
% Learning coefficient → sebagai Coefficient atau
Learning Rate
coeff = 0.7;
% Number of learning iterations → Jumlah iterasi
yang digunakan
iterations = 10000;
% Calculate weights randomly using seed. →
menghitung bobot acak yang digunakan
rand('state',sum(100*clock));
weights = -1 +2.*rand(3,3);

Mirip dengan neuron biologis yang diaktifkan ketika


ambang tertentu tercapai, kita akan lagi menggunakan fungsi
transfer sigmoid untuk menyediakan aktivasi nonlinear dari
jaringan saraf . Seperti yang disebutkan dalam bab sebelumnya,
fungsi sigmoid 1 / (1 + e ^ (- x)) akan menekankan semua nilai
antara rentang 0 dan 1. Juga persyaratan fungsi dalam
perceptrons multilayer, yang menggunakan backpropagation

220
untuk pembelajaran, sebagai fungsi aktivasi sigmoid ini terus
dapat dibedakan.
Dapat atur jaringan untuk memiliki 5 neuron total (dapat diubah
ubah, yaitu dapat mengubah jumlah simpul tersembunyi,
mengubah laju pembelajaran, mengubah algoritma
pembelajaran, mengubah fungsi aktivasi sesuai kebutuhan.
Bahkan kotak peralatan jaringan saraf tiruan di Matlab
memungkinkan Anda untuk memodifikasi semua ini juga.)
Ini adalah bagaimana jaringan akan terlihat, dengan nomor
subskrip digunakan sebagai pengindeksan dalam kode Matlab
juga.

Gambar 4.13 Aturan Delta

221
Padahal sebelum kita menyatakan aturan delta sebagai delta =
(diinginkan keluar) - (output jaringan), kita akan menggunakan
modifikasi, yang dijelaskan dengan baik oleh generasi5.
Perbanyakan kembali dengan aturan delta akan memungkinkan
kita untuk memodifikasi bobot pada setiap node dalam jaringan
berdasarkan kesalahan pada level saat ini n dan pada level n +1.
Sekarang untuk kode dengan backpropagation dalam matlab.

for i = 1:iterations
out = zeros(4,1);
numIn = length (input(:,1));
for j = 1:numIn
% Hidden layer → sebagai layer tersembunyi
H1 = bias(1,1)*weights(1,1)
+ input(j,1)*weights(1,2)
+ input(j,2)*weights(1,3);

% Send data through sigmoid function 1/1+e^-x


→ fungsi sigmoid
% Note that sigma is a different m file
% that I created to run this operation
x2(1) = sigma(H1);
H2 = bias(1,2)*weights(2,1)
+ input(j,1)*weights(2,2)
+ input(j,2)*weights(2,3);
x2(2) = sigma(H2);

% Output layer → sebagai output


x3_1 = bias(1,3)*weights(3,1)
+ x2(1)*weights(3,2)
+ x2(2)*weights(3,3);
out(j) = sigma(x3_1);

% Adjust delta values of weights →


penyesuain nilai delta pada bobot
222
% For output layer:
% delta(wi) = xi*delta,
% delta = (1-actual output)*(desired output -
actual output)
delta3_1 = out(j)*(1-out(j))*(output(j)-
out(j));

% Propagate the delta backwards into hidden


layers
delta2_1 = x2(1)*(1-
x2(1))*weights(3,2)*delta3_1;
delta2_2 = x2(2)*(1-
x2(2))*weights(3,3)*delta3_1;

% Add weight changes to original weights


% And use the new weights to repeat process.
% delta weight = coeff*x*delta
for k = 1:3
if k == 1 % Bias cases
weights(1,k) = weights(1,k) +
coeff*bias(1,1)*delta2_1;
weights(2,k) = weights(2,k) +
coeff*bias(1,2)*delta2_2;
weights(3,k) = weights(3,k) +
coeff*bias(1,3)*delta3_1;
else % When k=2 or 3 input cases to
neurons
weights(1,k) = weights(1,k) +
coeff*input(j,1)*delta2_1;
weights(2,k) = weights(2,k) +
coeff*input(j,2)*delta2_2;
weights(3,k) = weights(3,k) +
coeff*x2(k-1)*delta3_1;
end
end
end
end

223
Cobalah anda jalankan setiap langkah secara sendiri, dan ada
beberapa tutorial online yang bagus, termasuk situs web
generation5.
Adapun hasil akhirnya?
Berikut bobotnya adalah:
weights =
-9.8050 -6.0907 -7.0623
-2.4839 -5.3249 -6.9537
5.7278 12.1571 -12.8941

Bobot ini hanya mewakili satu kemungkinan solusi untuk


masalah ini, berikut outputnya.
out =
0.0042
0.9961
0.9956
0.0049

Hasil cukup baik, karena yang diharapkan adalah [0; 1; 1; 0],


yang memberi nilai rata-rata kuadrat galat (Mean Square Error)
sebesar 1,89 * 10 ^ -5. Prosesnya dijalankan dengan
menggunakan 100.000 iterasi, dan sementara ini dapat
dioptimalkan lebih lanjut, berhenti diubah sebelumnya untuk
memiliki arsitektur yang berbeda seperti yang disebutkan
sebelumnya, saya akan menyerahkannya kepada Anda atau
untuk pelajaran lebih lanjut di jalan

224
Pemecahan XOR dengan masalah multilayer perceptron

Deskripsi problem 4 cluster pada data (A, B, C, D) untuk


menentukan dalam 2-dimensional input space. (A, C) dan (B, D)
clusters represetasi XOR masalam klasifikasi. Tugasnya adalah
untuk menentukan sebuah neural network untuk pemecahan
masalah XOR.
Langkah langkah penyelesaian permsalahannya adalah.
1. Menentukan 4 clusters pada input data
2. Menentukan code output untuk masalah XOR
3. Menyiapkan input dan output untuk training network
4. Membuat dan melatih multilayer perceptron
5. Target plot dan respon network untuk melihat bagaimana
yang terbaik pembelajaran jaringan data
6. Hasil klasifikasi Plot untuk ruang input yang lengkap

1. Menentukan 4 clusters pada input data

225
close all, clear all, clc, format compact
% number of samples of each class
K = 100;
% define 4 clusters of input data
q = .6; % offset of classes
A = [rand(1,K)-q; rand(1,K)+q];
B = [rand(1,K)+q; rand(1,K)+q];
C = [rand(1,K)+q; rand(1,K)-q];
D = [rand(1,K)-q; rand(1,K)-q];
% plot clusters
figure(1)
plot(A(1,:),A(2,:),'k+')
hold on
grid on
plot(B(1,:),B(2,:),'bd')
plot(C(1,:),C(2,:),'k+')
plot(D(1,:),D(2,:),'bd')
% text labels for clusters
text(.5-q,.5+2*q,'Class A')
text(.5+q,.5+2*q,'Class B')
text(.5+q,.5-2*q,'Class A')
text(.5-q,.5-2*q,'Class B')

Setelah coding dapat dijalankan, akan didapatkan hasil sebagai


berikut

226
Gambar 4.14 Hasil menentukan 4 clusters pada input data

2. Menentukan code output untuk masalah XOR


% encode clusters a and c as one class,
and b and d as another class
a = -1; % a | b
c = -1; % ------
b = 1; % d | c
d = 1; %

3. Menyiapkan input dan output untuk training network

227
% define inputs (combine samples from all
four classes)
P = [A B C D];
% define targets
T = [repmat(a,1,length(A))
repmat(b,1,length(B)) ...
repmat(c,1,length(C))
repmat(d,1,length(D)) ];
% view inputs |outputs
%[P' T']

4. Membuat dan melatih multilayer perceptron

% create a neural network


net = feedforwardnet([5 3]);
% train net
net.divideParam.trainRatio = 1; % training
set [%]
net.divideParam.valRatio = 0; % validation
set [%]
net.divideParam.testRatio = 0; % test set
[%]
% train a neural network
[net,tr,Y,E] = train(net,P,T);
% show network
view(net)

Setelah coding dapat dijalankan, akan didapatkan hasil sebagai


berikut

Gambar 4.15 Tampilan Neural network

228
Gambar 4.16 Tampilan untuk plots untuk melatih hasil

229
Gambar 4.17 Tampilan hasil terbaik

Gambar 4.18 Tampilan hasil training state

230
Gambar 4.19 Tampilan hasil training Regression

Gambar 4.20 Tampilan hasil error = target - output

231
5. Target plot dan respon network untuk melihat bagaimana
yang terbaik pembelajaran jaringan data
figure(2)
plot(T','linewidth',2)
hold on
plot(Y','r--')
grid on
legend('Targets','Network
response','location','best')
ylim([-1.25 1.25])

Setelah coding dapat dijalankan, akan didapatkan hasil sebagai


berikut

Gambar 4.21 Tampilan hasil target plot dan respon network

232
6. Hasil klasifikasi Plot untuk ruang input yang lengkap
% generate a grid
span = -1:.005:2;
[P1,P2] = meshgrid(span,span);
pp = [P1(:) P2(:)]';
% simulate neural network on a grid
aa = net(pp);
% translate output into [-1,1]
%aa = -1 + 2*(aa>0);
% plot classification regions
figure(1)
mesh(P1,P2,reshape(aa,length(span),length(span
))-5);
colormap cool
view(2)

Setelah coding dapat dijalankan,didapatkan hasil sebagai berikut

Gambar 4.22 Tampilan hasil klasifikasi Plot

233
Klasifikasi masalah 4-class dengan Multilayer perceptron

Deskripsi masalah adalah 4 clusters pada data (A, B, C, D) yang


ditentukan kedalam 2-dimensional input space. Tugasnya adalah
untuk menentukan neural network untuk klasifikasi pada bebas
poin 2-dimensional ruang kedalam satu kelas (A, B, C, D).

Langkah langkah penyelesaian permsalahannya adalah


1. Menentukan 4 clusters pada input data
2. Menentukan output coding untuk semua 4 clusters
3. Mempersiapkan input dan output untuk network training
4. Membuat dan melatih multilayer perceptron
5. Meng-Evaluasi network performance dan plot results
6. Plot classification result untuk complete input space

1. Menentukan 4 clusters pada input data

234
close all, clear all, clc, format compact
% jumlah contoh setiap kelas
K = 100;
% menentukan 4 clusters pada input data
q = .6; % offset pada kelas
A = [rand(1,K)-q; rand(1,K)+q];
B = [rand(1,K)+q; rand(1,K)+q];
C = [rand(1,K)+q; rand(1,K)-q];
D = [rand(1,K)-q; rand(1,K)-q];
% plot clusters
figure(1)
plot(A(1,:),A(2,:),'k+')
hold on
grid on
plot(B(1,:),B(2,:),'b*')
plot(C(1,:),C(2,:),'kx')
plot(D(1,:),D(2,:),'bd')
% label teks untuk cluster
text(.5-q,.5+2*q,'Class A')
text(.5+q,.5+2*q,'Class B')
text(.5+q,.5-2*q,'Class C')
text(.5-q,.5-2*q,'Class D')

Setelah coding dapat dijalankan, akan didapatkan hasil sebagai


berikut

235
Gambar 4.23 Hasil menentukan 4 clusters pada input data
2. Menentukan output coding untuk semua 4 clusters
% koding (+1/-1) dari 4 kelas terpisah
a = [-1 -1 -1 +1]';
b = [-1 -1 +1 -1]';
d = [-1 +1 -1 -1]';
c = [+1 -1 -1 -1]';

3. Mempersiapkan input dan output untuk network training


% menentukan input (kombinasi contoh
contoh dari ke empat kelas semaua)
P = [A B C D];
% menentukan target
T = [repmat(a,1,length(A))
repmat(b,1,length(B)) ...
repmat(c,1,length(C))
repmat(d,1,length(D)) ];
236
4. Membuat dan melatih multilayer perceptron

% membuat neural network


net = feedforwardnet([4 3]);
% train net
net.divideParam.trainRatio = 1; % training set [%]
net.divideParam.valRatio = 0; % validation set [%]
net.divideParam.testRatio = 0; % test set [%]
% train a neural network
[net,tr,Y,E] = train(net,P,T);
% menampilkan network/jaringan
view(net)

Setelah coding dapat dijalankan, akan didapatkan hasil sebagai


berikut

Gambar 4.24 Tampilan Neural network yang digunakan

237
Gambar 4.25 Tampilan Training Neural network

Gambar 4.26 Tampilan Training state

238
Gambar 4.27 Tampilan Error = Target - output

Gambar 4.28 Tampilan Training Regression MLP

239
5. Meng-Evaluasi network performance dan plot results
% evaluasi performance: decoding network response
[m,i] = max(T); % target kelas
[m,j] = max(Y); % prediksi kelas
N = length(Y); % jumlah semua contoh
k = 0; % Jumlah contoh missclassified
if find(i-j), % if there exist missclassified samples
k = length(find(i-j)); % get a number of
missclassified samples
end
fprintf('Correct classified samples: %.1f%% samples\n',
100*(N-k)/N)
% plot network output
figure;
subplot(211)
plot(T')
title('Targets')
ylim([-2 2])
grid on
subplot(212)
plot(Y')
title('Network response')
xlabel('# sample')
ylim([-2 2])
grid on

Correct classified samples: 100.0% samples


Setelah coding dapat dijalankan, akan didapatkan hasil sebagai
berikut

240
Gambar 4.29 Tampilan Evaluate network performance
and plot results
6. Hasil klasifikasi Plot untuk ruang input yang lengkap

241
% generate a grid
span = -1:.01:2;
[P1,P2] = meshgrid(span,span);
pp = [P1(:) P2(:)]';
% simulasi neural network on a grid
aa = net(pp);
% plot classification regions based on MAX
activation
figure(1)
m =
mesh(P1,P2,reshape(aa(1,:),length(span),length(span)
)-5);
set(m,'facecolor',[1 0.2 .7],'linestyle','none');
hold on
m =
mesh(P1,P2,reshape(aa(2,:),length(span),length(span)
)-5);
set(m,'facecolor',[1 1.0 0.5],'linestyle','none');
m =
mesh(P1,P2,reshape(aa(3,:),length(span),length(span)
)-5);
set(m,'facecolor',[.4 1.0 0.9],'linestyle','none');
m =
mesh(P1,P2,reshape(aa(4,:),length(span),length(span)
)-5);
set(m,'facecolor',[.3 .4 0.5],'linestyle','none');
view(2)

Setelah coding dapat dijalankan, akan didapatkan hasil sebagai


berikut

242
Gambar 4.30 Tampilan Plot classification result

243
DAFTAR PUSTAKA

Russell, Stuart J.; Norvig, Peter (2009). Artificial Intelligence:


A Modern Approach (3rd ed.). Upper Saddle River,
New Jersey: Prentice Hall. ISBN 0-13-604259-7

McCorduck, Pamela (2004), Machines Who Think (2nd ed.),


Natick, MA: A. K. Peters, Ltd., ISBN 1-56881-205-1.

Russell, Stuart J.; Norvig, Peter (2003), Artificial Intelligence:


A Modern Approach (2nd ed.), Upper Saddle River,
New Jersey: Prentice Hall, ISBN 0-13-790395-2.

Crevier, Daniel (1993), AI: The Tumultuous Search for


Artificial Intelligence, New York, NY: BasicBooks,
ISBN 0-465-02997-3.

Davies, Alex. "World's First Self-Driving Semi-Truck Hits the


Road". WIRED. Archived from the original on 28
October 2017. Retrieved 20 September 2017.

Laudon Kenneth C, 2007, Sistem Informasi Manajemen 1,


Edisi 10, Jakarta, Penerbit Salemba.

S. J. Russell, P. Norvig, J. F. Canny, J. M. Malik, and D. D.


Edwards, 1995, Artificial Intelligence: A Modern
Approach, vol. 2. Prentice hall Englewood Cliffs.

Eliyani, (2005),” Pengantar Jaringan Syaraf Tiruan”, Materi


Kuliah.Com * Riedmiller, M., 1994, “Advanced
Supervised Learning in Multi-Layer Perceptrons –
From Backpropagation to Adaptive Learning

244
Algorithms”, Int. Journal of Computer Standards and
Interfaces (16).

Ben Krose, Petrick, 1996, An introduction to Neural Network,


Amsterdam.

Mr. M. Aziz Muslim, Ph.D, presentation at SKI class of 2012,


Wednesday, 3, 10 Oktober 2012.

Kuswara Setiawan, Dr, Ir, MT,2003, Paradigma Sistem Cerdas,


Bayu Media

http://www.generation5.org/content/2002/bp.asp

https://uk.mathworks.com/help/deeplearning/ug/multilayer-
neural-network-architecture.html

http://lab.fs.uni-lj.si/lasin/wp/IMIT_files/neural/NN-
examples.pdf

http://web.if.unila.ac.id/purmanailuswp/2015/09/13/pengertian-
artificial-intelligence-kecerdasan-buatan/

http://www.firman-its.com/2007/05/17/algoritma-genetika-dan-
contoh-aplikasinya/
http://www.stmikpontianak.ac.id/admin/upload/jaringan_syaraf
_tiruan.pdf

http://yuni-w-p-fst09.web.unair.ac.id/

http://lecturer.eepis-ts.edu/~entin/Kecerdasan%20Buatan
/Buku/Bab%208%20Jaringan%20Syaraf%20Tiruan.pdf

https://en.wikipedia.org/wiki/Machine_learning

245
http://www.csee.umbc.edu/~ypeng/F11NN/NN.html

http://en.wikipedia.org

246

Anda mungkin juga menyukai