BAB I
PENDAHULUAN
A. Lata Latarr B Bel elak akan ang g Listrik merupakan salah satu sumber energy yang digunakan untuk
keperluan sehari-hari baik dalam rumah tangga atau industri. Dalam penggunaannya ditetapkan tarif bulanan sesuai dengan pemakaian. Tagihan Tagihan setiap bulannya tidak selalu sama, dikarenakan pemakaian serta daya yang digunakan setiap pelanggan berbeda, biaya yang dikeluarkan untuk membayar tagihan listrik setiap pelanggan juga berbeda. Diperlukan perencanaan anggaran biaya tagihan listrik. Dalam hal ini, peramalan untuk tagihan bulan depan membantu dalam perencanaan anggaran. Seiring berkembangnya pengetahuan dan teknologi, banyak metode yang digunakan dalam hal peramalan. Salah satu diantaranya adalah Jaringan Syaraf Tiruan model Backpropaga model Backpropagation tion.. Pada penggunaannya metode ini sudah banya digunakan untuk kasus peramalan, contoh untuk mera malkan harga saham, beban listrik. Dalam kasus harga saham, banyak factor yang menyebabkan naik turunnya harga saham dan prediksi untuk harga s aham akan sangat bermanfaat bagi in!estor untuk dapat melihat bagaimana prospek in!estasi saham sebuah perusahaan dimasa dating.
B. Rumu Rumusa san n Mas Masal alah ah "erdasarkan latar belakang diatas dapat diambil rumusan masalah
yaitu bagaimana memperkirakan biaya tagihan listrik menggunakan jaringan syaraf tiruan. C. Tujuan uan
1
Tujuan dari penelitian ini adalah membangun aplikasi dengan menerapkan jaringan syaraf tiruan model Backpropa model Backpropagation gation menggunakan menggunakan bahasa pemrograman Ja!a untuk meramalkan biaya bulanan tagihan listrik
BAB II LANDASAN TEORI
A. De!n!s! De!n!s! "ar!n "ar!ngan gan S#ara S#ara T!rua T!ruan n Jaringan syaraf tiruan adalah suatu sistem pengolahan informasi yang
memiliki karakteristik mirip dengan jaringan syaraf biologi. Proses tersebut mencoba untuk mensimulasikan proses pembelajaran pada otak manusia menggunakan program computer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran. B. Ba$k Ba$k%r %r&% &%ag agat at!& !&n n Backpropagation Backpropagation merupakan merupakan algoritma pembelajaran yang tera#asi
dan biasanya digunakan oleh perceptron dengan ban yak lapisan untuk mengubah bobot-bobot yang terhubung dengan neuron-neuron yang ada pada lapisan tersembunyi. terse mbunyi. $lgoritma $lgoritma Backpropa Backpropagation gation menggunakan error output untuk mengubah nilai bobot dalam arah mundur %backward % backward &. &. 'ntuk mendapatkan error ini, tahap perambatan maju % forward propagation propagation&& harus dikerjakan terlebih dahulu.
2
Tujuan dari penelitian ini adalah membangun aplikasi dengan menerapkan jaringan syaraf tiruan model Backpropa model Backpropagation gation menggunakan menggunakan bahasa pemrograman Ja!a untuk meramalkan biaya bulanan tagihan listrik
BAB II LANDASAN TEORI
A. De!n!s! De!n!s! "ar!n "ar!ngan gan S#ara S#ara T!rua T!ruan n Jaringan syaraf tiruan adalah suatu sistem pengolahan informasi yang
memiliki karakteristik mirip dengan jaringan syaraf biologi. Proses tersebut mencoba untuk mensimulasikan proses pembelajaran pada otak manusia menggunakan program computer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran. B. Ba$k Ba$k%r %r&% &%ag agat at!& !&n n Backpropagation Backpropagation merupakan merupakan algoritma pembelajaran yang tera#asi
dan biasanya digunakan oleh perceptron dengan ban yak lapisan untuk mengubah bobot-bobot yang terhubung dengan neuron-neuron yang ada pada lapisan tersembunyi. terse mbunyi. $lgoritma $lgoritma Backpropa Backpropagation gation menggunakan error output untuk mengubah nilai bobot dalam arah mundur %backward % backward &. &. 'ntuk mendapatkan error ini, tahap perambatan maju % forward propagation propagation&& harus dikerjakan terlebih dahulu.
2
BAB III ANALISIS DAN PERANCAN'AN
A. Peran$an Peran$angan gan A%l!ka A%l!kas! s! Mengguna Menggunakan kan Matla( Matla(
Dalam perancangan neuron untuk membuat jaringan syaraf tiruan diperlukan input , learning rate, rate, hidden node, node , maksimal iterasi dan target error sebagai sebagai parameter. Sebagai input jaringan adalah data tagihan listrik yang terlihat pada table (. )ariabel )ariabel *(, *+ dan * adalah nilai tagihan listrik sebelum bulan yang akan diramalkan. isalkan akan meramalkan ei, sebagai data pelatihan *(, *+ dan * adalah bulan bulan Januari, ebruari, aret dan $pril $pril sebagai target. /emudian untuk data pelatihan yang kedua *(, *+ dan * adalah ebruari, aret, $pril dan ei sebagai target. Data tagihan berikut adalah data tagihan listrik dari bulan $gustus +001 sampai dengan aret +0((.
TABEL ).* DATA MASU+AN N&
,*
,-
,)
Target
(
(00.23
14.(53
63.6+3
13.+3
+
14.(53
63.6+3
13.+3
1.50
63.6+3
13.+3
1.50
6(.530
4
13.+3
1.50
6(.530
14.(53
3
1.50
6(.530
14.(53
+.500
5
6(.530
14.(53
+.500
(4+.620
2
14.(53
+.500
(4+.620
22.(+3
1
+.500
(4+.620
22.(+3
6(.((3
6
(4+.620
22.(+3
6(.((3
1+.50
(0
22.(+3
6(.((3
1.50
61.053
((
6(.((3
1.50
61.053
11.440
3
(+
1.50
61.053
11.440
(00.23
(
61.053
11.440
(00.23
(0+.123
(4
11.440
(00.23
(0+.123
64.+0
(3
(00.23
(0+.123
64.+0
61.053
(5
(0+.123
64.+0
61.053
65.053
(2
64.+0
61.053
65.663
14.200
(1
61.053
65.663
14.200
(02.(33
(6
65.663
14.200
(02.(33
(00.23
+0
14.200
(02.(33
(00.23
14.200
+(
(02.(33
(00.23
14.200
6(.530
++
(00.23
14.200
6(.530
+4.460
+
14.200
6(.530
+4.460
(43.543
+4
6(.530
+4.460
(43.543
+5.40
+3
+4.460
(43.543
+5.40
+2+.(3
+5
(43.543
+5.40
+2+.(3
2(.120
+2
+5.40
+2+.(3
2(.120
53.433
Data masukan tersebut kemudian dibagi untuk data pelatihan dan data pengujian sebagai berikut
TABEL ).- PELATIHAN N&
,*
,-
,)
Target
(
(00.23
14.(53
63.6+3
13.+3
+
14.(53
63.6+3
13.+3
1.50
63.6+3
13.+3
1.50
6(.530
4
13.+3
1.50
6(.530
14.(53
3
1.50
6(.530
14.(53
+.500
5
6(.530
14.(53
+.500
(4+.620
2
14.(53
+.500
(4+.620
22.(+3
1
+.500
(4+.620
22.(+3
6(.((3
6
(4+.620
22.(+3
6(.((3
1+.50
(0
22.(+3
6(.((3
1.50
61.053
((
6(.((3
1.50
61.053
11.440
(+
1.50
61.053
11.440
(00.23
(
61.053
11.440
(00.23
(0+.123
4
(4
11.440
(00.23
(0+.123
64.+0
(3
(00.23
(0+.123
64.+0
61.053
(5
(0+.123
64.+0
61.053
65.053
(2
64.+0
61.053
65.663
14.200
(1
61.053
65.663
14.200
(02.(33
(6
65.663
14.200
(02.(33
(00.23
+0
14.200
(02.(33
(00.23
14.200
TABEL ).) DATA PEN'U"IAN N&
,*
,-
,)
Target
(
(02.(33
(00.23
14.200
6(.530
+
(00.23
14.200
6(.530
+4.460
14.200
6(.530
+4.460
(43.543
4
6(.530
+4.460
(43.543
+5.40
3
+4.460
(43.543
+5.40
+2+.(3
5
(43.543
+5.40
+2+.(3
2(.120
2
+5.40
+2+.(3
2(.120
53.433
Pada perangkat lunak yang akan dibangun, fingsi akti!asi yang digunakan adalah sigmoid biner. Dengan parameter learning rate (, hidden node +4, iterasi 000000, dan target error 0,00000(. 7ambar di ba#ah ini merupakan struktur jaringan pada aplikasi peramalan tagihan listrik. Terdiri dari input yaitu *(, *+ dan * dengan ( hidden layer dengan banyak hidden node 3 dan output yang menghasilkan nilai tagihan listrik.
7ambar .( Struktur jaringan aplikasi
5
Setiap unit input menerima sinyal masukan dan meneruskan ke semua unit lapisan hidden. Pada hidden layer , tiap-tiap hidden node menjumlahkan sinyal input terbobot dan menggunakan fungsi akti!asi sigmoid untuk menghitung sinyal output dari lapisan atasnya. /emudian tiap-tiap output menjumlahkan sinyal input terbobot, dan menggunakan fungsi akti!asi sigmoid untuk menghitung sinyal output %8&. Tahap perambatan mundur %backward & dilakukan jika output pada proses perambatan maju belum memenuhi target yang diharapkan. Proses perambatan maju dan mundur dilakukan terus hingga output %8& sudah memenuhi target yang diinginkan. $dapun prosedur perancangan aplikasi ini dengan menggunakan program $TL$" adalah sebagai berikut (. embuka dan menjalankan program $TL$" yang ada pada computer.
+. Setelah program matlab terbuka, pilih icon ne# script pada sudut kiri atas sehingga muncul jendela editor untuk merancang aplikasi seperti pada gambar berikut.
6
. Setelah jendela editor terbuka, tahap selanjutnya adalah mulai mengetik program untuk aplikasi peramalan pada lembar editor dengan coding sebagai berikut clear;
%Data input & target Data =[... 100735 84165 95925 85235 84165 95925 85235 83630 95925 85235 83630 91650 85235 83630 91650 84165 83630 91650 84165 23600 91650 84165 23600 142970 84165 23600 142970 77125 23600 142970 77125 91115 142970 77125 91115 83638 77125 91115 83630 98065 91115 83630 98065 88440
7
83630 98065 88440 100735 98065 88440 100735 102875 88440 100735 102875 94320 100735 102875 94320 98065 102875 94320 98065 96995 94320 98065 96995 84700 98065 96995 84700 107155 96995 84700 107155 100735 84700 107155 100735 84700]; P = Data!"1!3#$; = Data!"4#$;
%preprce''ing [pn"(eanp"'t)p"tn"(eant"'t)t]=pre't)P"#
%(e(*angun +aringan ',ara- -ee)-rar) net = ne--(in(a/pn#"[24 1]"$lg'ig$ $purelin$"$trainl($#;
%'et (a/ ep" gal" learning rate" ' 'tep net.trainPara(.epc = 3000000; net.trainPara(.gal = 0.000001; net.trainPara(.(u = 0.3;
%(elauan pe(*ela+aran net = trainnet"pn"tn#;
8
%(elauan 'i(ula'i an = 'i(net"pn#; a = p't't)an"(eant"'t)t#; et = a
%nput *aru aan )i te'" )engan target e= [... 107155 100735 84700 91650 100735 84700 91650 24490 84700 91650 24490 145645 91650 24490 145645 26340 24490 145645 26340 272135 145645 26340 272135 71870 26340 272135 71870 65455]; = e!"1!3#$; = e!"4#$;
%r(ali'a'i input *aru n = tra't)"(eanp"'t)p#; *n = 'i(net"n#; * = p't't)*n"(eant"'t)t# e = *
4. Setelah selesai melakukan coding, sa!e hasil codingan
9
3. 'ntuk melihat kinerja aplikasi yang sudah dibuat, jalankan program dengan mengklik tombol run
pada jendela editor sehingga akan
muncul tampilan seperti gambar berikut.
5. 'ntuk melihat ouput dari aplikasi yang telah dibangun, buka jendela command #indo#.
10
11
BAB I HASIL DAN PEMBAHASAN
*.* +!nerja Alg&r!tma Ba$k%r&%agat!&n "erikut adalah hasil pelatihan aplikasi peramalan tagihan listrik
dengan parameter learning rate (, banyak hidden node +4, maksimal iterasi 000000 dan target error 0,00000(.
7ambar 4.( Proses pelatihan pada $TL$" 7ambar 4.( menunjukkan proses pelatihan dengan menggunakan kombinasi input , 4 neuron pada hidden layer dan ( unit output yang dihentikan saat iterasi mencapai +3 dari (000 %jumlah iterasi maksimum pada kombinasi ini&, karena target error sudah tercapai. Setelah proses pelatihan selesai maka didapatkan bobot akhir. /inerja aplikasi yang telah dirancang dapat dilihat pada gambar berikut.
12
7ambar 4.+ 7rafik kinerja aplikasi pada $TL$" 9asil dari keluaran aplikasi peramalan pada command #indo# adalah sebagai berikut
pn :
;olumns ( through 6
13
0.4651 -0.00+ -0.(+4
0.+534 -0.+411 -0.+50
0.+424 -0.+5(3 -0.26
0.+024 -0.00+ -0.254
0.0361 -0.00+ -.+(
0.046 -0.(+4 -.(633
0.0044 -0.3(0 -.++55
+.3+1+
+.4156 -0.5425
+.44(+ -0.513+ -0.0+(0
;olumns (0 through (1
-0.511 0.04( -0.+50 0.51 -0.0645 0.4651 0.3662 0.(11+ 0.51 0.0(14 -0.26
0.46 -0.(016
0.4254
0.321+
0.(2(0
0.46
0.+61
-0.254 0.060 -0.(410 0.431 0.324 0.((+ 0.060 0.+31+ -0.+35
;olumns (6 through +0
0.(56 -0.+243 -0.+120
0.21+0
0.2405
0.431
meanp :
(.0e<004 =
6.0402 6.02+1 6.(335
14
stdp :
(.0e<004 =
+.026( +.(002 +.(05(
tn :
;olumns ( through 6
-0.+2+ -0.46
0.0(0 -0.+6 -.(636
+.4545 -0.5321
0.0032 -0.416
;olumns (0 through (1
0.3+ -0.(+(+
0.45(1
0.35
0.(325
;olumns (6 through +0
0.45(1 -0.+613
meant :
15
0.3+
0.+143 -0.+613
0.255
6.0665e<004
stdt :
+.(011e<004
>arning ?@> used in an obsolete #ay. A Bn nntobsu at (1 Bn ne#ff at 15 Bn 'ntitledne# at + See help for ?@> to update calls to the ne# argument list.
et :
;olumns ( through 6
-0.00+3 0.0(25 0.0(0+ 0.0045 -0.0++ 0.0+46 0.+(1+ -0.0+66 0.0050
;olumns (0 through (1
0.00(6 -0.0(0( -0.0++( -0.0(0+
0.004 -0.000 -0.0023 -0.001 -0.006
;olumns (6 through +0
16
-0.0(+( -0.00+3
>arning TC$STD is an obsolete function. A Bn nntobsf at (1 Bn trastd at 2 Bn 'ntitledne# at 50 'se $PSTD instead.
b :
(.0e<003 =
(.3200
(.0436
+.(44(
0.621
0.40+
0.634(
(.5212
e:
(.0e<003 =
-0.533 -0.10(0 -0.5122 -0.2(46
+.(1+ -0.+34 -(.0+4(
>arning PC@STD is an obsolete function. A Bn nntobsf at (1 Bn prestd at 1
17
Bn 'ntitledne# at +6 'se $PSTD instead.
pn :
;olumns ( through 6
0.4651 -0.00+ -0.(+4
0.+534 -0.+411 -0.+50
0.+424 -0.+5(3 -0.26
0.+024 -0.00+ -0.254
0.0361 -0.00+ -.+(
0.046 -0.(+4 -.(633
0.0044 -0.3(0 -.++55
+.3+1+
+.4156 -0.5425
+.44(+ -0.513+ -0.0+(0
;olumns (0 through (1
-0.511 0.04( -0.+50 0.51 -0.0645 0.4651 0.3662 0.(11+ 0.51 0.0(14 -0.26
0.46 -0.(016
0.4254
0.321+
0.(2(0
0.46
0.+61
-0.254 0.060 -0.(410 0.431 0.324 0.((+ 0.060 0.+31+ -0.+35
;olumns (6 through +0
0.(56 -0.+243 -0.+120
0.21+0
0.2405
0.431
meanp :
18
(.0e<004 =
6.0402 6.02+1 6.(335
stdp :
(.0e<004 =
+.026( +.(002 +.(05(
tn :
;olumns ( through 6
-0.+2+ -0.46
0.0(0 -0.+6 -.(636
+.4545 -0.5321
0.0032 -0.416
;olumns (0 through (1
0.3+ -0.(+(+
0.45(1
0.35
0.(325
19
0.3+
0.+143 -0.+613
0.255
;olumns (6 through +0
0.45(1 -0.+613
meant :
6.0665e<004
stdt :
+.(011e<004
>arning ?@> used in an obsolete #ay. A Bn nntobsu at (1 Bn ne#ff at 15 Bn 'ntitledne# at + See help for ?@> to update calls to the ne# argument list.
et :
;olumns ( through 6
20
-0.(+62 -0.+003
0.0(51 -0.03+( -0.+644
0.0045 -0.0006
0.000( -0.0051
;olumns (0 through (1
-0.(03 -0.((36 -0.(244 -0.051 -0.03( -0.0323 -0.033 -0.0035
;olumns (6 through +0
-0.(00+ -0.0534
>arning TC$STD is an obsolete function. A Bn nntobsf at (1 Bn trastd at 2 Bn 'ntitledne# at 50 'se $PSTD instead.
b :
(.0e<003 =
(.244
0.633
0.2615
0.23(
(.(53
e:
21
(.10+
0.02(6
0.0506
(.0e<003 =
-0.4326 -0.2015
0.5326 -0.4162
(.3350 -(.(((3
0.31+2
>arning PC@STD is an obsolete function. A Bn nntobsf at (1 Bn prestd at 1 Bn 'ntitledne# at +6 'se $PSTD instead.
pn :
;olumns ( through 6
0.4651 -0.00+ -0.(+4
0.+534 -0.+411 -0.+50
0.+424 -0.+5(3 -0.26
0.+024 -0.00+ -0.254
0.0361 -0.00+ -.+(
0.046 -0.(+4 -.(633
0.0044 -0.3(0 -.++55
+.3+1+
+.4156 -0.5425
+.44(+ -0.513+ -0.0+(0
;olumns (0 through (1
-0.511 0.04( -0.+50 0.51 -0.0645 0.4651 0.3662 0.(11+ 0.51 0.0(14 -0.26
0.46 -0.(016
0.4254
0.321+
0.(2(0
0.46
0.+61
-0.254 0.060 -0.(410 0.431 0.324 0.((+ 0.060 0.+31+ -0.+35
;olumns (6 through +0
22
0.(56 -0.+243 -0.+120
0.21+0
0.2405
0.431
meanp :
(.0e<004 =
6.0402 6.02+1 6.(335
stdp :
(.0e<004 =
+.026( +.(002 +.(05(
tn :
23
;olumns ( through 6
-0.+2+ -0.46
0.0(0 -0.+6 -.(636
+.4545 -0.5321
0.0032 -0.416
;olumns (0 through (1
0.3+ -0.(+(+
0.45(1
0.35
0.(325
;olumns (6 through +0
0.45(1 -0.+613
meant :
6.0665e<004
stdt :
+.(011e<004
>arning ?@> used in an obsolete #ay. A Bn nntobsu at (1 Bn ne#ff at 15 Bn 'ntitledne# at +
24
0.3+
0.+143 -0.+613
0.255
See help for ?@> to update calls to the ne# argument list.
et :
;olumns ( through 6
0.0366 4.1530 0.234 (.(2+2 -.13 -.55 +.06 -5.(4 +.336+
;olumns (0 through (1
4.4+1
+.+433 -0.43(+ -0.510 -.545+ -(.41( -.+6+ -5.+066
;olumns (6 through +0
0.(10 -.(505
>arning TC$STD is an obsolete function. A Bn nntobsf at (1 Bn trastd at 2 Bn 'ntitledne# at 50 'se $PSTD instead.
b :
25
0.300+
(.0e<003 =
(.(0(
0.643(
+.+150
0.5344
0.160+
0.+26
(.2312
e:
(.0e<003 =
-0.(141 -0.200+ -0.1+65 -0.6(0
(.1(+
0.4441 -(.(04+
AA
Dari hasil keluaran pada command #indo# dapat dilihat bah#a hasil peramalan Jaringan Syaraf Tiruan tidak terpaut jauh dari target, dapat dilihat pada tabel berikut.
TABEL /.* HASIL PERAMALAN
26
N&
Data Tag!han Asl!
27
Has!l Peramalan
( + 4 3 5 2 1 6 (0 (( (+ ( (4 (3 (5 (2 (1 (6 +0 +( ++ + +4 +3 +5 +2
13.+3 1.50 6(.530 14.(53 +.500 (4+.620 22.(+3 6(.((3 1+.50 61.053 11.440 (00.23 (0+.123 64.+0 61.053 65.053 14.200 (02.(33 (00.23 14.200 6(.530 +4.460 (43.543 +5.40 +2+.(3 2(.120 53.433
28
13.+3 1.5+3 6(.546 14.(54 +.504 (4+.620 22.(+ 6(.(+( 1.53 61.05( 11.41 (00.240 (0+.110 64.+4 61.021 65.0661 14.205 (02.(30 (00.20 14.20 ((0.(0 64.301 ++1.500 53.44( 16.0(1 +2.6+ (23.120
BAB PENUTUP
A. +es!m%ulan
Setelah dilakukan pengujian, dapat diambil kesimpulan aplikasi peramalan tagihan listrik menggunakan metode Backpropagation mampu melakukan peramalan tagihan listrik. Dalam proses meramalkan tagihan, dilakukan proses pelatihan terhadap data tagihan bulan sebelum bulan yang akan diramalkan untuk mendapatkan bobot. "obot tersebut digunakan untuk mendapatkan bobot. "obot tersebut digunakan dalam meramalkan t agihan listrik.
B. Saran
$plikasi peramalan tagihan listrik ini masih terdapat banyak kekurangan, maka hendaknya dapat disempurnakan lagi. Dan al angkah baiknya bila aplikasi ini dibangun dengan menggunakan Graphical User Interface %7'B& atlab.
29