Prosedur Kerja Jaringan BPNN

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