NEURAL NETWORK
(Jaringan Syaraf Tiruan)
Target per Subbab yang harus kita dapatkan adalah sebagai
berikut :
1. Memahami konsep sederhana dari JST.
2. Mengenal bagian bagian dari penyusun JST.
3. Implementasi jaringan dengan menggunakan Matlab
4. Mendapatkan informasi struktur dari JST yang telah di
implementasikan dengan menggunakan Matlab.
5. Implementasi pada bahasa pemrograman yang lain.
bagian input yang terdiri dari input dan bias, yang kedua adalah
bagian Neuron itu sendiri dan yang terakhir adalah output.
Pada
dan
lain
sebagainya
tanpa
didahului
dengan
proses
bagian.
Bagian
pertama
adalah
bagian
dari
proses
Keterangan :
... persamaan 1.
Masih bingung dengan cara kerjanya ? Saya sederhanakan
seperti permisalan berikut :
Langkah pertama adalah kita harus menghitung nilai
penjumlahan keseluruhan atau sigma dari seluruh input yang
masuk ke Neuron, misalnya saya membuat stuktur dengan
memberikan 2 input sensor dan satu bias pada satu Neuron
seperti pada Gambar 2.3 (yang sebenarnya rumusnya sudah
saya tuliskan pada gambar tersebut) maka dapat ditulis :
Nilai Input : (w0 * i0) + (w1 * i1) + wb
Dimana :
didapatkan
hasilnya
melalui
rumus
diatas,
maka
dengan
informasi
Neuron
berikutnya
utuhnya.
Lalu
dan
baru
bagaimana
kita
bentuk
dengan
dengan
menggunakan
menggunakan
struktur
yang
lebih
Matlab
dan
ikuti
Y
0
1
0
1
Q
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
1
fungsi
yang
dapat
kita
gunakan
untuk
dapat
klik
Next
dan
akan
muncul
jendela
Network
jendela
Save
Result,
kita
dapat
menyimulasikan
2.1. Untuk hasil simulink yang telah saya buat adalah sebagai
berikut pada Tabel 2.3.
Tabel 2.3. Tabel Hasil Simulasi Simulink
X
Y
Q
11.
0
0
0.362
9
0
1
0.0305
1
1
0
0.493
3
1
1
0.99
8
13.
Lalu pada Tabel 2.4. berikut ini hasil dari keluaran jaringan
0
0
0.0345
1
0
1
0.000602
2
1
0
0.0406
1
1
1
0.998
8
14.
kedalam
bahasa
C++
yaitu
dengan
sampai
hasil
tersebut
didapatkan
nilainya
karena
nilainya.
Perhatikan
urutannya
!.
Untuk
2.5
Implentasi
dengan
Menggunakan
Bahasa
Pemrograman Lain
Setelah kita mendapatkan informasi struktur jaringan
secara lengkap, maka langkah selanjutnya adalah implementasi
sistem ke bahasa pemrograman lain dimana pada kali ini penulis
akan menggunakan contoh implementasi sistem dari JST gerbang
AND
menggunakan
Arduino.
Pada
kali
ini,
penulis
akan
ARD1
AREF
RESET
1121
ATMEGA328P-PU
PD7/AIN1
~ PD6/AIN0
PD5/T1
~
PD4/T0/XCK
~ PD3/INT1
PD2/INT0
TX PD1/TXD
RX PD0/RXD
13
12
11
10
9
8
7
6
5
4
3
2
1
0
ARDUINO UNO R3
P1
1
6
2
7
3
8
4
9
DCD
DSR
RXD
RTS
TXD
CTS
DTR
RI
83%
RV2
PC0/ADC0
PC1/ADC1
PC2/ADC2
PC3/ADC3
PC4/ADC4/SDA
PC5/ADC5/SCL
DIGITAL (~PWM)
1k
A0
A1
A2
A3
A4
A5
ANALOG IN
65%
RV1
PB5/SCK
PB4/MISO
~PB3/MOSI/OC2A
~ PB2/SS/OC1B
~ PB1/OC1A
PB0/ICP1/CLKO
ERROR
COMPIM
1k
w1 = -1.02818787154936;
w2 = -1.91575075723972;
w3 = -1.21376836909336;
w4 = 1.2526957968444;
wb1 = 2.01188130777301;
wb2 = -2.12239972229487;
wN1 = -1.11441304368783;
wN2 = -0.214938632045524;
wbN2 = -0.0259957482236678;
Compile
w1 = -1.02818787154936;
w2 = -1.91575075723972;
w3 = -1.21376836909336;
w4 = 1.2526957968444;
wb1 = 2.01188130777301;
wb2 = -2.12239972229487;
wN1 = -1.11441304368783;
wN2 = -0.214938632045524;
wbN2 = -0.0259957482236678;
void setup() {
Serial.begin(9600);
}
void loop() {
float input1 = analogRead(A0) / 1023;
float input2 = analogRead(A1) / 1023;
Serial.print(input1);
Serial.print("|");
Serial.print(input2);
Serial.print("|");
//Nilai Penjumlahan Neuron Layer 1
float N1layer1 = (input1 * w1) + (input2 * w2) + wb1;