1
SIMULASI DAN PREDIKSI JUMLAH PENJUALAN AIR MENGGUNAKAN
JARINGAN SYARAF TIRUAN BACKPROPAGATION
(Study Kasus: PDAM TIRTA KEPRI)
Ilham Aryudha Perdana
Mahasiswa Program Studi Teknik Informatika, Universitas Maritim Raja Ali Haji
Jl.Politeknik Senggarang, Tanjungpinang 29115
e-mail: [email protected]
ABSTRAK
PDAM Tirta Kepri merupakan perusahaan pengelola air bersih yang selama ini dikonsumsi oleh
masyarakat Tanjungpinang. Walaupun sudah berjalan selama ini, PDAM Tirta Kepri masih perlu
memaksimalkan jumlah penjualan demi terpenuhinya kebutuhan air bagi masyarakat kota Tanjungpinang.
Jumlah penjualan air di PDAM Tirta Kepri ini dapat di prediksi dengan menggunakan Jaringan Syaraf Tiruan
Backpropagation. Apabila dapat di prediksi PDAM Tirta Kepri dapat mengambil tindakan untuk
memaksimalkan jumlah penjualannya. Parameter yang digunakan untuk memprediksi jumlah penjualan air
bulanan ini adalah jam layanan operasi, jumlah distribusi air, jumlah seluruh pelanggan dan jumlah
kebocoran. Data bulanan yang berjumlah 34 data (januari 2013 - Oktober 2015) digunakan pada proses
pembentukan model dan 3 data (November 2015 - Januari 2016) digunakan sebagai sample pengujian.
Tingkat akurasi dari hasil pengujian diukur dengan menghitung error rata-rata kedalam Means Square Error
(MSE). Sebagai hasil pemodelan terbaik yang di hasilkan oleh sistem simulasi dan prediksi jumlah penjualan
air menggunakan jaringan syaraf tiruan Backpropagation adalah dengan melakukan percobaan pencarian
iterasi sampai dengan 500000 iterasi maka di dapat jumlah MSE terkecil pada iterasi ke-5000; dengan
kombinasi pencarian model menggunakan maximum error 0.01, 5 neuron hidden layer, learning rate 0.1 dan
jumlah momentum 0.5 memperoleh nilai MSE terkecil sebesar 0.00025.
.
Kata Kunci :PDAM Tirta Kepri, Tanjungpinang, Penjualan air, Jaringan Syaraf Tiruan
Backpropagation, MSE (Means Square Error)
1. PENDAHULUAN
Air merupakan sumber kehidupan bagi
manusia, hampir semua aktifitas manusia
mengunakan air diantaranya digunakan untuk mandi,
minum, mencuci dan lain sebagainya. Namun tidak
semua air baik digunakan dan dikonsumsi oleh
manusia. Air yang baik digunakan dan dikonsumsi
oleh manusia adalah air bersih yang sehat.
Pemerintah memberi wewenang kepada PDAM
untuk mengembangkan dan mengelola air bersih
untuk dikonsumsi masyarakat Tanjungpinang. Oleh
karna itu PDAM Tirta Kepri mempunyai tanggung
jawab untuk mencukupi kebutuhan air seluruh
pelanggannya dengan cara menjual air bersih yang
dihasilkannya ke semua pelanggan PDAM Tirta
Kepri dengan merata sehingga tidak ada pelanggan
yang mendapat aliran air yang tidak sesuai dengan
harapanya. Oleh karena itu perlu adanya sistem yang
dapat memantau penjualan air bersih pada rentang
waktu tertentu di PDAM Tirta Kepri, yaitu dimana
sistem yang dapat memperkirakan penjualan air yang
akan terjual perbulannya. Maka penulis mengambil
inisiatif untuk melakukan penelitian di PDAM Tirta
Kepri guna untuk membantu kinerjanya agar bisa
memantau penjualan air perbulan agar dapat
memaksimalkan angka penjualan air di setiap
bulanya. Ada beberapa hal yang sangat
mempengaruhi penjualan air di PDAM Tirta Kepri
diantaranya adalah jumlah pelanggan, jumlah
distribusi air yang dialirkan, jumlah jam layanan
operasi kerja serta jumlah kebocoran air setiap
bulannya. Oleh karena itu, PDAM Tirta Kepri
2
memerlukan sebuah sistem yang dapat melakukan
simulasi untuk memprediksi jumlah penjualan air
perbulan agar PDAM Tirta Kepri dapat mengambiL
tindakan untuk dapat mencapai target penjualan air
kesemua pelanggan PDAM Tirta Kepri perbulannya.
Dalam penelitian ini, metode yang akan
digunakan untuk melakukan prediksi adalah metode
Backpropagation, karena Backpropagation
merupakan algoritma pembelajaran yang terawasi
dan digunakan dengan banyak lapisan untuk
mengubah bobot-bobot yang terhubung dengan
neuron-neuron yang ada pada lapisan tersembunyi
nya sehingga membuat hasil dari prediksi menjadi
lebih baik karena meminimalkan total error dari
keluaran yang dihitung oleh jaringan (Kusumadewi
dan Hartati, 2010).
2. Landasan Teori
2.1. Jaringan Syaraf Tiruan
Jaringan syaraf adalah merupakan salah satu
representasi buatan dari otak manusia yang selalu
mencoba untuk mensimulasikan proses pembelajaran
pada otak manusia tersebut. Istilah buatan disini
digunakan karena jaringan syaraf ini di
implementasikan dengan menggunakan program
computer yang mampu menyelesaikan sejumlah
proses perhitungan selama proses pembelajaran
(Fausett, 1994).
2.2. Backpropagation Neural Network
Menurut Kusumadewi dan Hartati (2010),
Backpropagation merupakan algoritma pembelajaran
yang terawasi dan biasanya digunakan oleh
perceptron dengan banyak lapisan untuk mengubah
bobot-bobot yang terhubung dengan neuron-neuron
yang ada pada lapisan tersembunyi. Algoritma
backpropagation menggunakan error output untuk
mengubah nilai bobot-bobotnya dalam arah mundur
(backward). Untuk mendapatkan error ini, tahap
perambat maju (forward propagation) harus
dikerjakan terlebih dahulu.
Pada saat perambat maju, neuron-neuron
diaktifkan dengan menggunakan fungsi aktifasi.
Fungsi aktivasi yang digunakan adalah sigmoid biner
:
𝑦 = 𝑓(𝑥) =1
1 + 𝑒−𝜎𝑥
Menurut Yusuf dkk (2015), Arsitektur
Jaringan Backpropagation seperti diatas terdiri dari
tiga unit (neurons) pada lapisan masukan, yaitu X1,
X2, X3; lapisan tersembunyi dengan 2 neurons, yaitu
Z1, Z2; serta 1 unit pada lapisan keluaran yaitu Y.
Bobot yang menghubungkan X1, X2, X3 dengan
neuron pertama dan lapisan tersembunyi adalah V11,
V21, dan V31 (Vij : bobot yang menghubungkan
neuron input ke-i ke neuron ke-j pada lapisan
tersembunyi). Untuk b11 dan b12 adalah bobot bias
yang menuju ke neurons pertama dan kedua pada
lapisan tersembunyi. Bobot yang menghubungkan
Z1, dan Z2 dengan neuron pada lapisan keluaran
adalah W1 dan W2. Bobot bias menghubungkan
lapisan tersembunyi dengan lapisan keluaran. Fungsi
aktivasi yang digunakan antara lapisan tersembunyi
dengan lapisan keluaran adalah fungsi aktivasi yang
akan ditentukan pada tahap kalibrasi.
Menurut Kusumadewi dan Hartati (2010),
algoritma backpropagation adalah sebagai berikut :
Inisialisasi bobot
Tetapkan : Maksimum epoch, target error, dan
learning rate (α), neuron hidden;
Inisialisasi : Epoch = 0.
Kerjakan langkah-langkah berikut selama
(Epoch < maksimum Epoch) atau (MSE (error)
< target error) :
1. Epoch = epoch +1
Gambar 2.1 Sel Syaraf secara
Gambar 2.3 Arsitektur Jaringan Backpropagation
Neural Network
(Kusumadewi dan Hartati, 2010).
3
2. Untuk tiap-tiap pasangan elemen yang akan
dilakukan pembelajaran, kerjakan;
Feedforward :
Tiap-tiap unit masukan (𝑋𝑖 𝑖 = 1, 2, 3, … 𝑛)
menerima sinyal 𝑋𝑖 dan meneruskan sinyal
tersebut ke semua unit pada lapisan yang ada
diatasnya (lapisan tersembunyi).
a. Tiap-tiap unit pada suatu lapisan
tersembunyi (𝑍𝑗, 𝑗 = 1, 2, … , 𝑝)
menjumlahkan sinyal-sinyal input terbobot ;
𝑧_𝑖𝑛𝑗 = 𝑏1𝑗 + ∑ 𝑥𝑖𝑣𝑖𝑗𝑛𝑖=1 ……...…...... (2.6)
gunakan fungsi aktifasi untuk menghitung
sinyal outputnya.
𝑧𝑗 = 𝑓(𝑧_𝑖𝑛𝑗) ………..……………….. (2.7)
Dan kirimkan sinyal tersebut ke semua unit
dilapisan atasnya (unit-unit output).
b. Tiap-tiap unit output (𝑌𝑘 , 𝑘 = 1,2,3, … , 𝑚)
menjumlahkan sinyal-sinyal input terbobot.
𝑦_𝑖𝑛𝑘 = 𝑏2𝑘 + ∑ 𝑍𝑗𝑤𝑗𝑘𝑝𝑖=1 ……..…..... (2.8)
gunakan fungsi aktifasi untuk menghitung
sinyal keluaran yaitu :
𝑦𝑘 = 𝑓(𝑦_𝑖𝑛𝑘) …...……...................... (2.9)
Dan kirimkan sinyal tersebut ke semua unit
dilapisan atasnya (unit-unit output).
Catatan :
langkah (b) dilakukan sebanyak jumlah
lapisan tersembunyi.
Backpropagation :
a. Tiap-tiap unit output (𝑌𝑘 , 𝑘 = 1, 2, … , 𝑚)
menerima target pola yang berhubungan
dengan pola masukan pembelajaran, dan
menghitung informasi error-nya :
𝛿2𝑘 = (𝑡𝑘 − 𝑦𝑘)𝑓′(𝑦_𝑖𝑛𝑘)…….....…. (2.10)
𝜑2𝑗𝑘 = 𝛿2𝑘𝑧𝑗 …………………….….(2.11)
𝛽2𝑘 = 𝛿2𝑘 ……………….…............. (2.12)
Kemudian dihitung koreksi bobot (yang
nantiya akan digunakan untuk memperbaiki
nilai 𝑤𝑘𝑗) :
∆𝑤𝑗𝑘 = 𝛼𝜑2𝑗𝑘 µ 𝑤(n-1)…...……...(2.13)
hitung juga koreksi bias (yang nantinya akan
digunakan untuk memperbaiki nilai 𝑏2𝑘) :
∆𝑏2𝑘 = 𝛼𝛽2𝑘 µ 𝑤(n-1).…….. ……(2.14)
Langkah ini dilakukan sebanyak jumlah
lapisan tersembunyi, yaitu menghitung
informasi error dari suatu lapisan
tersembunyi ke lapisan tersembunyi
sebelumnya.
b. Tiap-tiap unit tersembunyi (𝑍𝑗 , 𝑗 =
1, 2,3, … , 𝑝) menjumlahkan delta
masukannya (dari unit-unit yang berbeda
yang berada pada lapisan diatasnya ) yaitu :
𝛿_𝑖𝑛𝑗 = ∑ 𝛿2𝑘𝑤𝑗𝑘𝑚𝑘=1 …………...…. (2.15)
Kalikan nilai ini dengan turunan dari fungsi
aktifasinya untuk menghitung informasi
error :
𝛿1𝑗 = 𝛿_𝑖𝑛𝑗𝑓′(𝑧_𝑖𝑛𝑗)……...................(2.16)
𝜑1𝑖𝑗 = 𝛿1𝑗𝑥𝑖 ………………………...(2.17)
𝛽1𝑗 = 𝛿1𝑗 …………………...............(2.18)
Kemudian hitung koreksi bobot (yang
nantinya digunakan untuk memperbaiki nilai
𝑉𝑖𝑗 yaitu :
∆𝑉𝑖𝑗 = 𝛼𝜑1𝑖𝑗 µ 𝑤 (n-1)...…............(2.19)
hitung juga koreksi bias (yang nantinya
digunakan untuk memperbaiki 𝑏1𝑗) :
𝛥𝑏1𝑗 = 𝛼𝛽1𝑗µ 𝑤(n − 1)…………. (2.20)
c. Tiap-tiap unit output (𝑌𝑘 , 𝑘 = 1, 2, … 𝑚)
memperbaiki bias dan bobotnya (𝑗 =0,1,2, … 𝑝) :
𝑤𝑗𝑘(𝑏𝑎𝑟𝑢) = 𝑤𝑗𝑘(𝑙𝑎𝑚𝑎) + ∆𝑤𝑗𝑘..... (2.21)
𝑏2𝑘(𝑏𝑎𝑟𝑢) = 𝑏2𝑘(𝑙𝑎𝑚𝑎) + ∆𝑏2𝑘.... (2.22)
Tiap-tiap unit tersembunyi (𝑍𝑗 , 𝑗 =
1, 2, … 𝑝) memperbaiki bias dan bobotnya
(𝑖 = 0,1,2, … 𝑛) yaitu :
𝑉𝑖𝑗(𝑏𝑎𝑟𝑢) = 𝑉𝑖𝑗(𝑙𝑎𝑚𝑎) + ∆𝑉𝑖𝑗........ (2.23)
𝑏1𝑗(𝑏𝑎𝑟𝑢) = 𝑏1𝑗(𝑙𝑎𝑚𝑎) + ∆𝑏1𝑗...…(2.24)
3. Hitung MSE (Mean Square Error)
Menurut Hansun. (2013) kriteria MSE
menyatakan besarnya kesalahan rata-rata
kuadrat dari suatu metode peramalan dengan
rumus perhitungan :
𝑀𝑆𝐸 =∑ 𝑒𝑡
2𝑛𝑡=1
𝑛 ……………................ (2.25)
Dimana :
𝑛 menyatakan jumlah data.
𝑒𝑡 adalah nilai kesalahan hasil ramalan
yang diperoleh dari 𝑋𝑡 − �̂�𝑡, dalam hal
ini 𝑋𝑡 adalah nilai data aktual dan �̂�𝑡
adalah nilai ramalan.
3. Normalisasi
Menurut Hidayat dkk (2012) Data-data yang ada
dilakukan normalisasi dengan membagi nilai data
tersebut dengan nilai range data (Nilai data
maksimum – nilai data minimum). Tujuan dari
normalisasi yaitu :
1. Untuk menghilangkan kerangkapan data.
2. Untuk merubah nilai menjadi satu satuan.
3. Untuk mempermudah pemodifikasian data.
4
Jika fungsi aktifasi dengan menggunakan
sigmoid biner (range 0 sampai range 1), maka data
harus ditransformasi [0, 1] (Indra, 2014).
Menurut Hidayat dkk (2012) Adapun rumus untuk
Normalisasi dalam range [0, 1] adalah :
𝑋𝑛 = 𝑋0− 𝑋𝑚𝑖𝑛
𝑋𝑚𝑎𝑥− 𝑋𝑚𝑖𝑛 ……………..….......................(2.4)
Dengan : 𝑋𝑛 = Nilai data normal
𝑋0 = Nilai data aktual
𝑋𝑚𝑖𝑛 = Nilai minimum data aktual
keseluruhan
𝑋𝑚𝑎𝑥 = Nilai maksimum data aktual
keseluruhan.
4. Inisialisasi bobot awal dengan metode Nguyen-
Widrow
Metode Nguyen-Widrow akan menginisialisasi
bobot-bobot lapisan dengan nilai antara -0.5 sampai
0.5. Metode Nguyen-Widrow secara sederhana dapat
di implementasikan dengan prosedur sebagai berikut
(Fausett, 1994):
Tetapkan :
n = jumlah neuron (unit) pada lapisan input
P = jumlah neuron (unit) pada lapisan tersembunyi.
β = faktor penskalaan (= 0,7 (p) 1/n
)
kerjakan untuk setiap unit pada lapisan tersembunyi
(j=1,2,…p) :
a. Inisialisasi bobot-bobot dari lapisan input
ke lapisan tersembunyi :
Vij bilangan random antara -0,5 sampai 0,5
(atau antara –γ sampai γ).
b. Hitung ||Vj ||
Dimana
||𝑉𝑗 || = √(𝑉1𝑗2 ) + (𝑉2𝑗)2 + ⋯ (𝑉𝑛𝑗)2. (2.2)
c. Inisialisasi ulang bobot-bobot :
𝑉𝑖𝑗 =𝛽 𝑉𝑖𝑗
|| 𝑉𝑗||............................................. (2.3)
d. Set bias :
b1j = bilangan random antara −𝛽 sampai 𝛽.
5. Denormalisasi
Menurut Hidayat dkk (2012) denormalisasai dapat
memberikan atau mengembalikan data, sehingga
didapatkan predicted sales dari data training.
Menurut Indra (2014) adapun rumus denormalisasi
dalam range [0,1] adalah :
𝑋𝑖 = 𝑦 (𝑋𝑚𝑎𝑥 − 𝑋𝑚𝑖𝑛) + 𝑋𝑚𝑖𝑛 ………………..(2.5)
Dimana : 𝑋𝑖 = Nilai data normal
𝑦 = hasil output jaringan
𝑋𝑚𝑖𝑛 = data dengan nilai minimum
𝑋𝑚𝑎𝑥 = data dengan nilai maximum
3. Analisa Dan Perancangan
3.1. Analisa Masalah
Data yang digunakan adalah data bulanan
dari tahun 2013 – 2016, yaitu:
1. Data penjualan air bulanan dari bulan januari
tahun 2013 sampai dengan bulan Oktober tahun
2015 dan data prediksi menggunakan data dari
bulan november 2015 sampai januari 2016.
2 Variabel yang digunakan adalah jumlah
pelanggan, jumlah distribusi air, jam layanan
operasi kerja dan jumlah kebocoran air.
Tabel 5.1 Data model (34 data penjualan air Januari
2013 - Oktober 2015)
jam
layan
an
opera
si
(X1)
distrib
usi air
(m3)
(X2)
jumlah
seluruh
langgan
an
(m3)
(X3)
kebocoran
air
(m3)
(X4)
Penjual
an
(m3)
(T)
461 495000 14782 247584 247416
440 506802 14820 253430 253372
486 515202 15004 288798 226404
468 497413 15013 231373 266040
489 502769 15045 261859 240910
471 492892 15067 245951 246941
490 505443 15106 264598 240845
482 479465 15116 213748 265717
469 458161 15145 215215 242946
438 412279 15136 159050 253229
421 407567 15126 185808 221759
443 450665 15094 221660 229005
412 473130 15080 232561 240569
335 457516 15095 213594 243922
370 461378 15108 220555 240823
432 464163 15103 215361 248802
312 395993 15089 182546 213447
394 401941 15082 184727 217214
421 407639 15127 189198 218441
455 442625 15129 157718 284907
429 407751 15180 181136 226615
425 419903 15174 213186 206717
411 449174 15201 201297 247877
442 340163 15204 109648 230515
445 460986 15231 215748 245238
486 493650 15271 234258 259392
444 398870 15298 150859 248011
361 484726 15356 212101 272625
205 446648 15358 188608 258040
382 448070 15359 190897 257173
497 490043 15375 214136 275907
5
435 456609 15362 188390 268219
401 382758 15365 165648 217110
393 374444 15350 147180 227264
Tabel 5.2 Data prediksi (3 data penjualan air
November 2015 - januari 2016)
3.2. Pemodelan Menggunakan Backpropagation
Gambar 4.1 Flowchart Pemodelan Data Backpropagation
Keterangan :
a. Normalisasi data dalam range [0, 1]
Dapat dilihat pada tabel 4.1 yang merupakan
normalisasi data yang digunakan adalah
normalisasi dalam range [0, 1] dengan
persamaan (2.4).
Tabel 4.1 Contoh Data Hasil Normalisasi
N
o
Jam
operasi
(jam)
Distrib
usi air
(m3)
Jumlah
pelangg
anan
Keboco
ran air
(m3)
Targe
t (m3)
1 0.456522 0 0 0.282299 0.530124
2 0 0.5842 0.164502 0.384101 0.680392
3 1 1 0.961039 1 0
4 0.608696 0.119444 1 0 1
Data dari hasil normalisasi ini yang akan
digunakan untuk membangun model prediksi.
Adapun beberapa tahapan yang harus dikerjakan
dalam pembuatan model prediksi menggunakan
backpropagation neural network adalah sebagai
berikut :
b. Inisialisasi bobot dengan Nguyen-Widrow
Inisialisasi bobot menggunakan Nguyen-
Widrow mengikuti model jaringan yang akan
dibuat. Disini model yang akan dibangun adalah
model jaringan dengan 4 input layer, 4 hidden
layer dan 1 output layer (4-4-1). maka
inisialisasi bobot awal inputnya sebagai berikut
:
0,1 0,2 0,3 0,4
-0,5 -0,4 -0,3 -0,1
0,5 0,3 0,1 -0,2
0 -0,1 0,4 -0,3
Setelah mendapat angka inisialisasi awal dari
bobot maka hitunglah nilai ||Vj || dengan
persamaan (2.2)
𝑉1 = √(0,1)2 + (−0,5)2 + (0,5)2 + (0)2
= 0,714143
𝑉2
= √(0,2)2 + (−0,4)2 + (0,3)2 + (−0,1)2 = 0,547723
𝑉3 = √(0,3)2 + (−0,3)2 + (0,1)2 + (0,4)2 = 0,591608
jam
layana
n
operasi
(X1)
distribu
si air
(m3)
(X2)
jumlah
seluruh
langgana
n
(m3)
(X3)
kebocor
an air
(m3)
(X4)
Penjual
an
(m3)
(T)
424 385308 15306 160632 224676
419 401561 15306 171650 229911
460 448583 15321 195493 253090
Vij =
6
𝑉4 = √(0,4)2 + (−0,1)2 + (0,2)2 + (0,3)2 = 0,547723
Setelah itu inisialisasi ulang bobot-bobot input
layer ke hidden layer (𝑉𝑖𝑗) dengan persamaan
(2.3)
Tabel 4.2 Bobot dan bias input layer ke hidden layer
𝒁𝟏 𝒁𝟐 𝒁𝟑 𝒁𝟒
𝑉11 0,138621 0,361478 0,501996 0,722957
𝑉21 -0,6931 -0,72296 -0,502 -0,18074
𝑉31 0,693103 0,542218 0,167332 -0,36148
𝑉41 0 -0,18074 0,669328 -0,54222
b1 0,32 -0,9 0,52 0,29
Tabel 4.3 Bobot dan bias awal hidden layer
ke Output layer
Y
W11 0,11
W21 0,21
W31 0,52
W41 0,9
b21 0,1
c. Inisialisasi parameter
Contoh : Maximum Epoch : 1
hidden layer : 4
target error : 0,1
learning rate (𝛼) : 0,5
momentum (µ) : 0,9
d. Perhitungan feedforward
Melakukan penjumlahan dari sinyal-sinyal input
berbobot pada hidden layer dengan
menggunakan persamaan (2.6)
𝑍_𝑖𝑛1 = 0,32 + 0,456522(0,138621) +0(0,361478) + 0(0,501996) +0,282299(0,722957) = 0,587373
𝑍_𝑖𝑛2 = −0,9 + 0,456522(−0,6931) +0(−0,72296) + 0(−0,502) +0,282299(−0,18074) = 1,26744
𝑍_𝑖𝑛3 = 0,52 + 0,456522(0,693103) + 0(0,542218) + 0(0,167332) + 0,282299(−0,36148) = 0,734372
𝑍𝑖𝑛4 = 0,29 + 0,456522(0) + 0(−0,18074) +
0,669328 + 0,282299(−0,54222)
= 0,136933
Menggunakan fungsi aktifasi untuk menghitung
sinyal output menggunakan persamaan (2.7)
𝑧1 =1
1 + 𝑒−0,587373= 0,642762
𝑧2 =1
1 + 𝑒−1,26744= 0,219696
𝑧3 =1
1 + 𝑒−0,734372= 0,675764
𝑧4 =1
1 + 𝑒−0,136933= 0,53418
Setelah itu lakukan penjumlahan sinyal-sinyal
berbobot output layer dengan menggunakan
persamaan (2.8)
𝑦𝑖𝑛1= 0.1 + (0,642762)(0,11)
+(0,219696)(0,21) + (0,675764)
(0,52) + (0,53418)(0,9)
= 1,048999
Gunakan fungsi aktifasi lagi untuk menghitung
sinyal output dengan menggunakan persamaan
(2.9)
𝑌1 =1
1 + 𝑒−1,048999 = 0,740583
e. Perhitungan Backpropagation
Hitung informasi error (δ) di output layer
dengan menggunakan persamaan (2.10)
𝛿21 = (0,530124 − 0,740583)(0,740583)
(1 − 0.740583 ) = 0,080824
Setelah itu hitung koreksi bobot 𝑊𝑘𝑗 dan koreksi
bias 𝑏21 yang akan digunakan untuk meng-
update nilai 𝑊𝑘𝑗 dengan persamaan (2.13) dan
(2.14).
∆𝑊11 = (0,5)(0,080824) (0,642762)
+(0,9 × 0) = 0,025975
∆𝑊12 = (0,5)(0,080824) (0,219696) +
(0,9 × 0) = 0,008878
∆𝑊13 = (0,5)(0,080824) (0,642762) +
(0,9 × 0) = 0,027309
∆𝑊14 = (0,5)(0,080824) (0,53418) +
(0,9 × 0) = 0,021587
∆𝑏21 = (0,5)(0,080824) + (0,9 × 0)
= 0,040412
Tiap-tiap unit tersembunyi menjumlahkan delta
inputannya dari unit-unit yang berada pada
7
lapisan diatasnya (neuron hidden) dengan
persamaan (2.15).
𝛿𝑖𝑛1 = (0,080824)(0,11) = 0,008891
𝛿_𝑖𝑛2 = (0,080824)(0,21) = 0,016973
𝛿_𝑖𝑛3 = (0,080824)(0,52) = 0,042029
𝛿_𝑖𝑛4 = (0,080824)(0,9) = 0,072742
Lalu lakukan perkalian dengan turunan dari
fungsi aktifasinya untuk menghitung informasi
error dengan menggunakan persamaan (2.16).
𝛿11 = (0,008891)(0,642762)(1 − 0,642762) = 0,002041
𝛿12 = (0,016973)(0,219696)(1 − 0,219696) = 0,00291
𝛿13 = (0,042029)(0,675764)(1 − 0,675764) = 0,009209
𝛿14 = (0,072742)(0,53418)(1 − 0,53418) = 0,0181
Lakukan perhitungan untuk koreksi perubahan
bobot dan bias input layer ke hidden layer (Vij)
dan bias (b1j) yang nantinya akan digunakan
untuk memperbaiki nilai Vij dengan
menggunakan persamaan (2.19) dan (2.20)
∆𝑉11 = (0,5)(0,002041)(0,456522) + (0,9 × 0) = 0,000465987
∆𝑉12 = (0,5)(0,00291)(0,456522) + (0,9 × 0) = 0,000664169
∆𝑉13 = (0,5)(0,009209)(0,456522) + (0,9 × 0) = 0,002102002 ∆𝑉14 = (0,5)(0,0181)(0,456522) + (0,9 × 0) = 0,004131633
∆𝑉21 = (0,5)(0,002041)(0) + (0,9 × 0) = 0
∆𝑉22 = (0,5)(0,00291)(0) + (0,9 × 0) = 0
∆𝑉23 = (0,5)(0,009209)(0) + (0,9 × 0) = 0
∆𝑉24 = (0,5)(0,0181)(0) + (0,9 × 0) = 0
∆𝑉31 = (0,5)(0,002041)(0) + (0,9 × 0) = 0
∆𝑉32 = (0,5)(0,00291)(0) + (0,9 × 0) = 0
∆𝑉33 = (0,5)(0,009209)(0) + (0,9 × 0) = 0
∆𝑉34 = (0,5)(0,0181)(0) + (0,9 × 0) = 0
∆𝑉41 = (0,5)(0,002041)(0,28229) + (0,9 × 0) = 0,000288152
∆𝑉42 = (0,5)(0,00291)(0,28229) + (0,9 × 0) = 0,000410701
∆𝑉43 = (0,5)(0,009209)(0,28229) + (0,9 × 0) = 0,001299812
∆𝑉44 = (0,5)(0,0181)(0,28229) + (0,9 × 0) = 0,002554871
∆𝑏11 = (0,5)(0,002041) + (0,9 × 0) = 0,001020734
∆𝑏12 = (0,5)(0,00291)(0,9 × 0) = 0,001454846
∆𝑏13 = (0,5)(0,009209)(0,9 × 0) = 0,004604385 ∆𝑏14 = (0,5)(0,0181)(0,9 × 0) = 0,009050243
f. Perbaikan Bobot
Memperbaiki nilai Bobot 𝑤𝑘𝑗 dan Bias 𝑏2𝑘
dengan menggunakan persamaan (2.21) dan
(2.22)
𝑤11(𝑏𝑎𝑟𝑢) = 0,11 + 0,025975 = 0,135975
𝑤12(𝑏𝑎𝑟𝑢) = 0,21 + 0,008878 = 0,218878
𝑤13(𝑏𝑎𝑟𝑢) = 0,52 + 0,027308 = 0,547309
𝑤14(𝑏𝑎𝑟𝑢) = 0,9 + 0,021587 = 0,921587
𝑏21 (𝑏𝑎𝑟𝑢) = 0,1 + 0.040412 = 0,140412
Perbaiki nilai Bobot 𝑉𝑘𝑗 dan Bias 𝑏2𝑘 dengan
menggunakan persamaan (2.23) dan (2.24)
𝑉11(𝑏𝑎𝑟𝑢) = (0,138621) + (0,000465987) = 0,139087
𝑉12(𝑏𝑎𝑟𝑢) = (0,361478) + (0,000664169) = 0,362143
𝑉13(𝑏𝑎𝑟𝑢) = (0,501996) + (0,002102002) = 0,504098
𝑉14(𝑏𝑎𝑟𝑢) = (0,722957) + (0,004131633) = 0,727089
𝑉21(𝑏𝑎𝑟𝑢) = (−0,6931) + (0) = −0,6931
𝑉22(𝑏𝑎𝑟𝑢) = (−0,72296) + (0) = −0,72296
𝑉23(𝑏𝑎𝑟𝑢) = (−0,502) + (0) = −0,502
𝑉24(𝑏𝑎𝑟𝑢) = (−0,18074) + (0) = −0,18074
𝑉31(𝑏𝑎𝑟𝑢) = (0,693103) + (0) = 0,693103
𝑉32(𝑏𝑎𝑟𝑢) = (0,542218) + (0) = 0,542218
𝑉33(𝑏𝑎𝑟𝑢) = (0,167332) + (0) = 0,167332
𝑉34(𝑏𝑎𝑟𝑢) = (−0,36148) + (0) = −0,36148
𝑉41(𝑏𝑎𝑟𝑢) = (0) + (0,000288152) = 0,000288152
𝑉42(𝑏𝑎𝑟𝑢) = (−0,18074) + (0,000410701) = -0,18033
𝑉43(𝑏𝑎𝑟𝑢) = (0,669328) + (0,001299812) = 0,670628
𝑉44(𝑏𝑎𝑟𝑢) = (−0,54222) + (0,002554871) = -0,53966
𝑏11(𝑏𝑎𝑟𝑢) = (0,32) + (0,001020734) = 0,321021
𝑏12(𝑏𝑎𝑟𝑢) = (−0,9) + (0,001454846) = -0,89855
𝑏13(𝑏𝑎𝑟𝑢) = (0,52) + (0,004604385) = 0,524604
𝑏14(𝑏𝑎𝑟𝑢) = (0,29) + (0,009050243) = 0,29905
8
Setelah mendapat nilai hasil perbaikan bobot
dari data training pertama, maka gunakan bobot
tersebut untuk perbaikan bobot dan bias pada data
training kedua
Data Training ke-2
Sinyal keluaran Output layer (𝑌2) adalah:
𝑌2 = 0,755632
Perubahan bobot output layer :
𝑤11(𝑏𝑎𝑟𝑢) = 0,124484
𝑤12(𝑏𝑎𝑟𝑢) = 0,202997
𝑤13(𝑏𝑎𝑟𝑢) = 0,521208
𝑤14(𝑏𝑎𝑟𝑢) = 0,819876
𝑏21 (𝑏𝑎𝑟𝑢) = 0,135098
Perubahan bobot hidden layer :
𝑉11(𝑏𝑎𝑟𝑢) =0,132677
𝑉12(𝑏𝑎𝑟𝑢) =0,351221
𝑉13(𝑏𝑎𝑟𝑢) =0,501987
𝑉14(𝑏𝑎𝑟𝑢) =0,721688
𝑉21(𝑏𝑎𝑟𝑢) =-0,5502
𝑉22(𝑏𝑎𝑟𝑢) =-0,62866
𝑉23(𝑏𝑎𝑟𝑢) =-0,401
𝑉24(𝑏𝑎𝑟𝑢) =-0,18775
𝑉31(𝑏𝑎𝑟𝑢) =0,683882
𝑉32(𝑏𝑎𝑟𝑢) =0,532896
𝑉33(𝑏𝑎𝑟𝑢) =0,155773
𝑉34(𝑏𝑎𝑟𝑢) =-0,37126
𝑉41(𝑏𝑎𝑟𝑢) =0,00030216
𝑉42(𝑏𝑎𝑟𝑢) =-0,17211
𝑉43(𝑏𝑎𝑟𝑢) =0,662177
𝑉44(𝑏𝑎𝑟𝑢) =-0,522501
𝑏11(𝑏𝑎𝑟𝑢) =0,250522
𝑏12(𝑏𝑎𝑟𝑢) =0,951546
𝑏13(𝑏𝑎𝑟𝑢) =0,512472
𝑏14(𝑏𝑎𝑟𝑢) =0,302533
Setelah mendapat hasil pada training ke-2
maka iterasi atau perulangan pertama telah selesai
dikerjakan, proses diulangi hingga mencapai nilai
error terkecil atau epoch yang telah ditentukan. Hasil
keluaran bobot dan bias pada iterasi yang telah
ditentukan akan di simpan untuk selanjutnya
digunakan dalam memvalidasi data prediksi.
3.3 Prediksi Data Backpropagation
Dapat dilihat pada flowchart di gambar 4.2
yang merupakan alur atau jalan cerita dari proses
prediksi data menggunakan Backpropagation.
.
Keterangan :
a. masukkan data target prediksi hasil dari
normalisasi
b. masukkan bobot hasil pemodelan
c. Perhitungan feedforward
Pada tahap feedforward ini adalah menghitung
keluaran hasil prediksi,
d. Validasi terhadap data target
Pada tahap memvalidasi data target ini, yang
dilakukan adalah menghitung keluaran hidden
layer terlebih dahulu menggunakan persamaan
(2.6) dan (2.7)
𝑍𝑖𝑛1= 0,321021 + (0,456522(0,139087) +
0(0,362143) + 0(0,504098) +0,282299(0,727089) = 0,589773154
𝑍𝑖𝑛2= −0,89855 + (0,456522(−0,6931) +
0(−0,72296) + 0(−0,502) +0,282299(−0,1874) = −1,265989154
𝑍𝑖𝑛3= 0,524604 + (0,456522(0,693103) +
0(0,542218) + 0(0,167332) +0,282299(−0,36148) = 0,738976095
𝑍𝑖𝑛4= 0,29905 + (0,456522(0,000288152)
+0(−0,18033) + 0(0,670628) +0,282299(−0,53966) = 0,146835468
9
𝑧1 =1
1 + 𝑒−0,589773154= 0,356686905
𝑧2 =1
1 + 𝑒−1,265989154= 0,780055384
𝑧3 =1
1 + 𝑒−0,738976095= 0,323228084
𝑧4 =1
1 + 𝑒−0,146835468 = 0,463356947
Sudah di dapati hasil keluaran dari hidden layer
dengan menggunakan persamaan (2.6) dan (2.7)
diatas maka barulah dapat menghitung hasil
prediksi dengan menggunakan persamaan (2.8)
dan (2.9).
𝑦𝑖𝑛1= 0,140412 + (0,356686905 (0,1359751))
+ ((0,780055384)(0,218878))
+ ((0,32322884)(0,547309))
+ ((0,463356947)(0,921587))
= 0,963579473
𝑌1 =1
1 + 𝑒−0,963579473= 0,276162
Hasil prediksi data pertama dengan
menggunakan parameter yang telah ditentukan
adalah 0,276162
e. Hitung error rata-rata prediksi
Perhitungan error rata-rata hasil prediksi dapat
dilakukan dengan menggunakan persamaan (2.25).
dimana data yang digunakan adalah output dari hasil
pemodelan sebagai data target dan output dari hasil
prediksi.
Tabel 4.4 Error Rata-Rata Prediksi
Target
(T)
Prediksi
(Y)
MSE
pecahan %
0.530124 0,276162 0.064497 6,45%
0.680392 0,381341 0.089432 8,94%
∑ 𝑒𝑟𝑟𝑜𝑟 𝑟𝑎𝑡𝑎 − 𝑟𝑎𝑡𝑎 15.39%
Dari Perhitungan error menggunakan MSE
diatas didapat akurasi model prediksi sebesar
84,61%. Hasil prediksi dengan jumlah perulangan
hanya satu kali tidak memberikan hasil prediksi yang
tidak terlalu akurat, karena error yang di capai masih
sangat besar. Untuk mendapatkan hasil prediksi yang
bagus dan mendekati angka target harus membangun
suatu model yang menghasilkan nilai error sekecil
mungkin.
f. Denormalisasi data
Denormalisasi data ini dilakukan untuk
mengembalikan data hasil normalisasi. Sama halnya
dengan proses normalisasi, denormalisasi ini
dilakukan dengan cara menggabungkan data model
dan data prediksi terlebih dahulu. Dimana data 𝑋𝑚𝑎𝑥
dan 𝑋𝑚𝑖𝑛 yang digunakan sama dengan data 𝑋𝑚𝑎𝑥
dan 𝑋𝑚𝑖𝑛 target pada proses normalisasi. proses
denormalisasi hanya dilakukan terhadap data target
prediksi dan data hasil prediksi dengan persamaan
(2.5).
Tabel 4.5 Hasil denormalisasi
Target (m3)
(T)
Prediksi (m3)
(Y)
247416 237350
253372 241518.8
Hasil denormalisasi ini akan digunakan untuk proses
rekonstruksi. Dimana proses rekonstruksi merupakan
proses yang digunakan untuk mengembalikan data
hasil dekomposisi.
3.4. Pemodelan Dan Pengujian Data
Pemodelan yang akan dibangun terdiri dari 4
lapisan masukan (input layer),dan 1 lapisan keluaran
(output layer). Untuk membangun model simulasi
dan prediksi penjualan air ini dilakukan berkali-kali
untuk mencari kombinasi model terbaik dengan cara
mengubah hidden layer, learning rate, dan
momentum
Adapun parameter yang digunakan untuk mecari
konfigurasi model terbaik adalah sebagai berikut :
1. Maximum Iterasi (epoch) : 5.000
2. Target error : 0,01
Dari parameter diatas, akan dilakukan
pemodelan sebanyak 27 kali dengan hidden layer,
learning rate dan momemtum yang berbeda. Adapun
hasil dari pemodelan tersebut dapat dilihat pada tabel
5.3 berikut :
Tabel 5.3 Hasil Pengujian dengan perubahan hidden
layer, learning rate dan momentum
No Hidden
layer
Learning
rate
Momen
tum MSE
1 4 0.1 0.1 0.00033
2 4 0.5 0.1 0.00171
3 4 1 0.1 0.00178
4 4 0.1 0.5 0.00079
10
5 4 0.5 0.5 0.00177
6 4 1 0.5 0.00270
7 4 0.1 1 0.41790
8 4 0.5 1 0.16416
9 4 1 1 0.41790
10 5 0.1 0.1 0.00038
11 5 0.5 0.1 0.00177
12 5 1 0.1 0.00174
13 5 0.1 0.5 0.00023
14 5 0.5 0.5 0.00128
15 5 1 0.5 0.00172
16 5 0.1 1 0.16416
17 5 0.5 1 0.16416
18 5 1 1 0.41790
19 6 0.1 0.1 0.00032
20 6 0.5 0.1 0.00229
21 6 1 0.1 0.00188
22 6 0.1 0.5 0.00102
23 6 0.5 0.5 0.00177
24 6 1 0.5 0.00144
25 6 0.1 1 0.03583
26 6 0.5 1 0.41790
27 6 1 1 0.41790
28 7 0.1 0.1 0.00027
29 7 0.5 0.1 0.00161
30 7 1 0.1 0.00211
31 7 0.1 0.5 0.00123
32 7 0.5 0.5 0.00199
33 7 1 0.5 0.00126
34 7 0.1 1 0.16416
35 7 0.5 1 0.41790
36 7 1 1 0.41790
37 8 0.1 0.1 0.00027
38 8 0.5 0.1 0.00144
39 8 1 0.1 0.00140
40 8 0.1 0.5 0.00095
41 8 0.5 0.5 0.00173
42 8 1 0.5 0.00143
43 8 0.1 1 0.41790
44 8 0.5 1 0.16416
45 8 1 1 0.41790
Berdasarkan tabel pemodelan diatas, dapat di
lihat bahwa pengujian terbaik dengan hasil akurasi
tertinggi terdapat pada pemodelan ke-13. Ketepatan
data yang dilatih dengan jumlah hidden layer 5,
learning rate 0.1 dan momentum 0.5 memperoleh
nilai MSE terkecil sebesar 0.00023. Untuk
mendapatkan model terbaik pada pemodelan ke-13
dari hasil pengujian terbaik tersebut di dapati pula
oleh sistem model jaringan untuk memprediksi
berupa bobot hidden layer beserta bias dan output
layer beserta biasnya .
11
b1 V1 V2 V3 V4 V5 -
0.37979
-0.0194
3 1.0439
11
-1.1993
5 0.5904
69
-0.0967
3
-0.5201
2 0.7509
66 3.0498
45
-1.6664
9
-3.9841
1 2.9109
23
0.248767
-0.4801
4
-0.2986
8 0.2535
97 -
0.2418
-0.1077
5
-0.2331
2
-1.2153
3
-0.9719
6 0.0014
27 3.6605
57
-4.8571
1
b2 w1 w2 w3 w4 w5 -
1.27289
1.041985
2.48772
-1.5995
8
-5.7909
8 5.3787
82
Dari hasil pengujian pemodelan ke- 13
dilakukan pengujian lagi dengan menggunakan data
asli PDAM TIRTA KEPRI bulan November 2015 –
Januari 2016 yang di jadikan sebagai data Training
untuk melihat perbandingan dan tingkat akurasi
prediksi dengan menggunakan Jaringan Syaraf
Tiruan Backpropagation. Untuk melihat hasil dari
perbandingannya dapat di lihat pada table 5.4.
Tabel 5.4 Hasil Perbandingan data Training dengan
Prediksi
No.
Penjualan
Asli
(M3)
Penjualan
Prediksi
(M3)
Margin
Error
(M3)
Persenta
se Error
1. 224676 223718 958 0.42 2. 229911 228889 1022 0.44 3. 253090 254588 1498 0.59
Setelah melihat tabel 5.4 di atas dapat di rata-
ratakan persentase error dari 3 bulan data Training
dari PDAM Tirta Kepri bulan November 2015 –
Januari 2016 memiliki nilai persentase rata-rata
margin error sebesar 0.48%.
4. Penutup
a. Kesimpulan
Adapun kesimpulan yang dapat diambil dari
penelitian ini adalah sebagai berikut :
Dari penelitian ini dapat di tarik
kesimpulan bahwa sistem simulasi dan prediksi
penjualan air menggunakan Jaringan Syaraf Tiruan
Backpropagation berhasil di bangun. Sebagai hasil,
dengan melakukan percobaan pencarian iterasi
sampai dengan 500000 iterasi, maka di dapat jumlah
MSE terkecil pada iterasi ke-5000 dengan kombinasi
pencarian model menggunakan maximum error 0.01,
5 neuron hidden layer, jumlah learning rate 0.1 dan
jumlah momentum 0.5 memperoleh nilai MSE
terkecil sebesar 0.00025.
b. Saran
Diharapkan untuk penelitian berikutnya
mencoba Menggunakan metode pengembangan dari
Jaringan Syaraf Tiruan Backpropagation dalam
membangun sistem simulasi dan prediksi penjualan
air agar mendapatkan angka prediksi yang lebih
cepat dengan jumlah iterasi yang lebih kecil. Salah
satunya seperti metode Levenberg Marquardt Neural
Network.
Daftar Pustaka
Andrian, Y., dan Ningsih, E., 2014, Prediksi curah
hujan di kota medan menggunakan
metode Backpropagation Neural
Network. Medan: Seminar Nasional
Informatika.
Bekir, K., 2011, Hepatitis Disease Diagnosis Using
Backpropagation and the Naive Bayes
Classifiers. Konya: Journal of Science
and Technology, 1(1).
Hansun, S., 2013, Penerapan WEMA dalam
peramalan data IHSG. Tangerang:
Ultimatics, 5(2).
Hidayanti, N., dan Warsito, B., 2010, Prediksi
Terjamgkitnya Penyakit Jantung
Dengan Metode Learning Vector
Quantitazation. Semarang: Media
Statistika, 3(1).
Kusumadewi, S., dan Hartati, S., 2010, Neuro-Fuzzy
integrasi sistem fuzzy dan jaringan
syaraf, Graha Ilmu, Yogyakarta.
Nikmah, U, N., Candra, D., dan Imam, C., 2013,
Prediksi Kebutuhan Air PDAM
Berdasarkan Jumlah Pelanggan
Menggunakan Al-Alaoui
Backpropagation, Skripsi, Universitas
Brawijaya, Malang.
PSW, A., 2007, Perbandingan Jaringan Syaraf
Tiruan BACKPROPAGATION Dan
Metode Deret Berkala BOX-JENKINS
12
(ARIMA) Sebagai Metode Peramalan
Curah Hujan, Skripsi, Universitas
Negri Semarang, Semarang.
Sandy K., 2014, Penerapan metode jaringan saraf
tiruan Backpropagation untuk
memprediksi nilai ujian sekolah.
Pontianak: Jurnal Teknologi, 7(1).
Tirto, Y, P., Santosa, S., dan Anggi, R, P., 2013,
Prediksi produksi air PDAM dengan
jaringan syaraf tiruan. Semarang:
Seminar Nasional Teknologi Informasi
& Komunikasi Terapan.
Wandasari, N, D., 2013, Perlakuan Akutansi Atas
PPH Pasal 21 Pada PT. Artha Prima
Finance Kota Mobagu. Manado: Jurnal
EMBA, 1(3).
Widyaningrum, V, T., 2013, Artificial Neural
Network Backpropagation Dengan
Momentum Untuk Prediksi Surface
Roghness pada CNC Milling.
Bangkalan: Prosiding Conference on
Smart – Green Technologi in
Electrical and Information Systems. Yusuf, E, A., Suprayogi, I., Lilis, Y, H., 2015, Model
Hidrolgi Runtun Waktu untuk
Peramalan Debit Sungai Menggunakan
Metode Gabungan Transformasi
Wavelet-Artificial Neural Network.
Pekanbaru: Jom FTEKNIK, 2(1).