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
1
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).
Gambar 2.1 Sel Syaraf secara 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.
Gambar 2.3 Arsitektur Jaringan Backpropagation Neural Network (Kusumadewi dan Hartati, 2010). 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
2
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 :
c.
3.
πΏ_πππ = βπ π=1 πΏ2π π€ππ β¦β¦β¦β¦...β¦. (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) 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) 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.
3
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 NguyenWidrow 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 2 ||ππ || = β(π1π ) + (π2π )2 + β― (πππ )2 . (2.2)
c.
Inisialisasi ulang bobot-bobot : πππ =
d.
π½ πππ
............................................. (2.3)
|| ππ ||
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
distrib usi air
kebocoran air
Penjual an
(m3)
jumlah seluruh langgan an (m3)
(m3)
(m3)
(X1) 461 440 486 468 489 471 490 482 469 438 421 443 412 335 370 432 312 394 421 455 429 425 411 442 445 486 444 361 205 382 497
(X2) 495000 506802 515202 497413 502769 492892 505443 479465 458161 412279 407567 450665 473130 457516 461378 464163 395993 401941 407639 442625 407751 419903 449174 340163 460986 493650 398870 484726 446648 448070 490043
(X3) 14782 14820 15004 15013 15045 15067 15106 15116 15145 15136 15126 15094 15080 15095 15108 15103 15089 15082 15127 15129 15180 15174 15201 15204 15231 15271 15298 15356 15358 15359 15375
(X4) 247584 253430 288798 231373 261859 245951 264598 213748 215215 159050 185808 221660 232561 213594 220555 215361 182546 184727 189198 157718 181136 213186 201297 109648 215748 234258 150859 212101 188608 190897 214136
(T) 247416 253372 226404 266040 240910 246941 240845 265717 242946 253229 221759 229005 240569 243922 240823 248802 213447 217214 218441 284907 226615 206717 247877 230515 245238 259392 248011 272625 258040 257173 275907
4
435 401 393
456609 382758 374444
15362 15365 15350
188390 165648 147180
268219 217110 227264
Tabel 5.2 Data prediksi (3 data penjualan air November 2015 - januari 2016) jam layana n operasi
(X1) 424 419 460
distribu si air
jumlah seluruh langgana n
kebocor an air
Penjual an
(m3)
(m3)
(m3)
(m3)
(X2) 385308 401561 448583
(X3) 15306 15306 15321
(X4) 160632 171650 195493
(T) 224676 229911 253090
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 :
3.2. Pemodelan Menggunakan Backpropagation
b.
Inisialisasi bobot dengan Nguyen-Widrow Inisialisasi bobot menggunakan NguyenWidrow 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,4
-0,3
-0,1
0,5
0,3
0,1
-0,2
0
-0,1
0,4
-0,3
-0,5
Vij =
Gambar 4.1 Flowchart Pemodelan Data Backpropagation
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
5
= 0,136933 Menggunakan fungsi aktifasi untuk menghitung sinyal output menggunakan persamaan (2.7)
π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)
1 = 0,642762 1 + π β0,587373 1 π§2 = = 0,219696 1 + π β1,26744 1 π§3 = = 0,675764 β0,734372 1+π 1 π§4 = = 0,53418 1 + π β0,136933 π§1 =
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,693103
0,542218
-0,502 0,167332
-0,18074
π31
0
-0,18074
0,669328
-0,54222
π41 b1
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
-0,36148
0,32 -0,9 0,52 0,29 Tabel 4.3 Bobot dan bias awal hidden layer ke Output layer Y 0,11 W11 0,21 W21 0,52 W31 0,9 W41 0,1 b21
Gunakan fungsi aktifasi lagi untuk menghitung sinyal output dengan menggunakan persamaan (2.9) 1 π1 = = 0,740583 1 + π β1,048999 e.
c.
d.
Inisialisasi parameter Contoh : Maximum Epoch hidden layer target error learning rate (πΌ) momentum (Β΅)
:1 :4 : 0,1 : 0,5 : 0,9
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)
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 mengupdate 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
6
lapisan diatasnya persamaan (2.15).
(neuron
πΏππ1 = (0,080824)(0,11) πΏ_ππ2 = (0,080824)(0,21) πΏ_ππ3 = (0,080824)(0,52) πΏ_ππ4 = (0,080824)(0,9)
hidden)
βπ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
dengan
= 0,008891 = 0,016973 = 0,042029 = 0,072742 f.
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
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
7
Setelah mendapat nilai hasil perbaikan bobot dari data training pertama, maka gunakan bobot tersebut untuk perbaikan bobot dan bias pada data training kedua
prediksi
data
menggunakan
Backpropagation.
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
. 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
8
1 = 0,356686905 1 + π β0,589773154 1 π§2 = = 0,780055384 β1,265989154 1+π 1 π§3 = = 0,323228084 1 + π β0,738976095 1 π§4 = = 0,463356947 1 + π β0,146835468 π§1 =
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 = = 0,276162 1 + π β0,963579473
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) Prediksi (m3) (T) (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.
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 MSE Target Prediksi (T) (Y) pecahan % 0.530124 0.064497 6,45% 0,276162 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.
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 Hidden Learning Momen No MSE layer rate tum 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
9
5
4
0.5
0.5
0.00177
34
7
0.1
1
0.16416
6
4
1
0.5
0.00270
35
7
0.5
1
0.41790
7
4
0.1
1
0.41790
36
7
1
1
0.41790
8
4
0.5
1
0.16416
37
8
0.1
0.1
0.00027
9
4
1
1
0.41790
38
8
0.5
0.1
0.00144
10
5
0.1
0.1
0.00038
39
8
1
0.1
0.00140
11
5
0.5
0.1
0.00177
40
8
0.1
0.5
0.00095
12
5
1
0.1
0.00174
41
8
0.5
0.5
0.00173
13
5
0.1
0.5
0.00023
42
8
1
0.5
0.00143
14
5
0.5
0.5
0.00128
43
8
0.1
1
0.41790
15
5
1
0.5
0.00172
44
8
0.5
1
0.16416
16
5
0.1
1
0.16416
45
8
1
1
0.41790
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
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 .
10
b1
V1
V2
V3
V4
V5
0.3797 9
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.2487 67
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
2.4877 2
1.5995 8
5.7909 8
5.3787 82
1.2728 9
1.0419 85
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
Penjualan Prediksi
Margin Error
(M3)
(M3)
(M3)
Persenta se Error
224676 223718 958 0.42 229911 228889 1022 0.44 253090 254588 1498 0.59 Setelah melihat tabel 5.4 di atas dapat di rataratakan 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%. 1. 2. 3.
4. a.
Penutup
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
11
(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).
12