Bab ini akan membahas mengenai analisis jaringan saraf Radial Basis Function (RBF)
untuk memprediksi produksi kelapa sawit dan tahap-tahap yang dilakukan dalam
perancangan sistem yang akan dibangun.
3.1.Metode Penelitian
Tahap Pelatihan
Tahap Pengujian
Menentukan Jumlah Input Node, Hidden Node Menggunakan Arsitektur Jaringan RBF saat
dan Output Node pelatihan
Menentukan Arsitektur
Jaringan RBF
Metode yang diajukan untuk penelitian ini adalah penggunaan jaringan saraf
RBF. Langkah-langkah yang dilakukan adalah mengumpulkan data produksi harian
panen kelapa sawit yang akan digunakan sebagai data pelatihan dan data pengujian.
Dataset tersebut dikumpulkan dari 01 Januari 2010 31 Desember 2013. Setelah data
tersebut didapatkan, dilakukan cleaning data dan setelah itu data ditransformasikan
agar data-data tersebut dapat diproses dengan baik. Lalu data tersebut dibagi menjadi
data uji dan data latih.
Untuk tahap pelatihan ditentukan jaringan RBF yang akan digunakan pada
tahap pengujian yaitu: jumlah hidden node, nilai learning rate, jumlah maksimum
iterasi, dan nilai weight dan bias. Setelah nilai parameter tersebut didapat, lalu
dilakukan pengujian nilai-nilai tersebut pada tahap pengujian.
Dataset yang digunakan pada penelitian ini merupakan dokumen produksi kelapa
sawit yang telah dikumpulkan dari tahun 2010-2013. Data-data tersebut disimpan
dalam bentuk excel lalu tabel-tabel yang ada dilakukan normalisasi data hingga data
tersebut dapat dijadikan database atau data dalam bentuk excel berekstensi *.csv.
Keseluruhan data berjumlah 1461 dengan pembagian data untuk pelatihan berasal dari
tahun 2010-2012 dan data untuk pengujian berasal dari tahun 2013.
Data terdiri dari hasil panen yang tersimpan dan tross berdasarkan tahun tanam
atau yang telah ditotalkan keseluruhan. Bentuk data produksi yang akan digunakan
dapat dilihat pada Tabel 3.1.
3 2010-01-03 0 0
. . . .
. . . .
. . . .
1459 2013-12-29 0 0
Pada tahap ini proses yang dilakukan adalah pembersihan data. Data yang dibuang
merupakan data-data yang tidak bernilai atau bernilai 0. Data yang bernilai 0 berasal
dari data pada hari tidak dilakukan panen. Oleh karena itu data-data tersebut dibuang
agar dapat dilakukan prediksi berdasarkan hari kerja. Contoh data yang bernilai 0
dapat dilihat pada Tabel 3.2.
Terdapat 252 data yang dibersihkan karena bernilai 0 pada data panen tahun
2000. Data yang tersisa setelah dibersihkan yang siap diproses ada 1195 data. Data
setelah dibersihkan dapat dilihat pada Tabel 3.3.
. . . .
. . . .
. . . .
Setelah data dibersihkan tahap selanjutnya adalah transformasi data. Data-data itu
dinormalisasikan agar nilai data dapat diproses dengan mudah. Data-data tersebut
diubah menjadi nilai dalam rentang 0.1 sampai dengan 0.9 dengan menggunakan
persamaan 2.3
Data yang tersimpan dengan ekstensi *.csv diproses pada program untuk
ditransformasikan. Contoh hitungan nilai data untuk proses normalisasi data dapat
dilihat seperti berikut ini.
. . . .
. . . .
. . . .
Setelah data ditransformasikan dan dibagi menjadi data latih dan data uji, selanjutnya
dilakukan prediksi dengan menggunakan jaringan saraf RBF. Data yang berjumlah
1191 data dibagi menjadi 75% data latih dan 25% data uji.
Proses prediksi dilakukan adalah dengan membandingkan data aktual dengan data
output dari data uji hasil prediksi dengan jaringan RBF. Pada proses prediksi
dilakukan pelatihan data untuk mendapatkan weight dan parameter lain agar dapat
melakukan pengujian sistem. Langkah yang dilakukan pada proses pelatihan dapat
dijelaskan pada Gambar 3.2.
Mulai
Jarak Euclidean
norm minimum
Update nilai Cn
No
Nilai centerbaru
= nilai center
lama
yes
Hitung Fungsi
Aktivasi Gaussian
No
yes
bobot, bias dan
learning rate, epoch
center
Selesai
Data proses yang akan digunakan pada jaringan saraf tiruan merupakan data yang
berbentuk vektor. Data-data yang digunakan untuk proses merupakan data kemarin,
data hari ini dan data hasilnya adalah data untuk hari selanjutnya.
Skala data
Hari
1 2 3 4 5 6 895 896
Tahapan praproses pelatihan yang akan dilakukan pada proses prediksi ini
adalah
2 1
3 2 1
4
3
Skala data
Hari
1 2 3 4 5 6 895 896
(5)
(4)
= (3) jumlah node input
(2)
[(1)] }
Jumlah variabel
Output = [(6)]
2. Menetapkan nilai hidden node, learning rate dan jumlah maksimum epoch
yang dibutuhkan. Sebagai pelatihan awal, nilai parameter dapat ditentukan
seperti yang tertulis pada Tabel 3.6.
Setelah menentukan nilai-nilai parameter yang akan digunakan untuk jaringan, maka
proses pelatihan yang akan dilakukan adalah sebagai berikut.
1. Proses dari input layer ke hidden layer siap dilakukan. Inisialisasi nilai awal
input dapat dilihat pada Tabel 3.7. Algoritma K-Means akan digunakan untuk
mendapatkan nilai center. Sebelumnya dilakukan inisialisasi nilai center awal
yang ditentukan sama dengan nilai input, dapat dilihat pada Tabel 3.8,
Tabel 3.7 Nilai Input untuk n = 1
Input ke Nilai
1 0.3355234239444766
2 0.31410063620589934
3 0.46827067669172934
4 0.592967032967033
5 0.5111162521688838
Setelah menentukan nilai awal center, maka nilai tersebut akan digunakan
untuk mencari nilai center baru di setiap hidden node. Jika nilai center yang
baru tersebut sama dengan nilai center lama pada perulangan berikutnya maka
nilai center tersebut akan digunakan untuk proses pada hidden layer.
2. Hitung nilai euclidian distance pada hidden node dengan persamaan 2.8.
Contoh perhitungan nilai euclidean distance seperti yang terlihat berikut ini.
Lalu didapat hasil perhitungan jarak pada hidden node seperti pada tabel 3.9
Data ke Node Hidden 1 Node Hidden 2 Node Hidden 3 dH1 dH2 dH3
1 0.0 0.0214227877 0.1327472527 Ok
2 0.0214227877 0.0 0.1541700404 Ok
3 0.1327472527 0.1541700404 0.0 Ok
4 0.257443609 0.2788663967 0.12469635627 Ok
5 0.17559282822 0.19701561596 0.04284557547 Ok
3. Ambil nilai indeks data pada hidden dengan nilai jarak euclidean yang paling
minimum. Lalu hitung nilai center baru dengan persamaan 2.9 dan didapat
nilai center baru.
1
Center1 = 1 (0.33552342) = [0.33552342]
1
Center2 = (0.31410062) = [0.31410062]
1
1
Center3 =3 (0.46827067 + 0.59296703 + 0.51111625 ) = 0.52411798
4. Setelah mendapat nilai center baru ulangi langkah 2 dan langkah 3 sampai
nilai center tersebut tidak berubah. Jika nilai center tidak berubah lagi maka
proses pencarian center dengan algoritma K-Means selesai. Nilai center akhir
seperti yang tertulis pada tabel 3.10.
5. Setelah mendapatkan nilai center, maka dihitung nilai aktivasi pada hidden
layer dengan menggunakan fungsi gaussian.
Untuk menghitung nilai gaussian terlebih dahulu dihitung nilai standar deviasi
() dengan persamaan 2.5
0.1755928
1 = = 0.3031414
0.5792438
0.1970156
2 = = 0.3515331
0.5604468
0.1885945
3 = = 0.26050414
0.7239599
Nilai hasil perhitungan fungsi aktivasi gaussian dapat dilihat pada Tabel 3.11
Hidden Node X1
1 0.534323352
2 0.565679106
3 0.5240411326
Karena pada jaringan terdapat nilai bias maka bentuk matrix fungsi gaussian
dapat dilihat seperti berikut ini.
6. Setelah mendapatkan nilai fungsi aktivasi pada hidden layer maka tahap
selanjutnya adalah proses hidden layer menuju ke output layer. Pada tahap ini
merupakan tahapan supervised learning dengan menggunakan algoritma Least
Means Square. Pertama inisialisasi nilai weight dan bias terlebih dahulu secara
acak seperti pada Tabel 3.12.
7. Hitung nilai output dengan melakukan seperti yang tertulis pada persamaan
2.10. Uraian hitungan output dapat dilihat seperti yang berikut ini.
0.0
= [0.534323352 0.0
0.565679106 0.5240411326 1.0] [0.0]
0.0
= 0.0
8. Hitung selisih atau sinyal error antara nilai output dan target dengan
persamaan 2.11 Uraian hitungan dapat dilihat seperti berikut ini.
9. Update weight dan bias dengan persamaan berikut ini pada persamaan 2.12
dan 2.13. Uraian hitungan dapat dilihat seperti berikut ini.
0.534323352 0.21732652
= [0.406732215] [0.565679106] = [0.23007991]
0.524041132 0.21314441
1.0 0.40673221
Nilai weight yang telah di update dapat dilihat pada Tabel 3.13
10. Lakukan hal yang sama untuk n = 2 sampai n = 891 dengan langkah 1 sampai
9 dengan menggunakan nilai awal center dan weight yang di dapat pada n-1.
11. Lakukan langkah 1-10 pada iterasi selanjutnya sampai nilai center dan nilai
weight tidak berubah lagi dan menghasilkan nilai error yang kecil.
Pada akhirnya didapat nilai akhir center dan nilai weight yang tidak berubah.
Nilai akhir center dapat dilihat pada Tabel 3.14 dan nilai akhir weight dapat
dilihat pada Tabel 3.15.
Mulai
Jarak Euclidean
norm minimum
Update nilai Cn
No
Nilai centerbaru
= nilai center
lama
yes
Hitung Fungsi
Aktivasi Gaussian
Hasil prediksi
dan akurasi
Selesai
1. Ambil nilai yang telah dihasilkan pada tahapan pelatihan seperti jumlah hidden
node, nilai acak center awal, nilai epoch yang telah dipelatihan, nilai learning rate
dan nilai weight dan bias hasil pelatihan.
2. Proses awal dilakukan hampir sama dengan tahapan pada proses pelatihan dari
langkah 3 sampai langkah 7.
3. Weight yang telah didapat pada proses pelatihan dipakai untuk mendapatkan nilai
output seperti yang dilakukan pada langkah 9 pada proses pelatihan.
4. Output yang telah didapat dilakukan denormalisasi data seperti pada persamaan
berikut ini.
= ( ) + (3.1)
5. Hitung besar kesalahan prediksi dengan menggunakan MAPE dengan
menggunakan persamaan 2.14
Gambaran umum dari perancangan setiap tampilan yang terdapat pada aplikasi yang
akan dibangun adalah sebagai berikut.
Image
Aplikasi Prediksi Produksi Panen Kelapa Sawit dengan Radial Basis Function
b
START
Pada Gambar 3.7 dapat dilihat gambar rancangan tampilan awal. Rancangan tampilan
awal program yang menampilkan logo program dibagian tengah dan nama sistem
dibawahnya. Lalu dibawahnya terdapat tombol Startuntuk memulai sistem.
Keterangan:
Pada rancangan tampilan form transformation data, terdapat fasilitas untuk memilih
data yang akan diproses dan hasil dari data yang telah diproses. Rancangan tampilan
form transformasi data dapat dilihat pada Gambar 3.8.
Transformation Process
Transformation Form Transformation Result h
File Transformation a BROWSE e
Save as file c
Variabel Value d
TRANSFORMATION e RESET f
Transformation Data g
Pada rancangan tampilan form training data, terdapat fasilitas untuk memilih data
yang akan diproses dan hasil dari data yang telah diproses. Pengguna juga dapat
menginput parameter pendukung yang akan digunakan pada proses. Rancangan
tampilan form training data dapat dilihat pada Gambar 3.9.
Training Process
Training Form
l Training Data
File Training a BROWSE b
Variabel Value d
Input Node e
Learning Rate f
Max Epoch g
TRAINING h RESET i
Keterangan:
Pada rancangan tampilan form testing data, terdapat fasilitas untuk memilih data yang
akan diproses dan hasil dari data yang telah diproses. Rancangan tampilan form
testing data dapat dilihat pada Gambar 3.10.
Testing Process
Testing Form
g Chart of Result
File Testing a BROWSE b
TESTING d RESET e
Testing Data f
h Testing Result
Keterangan:
Bab ini membahas hasil yang didapat dari implementasi jaringan saraf Radial Basis
Function (RBF) untuk memprediksi produksi kelapa sawit dan pengujian sistem
sesuai dengan perancangan yang telah dibahas pada Bab 3.
Pada tahap implementasi sistem, diterapkan jaringan saraf RBF untuk memprediksi
produksi panen kelapa sawit yang diimplementasikan dalam bahasa Java sesuai
dengan pada tahap perancangan sistem.
Data yang digunakan adalah file informasi data panen produksi kelapa sawit dari
tahun 2010 - 2013 dalam bentuk file CSV. Rangkuman data produksi panen per hari
dapat dilihat pada tabel 4.1
Tabel 4.1 Rangkuman Data Produksi Panen Kelapa Sawit per Hari
. . . .
. . . .
. . . .
Pengujian kinerja sistem dilakukan mengunakan data yang disimpan dalam file
data.csv. Pengujian ini dilakukan untuk mengetahui tingkat akurasi data yang
dihasilkan. Langkah- langkah pengujian kinerja sistem ini adalah sebagai berikut.
d. Input jumlah kolom yang ada pada data pada field jumlah variabel. Jumlah
variabel memiliki syarat nilai dari nilai 1 sampai dengan 3. Jika jumlah
tidak sesuai dengan syarat tersebut maka aplikasi akan menampilkan pesan
error.
e. Input jumlah data yang akan digunakan untuk menghasilkan data yang
diinginkan.
f. Input nilai parameter-parameter yang akan digunakan seperti nilai learning
rate dan nilai iteration. Nilai learning rate memiliki syarat nilai dari
rentang nilai 0 sampai dengan 1. Jika jumlah tidak sesuai dengan syarat
tersebut maka aplikasi akan menampilkan pesan error.
Pengujian parameter dengan menggunakan file data yang terdapat pada tabel
4.1 dan menguji nilai-nilai parameter-parameter. Hasil ditunjukkan seperti yang ada
pada Tabel 4.2.
Variabel
Input Learning Pemberhentian Error Mape
yang
data Rate epoch ke (%)
digunakan
1 3 0.05 63 22.96
1 3 0.1 37 12.61
1 3 0.15 29 12.52
1 3 0.2 21 12.64
1 3 0.25 18 12.82
1 3 0.3 maksimal epoch 12.98
Variabel
Input Learning Pemberhentian Error Mape
yang
data Rate epoch ke (%)
digunakan
1 3 0.4 15 13.06
1 3 0.45 14 12.96
1 3 0.5 12 12.77
1 3 0.6 12 12.25
1 3 0.7 maksimal epoch 11.86
1 3 0.75 10 11.83
1 3 0.8 maksimal epoch 12.02
1 4 0.15 25 14.32
1 4 0.25 14 14.8
1 4 0.55 10 13.1
1 4 0.6 10 12.55
1 4 0.65 8 12.11
1 4 0.7 maksimal epoch 11.79
1 4 0.75 maksimal epoch 11.8
1 5 0.1 45 13.41
1 5 0.75 maksimal epoch 11.75
2 3 0.1 maksimal epoch 13.18
2 3 0.2 maksimal epoch 14.93
2 4 0.2 maksimal epoch 17.1
2 5 0.1 maksimal epoch 13.25
pula epoch berhenti. Jumlah variabel yang digunakan berpengaruh untuk menghitung
nilai output. Keterkaitan variabel berpengaruh untuk menghasilkan output variabel
yang diinginkan. Dilihat perbandingan variable yang digunakan keerkaitan tross
dengan hasil produksi tidak terlalu berpengaruh. Besar error yang dihasilkan juga
berpengaruh dari banyak data yang digunakan.
Pada hasil pengujian tabel 4.5. didapat hasil terbaik didapat dengan kombinasi
parameter: jumlah variabel = 1, jumlah input node = 5 dan nilai learning rate = 0.75
dengan hasil error MAPE = 11.75%. Hasil prediksi dapat dilihat pada Tabel 4.3.
. . . .
. . . .
. . . .
289 12/24/2013 19371 24672
Target Output
Gambar 4.6 Grafik Hasil Prediksi Produksi Kelapa Sawit pada Proses Testing
Bab ini membahas tentang kesimpulan dari penelitian yang menggunakan jaringan
saraf Radial Basis Function (RBF) untuk memprediksi produksi kelapa sawit. Selain
itu juga memberikan saran untuk pengembangan penelitian selanjutnya.
5.1 Kesimpulan
5.2 Saran