X
1
X
3
X
2
Z
1
Z
4
Z
2
Y
1
Y
3
Y
5
Y
2
Y
4
Sangat Rendah Rendah
Sedang Tinggi
Sangat Tinggi
Input Layer
Hidden Layer
Output Layer
1 1
Bias Hidden
Bias Output
V
11
V
1-4
V
12
V
21
V
2-4
V
22
V
3-1
V
3-4
V
3-2
W
11
W
15
W
12
W
21
W
25
W
22
W
4-1
W
4-5
W
4-2
Gambar 3.1 Arsitektur jaringan BPNN
Keterangan gambar 3.1 : Dataset
: Dataset yang digunakan :
1. Umur 6-80 ;
2. Suhu 0-100 ;
3. Nilai 10-100 ;
4. Berat badan 20-90,
X :
Masukkan data Input 1-100 data Z
: Jumlah neuron pada hidden layer
V :
Bobot pada lapisan tersembunyi W
: Bobot pada lapisan keluaran
Y :
Keluaran hasil
100 data pada setiap dataset yang akan dilatihkan disusun menjadi suatu matrik dengan ukuran 3 x 100, baik pada saat pelatihan maupun pada saat pengujian.
Keluaran atau target yang diinginkan adalah Membership function dengan skala Sangat Rendah SR, Rendah R, Sedang S, Tinggi T dan Sangat Tinggi ST.
3.3.2 Prosedur Kerja Jaringan BPNN
Universitas Sumatera Utara
Adapun prosedur kerja jaringan BPNN secara keseluruhan dapat dilihat pada gambar 3.2.
Variabel X
1
Umur 6-80, Suhu 0-100,
Nila siswa 10-100, Berat 20-90
INPUT
Tahap Pelatihan
PROSES
Tahap Pengujian
Membership Function MF
OUTPUT
Sorting Data
PRA PROSESING
Normalisasi Data Set Target Dan Bobot
Gambar 3.2 Diagram alir prosedur kerja jaringan BPNN
3.3.2.1 Pra Prosesing
Proses pembelajarn pada jaringan syaraf backpropagation terdiri dari dua tahap, yaitu tahap pelatihan dan pengujian data, selain itu juga terdapat proses pra
prosesing. Proses pra prosesing dilakukan dalam beberapa tahap, tahap awal merupakan proses sorting data. Proses sorting data dilakukan untuk mengurutkan
data input yang dimasukkan secara random sebelum proses normalisasi, data ini
Universitas Sumatera Utara
nantinya akan digunakan untuk proses mendapatkan target dan bobot awal. Data yang telah di-sorting kemudian akan dinormalisasi. Normalisasi dilakukan untuk
mengubah data input-an asli menjadi data dalam range antara 0 dan 1. Hal ini dilakukan karena dalam penelitian ini menggunakan fungsi aktivasi sigmoid yang
memiliki rentang nilai antara 0 dan 1. Dalam proses ini digunakan persamaan 2.39. Setelah dilakukan normalisasi, maka langkah selanjutnya adalah
mendapatkan target awal dan bobot.
3.3.2.2 Proses Penentuan Target Awal Dan Bobot Pada Algoritma Kohonen
Terdapat 5 tahapan yang dilakukan pada proses penentuan target awal dan bobot, yaitu :
1. Proses penentuan nilai batas grafik menggunakan algoritma kohonen.
Nilai batas grafik yang didapatkan juga digunakan untuk menentukan batas target dan batas input di setiap grafiknya. Gambar 3.3 merupakan algoritma
untuk menentukan nilai batas grafik.
Gambar 3.3 Algoritma penentuan nilai batas grafik.
2. Proses pembentukan grafik target awal, menggunakan fungsi linear turun,
fungsi segitiga dan juga fungsi linear naik. 2.a Pembentukan grafik 1 fungsi linear turun
Grafik 1 merupakan grafik linear turun, grafik ini memiliki nilai target sumbu x yang bergerak turun, mulai dari nilai tertinggi sampai nilai
terendah. Gambar 3.4 merupakan grafik linear turun.
For bobot = 1 to 3 jb
i
= bobot
i
+ X
i 2
if jb
i
jb i + 1 bobot i + 1 = bobot i + 1 + alpha X
i
– bobot i + 1 else
bobot
i
= bobot
i
+ alpha X
i
– bobot
i
End
Universitas Sumatera Utara
0.9
1
Derajat Keanggotaan
Gambar 3.4 Grafik linear turun.
Pada grafik 1, yang menjadi titik acuan pembentukan grafik adalah nilai a dan b, nilai a merupakan nilai minimum dari data yang di-input-kan, nilai ini
menjadi nilai awal grafik sekaligus juga nilai puncak, sedangkan nilai b merupakan nilai batas akhir grafik. Gambar 3.5 memperlihatkan algoritma
pembentukan grafik linear turun, dimana nilai b didapatkan dari proses 1
.
Gambar 3.5 Algoritma pembentukan grafik linear turun.
2.b Pembentuk
grafik 2, grafik 3 dan grafik 4 fungsi segitiga Grafik 2, 3 dan 4 merupakan grafik segitiga, grafik ini memiliki nilai target
sumbu x yang pada awalnya bergerak naik sampai titik puncak untuk kemudian bergerak turun sampai pada nilai batas akhir. Gambar 3.6
merupakan grafik segitiga.
0.9
1
Derajat Keanggotaan
.
Gambar 3.6 Grafik segitiga.
a = nilai_minimum nilai awal = nilai puncak b = nilai_akhir
For i = 1 To jumlah_data If X
1
_grafik1 i, 1 = b Then X
1
_grafik1 i, 1 = 0; X
2
_grafik1 i, 2 = 0; X
3
_grafik1 i, 3 = 0 Else
X
2
_grafik1 i, 2 = b; X
1
_grafik1 i, 3 = b - i End If
Universitas Sumatera Utara
Pada grafik 2, yang menjadi titik acuan pembentukan grafik adalah nilai a b dan c, nilai a merupakan nilai minimum dari data yang diinputkan,
nilai ini menjadi nilai awal grafik, nilai b merupakan nilai puncak, sedangkan nilai c merupakan nilai batas akhir grafik. Gambar 3.7
memperlihatkan algoritma pembentukan grafik segitiga.
Gambar 3.7 Algoritma pembentukan grafik segitiga.
2.c Pembentukan grafik 5 fungsi linear naik Grafik 5 merupakan grafik linear naik, grafik ini memiliki nilai target
sumbu x yang bergerak naik, mulai dari nilai terendah sampai nilai tertinggi. Gambar 3.8 merupakan grafik linear naik.
0.9
1
Derajat Keanggotaan
Gambar 3.8 Grafik linear naik.
a = nilai awal b = nilai_puncak
c = nilai_akhir grafik_n = grafik_2, grafik_3, grafik_4
For i = 1 To jumlah_data If X
1
_grafik_n i, 1 = a Or X
1
_grafik_n i, 1 = c Then X
1
_grafik_n i, 1 = 0 X
2
_grafik_n i, 2 = 0 X
3
_grafik_n i, 3 = 0 Else
If X
1
_grafik_n i, 1 = b And X
1
_grafik_n i, 1 = c Then X
2
_grafik_n i, 2 = c X
3
_grafik_n i, 3 = c - i End If
If X
1
_grafik_n i, 1 = a And X
1
_grafik_n i, 1 = b Then X
2
_grafik_n i, 2 = c X
3
_grafik_n i, 3 = b + i End If
End If
Universitas Sumatera Utara
Pada grafik 5, yang menjadi titik acuan pembentukan grafik adalah nilai a dan b, nilai a merupakan nilai batas awal, nilai ini menjadi nilai awal
grafik, sedangkan nilai b merupakan nilai batas akhir grafik sekaligus juga nilai puncak. Gambar 3.8 memperlihatkan algoritma pembentukan
grafik linear naik.
Gambar 3.9 Algoritma pembentukan grafik linear naik.
3. Penentuan variabel X
2
dan X
3
Dalam penelitian ini, variabel yang digunakan sebagai input-an awal hanyalah variabel X
1
, sedangkan variabel yang dibutuhkan untuk mendapatkan target pelatihan berjumlah 3, yaitu variabel X
1
, X
2
, dan juga X
3
. Variabel X
2
didapatkan menggunakan algoritma kohonen seperti terlihat pada gambar 3.10.
a = nilai awal b = nilai maksimum nilai puncak
For i = 1 To jumlah_data If X
1
_grafik5 i, 1 = a Then X
1
_grafik5 i, 1 = 0 X
2
_grafik5 i, 2 = 0 X
3
_grafik5 i, 3 = 0 Else
If X
1
_grafik5 i, 1 = a And X
1
_grafik5 i, 1 = b Then X
2
_grafik5 i, 2 = a X
3
_grafik5 i, 3 = i - a Else
X
1
_grafik5 i, 1 = 1 X
2
_grafik5 i, 2 = 1 X
3
_grafik5 i, 3 = 1 End If
End If
Universitas Sumatera Utara
Gambar 3.10 Algoritma pembentukan variabel X
2
. Setelah X
2
didapatkan, maka langkah selanjutnya adalah mendapatkan X
3
, Variabel X
3
didapatkan dari X
2
– indeks i.
4. Penentuan target berdasarkan grafik
Target awal pada proses pelatihan didapatkan dari proses1, yaitu penentuan batas nilai grafik, dimana jumlah target sama dengan jumlah input. Pada
penelitian ini, jumlah input data adalah 100 data, dimana data maksimal yang bisa di-input-kan adalah 200, untuk itu agar jumlah target sama dengan
jumlah input, maka target yang dicatat untuk penentuan target adalah data yang memiliki indeks ganjil, dengan indeks awal dimulai dari 1. Sama seperti
jumlah grafik target yang terbentuk, jumlah target yang dihasilkan juga berjumlah lima, dan seperti juga proses pembentukan grafik, penentuan nilai
target didapatkan berdasarkan bentuk grafik, yaitu grafik linear turun grafik segitiga dan juga grafik linear naik.
0. Inisialisasi bobot : w
ij
Set parameter-parameter tetangga Set parameter learning rate
1. Kerjakan jika kondisi berhenti bernilai FALSE
a. Untuk setiap vektor input x, kerjakan :
• Untuk setiap j, hitung :
bobot
i
= •
Bandingkan bobot
i
untuk mencari bobot terkecil •
Untuk bobot
i
terkecil, ambil W
ij
lama untuk mendapatkan : W
ij
baru=W
ij
lama + α X
i
– W
ij
lama b.
Perbaiki learning rate α baru =0,5 α
c. Kurangi radius ketetanggaan pada waktu-waktu tertentu, dengan cara
mengupdate nilai bobot
i
d. Kurangi radius ketetanggaan pada waktu-waktu tertentu
T k di i b h
ti i t
h t hi
Universitas Sumatera Utara
4.a Pembentukan grafik 1 grafik linear turun Grafik 1 merupakan grafik linear turun, grafik ini memiliki nilai target
sumbu x yang bergerak turun, mulai dari nilai tertinggi yang merupakan titik puncak sampai nilai terendah. Gambar 3.11 merupakan algoritma
penentuan nilai target untuk grafik 1.
Gambar 3.11 Algoritma penentuan nilai target grafik 1.
4.b Pembentukan grafik 2, grafik 3, grafik 4 grafik segitiga Grafik 2, grafik 3, grafik 4 merupakan grafik segitiga, grafik ini memiliki
nilai target sumbu x yang bergerak naik pada awalnya sampa pada nilai puncak, untuk kemudian bergerak turun sampai pada nilai akhir. Gambar
3.12 merupakan algoritma penentuan nilai target unttuk grafik 2, grafik 3 dan grafik 4.
Gambar 3.12 Algoritma penentuan nilai target grafik 2, grafik 3 dan grafik 4.
a = nilai_minimum nilai_awal = nilai_puncak b = nilai_akhir
For i = 1 To 200 maksimum_panjang_grafik If i = b Then
Target_grafik_1 = 0 Else
Target_grafik_1 = b - i b - a End If
a = nilai_minimum nilai_awal b = nilai_puncak
c = nilai_akhir grafik_n = grafik_2, grafik_3, grafik_4
For i = 1 To 200 maksimum_panjang_grafik If i = a Or i = c Then
Target_grafik_n = 0 Else
If i = b And i = c Then
Target_grafik_n= c - i c - b End If
If i = a And i = b Then Target_grafik_n = i - a b - a
End If End If
Universitas Sumatera Utara
4.c Pembentukan grafik 5 grafik linear naik Grafik 5 merupakan grafik linear naik, grafik ini memiliki nilai target
sumbu X yang bergerak naik, mulai dari nilai terendah sampai nilai tertinggi pada titik puncak. Gambar 3.13 merupakan algoritma penentuan
nilai target untuk grafik 5.
Gambar 3.13 Algoritma penentuan nilai target grafik 5.
5. Random Bobot awal dan bias awal untuk proses pelatihan trainning.
Bobot awal pada proses ini bernilai 0,5, bias awal didapatkan secara random dengan rentang nilai antara 0 dan 0,5.
3.3.2.3 Proses Pelatihan Data Pada BPNN
Proses pelatihan dimulai dari feedforward. Data hasil bobot dan target awal disimpan dan kemudian dijadikan bobot awal dan target pada proses
pelatihan. Pada proses ini, data input yang ambil adalah data hasil normalisasi. Pada proses feedforward, sinyal data input disebarkan ke hidden layer untuk
kemudian didapatkan input dan ouput untuk setiap hidden neuron. Hasilnya akan disebarkan ke ouput layer untuk mendapatkan input dan ouput untuk setiap ouput
neuron. Selanjutnya akan dilakukan proses backpropagation, yaitu menghitung error dan koreksi bobot. Jika didapatkan bobot baru, maka bobot lama akan di-
update. Proses ini akan terus dilakukan sampai maksimum epoch atau minimum
a = nilai_awal b = nilai_maksimum nilai_akhir = nilai_puncak
For i = 1 To 200 maksimum_panjang_grafik If i = a Then
Target_grafik_5 = 0 Else
If i = a And i = b Then Target_grafik_5 = i - a b - a
Else Target_grafik_5 = 1
End If End If
Universitas Sumatera Utara
error didapatkan. Selanjutnya, bobot terakhir akan disimpan, untuk dijadikan bobot pada proses pengujian. Pada gambar 3.14 terlihat alur proses pelatihan pada
BPNN.
Start
Ambil Bobot Hasil Kohonen
Ambil Target Awal Hasil Kohonen
Hitung Koreksi Bobot Update
Bobot Ambil Data Normalisasi
Sebarkan sinyal ke hidden layer
End Hitung
inpu t
output untuk tiap
hidden neuron Sebarkan sinyal ke
output layer Feedforward
Hitung input
output untuk tiap
output neuron Hitung
error Backpropagation
Maxepoch atau
error minimal
T Y
Simpan bobot Ambil Bobot Hasil
Training Mulai Baru ?
T Y
Gambar 3.14 Diagram alir proses pelatihan data pada BPNN
Universitas Sumatera Utara
3.3.2.4 Proses Smoothing Grafik
Grafik hasil pelatihan belum terbentuk secara linear, karena itu, untuk menghasilkan grafik linear, dilakukan proses smoothing grafik. Pada proses ini,
yang dibaca adalah titik awal a, titik puncak b, dan titik akhir c dari grafik yang dibentuk pada proses pelatihan. Pada gambar 3.15 diperlihatkan alur proses
smoothing.
Bentuk Grafik Ambil titik awal a dan
titik akhir c Ambil titik puncak b
Start Data hasil training
End
Gambar 3.15 Diagram proses Smoothing Grafik
Pada grafik 1, yang diambil adalah titik awal = titik puncak, kemudian nilai akhir. Pada grafik 2, 3, dan 4, tentukan titik awal, titik puncak dan titik akhir. Pada
grafik ke 5, ambil titik awal dan titik puncak = titik akhir.
3.3.2.5 Proses Pengujian Data pada BPNN
Pada Proses pengujian data, hanya terdapat satu proses, yaitu proses feedforward. Data yang akan diproses di-input-kan secara acak. Sebagai bobot,
yang diambil adalah bobot terakhir hasil pelatihan yang disimpan. Pada proses feedforward, sama seperti pada proses pelatihan, proses ini dilakukan untuk
mendapatkan ouput pengujian. Grafik awal yang dihasilkan pada proses pengujian juga belum terbentuk secara linear, untuk itu diperlukan proses smoothing untuk
Universitas Sumatera Utara
mendapatkan hasil grafik yang lebih baik. Gambar 3.16 memperlihatkan alur proses pengujian pada BPNN.
Start Ambil data yang akan di
testing
Normalisasi data Proses
random dan
sorting data
Sebarkan sinyal ke hidden layer
End Hitung
input output
untuk tiap hidden neuron
Sebarkan sinyal ke output layer
Hitung input
output untuk tiap
output neuron Smoothing
grafik Ambil bobot Terakhir
hasil training
Feedforward
Gambar 3.16 Diagram proses pengujian data pada BPNN
Pada proses pengujian data, hasil akhir yang akan disimpan adalah nilai bobot terakhir untuk setiap grafik yang terbentuk. Penentuan output dilakukan
dengan membandingkan sinyal output y yang didapat dari setiap nilai input dengan menggunakan fungsi aktivasi sigmoid dengan nilai treshold yang
digunakan. Pada penelitian ini, nilai treshold yang digunakan adalah 0,5. Jika nilai y 0.5, maka output yang diberikan bernilai 1, namun jika nilai y 0.5, maka
output yang diberikan adalah 0. Nilai y yang dicatat sama dengan jumlah data input yang diberikan.
Universitas Sumatera Utara
BAB IV
HASIL DAN PEMBAHASAN
4.1 Pendahuluan