Jenjang Strata I
Oleh
ILI SUSANTI
G1A010009
SKRIPSI
Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar
Sarjana Strata 1 (Satu) Pada Fakultas Teknik
Program Studi Teknik Informatika Universitas Bengkulu
Oleh
ILI SUSANTI
G1A 010009
2014LEMBAR PENGESAHAN
SISTEM PERAMALAN KENAIKAN PERMUKAAN AIR DENGAN
ARTIFICIAL NEURAL NETWORK BACKPROPAGATION
(Studi Kasus : Desa Tanjung Jaya, Kelurahan Surabaya, Kecamatan Sungai
Serut, Kota Bengkulu)
SKRIPSI
Program Studi Teknik Informatika
Jenjang Strata 1
Oleh
ILI SUSANTI
G1A010009
Telah Diperiksa dan Disetujui Oleh,
Bengkulu,
Juni 2014
Pembimbing Utama
Pembimbing Pendamping
Mengetahui,
Ketua Program Studi Teknik Informatika
LEMBAR PENGESAHAN
SISTEM PERAMALAN KENAIKAN PERMUKAAN AIR DENGAN
ARTIFICIAL NEURAL NETWORK BACKPROPAGATION
(Studi Kasus: Desa Tanjung Jaya, Kelurahan Surabaya, Kecamatan Sungai
Serut, Kota Bengkulu)
SKRIPSI
Program Studi Teknik Informatika
Jenjang Strata 1
Oleh
ILI SUSANTI
G1A010009
Skripsi ini telah Dipertahankan dan Diuji Oleh Dewan Penguji
Pada Hari Kamis , 19 Juni 2014
Bengkulu,
Juni 2014
Pembimbing Utama
Pembimbing Pendamping
Penguji Utama
Penguji Pendamping
PERSEMBAHAN
Skripsi ini kupersembahkan untuk :
Nenek ku tersayang (Amidah) yang
selalu mendoakan ku agar cepat
sukses
Ayah dan Ibu tercinta (Saparudin
dan Yati) yang selalu mendoakan
dan mendorong semangat belajar
Ku untuk mencapai keberhasilan.
Saudara-saudaraku terkasih (Ayuk
Septiani, Ayuk Gusti dan Adek
Penti) yang selalu memberikan
semangat dan motivasi.
Liebe Mich (Sumarto Yudahirawan)
yang selalu menjadi inspirasi dan
motivator dalam hidup Ku.
6
Abstrak
Penelitian ini bertujuan untuk meramalkan kenaikan permukaan air 1 (satu) jam
kedepan. Dalam penelitian ini, sistem yang digunakan adalah sistem Jaringan Syaraf
Tiruan Backpropagation dengan metode pelatihan dan pengujian Levenberg-Marquardt.
Jaringan Syaraf Tiruan (JST) adalah model sistem komputasi yang berkembang sangat
pesat yang dapat bekerja seperti syaraf biologis yaitu dapat mengenali pola-pola yang
telah diajarkan. Langkah-langkah penelitian meliputi analisis kebutuhan sistem,
pengumpulan data, perancangan perangkat lunak dan pengujian sistem. Pada penelitian
ini, sebagai masukkan JST adalah data koefisien aliran, intensitas curah hujan, dan luas
daerah aliran sungai yang diolah menjadi kenaikan permukaan air selama satu hari (24
jam), sedangkan sebagai keluaran JST adalah kenaikan permukaan air untuk satu jam
kemudian. Perangkat lunak ini dibangun dengan menggunakan bahasa pemrograman
Matlab R2008b. Pengujian dilakukan untuk mencari arsitektur dan nilai parameter JST
yang paling optimal pada proses pelatihan. Selain itu, pengujian dilakukan untuk
mengetahui seberapa besar sistem mengenali data yang dimasukkan setelah melewati
tahap pelatihan. Dari penelitian yang telah dilakukan, Jaringan Syaraf Tiruan dengan
metode Backpropagation yang sudah dilatih dengan data koefisien aliran, intensitas curah
hujan, dan luas daerah aliran sungai, dapat digunakan untuk memprediksi kenaikan
permukaan air dengan persentase kesalahan 1.76625 %. Pada pengujian arsitektur dan
parameter pelatihan, didapat bahwa sistem akan optimal dengan jumlah neuron 10 dan 5,
laju pembelajaran 0.1 dan momentum 0.8.
Kata kunci: Kenaikan permukaan air, Jaringan Syaraf Tiruan, Backpropagation,
Levenberg-Marquardt
Abstract
This study aims to predict the surface level rise of 1 (one) hour ahead. In this
study, the system used a system with Backpropagation Neural Network training method
and Levenberg-Marquardt testing. Artificial Neural Network (ANN) is a computational
system model that is growing very rapidly which can work like biological neurons are
able to recognize patterns that have been taught. Research steps include system
requirements analysis, data collection, design and testing of software systems. In this
study, the ANN is input the data flow coefficient, rainfall intensity, and the vast watershed
that is processed into level rise for one day (24 hours), whereas the ANN output is the
water level to rise one hour later. This software is depvelopt using programming
language Matlab R2008b. Testing is performed to find the architecture and parameter
values on the optimal ANN training process. In addition, testing was conducted to
determine how much the system recognize the data entered after passing the training
phase. From the research that has been done, Neural Network with Backpropagation
method that has been trained with the data flow coefficient, rainfall intensity, and the vast
watershed, can be used to predict the flood discharge with an error percentage
1.76625%. In testing the architecture and training parameters, obtained that the system
will be optimized by the number of 10 and 5 neurons, learning rate of 0.1 and momentum
of 0.8.
Keyword: Increase in surface water, Artificial Neural Network, Backpropagation,
Levenberg-Marquardt
KATA PENGANTAR
penulis
dapat
10
dosen
pembimbing
Studi Teknik
Informatika
beserta
staf
administrasi
di
11
Bengkulu,
Juni 2014
Ili Susanti
G1A010009
12
DAFTAR ISI
HALAMAN JUDUL.............................................................................................................i
MOTTO DAN PERSEMBAHAN..................................................................iv
Abstrak..................................................................................................... v
Abstract................................................................................................... vi
KATA PENGANTAR.................................................................................. vii
DAFTAR TABEL...................................................................................... xii
DAFTAR GAMBAR................................................................................. xiii
DAFTAR LAMPIRAN............................................................................... xiv
BAB I PENDAHULUAN............................................................................. 1
1.1 Latar Belakang.................................................................................... 1
1.2 Rumusan Masalah................................................................................ 4
1.3 Batasan Masalah.................................................................................. 4
1.4 Tujuan dan Manfaat Penelitian................................................................5
1.5 Sistematika Penulisan...........................................................................5
BAB II LANDASAN TEORI.........................................................................7
2.1
Curah Hujan.................................................................................... 7
2.2
Bencana Banjir............................................................................... 7
2.3
Debit Banjir................................................................................... 8
2.4
Jenis Penelitian............................................................................. 36
3.2
3.3
Sarana Pendukung.........................................................................37
13
3.4
3.5
3.6
Metode Pengujian..........................................................................41
3.7
Jadwal Penelitian..........................................................................41
14
DAFTAR TABEL
15
DAFTAR GAMBAR
16
DAFTAR LAMPIRAN
LAMPIRAN 1 Perhitungan Manual Data Pelatihan......................................................A1-1
LAMPIRAN 2 Perhitungan Manual Data Uji................................................................B1-1
LAMPIRAN 3 Perhitungan Manual Data Ramal..........................................................C1-1
LAMPIRAN 4 Pengujian Arsitektur Jaringan...............................................................D1-1
17
BAB I
PENDAHULUAN
adalah Jaringan Syaraf Tiruan atau Artificial Neural Network (ANN). Jaringan
Syaraf Tiruan merupakan salah satu kecerdasan buatan yang merupakan
representasi tiruan dari otak manusia yang selalu mencoba untuk
mensimulasikan proses pembelajaran pada otak manusia tersebut. Model ini
merupakan model kotak hitam (black box model), sehingga dalam
penerapannya tidak membutuhkan pengetahuan yang kompleks antar berbagai
aspek dalam melakukan proses pemodelan faktor-faktor tersebut. Jaringan
Syaraf Tiruan (Artificial Neural Network) terdapat beberapa metode pelatihan
yakni diantaranya model Hebb, Perceptron, Adaline, Backpropagation,
Jaringan Kohonen, Radial Basis Function, dan lain-lain.
Kelemahan Jaringan Syaraf Tiruan (JST) yang terdiri dari layar tunggal
(seperti model Hebb, Perceptron, Adaline) membuat perkembangan JST
menjadi terhenti pada tahun 1970 an. Penemuan Backpropagation yang terdiri
dari beberapa layar membuka kembali cakrawala. Terlebih setelah berhasil
ditemukannya berbagai aplikasi yang dapat diselesaikan dengan
Backpropagation, membuat JST semakin diminati orang (Jek Siang, 2005).
JST dengan layar tunggal memiliki keterbatasan dalam pengenalan pola.
Kelemahan ini bisa ditanggulangi dengan menambahkan satu/beberapa layar
tersembunyi diantara layar masukkan dan keluaran. Seperti halnya model JST
lain, Backpropagation melatih jaringan untuk mendapatkan keseimbangan
antara kemampuan jaringan untuk mengenali pola yang digunakan selama
pelatihan serta kemampuan jaringan untuk memberikan respon yang benar
terhadap pola masukkan yang serupa (tapi tidak sama) dengan pola yang
dipakai selama pelatihan. Backpropagation merupakan salah satu metode yang
digunakan untuk peramalan dengan time series seperti penelitian yang
BAB II
LANDASAN TEORI
Adapun teori yang digunakan sebagai dasar dalam penelitian ini antara lain
teori tentang Bencana Banjir, Debit Banjir, Curah Hujan, Jaringan Syaraf Tiruan
(Artificial Neural Network), Arsitektur Jaringan, Metode Pembelajaran, Fungsi
Aktivasi, Algoritma Backpropagation, Metode Pengembangan Sistem, Data Flow
Diagram, dan Flowchart.
2.1
Curah Hujan
Curah hujan adalah jumlah air yang jatuh di permukaan tanah datar selama
periode tertentu yang diukur dengan satuan tinggi milimeter (mm) di atas
permukaan horizontal. Dalam penjelasan lain curah hujan juga dapat
diartikan sebagai ketinggian air hujan yang terkumpul dalam tempat yang
datar, tidak menguap (evaporasi), tidak meresap (infiltrasi) dan tidak
mengalir (Nasution, 2011).
2.2
Bencana Banjir
Banjir adalah aliran/ genangan air yang menimbulkan kerugian ekonomi atau
bahkan menyebabkan kehilangan jiwa. Aliran/genangan ini dapat terjadi
karena adanya luapan-luapan pada daerah di kanan atau kiri sungai/saluran
akibat alur sungai tidak memiliki kapasitas yang cukup bagi debit aliran
yang lewat (Setyawan, 2008).
Secara umum, terdapat tiga istilah pengertian banjir yang dikaitkan
dengan sungai di masyarakat yaitu:
7
2.3
Debit Banjir
Debit banjir adalah aliran air yang berada di atas permukaan tanah
sebagai akibat dari pengaruh curah hujan yang lebih besar dibandingkan
dengan daya tampung sungai atau kapasitas sungai. Adapun rumus
matematika dari debit banjir adalah sebagai berikut:
Q = C. I. A........................................................................................................(2.1)
Dimana:
Q = debit/aliran banjir (m3/ jam)
I = Intensitas hujan satuan (mm/jam)
A = Luas daerah aliran sungai (m2)
C = Koefisien aliran.
2.4
suatu Daerah Aliran Sungai (DAS) terdiri dari berbagai macam pengunaan
lahan koefisien aliran permukaan yang berbeda, maka dapat dirumuskan
sebagai berikut:
Cdas = ( C1 A1+ C2 A2 + C3 A3+ Cn An ) / A1 + A2 + A3 + An...............................................(2.4)
Dimana:
C1... Cn = koefisien aliran permukaan (ke-1 sampai dengan n)
A
= luas lahan
Nilai Koefisien Aliran untuk Berbagai Penggunaan Lahan dapat dilihat pada Tabel
2.1
Tabel 2.1 Nilai Koefisien Aliran Untuk Berbagai Penggunaan Lahan
T
ata
guna
lahan
P
il
ai
c
(
%
)
en
gg
un
aa
n
La
ha
n
K
ebun
camp
uran
4
0
3,9
56
4
P
erkeb
unan
,74
9
,92
28
99,
86
23
1
,0996
0
,09228
S
awah
,79128
P
emuki
man
T
aman,
perku
buran
K
oefisie
n
daerah
aliran
sungai
1
49,931
15
1
5
58,
9
2
3,8410
94
03
S
45
5
emak
2,5
60
1
T
anah
terbuk
a
1
5
1,8
07
3,0
51
8
2,8
33
3
T
egalan
2
,95175
H
utan
3
,67920
7
8
,61036
4
6,4166
5
Berdasarkan Tabel 2.1 Nilai Cdas untuk Desa Tanjung Jaya adalah sebagai berikut:
Cdas =
C 1 A 1+C 2 A 2+ C 3 A 3+C 4 A 4+C 5 A 5+C 6 A 6+C 7 A 7+C 8 A 8+ C 9 A 9
A 1+ A 2+ A 3+ A 4+ A 5+ A 6+ A 7+ A 8+ A 9
Cdas= 0.2 (43.9564) + 0.4 (2.749) + 0.1 (0.9228) + 0.5 (299.8623) +
0.15 (158.9403) + 0.07 (52.5601) + 0.25 (11.807) + 0.2 (43.0518) +
0.5 (92.8333)
43.9564 + 2.749 + 0.9228 + 299.8623 + 158.9403 + 52.5601 + 11.807
+ 43.0518 + 92.8333
Cdas =
245.413322
706.683
Cdas = 0.347
10
Cdas = 0.35
2.5
c.
Fungsi aktivasi
d. Jaringan Syaraf Tiruan disebut juga: brain metaphor, computational
neuronscience, parallel distributed processing.
Input Layer
Hidden Layer
X1
Z1
X2
13
Output Layer
Y1
Z2
X3
1
1
2.5.2
Metode Pembelajaran
Cara berlangsungnya pembelajaran atau pelatihan jaringan syaraf
tiruan dikelompokkan menjadi 3 (tiga) yaitu: (Jek Siang, 2005)
Fungsi Aktivasi
Dalam jaringan syaraf tiruan, fungsi aktivasi digunakan untuk
menentukan keluaran suatu neuron. Argumen fungsi aktivasi adalah net
masukan (kombinasi linier masukan dan bobotnya) (Jek Siang, 2005)
Jika net =
x i wi
........................................................(2.5)
f(net) = f
( x i wi )
.....................................................(2.6)
1, jika x
{1,
jika x <
....................................................................(2.8)
1
...................................................................(2.9)
1+ex
c. Fungsi identitas
f (x)=x ...........................................................................(2.11)
17
19
z _ in j v oj xi vij
i 1
, ..................................................... (2.12)
, .................................................................(2.13)
y _ in k wok z j w jk
j 1
, .....................................................(2.14)
k (t k y k ) f ' ( y _ in k ) , ...................................................(2.16)
hitung koreksi bobot dengan,
w jk kz j
, .................................................................. ..(2.17)
_ in j k w jk
, ...............................................................(2.19)
k 1
j _ in j f ' ( z _ in j )
, ........................................................(2.20)
, ........................................................................(2.21)
....................................................................(2.22)
. ............................................(2.23)
Setiap unit sel tersembunyi (Zj, j=1,...,p) memperbaharui bobot bias dan
lapisan dengan,
vij (baru ) vij (lama ) vij
..................................................(2.24)
Langkah 9. Test kondisi stop. Kondisi stop yang digunakan adalah nilai Mean
Squre Error < toleransi, maksimum iterasi 1500, nilai toleransi 0,001.
Dimana:
x
= masukkan (input)
= 1 s/d n (n = 10)
21
vij
= output
N
ama/p
enem
u
metod
e
pelati
han
JST
Backp
ropag
N
ama
Met
ode
Pela
tiha
n
yan
g
ters
edia
22
J
u
m
l
a
h
I
t
e
r
S
E
<
0
.
0
0
1
ation
(
kusu
made
wi,
2004)
pad
a
Tool
box
Mat
lab
a
s
i
,
M
a
x
1
5
0
0
S
caled
Conju
gate
Gradie
nt
T
rai
nsc
g
,
6
3
2
x
1
0
0
4
F
lechter
Reeve
s
Updat
e
T
rai
ncg
f
03
,
4
2
1
x
1
0
0
4
P
olakRibie
re
T
rai
ncg
p
,
2
2
4
x
1
0
0
23
P
4
owelBeale
Restar
s
T
rai
ncg
b
4
7
,
3
1
5
x
1
0
0
4
G
radien
t
Desce
nt
(GD)
with
Adapti
ve
Learni
ng
Rate
T
rai
ng
da
1
1
6
7
,
9
8
3
x
1
0
0
4
G
D with
Mome
ntum
and
Adapti
ve
Learni
ng
Rate
T
rai
ng
dx
1
1
7
,
7
3
1
x
1
0
0
4
R
7
esilent
Backp
ropaga
tion
T
rai
nrp
2
1
0
,
8
2
3
x
1
24
0
0
4
L
evenb
ergMawr
quardt
T
rai
nl
m
,
7
1
x
1
0
0
5
B
royde
n,
Fletch
er,
Goldf
arb,
Shann
o
T
rai
nbf
g
,
2
9
9
x
1
0
0
4
O
ne
Step
Secant
T
rai
nos
s
,
1
5
5
x
1
0
0
4
Berdasarkan Tabel diatas, terlihat bahwa metode pelatihan LevenbergMarquardt memberikan nilai Mean Square Error (MSE) terkecil yaitu sebesar
9,71 x 10-05 yang dihasilkan hanya dalam 11 kali hitungan iterasi. Ini berarti
25
bahwa metode ini dapat mencapai fungsi tujuannya lebih cepat dibandingkan
dengan metode lainnya.
2.5.5 Algoritma Levenberg-Marquardt
Algoritma Levenberg-Marquardt merupakan pengembangan dari
algoritma error backpropagation. Algoritma ini dibangun untuk mengatasi
beberapa kekurangan yang ada pada algoritma error backpropagation
dengan memanfaatkan teknik optimasi numerik standar yaitu menggunakan
pendekatan matriks Jacobian.
Tujuan dari Levenberg-Marquardt adalah meminimalkan total error.
Berikut beberapa struktur algoritma Levenberg-Marquardt:
1. Inisislisasi bobot dan bias dengan bilangan acak, epoch maksimum,
minimal goal (performance yang dihitung dengan MSE)
2. Menentukan parameter yang dibutuhkan, antara lain:
a. Parameter Levenberg-Marquardt yang nilainya harus lebih besar
dari nol
b. Parameter faktor input dan bias yang digunakan sebagai
parameter yang dikalikan atau dibagi dengan parameter
levenberg-Marquardt
3. Menghitung maju (feedforward) pada hidden dan otuput layer seperti
langkah-langkah pada algortima error backpropagation. Pada langkah
(1)-(4).
4. Menghitung nilai Mean Square Error (MSE)
5. Menghitung error dan total error jaringan
a. Rumus untuk error :
26
er = tr - yr......................................................................................................................... ...........(2.25)
r merupakan input ke-r
b. Rumus untuk menghitung total error :
e = [e1 e2 e3 ... eN]T................................................................................ .........................(2.26)
e merupakan vektor kesalahan berukuran Nx1 yang terdiri dari e r
r = 1,2,3...N
6.
er
] .................................................................................(2.27)
w
10. Menghitung MSE jaringan dengan bobot dan bias yang baru. Kemudian
tes kondisi berhenti
11. Jika epoch atau iterasi masih berlanjut maka akan terdapat 2
kemungkinan:
a. MSE naik
b. MSE turun
12 Kemudian lakukan kembali langkah 5 sampai dengan 8. (Amaliah,
2011)
Dimana:
er = error ke- r
tr = target ke-r
yr = output ke-r
r = input ke-r
J(x) = matriks Jacobian
2.6
System/Information
Engineering
Analysi
Desig
Code
28
Test
2.
3.
pelanggan.
Desain
Desain software sebenarnya adalah proses multi langkah yang
berfokus pada empat atribut sebuah program yang berbeda, struktur
29
Generasi kode
Desain harus diterjemahkan kedalam bentuk mesin yang bisa
dibaca. Langkah pembuatan kode melakukan tugas ini. Jika desain
dilakukan dengan cara yang lengkap, pembuatan kode dapat
diselesaikan secara mekanis. Implementasi program dalam Tugas Akhir
ini penulis mengimplementasikan desain ke dalam bentuk bahasa
pemrograman. Bahasa pemrograman yang digunakan adalah bahasa
pemrograman Matlab R2008b.
5.
Pengujian
Sekali program dibuat, pengujian program dimulai. Proses
pengujian berfokus pada logika internal software, memastikan bahwa
semua pernyataan sudah diuji, dan pada eksternal fungsional, yaitu
mengarahkan pengujian untuk menemukan kesalahankesalahan dan
memastikan bahwa input yang dibatasi akan memberikan hasil aktual
yang sesuai dengan hasil yang dibutuhkan.
6.
Pemeliharaan
Software akan mengalami perubahan setelah disampaikan kepada
pelanggan (perkecualian yang mungkin adalah software yang
dilekatkan). Perubahan akan terjadi karena kesalahankesalahan
30
2.7
31
DeMarco& Yourdan
Simbol
Keterangan
Entitas Luar
(Terminator)
Proses
32
2.8
33
Tabel 2.4
Fungsi
imbol
Off page
connector, merupakan
simbol masuk atau
keluarnya suatu prosedur
pada lembar kertas lain
Arus atau
flow, prosedur yang dapat
dilakukan dari atas ke
bawah, bawah ke atas, dari
ke kanan atau dari kanankanan ke kiri
Document
merupakan simbol untuk
data yang berbentuk
informasi
Predefied
process, untuk menyatakan
sekumpulan langkah proses
yang ditulis sebagai
34
prosedur
Simbol
untuk output yang
ditujukan suatu divice,
seperti printer, plotter
Untuk
menyimpan data
Predifined
process, suatu simbol untuk
menyediakan tempattempat untuk pengolahan
data dalam storage
Connector,
suatu prosedur akan masuk
atau keluar melalui simbol
ini dalam lembar yang
sama
Terminal,u
ntuk memulai dan
mengakhiri suatu program
Proses,
suatu simbol yang
menunjukan setiap
pengolahan yang dilakukan
oleh komputer
Decision,
Suatu kondisi yang akan
menghasilkan beberapa
kemungkinan jawaban atau
pilihan
35
2.9
Perancangan Database
2.10 MySQL
MySQL adalah salah satu jenis database server yang sangat terkenal.
Kepopulerannya disebabkan MySQL menggunakan SQL sebagai bahasa
dasar untuk mengakses databasenya. MySQL termasuk jenis RDBMS
(Relationa Database Management System). Pada MySQL, sebuah database
mengandung satu atau sejumlah Tabel. Tabel terdiri atas sejumlah baris dan
setiap baris mengandung satu atau beberapa kolom. Untuk mengelola
database MySQL ada beberapa cara yaitu melalui prompt DOS (tool
37
PHP MyAdmin
MySQL GUI
MySQL Manager Java Based
MySQL Administrator for windows
38
BAB III
METODE PENELITIAN
3.1
Jenis Penelitian
Jenis penelitian yang digunakan dalam penelitian ini adalah penelitian
terapan. Penelitian terapan adalah penyelidikan yang hati-hati, sistematik
dan terus menerus terhadap suatu masalah dengan tujuan untuk digunakan
dengan segera untuk keperluan tertentu (Soemarno, 2007). Hasil dari
penelitian terapan tidak perlu satu penemuan baru, tapi merupakan aplikasi
baru dari penelitian yang telah ada. Penelitian ini berusaha menerapkan
teori atau metode yang telah dikembangkan baik dalam cakupan penelitian
murni maupun penelitian terapan seperti sistem basis data, bahasa
pemrograman, dan lain-lain.
Pada penelitian ini akan dibangun suatu sistem yang dapat
meramalkan besar kenaikan permukaan air dalam jangka pendek (satu jam
kedepan) di Desa Tanjung Jaya, Kelurahan Surabaya, Kecamatan Sungai
Serut, Kota Bengkulu. Dengan menggunakan metode Jaringan Syaraf
Tiruan (Artificial Neural Network) dengan model Perambatan-Balik
(Backpropagation) dengan metode Levenberg-Marquardt sebagai metode
pelatihan dan pengujian.
3.2
3.3
Sarana Pendukung
Sarana pendukung yang digunakan untuk melakukan penelitian ini,
adalah sebagai berikut:
1.
a.
3.4
40
3.5
42
4. Generasi Kode
Desain harus diterjemahkan kedalam bentuk yang dimengerti oleh
mesin yaitu ke dalam bahasa pemrograman yang telah ditentukan melalui
proses penulisan program (coding). Dalam penelitian ini, digunakan
MatLab R2008b
5. Pengujian Sistem
Sistem yang sudah dibangun akan dilakukan pengujian untuk
melihat apakah sistem tersebut sesuai dengan perencanaan dan
perancangan.
6. Pemeliharaan
Tahap ini adalah tahap akhir pengembangan dan implementasi
sistem yaitu pengoperasian sistem secara nyata. Namun dalam
pengoperasiannya tetap dibutuhkan dukungan agar sistem dapat digunakan
dalam jangka panjang dengan melakukan pemeliharaan sistem.
Pemeliharaan sistem dilakukan bukan hanya sekedar proses memperbaiki
kesalahan program tetapi proses yang memiliki karakteristik memperbaiki
kesalahan yang tidak ditemukan pada tahapan sebelumnya atau
menambahkan fungsi baru yang belum ada pada program tersebut.
3.6
Metode Pengujian
Pada penelitian ini, akan dilakukan 2 jenis pengujian. Pengujian
yang pertama dilakukan untuk menguji tingkat akurasi dari peramalan
secara keseluruhan. Kedua pengujian dilakukan untuk melihat berapa
selisih error antara hasil peramalan dengan data sesungguhnya dengan
43
MAPE(%) =
1
N
datauji benar
jumlah total datauji
x 100%.................(3.1)
i=1
Dimana:
PA = data aktual
PF = data hasil peramalan
N = Jumlah data
3.7
Jadwal Penelitian
Berikut adalah jadwal penelitian yang akan dilaksanakan dapat dilihat
pada Tabel 3.1 di bawah ini:
K
o
Bulan/Tahun
egiatan
eb
ar
P
engajuan Judul
Proposal
P
enyusunan
Proposal
S
eminar
Proposal
erbaikkan
44
pr
ei
uni
uli
Proposal
P
.
engumpulan
Data
nalisis dan
Perancangan
Sistem
P
embuatan
Koding
I
.
mplementasi
dan Pengujian
Unit
I
ntegrasi dan
Pengujian
0.
nalisis Hasil
1.
idang Hasil
2.
evisi Skripsi
3.
inal Buku
Skripsi
A
S
R
F
45
BAB IV
ANALISIS DAN PERANCANGAN SISTEM
Dalam bab ini akan dijelaskan analisis dan desain dari sistem yang akan
dibangun. Hal ini dimaksudkan untuk memberikan gambaran yang jelas tentang
alur kerja sistem dan desain sistem.
4.1 Analisis Sistem
Analisis sistem dimaksudkan untuk memberikan gambaran yang jelas
tentang program aplikasi. Program aplikasi yang akan dibangun adalah
sebuah sistem yang dapat meramalkan besar kenaikan permukaan air
kedepannya berdasarkan data koefisien aliran, intensitas curah hujan, dan
luas daerah aliran sungai sebelumnya. Sistem yang akan dibangun
menggunakan metode artificial neural network backpropagation, yang
mengambil studi kasus di Desa Tanjung Jaya, Kelurahan Surabaya,
Kecamatan Sungai Serut, Kota Bengkulu.
Objek Desa Tanjung Jaya diangkat karena, merupakan salah satu Desa
yang terletak di kelurahan Surabaya yang sering mengalami banjir setiap
tahunnya, hal ini dikarenakan debit banjir yang ada lebih besar daripada
daya tampung sungai itu sendiri. Masyarakat sendiri menyadari akan
terjadinya banjir saat curah hujan yang tinggi terjadi di Desa Tanjung Jaya
tersebut. Sehingga, sebagian dari masyarakat belum sempat melakukan
tindakan siap siaga untuk mengatasi jika terjadi banjir. Oleh sebab itu,
penulis mencoba untuk membuat suatu sistem peramalan kenaikan
46
47
48
50
51
52
53
data, proses peramalan data dan proses validasi. Penjelasan masingmasing proses yaitu sebagai berikut:
1. Proses Pelatihan Data
Pada proses ini, user memasukkan data ke dalam sistem
yang berupa data koefisien aliran, data intensitas hujan, data
luas daerah aliran sungai, data target, dan data parameter
jaringan. Pada proses ini dilakukan pelatihan data dengan
Backpropagation menggunakan metode LevenbergMarquardt. Hasil dari pelatihan akan berupa bobot yang
nantinya digunakan untuk pengujian dan peramalan data.
Data pelatihan ini akan disimpan dalam database dengan
menggunakan MySQL .
2. Proses Pengujian Data
Pada proses pengujian ini, user akan memasukkan kembali
data koefisien aliran, data intensitas hujan, data luas daerah
aliran sungai, data target dan data parameter jaringan. Disini
akan dilakukan pengujian apakah data yang dihasilkan sama
atau mendekati data target (data sesungguhnya) dengan
menggunakan bobot hasil pelatihan sebelumnya. Pengujian
disini digunakan untuk membuktikan apakah pelatihan data
yang kita lakukan sudah benar atau tidak. Data pengujian ini
juga nantinya akan disimpan dalam database.
3. Proses Peramalan Data
Pada peramalan data ini, user kembali menginputkan data
koefisien aliran, data intensitas hujan, data luas daerah aliran
sungai, dan data parameter jaringan. Hasil dari peramalan ini
54
55
56
57
dan bandingkan.
Menu Parameter Jaringan (B)
Pada menu parameter jaringan, user akan
menginputkan jumlah learning rate, maksimum epoch,
goal yang akan dicapai, jumlah momentum, dan show
iterasi. Maximum fail, Gradien Minimum.
Learning rate adalah laju pembelajaran. Semakin
besar nilai learning rate akan berimplikasi pada semakin
besarnya langkah pembelajaran. Jika learning rate diset
terlalu besar, maka algoritma akan menjadi tidak stabil.
Sebaliknya, jika learning rate diset terlalu kecil, maka
algoritma akan konvergen dalam jangka waktu yang
sangat lama. Pada sistem sudah diberi penjelasan bahwa
58
59
Gambar
62
K
iel
d
y
p
e
a
n
j
a
n
g
o*
n
t
eterangan
Id
entitas data
training
K
oe
fis
ie
n_
la
o
u
b
l
e
oefisien aliran
training
In
uj
an
_l
a
o
u
b
l
e
tensitas hujan
training
63
ua
s_
la
o
u
b
l
e
eb
it_
la
o
u
b
l
e
L
uas daerah aliran
sungai training
K
enaikan
permukaan air
training
D
ar
ge
t_l
a
o
u
b
l
e
ata target
training
K
iel
d
y
p
e
a
n
ja
n
g
o*
n
t
eterangan
I
dentitas data
testing
K
oe
fis
ie
n_
uj
o
u
b
l
e
uj
an
_u
j
o
u
b
l
e
oefisien aliran
testing
I
ntensitas hujan
testing
L
64
ua
s_
uj
o
u
b
l
e
uas daerah
aliran sungai
testing
K
eb
it
_u
j
o
u
b
l
e
enaikan
permukaan air
testing
ar
ge
t_
uj
o
u
b
l
e
ata target
testing
K
iel
d
y
p
e
a
n
j
a
n
g
eterangan
o*
n
t
dentitas data
ramal
K
oe
fis
ie
n_
ra
o
u
b
l
e
uj
an
_r
a
o
u
b
l
e
oefisien aliran
ramal
I
ntensitas hujan
ramal
L
65
ua
s_
ra
o
u
b
l
e
uas daerah
aliran sungai
ramal
K
eb
it
_r
a
o
u
b
l
e
enaikan
permukaan air
ramal
K
ie
ld
y
p
e
a
n
j
a
n
g
eterangan
o
*
n
t
dentitas data
ramal
K
o
ef
is
ie
n
_
v
a
o
u
b
l
e
uj
a
n
_
v
a
o
u
b
l
e
u
as
o
u
oefisien aliran
ramal
I
ntensitas hujan
ramal
L
uas daerah
aliran sungai
66
_
v
a
b
l
e
ramal
K
e
bi
t_
v
a
o
u
b
l
e
enaikan
permukaan air
ramal
67
BAB V
HASIL DAN PEMBAHASAN
Pada bab ini akan dibahas mengenai hasil dan pembahasan mengenai
program yang telah dibuat berdasarkan dengan analisis dan perancangan sistem
pada bab sebelumnya. Pembahasan terdiri dari implementasi sistem dan uji coba
program.
5.1
Implementasi Sistem
Pada bab analisis dan perancangan sistem telah dibahas tentang desain
dari sistem yang akan dibuat. Desain tersebut merupakan panduan bagi
penulis untuk mengembangkannya ke dalam perangkat lunak atau program
yang dibuat dengan menggunakan bahasa pemrograman MatLab versi
7.7.0.741 (R2008b). Berikut ini akan dijelaskan beberapa prosedur dan
fungsi program yang digunakan dalam impelementasi sistem yang telah
dirancang.
Antarmuka Form Menu Utama menampilkan sekilas informasi judul
tentang program yang dibuat. Terdapat empat button yang merupakan menu
yang dapat dipilih oleh pengguna sesuai kebutuhan, yang terdiri dari menu
Prediksi, menu Bantuan, menu Tentang, dan menu Keluar.
Tampilan antarmuka Form Menu Utama dapat dilihat pada Gambar 5.1
68
69
Form Menu Prediksi berfungsi sebagai form input sejumlah data yang
dibutuhkan untuk proses training (pelatihan), testing (pengujian), forecasting
(peramalan), serta data validasi. Dalam form ini terbagi 3 bagian yakni : (A)
Input Data, (B) Parameter Jaringan dan (C) Menu Pilihan Proses. Gambar 5.3
berikut ini menunjukkan pembagian atribut dan cara pengoperasian Form
Menu Prediksi.
learning=str2double
(get(hObject,'String'))
handles.learning=le
arning;
guidata(hObject,han
dles)
72
net.IW{1,1}
net.b{1,1}
net.LW{2,1}
net.b{2,1}
net.LW{3,2}
net.b{3,1}
BobotAwal_Input = net.IW{1,1}
BobotAwal_Bias_Input = net.b{1,1}
BobotAwal_Lapisan1 = net.LW{2,1}
BobotAwal_Bias_Lapisan1 = net.b{2,1}
BobotAwal_Lapisan2 = net.LW{3,2}
BobotAwal_Bias_Lapisan2 = net.b{3,1}
net.trainParam.epochs=handles.epoch
net.trainParam.goal=handles.goal;
net.trainParam.max_fail=handles.fail;
net.trainParam.min_grad=handles.gradien;
net.trainParam.mu=0.001;
net.trainParam.mu_max=1e+10;
net.trainParam.show=handles.iterasi;
net.trainParam.mc=handles.momentum;
net.trainParam.lr=handles.learning;
net=train(net,pn,tn);pause
BobotAkhir_Input = net.IW{1,1}
BobotAkhir_Bias_Input = net.b{1,1}
BobotAkhir_Lapisan1 = net.LW{2,1}
BobotAkhir_Bias_Lapisan1 = net.b{2,1}
BobotAkhir_Lapisan2 = net.LW{3,2}
BobotAkhir_Bias_Lapisan2 = net.b{3,1}
an = sim(net,pn);
ta=round((((tn-0.1)*(max_t-min_t))/0.8)+min_t)
o=round((((an-0.1)*(max_t-min_t))/0.8)+min_t)
H = [(1:size(p,2))' ta' o' (ta'-o')];
sprintf('%2d %9.2f %7.2f %5.2f\n',H')
[bx,a,rx] = postreg(o,ta)
73
Pause
plot([1:size(p,2)]',ta,'bo',
[1:size(p,2)]',o','r*');
title('Hasil Pengujian dengan Data Pelatihan:
Target(o), Output(*)');
xlabel('Data ke-'); ylabel('Target/Outpute');
Pause
Pada Gambar 5.4. dapat dilihat bahwa goal 1e-10 ditemukan hanya
dalam 76 kali iterasi. Pada percobaan ini, jenis pelatihan yang digunakan
adalah Levenberg-Marquardt. Performance, yang menyatakan metode untuk
menghentikan proses jika sudah mendekati real misalnya Mean Squared
Error (MSE). Epoch, menyatakan jumlah perulangan pembelajaran. Pada
sistem ini epoch 76 iterasi, berarti proses pembelajaran berhenti setelah
74
75
Pada Gambar 5.6 tampilan dari training state, terlihat ada grafik
hubungan antara epoch dengan gradient, grafik hubungan antara epoch
dengan mu, dan grafik hubungan antara epoch dengan val fail. Nilai gradien
pada proses training ini sebesar 1.2658e-006, nilai mu sebesar 0.0001, dan
validation checks sebesar 0.
76
77
Pada Gambar 5.8. dapat dilihat bahwa output dengan target memiliki
korelasi (r) sebesar 1. Hal ini menunjukkan hasil yang baik untuk
kecocokkan output jaringan terhadap target. Hal ini dikarenakan grafiknya
berbentuk linear dengan posisi data point, output sama dengan target berada
pada best linear fit. Output jaringan untuk data pelatihan mempunyai
persamaan regresi Y = (1)T + (0.00056). Untuk mengetahui persamaan
regresi output suatu jaringan dapat menggunakan fungsi postreg pada
Matlab. Apabila output jaringan tepat sama dengan targetnya, maka
koefisien korelasi ini akan bernilai 1.
78
Pada Gambar 5.9. merupakan hasil pengujian terhadap data yang ikut
dilatih pada proses pelatihan. Pada Gambar diatas data target (o) yang
berbentuk lingkaran, dan data output (*) yang berbentuk bintang, sebagian
berada di posisi yang sama persis. Hasil yang paling baik adalah jika semua
data output dan target berada pada posisi yang sama persis.
Apabila user memilih button Uji maka sistem akan melakukan proses
pengujian. Adapun potongan program dari button Uji adalah sebagai
berikut:
79
conn = database('curah_hujan','root','')
setdbprefs('DataReturnFormat','numeric');
A = exec(conn,'select debit from
datatesting');
A = fetch(A)
A = A.Data;
[m,n]=size(A);
setdbprefs('DataReturnFormat','numeric');
B = exec(conn,'select target from
datatesting');
B = fetch(B)
B = B.Data;
[m,n]=size(B);
min_Q = min(min(Q));
max_Q = max(max(Q));
Qn = ((0.8*(Q-min_Q)/(max_Q-min_Q))+0.1)
min_TQ = min(min(TQ));
max_TQ = max(max(TQ));
Tn = ((0.8*(TQ-min_TQ)/(max_TQ-min_TQ))+0.1)
bn = sim(net,Qn)
Qa=round((((Tn-0.1)*(max_tmin_t))/0.8)+min_t);
b=round((((bn-0.1)*(max_tmin_t))/0.8)+min_t);
L = [(1:size(Q,2))' Qa' b' (Qa'-b')];
sprintf('%2d %11.2f %9.2f %7.2f\n',L')
[m2,b1,r2] = postreg(b,Qa)
Pause
k = [1:size(Q,2)]';
plot(k,Qa,'bo',k,b','r*');
title('Hasil Pengujian dengan Data Uji
Target (o), Output(*)');
xlabel('Data ke-'); ylabel('Target/Output');
text(k+0.2*ones(length(k),1),Qa,int2str(k));
80
Pada Gambar 5.10. dibawah ini adalah tampilan output jaringan untuk data
uji terhadap data yang belum pernah dilatih sebelumnya. Hal ini dilakukan
untuk melakukan pengujian sejauh mana kemampuan jaringan yang telah
dilatih sebelumnya mengenli pola-pola data yang bersifat outlier.
81
Pada Gambar 5.11. output jaringan (*) dan target (o) berada di posisi
yang sama. Hasil yang terbaik terjadi apabila posisi (o) dan (*) betul-betul
berada pada posisi yang sama.
Selanjutnya, apabila user memilih button Prediksi, maka akan dilakukan
proses peramalan terhadap data yang telah diinputkan. Perlu diingat bahwa
82
data untuk proses train, test, dan forecast harus data yang riil tidak boleh
fiktif.
Berikut ini adalah gambar dari grafik peramalan kenaikan permukaan air
pada tanggal 7 Februari 2014.
Berdasarkan grafik hasil prediksi pada Gambar 5.12. garis berwarna merah
dengan lingakaran menunjukkan data target(data sesungguhnya), garis
83
am
ke-
D
ata output
(hasil prediksi)
ata
targ
et
(dat
a
sesu
ngg
uhn
ya)
0
1
2
3
4
84
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
85
3
4
5
6
7
8
9
1
0
Berdasarkan Tabel 5.1 terlihat beberapa data hasil prediksi berbeda dengan
data target, perbedaan antara target dengan output (hasil prediksi) ini disebut
dengan error, yang akan nantinya akan dihitung dengan menggunakan
MAPE (Mean Absolute Percentage Error).
Jika user memilih button Kembali, maka user akan kembali ke menu
utama. Adapun potongan program dari button back adalah sebagai berikut:
figu
re(awal);
Jika user memilih button Keluar, maka user akan keluar dari menu
Prediksi. Adapun potongan program dari button keluar adalah sebagai
berikut:
clos
e;
86
Apabila user keluar dari menu prediksi, maka user akan kembali ke Form
Awal, Pada Form Awal ini terdapat Form Bantuan, Form Tentang dan Form
Keluar.
Pada antarmuka form menu bantuan ini berisi tentang tata cara
penggunaan sistem peramalan kenaikan permukaan air, pada antarmuka
form ini terdapat dua button yakni button kembali dan button keluar.
Dimana apabila user memilih button kembali, maka user akan kembali ke
form menu utama, tetapi jika user memilih button keluar, maka user akan
keluar dari form menu bantuan.
87
Pada antarmuka form menu tentang ini berisi tentang sistem dan pembuat
sistem. Pada form ini juga terdapat dua button, yakni button kembali dan
button keluar. Jika user memilih button kembali maka user akan kembali ke
form menu utama, tetapi jika user memilih button keluar, maka user akan
keluar dari antarmuka form menu tentang.
5.5
88
Pada Gambar diatas apabila user memilih form menu keluar, maka akan
muncul kotak pesan dialog yang berupa pilihan. Apabila user memilih ya
maka user akan keluar dari sistem peramalan kenaikan permukaan air, tetapi
apabila user memilih tidak maka user akan kembali ke form menu utama.
5.6
Pengujian Sistem
Setelah dilakukan pengujian sistem dengan data kenaikan permukaan air
pada tanggal 7 Februari 2014, didapat nilai output yang tidak sama dengan
target, oleh sebab itulah diperoleh error. Untuk itu, dilakukan perhitungan
persentase error yang dimiliki oleh sistem. Adapun rumus yang digunakan
untuk melakukan persentase error dengan menggunakan MAPE seperti
dibawah ini:
MAPE(%) =
1
N
i=1
K
a
n
g
g
al
enaik
an
perm
ukaan
air
89
E
rror
peram
alan
JST
(%)
(m3/
jam)
arget
era
ma
lan
JS
T
0
6
0
2
2
0
1
4
7-08
0
6
0
2
2
0
1
4
8-09
6
0
2
2
0
1
4
9-10
0
6
0
2
-
0-11
90
2
0
1
4
0
6
0
2
2
0
1
4
1-12
0
6
0
2
2
0
1
4
2-13
6
0
2
2
0
1
4
3-14
6
0
2
2
0
1
4
4-15
91
0
6
0
2
2
0
1
4
5-16
0
6
0
2
2
0
1
4
6-17
6
0
2
2
0
1
4
7-18
6
0
2
2
0
1
4
8-19
0
6
0
2
9-20
92
2
0
1
4
0
6
0
2
2
0
1
4
0-21
6
0
2
2
0
1
4
1-22
0
6
0
2
2
0
1
4
2-23
6
0
2
2
0
1
4
3-24
93
0
6
0
2
2
0
1
4
0-01
0
6
0
2
2
0
1
4
1-02
6
0
2
2
0
1
4
2-03
6
0
2
2
0
1
4
3-04
0
6
0
2
4-05
94
2
0
1
4
0
6
0
2
2
0
1
4
5-06
6
0
2
2
0
1
4
6-07
0
7
0
2
2
0
1
4
7-08
7
0
2
2
0
1
4
8-09
95
0
7
0
2
2
0
1
4
9-10
0
7
0
2
2
0
1
4
0-11
7
0
2
2
0
1
4
2-13
7
0
2
2
0
1
4
3-14
0
7
0
2
4-15
96
2
0
1
4
0
7
0
2
2
0
1
4
5-16
7
0
2
2
0
1
4
6-17
0
7
0
2
2
0
1
4
7-18
7
0
2
2
0
1
4
8-19
97
0
7
0
2
2
0
1
4
9-20
0
7
0
2
2
0
1
4
0-21
7
0
2
2
0
1
4
1-22
7
2
0
2
0
1
4
2-23
0
4
MAPE
0
.5355
Error Minimum
Error
2
98
Maksimum
1.42
datauji benar
jumlah total datauji
39
40
x 100%
x 100%
99
5.7
e
a
r
n
i
n
g
r
a
t
e
poch
o
m
en
tu
m
oal
h
o
w
.
0
0
1
.8
e-10
.
0
9
.8
e-10
.8
e-10
a
x
i
m
u
m
it
e
r
a
s
i
G
rad
ien
mi
ni
mu
m
im
e
ete
ran
ga
n
:00
:04
aik
:00
:03
aik
:00
aik
f
ai
l
6
1
e10
1
e10
1
e-
85
0
8
10
6
.
0
7
.8
e-10
.
0
6
.8
e-10
.
0
5
.8
e-10
.
0
4
.8
e-10
1
e10
e-10
.8
e-10
e10
:00
:02
aik
:00
:02
aik
:00
:02
aik
:00
aik
1
e-
86
aik
6
.
:00
:02
1
e10
6
.8
aik
1
e10
:00
:02
1
e10
6
.
0
3
:02
0
2
10
6
.
0
1
.8
e-10
.
9
.8
e-10
1
e10
.
8
.8
e-10
.
7
.8
e-10
e10
.8
e-10
.
5
.8
e-10
.8
e-10
aik
:00
:02
aik
:00
:02
aik
:00
:02
aik
:00
:02
aik
:00
aik
1
e10
1
e10
1
e-
87
:00
:02
1
e10
6
.
6
aik
:00
:02
1
e10
6
:02
10
6
.
3
.8
e-10
.
2
.8
e-10
1
e10
.
1
.8
e-10
.8
e-10
e10
.
1
00
.8
e-10
.
1
.8
e-10
aik
:00
:02
an
gat
Bai
k
:00
:02
aik
:00
:02
aik
:00
:01
ura
ng
bai
k
1
e10
1
e10
88
:00
:02
1
e10
6
1
aik
6
0
:00
:02
1
e10
6
:02
6
3
.
1
.5
e-10
1
e10
6
4
.
1
.6
e-10
.
1
.7
e-10
e10
.8
e-10
.
1
.9
e-10
.
1
.8
e-1
e10
e-2
:00
:02
an
gat
bai
k
:00
:02
aik
:00
:00
ura
ng
bai
k
:00
ura
1
e-
89
aik
1
e10
6
.8
:00
:02
1
e10
aik
:00
:02
1
e10
6
.
1
aik
:00
:02
10
6
0
.
1
.8
e-3
.
1
.8
e-4
.
1
.8
e-5
e10
.8
e-6
.
1
.8
e-7
e10
.8
e-8
:00
:00
aik
:00
:00
aik
:00
:00
aik
:00
aik
1
e-
90
ura
ng
bai
k
1
e10
6
.
:00
:00
ura
ng
bai
k
1
e10
6
1
:00
:00
1
e10
.
1
ng
bai
k
:02
10
6
.
1
.8
e-9
.
1
.8
e-10
1
e10
.
1
.8
e-10
.
1
.8
e-10
.
1
.8
e-10
.
1
.8
e-10
an
gat
bai
k
:00
:02
aik
:00
:02
aik
:00
:02
aik
:00
:02
an
gat
bai
k
1
e10
1
e10
91
:00
:02
1
e10
6
0
aik
1
e10
:00
:01
1
e10
6
8
:01
1
2
.
1
.8
e-10
1
e10
2
3
.
1
.8
e-10
.
1
.8
e-10
e10
.8
e-10
.
1
.8
e-10
e10
.8
e-10
.
1
.8
e-10
e10
:00
:02
aik
:00
:02
aik
:00
:02
an
gat
bai
k
:00
:00
ura
ng
bai
1
e-1
92
aik
6
7
:00
:02
1
e10
6
.
1
aik
:00
:02
1
e10
4
.
1
aik
:00
:02
k
6
8
.
1
.
1
.8
e-10
.8
e-10
1
e-2
6
0
.
1
.8
e-10
.
1
.8
e-10
e-4
.8
e-10
.
1
.8
e-10
.8
e-10
:00
:00
aik
:00
:02
aik
:00
:01
aik
:00
:02
aik
:00
aik
1
e-6
1
e-7
1
e-8
93
aik
1
e-5
6
.
1
:00
:00
1
ura
ng
bai
k
1
e-3
6
0
:00
:00
:02
6
.
1
.8
e-10
.
1
.8
e-10
1
e-9
aik
:00
:02
aik
1
e10
94
:00
:02
BAB VI
KESIMPULAN DAN SARAN
6.1
Kesimpulan
Berdasarkan hasil dan analisa dari bab sebelumnya maka penulis dapat
Saran
Saran yang penulis ajukan untuk perbaikkan dan pengembangan lebih
lanjut mengenai aplikasi ini adalah sebagai berikut:
1. Pengembangan Sistem Informasi Peramalan Kenaikan permukaan air
Dengan Artificial Neural Network Backpropagation ini perlu
memperhatikan pembagian data untuk data latih, data uji, dan data ramal,
88
89
DAFTAR PUSTAKA
Amaliah, B. d. (2011). Penentuan Jenis Produk Kosmetik Pilihan Berdasarkan
Faktor Usia Dan Warna Kulit Menggunakan Jaringan Syaraf Tiruan.
http://eprints.undip.ac.id/252801/ML2F/002572.pdf .
Irawan,
Soemarno.
(2007).
Penelitian.
http://images.soemarno.multiply.com/attachment/0/RvmpdAoKCtgAA
BUBWx01/PENELITIAN.ppt?nmid=59416790 .
Syarif, A. (2009). Perancangan Sistem Informasi Berbasis WEB dengan
Menggunakan PHP & MYSQL di Program Studi Ilmu Keperawatan
Universitas
Sumatera
Utara.
http://repository.usu.ac.id/bitstream/123456789/7819/1/09E02119.pdf
Trisnawan, B. (2013). Jaringan
fst10.web.unair.ac.id .
Syaraf
Tiruan.
http://bayu-t--
91
LAMPIRAN
92
LAMPIRAN 1
Perhitungan Manual Data Pelatihan
Berikut adalah data training yang disimpan dalam database. Sampel yang diambil sebanyak
24 data latih (sebelum dilakukan normalisasi)
K
o
e
f
i
s
i
e
n
L
u
a
s
(
k
m
2
)
ntensi
tas
(mm/j
am)
0
.
3
5
0
.
3
5
0
.
3
5
0
.
3
5
0
.
3
5
0
.
3
D
ebit
(m3/jam)
.5
3
9
7
9
.5
3
9
7
9
.5
3
9
7
9
.5
3
9
7
9
.5
3
9
7
9
.5
3
1
9
7
0
.
3
5
0
.
3
5
0
.
3
5
0
.
3
5
.1
.5
3
9
7
9
.5
3
9
7
0
.3338895
0
.8
0
.
3
5
0
.
9
.5
3
9
7
0
.
3
5
.5
3
9
7
0
.
3
5
0
.
3
5
2
.671116
.5
3
9
7
9
.1
.5
3
9
7
.3338895
.0
.5
3
9
7
.67779
.1
.5
3
9
7
.0116795
.1
.5
2
0
.3338895
3
5
3
9
7
0
.
3
5
0
.
3
5
0
.
3
5
0
.
3
5
0
.
3
5
0
.
3
5
0
.
3
5
0
.
3
5
.5
3
9
7
9
.5
3
9
7
9
.5
3
9
7
9
.5
3
9
7
9
.5
3
9
7
9
.5
3
9
7
9
.5
3
9
7
9
.5
3
9
7
9
3
.
3
5
.5
3
9
7
Sebelum dilakukan preprocessing, maka data input dan target dilakukan transpose terlebih
dahulu (baris menjadi kolom, kolom menjadi baris)
pn = (0.8*(p-min_p)/(max_p-min_p))+0.1
p1 = 0
pn = (0.8*(0-0)/( 180.9681-0))+0.1
pn = 0.1
Berikut adalah hasil preprocessing data input yang disimpan pada matriks pn
pn=
Kolom 1 Sampai 16
0.1000 0.1000 0.1000 0.1000 0.1000 0.1000
0.1000 0.1015 0.1295 0.1310 0.1015 0.1000
Kolom 17 sampai 24
0.1000 0.1000 0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1015
0.1118
LAMPIRAN 2
Perhitungan Manual Data Uji
Berikut adalah data testing yang disimpan di dalam database (sebelum dilakukan normalisasi)
I
o
oe
fis
ie
n
ntensitas
(mm/jam
)
u
a
s
(
k
m
ebit (m /jam)
)
0
.3
5
.
5
3
9
7
0
.3
5
.
5
3
9
7
0
.3
5
.
5
3
9
7
0
.3
5
.
5
3
9
7
0
.3
5
.
5
3
9
7
0
0
1
.3
5
.
5
3
9
7
0
.3
5
.
5
3
9
7
0
.3
5
.
5
3
9
7
0
.3
5
.
5
3
9
7
0
.3
5
.
5
3
9
7
0
.3
5
.3
5
.3
5
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
2
9
7
0
4
.3
5
.
5
3
9
7
0
.3
5
.
5
3
9
7
0
.3
5
.3
5
.3
5
.3
5
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
0
0
.3
5
.
5
3
9
7
3
0
1
.3
5
.
5
3
9
7
0
.3
5
.
5
3
9
7
0
.3
5
.3
5
.3
5
.3
5
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
0
7
.3
5
.
5
3
9
7
0
.3
5
.
5
4
3
9
7
0
9
.3
5
.3
5
.3
5
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
0
2
.3
5
.
5
3
9
7
0
.3
5
.3
5
.3
5
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
5
0
6
.3
5
.
5
3
9
7
0
.3
5
.
5
3
9
7
0
.3
5
.3
5
.3
5
.3
5
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
0
2
.3
5
.
5
3
9
7
0
.3
5
.4
.
5
6
.3355579999
999998
3
9
7
0
4
.3
5
.3
5
.3
5
0
.
5
3
9
7
.5
.
5
3
9
7
0
0
.
5
3
9
7
0
7
.3
5
.
5
3
9
7
0
.3
5
.3
5
.3
5
.6694475
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
7
0
1
.3
5
.
5
3
9
7
0
.3
5
.
5
3
9
7
0
.3
5
.3
5
.3
5
.3
5
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
0
7
.3
5
.
5
3
9
7
0
.3
5
.
5
8
3
9
7
0
9
.3
5
.3
5
.3
5
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
0
2
.3
5
.
5
3
9
7
0
.3
5
.3
5
.3
5
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
9
0
6
.3
5
.
5
3
9
7
0
.3
5
.
5
3
9
7
0
.3
5
.3
5
.3
5
.3
5
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
0
2
.3
5
.
5
3
9
7
1
.3
5
.1
.
5
10
.6727845
3
9
7
0
4
.3
5
.3
5
.3
5
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
0
7
.3
5
.
5
3
9
7
0
.3
5
.3
5
.3
5
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
11
0
1
.3
5
.
5
3
9
7
0
.3
5
.
5
3
9
7
0
.3
5
.3
5
.3
5
.3
5
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
.1
.
5
3
9
7
.3338894999
9999995
0
7
.3
5
.1
.
5
3
9
7
0
.3338894999
9999995
.3
5
.
5
12
3
9
7
0
9
.3
5
.3
5
.3
5
.6
.
5
3
9
7
.0033369999
999997
0
.
5
3
9
7
0
.
5
3
9
7
0
2
.3
5
.
5
3
9
7
0
.3
5
.8
.3
5
.2
.3
5
2
.
5
3
9
7
.67111599999
99996
.
5
3
9
7
.6677789999
999999
0
.
5
3
9
7
13
0
6
.3
5
.
5
3
9
7
minimum Q (min_Q) = 0
Nilai maksimum Q (max_Q) = 3.6728
Sebelum dilakukan preprocessing, maka data input dan target dilakukan transpose terlebih
dahulu (baris menjadi kolom, kolom menjadi baris)
Qn = (0.8*(Q-min_Q)/(max_Q-min_Q))+0.1
Q1 = 0
Qn = (0.8*(0-0)/( 180.9681-0))+0.1
Qn = 0.1
Berikut adalah hasil preprocessing data input yang disimpan pada matriks Qn
Qn=
Kolom 1 Sampai 16
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
Kolom 17 Sampai 32
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
Kolom 33 Sampai 48
0.1000
0.3909
0.1000
0.1000
0.1000
0.4636
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
Kolom 49 Sampai 64
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
Kolom 65 Sampai 80
14
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.9000
0.1000
0.1727
0.1000
0.5364
0.1000
0.1000
Kolom 81 Sampai 96
0.1000
0.1000
0.1000
0.1000
0.1000
0.6818
0.1000
0.2455
0.1000
0.1000
0.1727
0.1000
Tn = (0.8*(t-min_t)/(max_t-min_t))+0.1
min_T = 0
max_T = 3.6728
T1 = 0
Tn = (0.8*(0-0)/( 180.9681-0))+0.1
Tn = 0.1
Berikut adalah hasil preprocessing data input yang disimpan pada matriks tn
Tn =
Kolom 1 Sampai 16
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.9000
0.1000
0.1727
0.1000
0.5364
0.1000
0.1000
Kolom 17 Sampai 32
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
Kolom 33 Sampai 48
0.1000
0.3909
0.1000
0.1000
0.1000
0.4636
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
Kolom 49 Sampai 64
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
Kolom 65 Sampai 80
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
Kolom 81 Sampai 96
0.1000
0.1000
0.1000
0.1000
0.1000
0.6818
0.1000
0.2455
0.1000
0.1000
0.1727
0.1000
15
16
LAMPIRAN 3
Perhitungan Manual Data Ramal
Berikut adalah data forecasting yang disimpan di dalam database (sebelum dilakukan
normalisasi)
I
o
o
e
fi
s
i
e
n
ntensi
tas
(mm/j
am)
u
a
s
(
k
m
ebit (m /jam)
)
0
.
3
5
.
5
3
9
7
0
.
3
5
.
5
3
9
7
0
.
3
5
.
5
3
9
7
0
.
3
5
.
5
3
9
7
0
.
3
5
.
5
3
9
7
1
.
3
5
.
5
3
9
7
0
.
3
5
.
5
3
9
7
7
.
3
5
.
5
3
9
7
3.372265
.
5
3
9
7
.3472375
2
.
3
5
.5
0
0
.
3
5
.
3
5
0
.
5
3
9
7
0
.3
.
5
3
9
7
0
.
3
5
.2
.
5
3
9
7
0
1
.001668499999
9999
0
.667778999999
9999
.
3
.
5
2
3
9
7
0
.
3
5
.
3
5
.
3
5
0
.
5
3
9
7
4
.3
.
5
3
9
7
0
0
.
5
3
9
7
0
7
.
3
5
.1
.
5
3
9
7
0
.
3
5
.
3
5
.
3
5
1
4.35724849999
9999
0
.333889499999
99995
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
3
0
1
.
3
5
.
5
3
9
7
0
.
3
5
.
5
3
9
7
0
.
3
5
.
3
5
.
3
5
.
3
5
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
0
7
.
3
5
.
5
3
9
7
0
.
3
.
5
4
3
9
7
0
.
3
5
.
3
5
.
3
5
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
0
2
.
3
5
.
5
3
9
7
0
.
3
5
.
3
5
.
3
5
0
.
5
3
9
7
0
.
5
3
9
7
0
.
5
3
9
7
5
0
6
.
3
5
.
5
3
9
7
0
.
3
5
.
5
3
9
7
0
.
3
5
.
3
5
.3
.
3
5
.1
0
.
5
3
9
7
0
.
5
3
9
7
0
,
5
3
9
7
1
.001668499999
9999
0
.333889499999
99995
Dari tabel diatas diketahui nilai minimum dari data yang ada di dalam tabel dataramal adalah
0, nilai maksimumnya adalah 23.3723
Min_u = 0
Max_u = 23.3723
Un = (0.8*(u-min_u)/(max_u-min_u))+0.1
Un (data ke-1 = 0)= (0.8*(0-0)/(23.3723-0)+0.1
Un (data ke-1 = 0) = 0.1
Dilakukan transpose pada dataramal, sehingga kolom menjadi baris, baris menjadi kolom
un =
Kolom 1 Sampai 16
6
0.1000
0.1343
0.1000
0.1229
0.1000
0.1000
0.1000
0.1000
0.1000
0.5914
0.1000
0.1000
0.9000
0.3857
0.1000
0.1000
0.1000
0.1000
0.1000
0.1343
0.1114
0.1000
Kolom 17 Sampai 32
0.1114
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
Kolom 33 Sampai 40
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
ys =
Kolom1 Sampai 16
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1598
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.9000
0.1190
Kolom17 Sampai 32
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
Kolom33 Sampai 40
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
un3=round((ys-0.1).*(max_y-min_y)-(0.8*min_y)/0.8)
un3 (data ke-1) = 0.1
un3 = round((0.1-0.1).*(0.9-0) - (0.8*0) / 0.8)
un3 = round ((0)*(0) - (0) / 0.8) = 0
0
0
0
0
0
0
0
0
Kolom 28 Sampai 40
7
11
LAMPIRAN 4
Pengujian Arsitektur Jaringan
Learning rate
: 0.1
Epoch
: 76
Momentum
: 0.8
Goal
: 1e-10
Show iterasi
: 20
Maximum fail
:6
Gradien minimum
: 1e-10