Jurnal Ilmiah

ILMU KOMPUTER

Universitas Udayana

Vol. XI, No. 1, April 2018

ISSN 1979 - 5661


PREDIKSI KETINGGIAN GELOMBANG LAUT MENGGUNAKAN METODE BACKPROPAGATION PADA PANTAI LEBIH GIANYAR

Made Agung Raharja1, I Made Teja Geni Astra2

Program Studi Teknik Informatika12

Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Udayana12. email: made.agung@unud.ac.id1, geniastra@rocketmail.com2

ABSTRAK

Prakiraan atau prediksi ketingian gelombang sangat di butuhkan oleh nelayan di desa Lebih kabupaten Gianyar untuk menentukan apakah memungkin-kan untuk melaut atau tidak dan untuk memberikan informasi lebih awal terkait prediksi gelombang yang akan terjadi pada bulan-bulan berikutnya untuk dapat menetukan waktu nelayan dapat melaut. Backpropagation merupakan salah satu dari metode pelatihan pada jaringan syaraf, dimana ciri dari metode ini adalah meminimalkan error pada output yang dihasilkan oleh jaringan. Data yang digunakan sebagai masukan sebanyak 48 data bulanan dan data keluaran atau target adalah data pada pada bulan ke-49 s.d bulan ke-72 (tahun 2015-2016). Hasil yang didapatkan dari penghitungan prediksi ketinggian gelombang laut menggunakan algoritma JST propagasi balik. Nilai masukan adalah berupa rata-rata ketinggian gelombang selama 12 bulan, dengan nilai keluaran yaitu prediksi ketinggian gelombang. Arsitektur JST yang digunakan yaitu 12 layer input, 10 layer tersembunyi dan 1 output. Jumlah epoch maksimal yang digunakan adalah 10.000 dengan learning rate sebesar 0.1, error goal sebesar 0,01 dan momentum sebesar 0.95. Proses pelatihan menggunakan data pelatihan sebanyak 48 data yang menghasilkan koefisien korelasi sebesar 0.99101 dan nilai MSE sebesar 0.00099745. Arsitektur JST pada proses pelatihan kemudian digunakan untuk menghitung prediksi ketinggian gelombang pada proses pengujian. Koefisien korelasi yang diperoleh pada proses pengujian adalah sebesar 0.9652. Sedangkan nilai MSE yang dihasilkan adalah sebesar 0.0042314.

Kata Kunci: Backpropagation, ANN, pantai lebih, Prediksi Gelombang

ABSTRACT

Forecast or prediction of wave height is needed by fishermen in the Lebih village, Gianyar regency to determine whether it is possible to go to sea or not and to provide more information related to the prediction of the wave that will occur in the next months to be able to determine when the fishermen can go to sea. Backpropagation is one of the training methods on the neural network, where the characteristic of this method is to minimize the error on the output produced by the network. Data used as input for 48 monthly data and output data or target is data on at month 49 s.d month 72th (year 2015-2016). The results obtained from the calculation of sea wave prediction using back propagation JST algorithm. The input value is the average wave height for 12 months, with the output value is the wave height prediction. The ANN architecture used is 12 input layers, 10 hidden layers and 1 output. Maximum epoch number used is 10,000 with learning rate of 0.1, error goal of 0.01 and momentum of 0.95. The training process uses training data of 48 data resulting in correlation coefficient of 0.99101 and MSE value of 0.00099745. The ANN architecture of the training process is then used to calculate the wave

height prediction in the testing process. The correlation coefficient obtained in the testing process is 0.9652. While the value of MSE produced is 0.0042314.

Keywords: Backpropagation, ANN, Lebih beaches, Wave Prediction

  • 1.    PENDAHULUAN

Nelayan merupakan salah satu pekerjaan atau mata pencaharian yang cukup banyak digeluti oleh masyarakat Bali. Berdasarkan data dari Badan Pusat Statistik Provinsi Bali, pada tahun 2015 jumlah nelayan di provinsI Bali adalah sebanyak 39.182 orang yang tersebar di seluruh kabupaten di provinsi Bali. Salah sentra penghasil ikan laut di provinsi balih adalah desa Lebih di Kabupaten Gianyar.

Tercatat terdapat sebanyak 992 orang nelayan di desa tersebut. Tercatat sebanyak 864 ton ikan dihasilkan per tahunnya dari desa nelayan tersebut. Faktor-faktor yang mempengaruhi jumlah tangkapan ikan oleh nelayan adalah modal, tenaga kerja, lama melaut dan iklim.

Iklim merupakan salah satu faktor utama yang dapat mempengaruhi jumlah tangkapan ikan oleh nelayan. Iklim dapat berupa ketinggian gelombang laut, ketinggian gelombang pantai, kecepatan angin dan hujan. Ketinggian gelombang pantai merupakan faktor awal yag mempengaruhi nelayan apakah dapat melaut atau tidak. Begitu pula dengan nelayan yang ada di desa Lebih Kabupaten Gianyar.

Ketinggian gelombang dapat menentukan apakah kapal yang digunakan oleh nelayan dapat memasuki laut atau tidak. Jika gelombang terlalu tinggi, maka dapat menyebabkan kapal nelayan tidak dapat masuk kelaut dan kapal akan di hempaskan kembali ke pantai oleh gelombang laut.

Prakiraan atau prediksi ketingian gelombang sangat di butuhkan oleh nelayan di desa Lebih kabupaten Gianyar untuk menentukan apakah memungkin-kan untuk melaut atau tidak dan untuk memberikan

informasi lebih awal terkait prediksi gelombang yang akan terjadi pada bulan-bulan berikutnya untuk dapat menetukan waktu nelayan dapat melaut. Berdasarkan paparan diatas, maka penulis membuat sebuah aplikasi prediksi “Ketinggian Gelombang Menggunakan Metode Backpropagation Di Pantai Lebih Gianyar”.

  • 2.    KAJIAN PUSTAKA

    • 2.1.    Backpropagation

Backpropagation merupakan salah satu dari metode pelatihan pada jaringan syaraf, dimana ciri dari metode ini adalah meminimalkan error pada output yang dihasilkan oleh jaringan.

Backpropagation melatih jaringan untuk mendapatkan keseimbangan antara kemampuan jaringan mengenali pola yang digunakan selama training serta kemampuan jaringan untuk memberikan respon yang benar terhadap pola masukan yang serupa (tapi tidak sama) dengan pola yang dipakai selama pelatihan (Siang, 2009: 97). Sebagian besar pelatihan untuk jaringan feedforward (umpan maju) menggunakan gradien dari fungsi aktivasi untuk menentukan bagaimana mengatur bobot-bobot dalam rangka meminimumkan kinerja. Gradien ini ditentukan dengan menggunakan suatu teknik yang disebut backpropagation. Pada dasarnya, algoritma pelatihan standar backpropagation akan menggerakkan bobot dengan arah gradien negatif. Prinsip dasar dari algoritma backpropagation adalah memperbaiki bobot-bobot jaringan dengan arah yang membuat fungsi aktivasi menjadi turun dengan cepat.

Backpropagation memiliki beberapa unit yang ada dalam satu atau lebih layer

tersembunyi (Siang, 2009: 98). Gambar 2.5 adalah arsitektur backpropagation dengan n buah masukan (ditambah sebuah bias), sebuah layer tersembunyi yang terdiri atas p unit (ditambah sebuah bias), serta m buah keluaran. Arsitektur jaringan ini disebut jaringan layer jamak.

Gambar 1 Arsitektur Backpropagation

Vji merupakan bobot garis dari unit masukan %i ke unit layer tersembunyi z j (Vjo merupakan bobot garis yang menghubungkan bias di unit masukan ke unit layer tersembunyi Zj). Wkj merupakan bobot dari layer tersembunyi Zj ke unit keluaran yk (Wko merupakan bobot dari bias di layer tersembunyi ke unit keluaran Zk).

  • 3.    METODOLOGI PENELITIAN

Studi ini akan memprediksi tinggi gelombang pada yang berada pada pantai Lebih Kabupaten Gianyar. Lokasi pantai Lebih terletak di sebelah selatan Kota Gianyar yang merupakan destinasi wisata di Provinsi Bali.

Prediksi gelombang akan dilakukan dengan cara analitis menggunakan metode Backpropagation dengan bantuan program komputer yang bersistem Jaringan Syaraf Tiruan (JST).

Prediksi gelombang laut dengan backpropagation neural network digunakan langkah-langkah sebagai berikut:

  • a)    Memisahkan data yang akan digunakan sebagai data pelatihan dan data uji. Data rata-rata gelombang tiap bulan dari tahun 2011 – 2016 akan digunakan sebagai data latih menggunakan data curah hujan pada

bulan ke-1 s.d bulan ke-48 (tahun 20112014) sedangkan data uji menggunakan data rata-rata gelombang pada bulan ke-49 s.d bulan ke-72 (tahun 2015-2016).

  • b)    Desain JST

Desain JST dilakukan untuk prediksi gelombang laut bulanan dimulai dengan menentukan banyaknya data masukan yang digunakan, banyaknya layar tersembunyi (hidden layer) yang digunakan, dan banyaknya keluaran yang diinginkan. Data yang digunakan sebagai masukan sebanyak 48 data bulanan dan data keluaran atau target adalah data pada pada bulan ke-49 s.d bulan ke-72 (tahun 2015-2016). Memprediksi gelombang mengguna-kan pemodelan sistem jaringan syaraf tiruan yang dalam pengerjaannya dapat menggunakan fungsi pada MATLAB.

Membandingkan tinggi gelombang yang didapat dengan menghitung kesalahan relatif yang dihasilkan dari hasil yang didapat dari pemodelan Backpropagation Jaringan Syaraf Tiruan. Flowchart pelatihan jaringan syaraf tiruan dengan backpropagation ditunjukan pada Gambar 2.

Gambar 2. Flowchart pelatihan jaringan syaraf tiruan dengan backpropagation

  • 4.    HASIL DAN PEMBAHASAN

  • 3.1.    Tahap Pengumpulan Data

Pada penelitian ini, dibuat sistem untuk memepredisksi ketinggian gelombang pada pantai     Lebih     Gianyar.     Untuk

mengimplementasikanya diperlukan data-data terkait rata-rata ketinggian gelombang per bulan selama beberapa tahun. Data-data tersebut digunakan untuk melakukan pelatihan program dan sebagai data latih dan data uji untuk sistem. Sebagai outputnya merupakan prediksi ketinggin gelombang pada bulan berikutnya. Data yang digunakan adalah data dari tahun 2011 sampai 2016. Dengan data latih merupakan tahun 2011 sampai 2014 dan data uji dari tahun 2015 sampai 2016.

  • 3.2.    Analisis Data

Proses prediksi gelombang laut terdiri dari akuisisi data, normalisasi data, pelatihan jaringan syaraf tiruan, dan pengujian. Data penelitian ini merupakan data rata-rata ketinggian gelombang per bulan setiap tahunnya. Data dibagi menjadi dua yaitu data untuk pelatihan JST dan data untuk pengujian. Data ketinggian gelombang dapat dilihat pada tabel 1.

Tabel 1. Data Ketinggian rata-rata gelombang di Pantai Lebih

DATA KETINGGIAN RATA-RATA GELOMBANG DI PANTAI LEBIH GIANYAR (Dalam Centimeter)

No

Tahu

Janu

Feb

Maret

April

Mei

Juni

1

2011

235

256

239

215

196

176

2

2012

240

251

242

218

200

173

3

2013

245

255

247

220

198

178

4

2014

241

250

240

215

202

173

5

2015

238

245

235

208

197

170

6

2016

244

249

240

213

192

165

No

Tahu

Juli

Agu

Septe

Okto

Nov

Des

1

2011

157

130

152

178

196

220

2

2012

152

134

155

174

195

217

3

2013

155

136

151

171

191

215

4

2014

161

132

148

167

184

219

5

2015

154

128

143

164

172

211

6

2016

159

133

146

163

184

227

Dalam penelitian ini, jenis fungsi aktivasi JST yang digunakan normalisasi data adalah sigmoid biner, di mana fungsi ini bekerja pada range 0-1. Namun fungsi tersebut tidak pernah mencapai nilai 0 ataupun 1 sehingga data perlu dinormalisasi dengan cara mentransformasi data ke dalam rentang 0,1-0,9 dengan menggunakan persamaan berikut:

dengan x’ adalah data setelah dinormalisasi dan x adalah data sebelum dinormalisasi. Hasil normalisasi data adalah sebagai berikut.

Tabel 2. Data Hasil Normalisasi

DATA HASIL NORMALISASI

No

Tahun

Jan

Feb

Maret

April

Mei

Juni

1

2011

0.77

0.90

0.79

0.64

0.53

0.40

2

2012

0.80

0.87

0.81

0.66

0.55

0.38

3

2013

0.83

0.89

0.84

0.68

0.54

0.41

4

2014

0.81

0.86

0.80

0.64

0.56

0.38

5

2015

0.79

0.83

0.77

0.60

0.53

0.36

6

2016

0.83

0.86

0.80

0.63

0.50

0.33

No

Tahun

Juli

Agust

Septe

Oktob

Nove

Dese

1

2011

0.28

0.11

0.25

0.41

0.53

0.68

2

2012

0.25

0.14

0.27

0.39

0.52

0.66

3

2013

0.27

0.15

0.24

0.37

0.49

0.64

4

2014

0.31

0.13

0.23

0.34

0.45

0.67

5

2015

0.26

0.10

0.19

0.33

0.38

0.62

6

2016

0.29

0.13

0.21

0.32

0.45

0.72

Data latih menggunakan data curah hujan pada bulan ke-1 s.d bulan ke-48 (tahun 2011-2014) sedangkan data uji menggunakan data curah hujan pada bulan ke-49 s.d bulan ke-72 (tahun 2015-2016). Data pelatihan dan pengujian dapat dilihat pada tabel 3 dan 4.

Tabel 3. Data Latihan

DATA LATIH

Pola

X1

X2

X3

X11

X12

Target

1

0.77

0.90

0.79

0.53

0.68

0.80

2

0.90

0.79

0.64

0.68

0.80

0.87

3

0.79

0.64

0.53

0.80

0.87

0.81

4

0.64

0.53

0.40

0.87

0.81

0.66

5

0.53

0.40

0.28

0.81

0.66

0.55

6

0.40

0.28

0.11

0.66

0.55

0.38

7

0.28

0.11

0.25

0.55

0.38

0.25

8

0.11

0.25

0.41

0.38

0.25

0.14

9

0.25

0.41

0.53

0.25

0.14

0.27

10

0.41

0.53

0.68

0.14

0.27

0.39

11

0.53

0.68

0.80

0.27

0.39

0.52

12

0.68

0.80

0.87

0.39

0.52

0.66

13

0.80

0.87

0.81

0.52

0.66

0.83

14

0.87

0.81

0.66

0.66

0.83

0.89

15

0.81

0.66

0.55

0.83

0.89

0.84

16

0.66

0.55

0.38

0.89

0.84

0.68

17

0.55

0.38

0.25

0.84

0.68

0.54

Tabel 4. Data Pengujian

DATA PENGUJIAN

No

X1

X2

X3

X11

X12

Target

1

0.79

0.83

0.38

0.62

0.83

2

0.83

0.77

0.62

0.83

0.86

3

12

0.62

0.83

0.32

0.45

0.72

13

0.83

0.86

0.45

0.72

0

Dalam pengolahan data pada penelitian ini menggunakan JST propagasi balik dengan 12 masukan dan satu keluaran. Masukan berupa ketinggian gelombang selama 12 bulan sedangkan keluaran adalah prediksi ketinggian gelombang. Dalam JST, nilai masukan yaitu ketinggian gelombaang selama 1 bulan dirambatkan maju melalui bobot masukan menuju neuron-neuron pada layer tersembunyi. Pada layer tersembunyi, nilai-nilai tersebut diolah menggunakan fungsi aktivasi kemudian dirambatkan maju melalui bobot keluaran menuju layer

keluaran sehingga didapatkan nilai keluaran yaitu prediksi ketingggian gelombang. Nilai keluaran selanjutnya dibandingkan dengan nilai target sehingga diperoleh nilai error. Apabila nilai error lebih kecil daripada error goal, maka iterasi akan berhenti. Namun apabila nilai error masih lebih besar daripada error goal, maka dilakukan perambatan balik dengan memperbarui bobot keluaran dan bobot masukan. Pada pelatihan JST, terdapat beberapa parameter yang ditetapkan. Parameter tersebut ditunjukkan pada tabel 5.

Tabel 5. Parameter JST propagasi balik

No

Parameter

Nilai

1

Jumlah Layer Tersembunyi

10

2

Jenis Fungsi Aktivasi

Fungsi Aktivasi InputHidden Adalah

3

Error Goal

0.001

4

Jumlah Epoch

1000

5

Momentum

0.95

6

Learning Rate

0.1

  • 3.3.    Tahap Pelatihan

Pada tahap ini sistem jaringan saraf diberikan 48 data sampel penilaian ketinggian gelombang untuk dilatihkan sebagai proses pembelajaran. Untuk mendapatkan nilai keluaran, yang pertama harus dilakukan adalah menentukan matriks masukan dan matriks target. Selanjutnya menentukan formula dari jaringan saraf tiruan dari feedforward dengan cara mengatur fungsi aktivasi antara masukan lapisan tersembunyi dengan menggunakan logsig (sigmoid biner), fungsi aktivasi dari lapisan tersembunyi ke keluaran menggunakan fungsi aktivasi purelin (linier)

dan fungsi pelatihan jaringan menggunakan fungsi traingd.

Pada tahap pelatihan, hal yang pertama harus dilakukan adalah memanggil data yang dimiliki dalam format excel ke dalam matlab, berikut adalah sourcode nya

% Proses membaca data latih dari excel filename = ,data.×lsx';

sheet = 1;

XlRange = ,C4zO51,;

Data = xlsread(filenamer sheetr XlRange);

data_latih = Data(:,1:12) ,; target_latih = Data(:,13)';

[m,n] = size(data_latih);

Gambar 1 Memanggil Data Pelatihan

Gambar 1 merupakan potongan source code yang bertujuan untuk memanggil data pelatiahn dalam bentuk excel, dimana data dalam bentuk excel terdiri atas tiga parameter, yaitu filename, sheet dan xlRange. Kemudian ditentukan data latih dan data target pada excel yang sudah di panggil.

  • 4 PΛium JJT

Mt ∙ M⅛tf(miM[d4tΠιtιt)l[10 IIJ'lojiig'/portlin’I/triliigdx1);

Gambar 2. Pembuataan JST

Potongsn scrip pada gambar 2 bertujuan untuk membuat jaringan dengan menggunakan tools newff, dimana terdapat beberapa parameter yaitu, data latih, hiiden layer, output, dan fungsi aktivasi.

⅞ Menberikan nilai untuk mempengaruhi proses pelatihan net. PerformFcn = , rr.se';

net. trainparam, epochs=1000;

net.trainparam.goal=0.001;

net.trainparam.Ir=O.1;

net.trainParam.show = 20;

net.trainParam.mc = 0.S5;

Gambar 3. Menetukan Nilai Untuk Mempengaruhi Proses Pelatihan

Potongan scrip pada gambar 3, bertujuan untuk mempengaruhi proses pelatihan dengan metode backpropagation, yaitu

jumlah epoch, error goal, learning rate dan momentum. Adapun hasil pelatihan yang dilakukan dengan jaringan saraf tiruan adalah sebagai berikut :

Gambar 4. Performance Hasil Pelatihan

Gambar 5. Regression Proses Pelatihan

Gambar 6. Grafik keluaran JST dan Target

Berdasarkan pada gambar 6,7,8 tampak bahwa tingkat akurasi yang didapatkan adalah dengan nilai koefisien

korelasi 0,99101 dan nilai MSE yaitu 0.00099745.

  • 3.4.    Tahap Pengujian

Pada tahapan ini dilakukan proses pengujian data uji yang dimiliki. Berikut merupakan beberapa sourcode proses pengujian.

  • filename = 'data.xlsx,;

sheet “ 1;

XlRange “ ,C60iO71';

Data = xlsread(filename, sheet, XlRange);

data_ujl = Data(:,1:12)';

target_uji = Data(z,13)'; [m,n] = size(data_uji);

  • Gambar 7. Source Code proses pengujian

Gambar 7 merupakan potongan source code yang bertujuan untuk memanggil data uji dalam bentuk excel, dimana data dalam bentuk excel terdiri atas tiga parameter, yaitu filename, sheet dan xlRange. Kemudian ditentukan data uji dan data target latih pada excel yang sudah di panggil, yang bertujuan untuk mensimulasikan hasil prediksi gelombang. Adapun hasil pengujian yang dilakukan dengan jaringan saraf tiruan adalah sebagai berikut :

Gambar 8 Grafik Keluaran dan target

Berdasarkan pada gambar 11 dan 12 tampak bahwa tingkat akurasi yang didapatkan adalah dengan nilai koefisien korelasi 0,9652 dan nilai MSE yaitu 0.0042314.

  • 5.    KESIMPULAN

Berdasarkan    penelitian    yang

sudah dilakukan, maka dapat diambil kesimpulan sebagai berikut :

  • 1.    Hasil yang didapatkan dari penghitungan prediksi ketinggian gelombang laut menggunakan algoritma JST propagasi balik. Nilai masukan adalah berupa rata-rata ketinggian gelombang selama 12 bulan, dengan nilai keluaran yaitu prediksi    ketinggian    gelombang.

Arsitektur JST yang digunakan yaitu 12 layer input, 10 layer tersembunyi dan 1 output. Jumlah epoch maksimal yang digunakan adalah 10.000 dengan learning rate sebesar 0.1, error goal sebesar 0,01 dan momentum sebesar 0.95.

  • 2.  Proses pelatihan menggunakan data

pelatihan sebanyak 48  data yang

menghasilkan    koefisien    korelasi

sebesar 0.99101 dan  nilai  MSE

sebesar 0.00099745. Arsitektur JST pada proses  pelatihan  kemudian

digunakan untuk menghitung prediksi ketinggian gelombang pada proses pengujian. Koefisien korelasi yang diperoleh pada proses pengujian adalah sebesar 0.9652. Sedangkan nilai MSE yang dihasilkan adalah sebesar 0.0042314.

  • 6.    DAFTAR PUSTAKA

Andrian, Y., & Ningsih, E. (2014). Prediksi Curah Hujan  Di Kota Medan

Menggunakan.   Seminar  Nasional

Informatika, 184–189.

Eka Eliyani, 2007, Peramalan harga Saham perusahaan mengunakan Jaringan Syaraf Tiruan (Studi kasus PT HM Sampoerna), Tesis, Program Studi S2 Ilmu Komputer FMIPA UGM, Yogyakarta.

Kusumadewi, S dan Hartati, S, 2006, Neuro-Fuzzy: Integrasi Sistem Fuzzy dan jaringan Saraf, Yogyakarta, Graha Ilmu.

Siang, J. J. (2009). Jaringan Syaraf Tiruan dan Pemrogramannya Menggunakan MATLAB. Yogyakarta: Andi.