Jurnal KomTekInfo, Vol. 3, No. 1, 2016, Hal 78 – 91 , Copyright@2016 by LPPM UPI YPTK Padang
ISSN CETAK : 2356 – 0010, ISSN ONLINE : 2502-8758
PENERAPAN JARINGAN SYARAF TIRUAN UNTUK MEMPREDIKSI MAGNITUDO LETUSAN GUNUNG DENGAN METODE BACKPROPAGATION STUDI KASUS GUNUNG MERAPI SUMATERA Ferdian Detria1), Rini Sovia, S.Kom, M.Kom1), Randy Permana, S.Kom, M.Kom1) Universitas Putra Indonesia “YPTK” Padang, Indonesia
[email protected]
ABSTRAK Jaringan syaraf tiruan merupakan cabang dari kecerdasan buatan yang meniru atau mencontoh cara kerja otak manusia. Jaringan syaraf tiruan dapat dimplementasikan pada berbagai macam aplikasi untuk menyelesaikan banyak masalah khususnya dalam bidang peramalan. Salah satu algoritma yang sering digunakan adalah Backpropagation. Backpropagation Merupakan salah satu algoritma yang dapat digunakan untuk mengetahui pola magnitudo letusan gunung. Ada dua tahapan yang digunakan pada metode backpropagation ini yaitu tahap pelatihan dan tahap pengujian. Pada tahap pelatihan pola berusaha untuk mengenali masukan dan pada tahap pengujian pola yang sudah dikenali diujikan sehingga diketahui pola jaringan yang ada dapat mengenali dan melakukan prediksi terhadap perhitungan rata-rata magnitudo letusan gunung. Kata Kunci : Jaringan Syaraf Tiruan, Backpropagation,Kecerdasan Buatan, Algoritma, Magnitudo.
1. Pendahuluan Gunung berapi terjadi akibat endapan magma didalam perut bumi yang didorong keluar oleh gas yang bertekanan tinggi. Indonesia berada pada pertemuan antara 3 lempeng besar yang terdiri dari 2 lempeng benua dan 1 lempeng samudera. Oleh karena itu, sangat wajar kalau tatanan tektonik Indonesia sangat kompleks. Di bagian barat sampai selatan Indonesia merupakan daerah zona subduksi yang juga merupakan jalur gunung api. Di Indonesia terdapat sekitar 129 buah gunung berapi yang masih aktif dan merentang disepanjang 700 KM mulai dari Aceh (Sumatera), Jawa, Sulawesi (Bukit Barisan), Nusa Tenggara dan Maluku. Jaringan Syaraf Tiruan (JST) adalah sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologi / manusia. Salah satu metode yang digunakan adalah prediksi dengan bantuan kecerdasan buatan menggunakan metode Backpropagation. Backpropagation memiliki tiga layer dalam proses pelatihannya, yaitu input layer, hidden layer dan output layer. Backpropagation ini merupakan perkembangan dari single layer network. Dengan adanya hidden layer pada Backpropagation dapat menyebabkan tingkat error pada Backpropagation lebih kecil dibanding tingkat error pada single layer network. Karena hidden layer pada Backpropagation berfungsi sebagai tempat untuk menyesuaikan bobot, sehingga di dapatkan nilai bobot yang baru yang bisa diarahkan mendekati dengan target output yang diinginkan. Berdasarkan latar belakang dan permasalahan diatas, maka penulis tertarik untuk meneliti masalah ini dengan judul “Penerapan Jaringan Syaraf Tiruan Untuk Memprediksi Magnitudo Letusan Gunung Dengan Metode Backpropagation Studi Kasus Gunung Merapi Sumatera Barat”.
78
Jurnal KomTekInfo, Vol. 3, No. 1, 2016, Hal 78 – 91 , Copyright@2016 by LPPM UPI YPTK Padang
ISSN CETAK : 2356 – 0010, ISSN ONLINE : 2502-8758
2. Tinjauan Literatur 2.1 Gunung Api Para ahli sampai saat ini belum mendapatkan kata sepakat mengenai batasan atau istilah baku tentang definisigunung api secara jelas. Ilmu yang secara khusus mempelajari gunung api adalah vulkanologi. Ada beberapa ahli yang mendeinisikan gunung api. Koesmoemadinata (1977) menyatakan bahwa gunung api adalah lubang saluran yang menghubungkan suatu wadah berisi bahan yang disebut magma. Suatu ketika bahan tersebut ditempatkan melalui saluran bumi dan sering terhimpun disekelilingnya sehingga membangun suatu kerucut yang dinamakan kerucut gunung api. Matahalemual (1982) menyatakn bahwa gunung api (vulkan) adalah suatu bentuk timbunan dimuka bumi, pada umumnya berupa suatu kerucut raksasa, kerucut terpancung kubah ataupun bukit yang diakibatkan oleh penerobosan magma kepermukaan bumi. 2.2 Rekayasa Perangkat Lunak Rekayasa perangkat lunak (software engineering) merupakan pembangunan dengan menggunakan prinsip atau konsep rekayasa dengan tujuan menghasilkan perangkat lunak yang bernilai ekonomi yang dipercaya dan bekerja secara efisisen menggunakan mesin. Untuk membangun perangkat lunak yang benar-benar baik maka diperlukan tahapan-tahapan rekayasa perangkat lunak (Rosa dan Shalahuddin, 2013). 1.
Proses Rekayasa Perangkat Lunak
Menurut Rosa A. S dan M. Salahuddin (2013: 8) menyatakan proses rekayasa perangkat lunak dilakukan selama pembangunan perangkat lunak. Proses-proses yang dilakukan dalam rekayasa perangkat lunak secara garis besar adalah sebagai berikut :
Gambar 1 : Tahapan Umum Rekayasa Perangkat Lunak
2.3 UML 1.
Use Case Diagram Use case diagram merupakan pemodelan untuk melakukan sistem informasi yang akan dibuat. Use case mendefenisikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Secara kasar, use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu (Rosa A. S dan M. Salahuddin, 2013).
79
Jurnal KomTekInfo, Vol. 3, No. 1, 2016, Hal 78 – 91 , Copyright@2016 by LPPM UPI YPTK Padang
ISSN CETAK : 2356 – 0010, ISSN ONLINE : 2502-8758
2.
Class Diagram Class diagram menggambarkan sturuktur sistem dari segi pendefenisisan kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi (Rosa A. S dan M. Salahuddin, 2013).
3.
Sequence Diagram Diagram sequence menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirim dan diterima antar objek.
4.
Collaboration (Communication) Diagram Collaboration (Communication) diagram menggambarkan interaksi antar objek/bagian dalam bentuk urutan pengiriman pesan.
5.
Activity Diagram Activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor (Rosa A. S dan M. Salahuddin, 2013).
6.
Statechart Diagram Statechart diagram digunakan untuk menggambarkan perubahan status atau transisi status dari sebuah mesin atau mesin atau objek.
7. Deployment Diagram Deployment diagram menunjukkan konfigurasi komponen dalam proses eksekusi aplikasi.
2.4 Kecerdasan Buatan Kecerdasan buatan berasal dari bahasa Inggris “Artificil Intelligence” atau disingkat AI, yaitu intelligence adalah kata sifat yang berarti cerdas, sedangkan artificial artinya buatan. Kecerdasan buatan yang dimaksud disini merujuk pada mesin yang mampu berpikir, menimbang tindakan yang akan diambil, dan mampu mengambil keputusan seperti yang dilakukan oleh manusia. Berikut beberapa definisi kecerdasan buatan yang telah didefinisikan oleh beberapa ahli (Sutojo, 2011). John McCarthy dari Stanford mendefinisikan kecerdasan sebagai “Kemampuan untuk mencapai sukses dalam menyelesaikan suatu permasalahan”. Herbert Alexander Simon (June 15, 1916February 9, 2001) : “Kecerdasan Buatan merupakan kawasan penelitian, aplikasi, dan instruksi yang terkait dengan pemrograman komputer untuk melakukan sesuatu hal yang dalam pandangan manusia adalah cerdas”.
2.5 Jaringan Syaraf Tiruan Jaringan syaraf Tiruan sederhana pertama kali diperkenalkan oleh McCulloch dan Pitts di tahun 1943. McCulloch dan Pitts menyimpulkan bahwa kombinasi beberapa neuron sederhana menjadi sebuah sistem neural akan meningkatkan kemampuan komputasinya. Bobot dalam jaringan yang diusulkan oleh McCulloch dan Pitts diatur untuk melakukan fungsi logika sederhana. Fungsi aktivasi yang dipakai adalah fungsi threshold. JST dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologi, dengan asumsi sebagai berikut : a. Pemprosesan informasi terjadi pada banyak elemen sederhana (neuron). b. Sinyal dikirimkan diantara neuron-neuron melalui penghubung.
80
Jurnal KomTekInfo, Vol. 3, No. 1, 2016, Hal 78 – 91 , Copyright@2016 by LPPM UPI YPTK Padang
c. d.
ISSN CETAK : 2356 – 0010, ISSN ONLINE : 2502-8758
Penghubung antar neuron memiliki bobot yang akan memperkuat atau memperlemah sinyal. Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi (biasanya bukan fungsi linear) yang dikenakan pada jumlah input yang diterima. Besarnya output ini selanjutnya dibandingkan dengan suatu batas ambang.
Berdasarkan arsitekturnya, model Jaringan Syaraf Tiruan dapat digolongkan menjadi (Dini, 2010): a.
Jaringan Layar Tunggal (Single Layer Network) Pada jaringan ini sekumpulan input neuron dihubungkan langsung dengan sekumpulan output nya. Sinyal mengalir searah dari layer input sampai layer output. Setiap simpul dihubungkan dengan simpul lainnya yang berada diaytasnya dan dibawahnya, tetapi tidak dengan simpul yang berada pada lapisan yang sama. Model yang masuk kategori ini antara lain : ADALINE, Hopfield, Perceptron, LVQ, dan lain-lain. Pada gambar 2.2 diperlihatkan arsitektur jaringan layer tunggal dengan n input (x1, x2,…,xn) dan m output (y1,y2,…,ym).
Gambar 2 Jaringan Layer Tunggal
b.
Jaringan Layar Jamak (Multiple Layer Network). Jaringan ini merupakan perluasan dari jaringan layer tunggal. Dalam jaringan ini, selain unit masukan dan keluaran, ada unit-unit lain (sering disebut layer tersembunyi). Dimungkinkan pula ada beberapa layer tersembunyi.
Gambar 3 Jaringan Layer Jamak
c.
Jaringan Requirent Model jaringan ini mirip dengan jaringan layar tunggal atau jamak. Hanya saja, ada simpul keluaran yang memberikan sinyal pada unit masukan (sering disebut feedback loop). Dengan kata lain sinyal mengalir dua arah, yaitu maju dan mundur.
2.6 Jaringan Syaraf Tiruan Algoritma Backpropagation Backpropagation merupakan model Jaringan Syaraf Tiruan dengan layar jamak. Seperti halnya model Jaringan Syaraf Tiruan lainnya, Backpropagation melatih jaringan untuk mendapatkan keseimbangan antara kemampuan jaringan untuk mengenali pola yang digunakan selama
81
Jurnal KomTekInfo, Vol. 3, No. 1, 2016, Hal 78 – 91 , Copyright@2016 by LPPM UPI YPTK Padang
ISSN CETAK : 2356 – 0010, ISSN ONLINE : 2502-8758
pelatihan serta kemampuan jaringan untuk memberikan respon yang benar terhadap pola masukan yang serupa (tapi tidak sama) dengan pola yang dipakai selama pelatihan. Salah satu bidang dimana Backpropagtion dapat diaplikasikan dengan baik adalah bidang peramalan ( forecating ). Peramalan yang sering kita dengar adalah peramalan besarnya penjualan nilai tukar valuta asing, prediksi besarnya aliran sungai,dll. Ada beberapa fungsi aktivasi yang sering digunakan dalam Jaringan Syaraf Tiruan antara lain: a.
Fungsi Sigmoid Biner Fungsi ini digunakan untuk jaringan syaraf yang dilatih menggunakan metode backpropagation. Fungsi sigmoid biner memiliki nilai antara 0 sampai 1. Karena itu, fungsi ini sering digunakan untuk jaringan syaraf yang membutuhkan nilai keluaran yang terletak pada interval 0 sampai 1. Fungsi sigmoid biner dirumuskan sebagai berikut: 1
y = f(x) =
1+𝑒 −𝑎𝑥
f’(x) =𝜎𝑓 𝑥 [1 − 𝑓 𝑥 ]
Gambar 4 : Fungsi Sigmoid Biner
b.
Fungsi Sigmoid Bipolar Fungsi ini hampir sama dengan fungsi sigmoid biner, hanya saja keluaran dari fungsi ini antara sampai -1. Sedangkan fungsi sigmoid bipolar dirumuskan seperti berikut ini: y = f(x) = f'(x) =
1−𝑒 −𝑥 1+𝑒 −𝜎𝑥 𝜎 2
1 + f 𝑥 [1 − f 𝑥 ]
Gambar 5 : Fungsi Sigmoid Bipolar
c.
Fungsi Linear (Identitas) Fungsi linear memiliki nilai keluaran yang sama dengan nilai masukkannya terlihat. Fungsi linear dirumuskan sebagai berikut:
Gambar 6 : Fungsi Sigmoid Linear
82
Jurnal KomTekInfo, Vol. 3, No. 1, 2016, Hal 78 – 91 , Copyright@2016 by LPPM UPI YPTK Padang
ISSN CETAK : 2356 – 0010, ISSN ONLINE : 2502-8758
2.7 Matlab MATLAB (Matrix Laboratory) adalah sebuah program untuk analisis dan komputasi numerik dan merupakan suatu bahasa pemrograman matematika lanjutan yang dibentuk dengan dasar pemikiran menggunkan sifat dan bentuk matriks. Pada awalnya, program ini merupakan interface untuk koleksi rutin-rutin numeric dari proyek LINPACK dan EISPACK, dan dikembangkan menggunkan bahasa FORTRAN namun sekarang merupakan produk komersial dari perusahaan Mathworks, Inc.yang dalam perkembangan selanjutnya dikembangkan menggunakan bahasa C++ dan assembler (utamanya untuk fungsi-fungsi dasar MATLAB). MATLAB (Matrix Laboratory) yang merupakan bahasa pemrograman tingkat tinggi berbasis pada matriks sering digunakan untuk teknik komputasi numerik, yang digunakan untuk menyelesaikan masalah-masalah yang melibatkan operasi matematika elemen, matrik, optimasi, aproksimasi, dan lain-lain.
2.8 PHP (Personal Home Page) PHP merupakan secara umum dikenal sebagai bahasa pemrograman script script yang membuat dokumen HTML secara on the fly yang dieksekusi di server web, dokumen HTML yang dihasilkan dari suatu aplikasi buatan dokumen HTML yang dibuat dengan menggunakan editors teks atau editor HTML. Dikenal juga sebagai bahasa pemrograman server side (Betha Sidik, 2012).
2.9 MySQL MySQL merupakan Software RDBMS (atau server database) yang dapat mengelola database dengan sangat cepat, dapat menampung data dalam jumlah sangat besar, dapat diakses oleh banyak user (multi user), dan dapat melakukan suatu proses secara sinkron atau berbarengan (multithreaded).
3. HASIL DAN DISKUSI 3.1 Analisa Sistem dalam Memprediksi magnitudo letusan gunung Analisa sistem merupakan suatu uraian dari sistem informasi yang utuh menjadi suatu bagian yang terbentuk dari komponen yang berguna untuk mengidentifikasi dan mengevaluasi permasalahan, hambatan yang terjadi sehingga dapat diusulkan suatu perbaikan dalam mengembangkan sistem dengan menggunakan perangkat lunak (software) Jaringan Syaraf Tiruan dengan metoda backpropagation dalam memprediksi maknitudo letusan gunung disumbar. Tabel 1: Data Rata-Rata Magnitudo
Di dalam penelitian ini data diambil dari nilai rata-rata magnitudo tiap bulanya, di mana pola inputnya sebagai berikut:
83
Jurnal KomTekInfo, Vol. 3, No. 1, 2016, Hal 78 – 91 , Copyright@2016 by LPPM UPI YPTK Padang
ISSN CETAK : 2356 – 0010, ISSN ONLINE : 2502-8758
Tabel 2 : Data yang digunakan pada JST
Keterangan : 1. Magnitudo bulan Januari, disimpan pada variable X1 2. Magnitudo bulan Februari, disimpan pada variable X2 3. Magnitudo bulan Maret ,disimpan pada variable X3 4. Magnitudo bulan April, disimpan pada variable X4 5. Magnitudo bulan Mei, disimpan pada variable X5 6. Magnitudo bulan Juni, disimpan pada variable X6 7. Magnitudo bulan Juli, disimpan pada variable X7 8. Magnitudo bulan Agustus, disimpan pada variable X8 9. Magnitudo bulan September, disimpan pada variable X9 10. Magnitudo bulan Oktober, disimpan pada variable X10 11. Magnitudo bulan November, disimpan pada variable X11 12. Magnitudo bulan Desember, disimpan pada variable X12 13. Target, disimpan pada variable T.
Tabel 3: Data Input Pelatihan
Tabel 4 : Data input pengujian
3.2 Proses Transformasi Fungsi aktivasi yang digunakan untuk mengolah data di atas adalah fungsi sigmoid( biner), maka data harus ditransformasikan dulu karena range keluaran fungsi aktivasi sigmoid adalah [0,1]. Data ditransformasikan ke interval yang lebih kecil, misalnya pada interval [0.1, 0.9] adalah: x = 0.8(x – a) + 0.1 b-a di mana: x : nilai a : data minimum b : data maksimum
84
Jurnal KomTekInfo, Vol. 3, No. 1, 2016, Hal 78 – 91 , Copyright@2016 by LPPM UPI YPTK Padang
ISSN CETAK : 2356 – 0010, ISSN ONLINE : 2502-8758
Dengan transformasi ini maka data terkecil akan menjadi 0.1 dan data terbesar akan menjadi 0.9. Pada tabel 5 di bawah ini menunjukan hasil transformasi yang nantinya dipakai sebagai data pelatihan Backpropagation. Tabel 5 : Hasil Transformasi Data Input Pelatihan
a b X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12
: data minimum = 0,191 : data maksimum = 0,766 = 0.8*( 0.563-0.191)/0.766+0.191=0.625 = 0.8*( 0.418-0.191)/0.766+0.191=0.425 = 0.8*( 0.449-0.191)/0.766+0.191=0.468 = 0.8*( 0.489-0.191)/0.766+0.191=0.522 = 0.8*( 0.270-0.191)/0.766+0.191=0.223 = 0.8*( 0.425-0.191)/0.766+0.191=0.435 = 0.8*( 0.372-0.191)/0.766+0.191=0.363 = 0.8*( 0.382-0.191)/0.766+0.191=0.376 = 0.8*( 0.310-0.191)/0.766+0.191=0.278 = 0.8*( 0.563-0.191)/0.766+0.191=0.624 = 0.8*( 0.473-0.191)/0.766+0.191=0.501 = 0.8*( 0.457-0.191)/0.766+0.191=0.479 Tabel 6 : Hasil Transformasi Data Input Pegujian
a : data minimum = 0.191 b : data maksimum =0766 X1 = 0.8*(0.357-0.191)/0.766+0.191=0.331 X2 = 0.8*(0.569-0.191)/0.766+0.191=0.625 X3 = 0.8*(0.515-0.191)/0.766+0.191=0.550 X4 = 0.8*(0.537-0.191)/0.766+0.191=0.581 X5 = 0.8*(0.371-0.191)/0.766+0.191=0.350 X6 = 0.8*(0.426-0.191)/0.766+0.191=0.426 X7 = 0.8*(0.191-0.191)/0.766+0.191=0.100 X8 = 0.8*(0.343-0.191)/0.766+0.191=0.311 X9 = 0.8*(0.310-0.191)/0.766+0.191=0.265 X10= 0.8*(0.609-0.191)/0.766+0.191=0.681 X1 = 0.8*(0.489-0.191)/0.766+0.191=0.514 X12 = 0.8*(0.766-0.191)/0.766+0.191=0.900
3.3 Arsitektur dan Algoritma Pembelajaran Pada penelitian ini arsitektur Jaringan Syaraf Tiruan yang digunakan untuk pola prediksi rata-rata magnitudo adalah Jaringan Syaraf Tiruan backpropagation terdiri dari : 1. Lapisan Input, dengan 12 simpul masing-masing untuk magnitudo Januari (x1), Februari (x2), Maret (x3), April (x4), Mei (x5), Juni (x6), Juli (x7), Agustus (x8), September (x9), Oktober (x10), November (x11) dan Desember (x12)
85
Jurnal KomTekInfo, Vol. 3, No. 1, 2016, Hal 78 – 91 , Copyright@2016 by LPPM UPI YPTK Padang
ISSN CETAK : 2356 – 0010, ISSN ONLINE : 2502-8758
2.
Lapisan Output, dengan 1 simpul yaitu nilai rata (pola yang didapatkan) (t) sebagai nilai yang menjadi prediksi untuk menghitung rata-rata besar magnitudo dari letusan gunung. 3. Lapisan Tersembunyi,Bentuk arsitektur Jaringan Syaraf Tiruannya dapat dilihat pada gambar 4.1 berikut :
Gambar 7 : Lapisan Tersembunyi
3.4 Arsitektur Jaringan Perhitungan magnitudo letusan gunung Pada proses pelatihan ini,penulis akan mencoba melakukan pelatihan dengan menggunakan beberapa pola mana yang sesuai dan akurat yang dapat menghitung magnitudo yang tepat. Polapola tersebut yaitu sebagai berikut: Pola 1 a. Jumlah neuron pada input layer sebanyak 12 neuron b. Jumlah neuron pada hidden layer sebanyak 1 neuron c. Toleransi error sebesar 0.001 d. Learning rate sebesar 0.8 e. Momentum sebesar 0.5 f. Max epoch sebanyak 100.000 Pola 2 a. Jumlah neuron pada input layer sebanyak 12 neuron b. Jumlah neuron pada hidden layer sebanyak 2 neuron c. Toleransi error sebesar 0.001 d. Learning rate sebesar 0.7 e. Momentum sebesar 0.4 f. Max epoch sebanyak 100.000 Pola 3 a. Jumlah neuron pada input layer sebanyak 12 neuron b. Jumlah neuron pada hidden layer sebanyak 3 neuron c. Toleransi error sebesar 0.001 d. Learning rate sebesar 0.8 e. Momentum sebesar 0.5 f. Max epoch sebanyak 100.000 Pola 4 a. Jumlah neuron pada input layer sebanyak 12 neuron b. Jumlah neuron pada hidden layer sebanyak 4 neuron c. Toleransi error sebesar 0.001 d. Learning rate sebesar 0.5 e. Momentum sebesar 0.5 f. Max epoch sebanyak 200.000 Pola 5 a. Jumlah neuron pada input layer sebanyak 12 neuron b. Jumlah neuron pada hidden layer sebanyak 5 neuron c. Toleransi error sebesar 0.001 d. Learning rate sebesar 0.8 e. Momentum sebesar 0.5 f. Max epoch sebanyak 800.000
86
Jurnal KomTekInfo, Vol. 3, No. 1, 2016, Hal 78 – 91 , Copyright@2016 by LPPM UPI YPTK Padang
ISSN CETAK : 2356 – 0010, ISSN ONLINE : 2502-8758
3.5 Perancangan Pada tahap perancangan ini hasil analisis yang telah didapatkan akan diterapkan pada langkahlangkah algoritma backpropagation menggunkan fungsi aktivasi sigmoid. Adapun langkahlangkah penggunaan algoritma backpropagation adalah : Fase-fase Algoritma Backpropagation 1. Tahap Initialization Merupakan tahapan untuk mendefenisikan/menset awal nilai untuk variabel-variabel yang diperlukan, seperti : nilai input, weight, output yang diharapkan, learning rate dan sebagainya. 2.
Tahap Activation
Pada tahap activation ini dilakukan dua kegiatan yaitu : menghitung actual output pada hidden layer dan menghitung actual output pada output layer. 3.
Tahap Weight Training
Pada tahap weight training ini dilakukan dua kegiatan yaitu menghitung error gradient pada output layer dan menghitung error gradient pada hidden layer 4.
Iteration
Tahapan terakhir ini adalah tahapan untuk pengujian di mana jika error yang diharapkan belum ditemukan maka akan kembali lagi ke tahapan ke 2 (dua) yaitu tahap activation. Berikut ini diberikan contoh perhitungan pelatihan atau peramalan dengan Jaringan Syaraf Tiruan untuk menentukan pola rata-rata magnitudo, sebagai contoh pelatihan menggunakan 12 buah variabel input vector x, yaitu : X1 = Besar Magnitudo bulan Januari X2 = Besar Magnitudo bulan Februari X3 = Besar Magnitudo bulan Maret X4 = Besar Magnitudo bulan April X5 = Besar Magnitudo bulan Mei X6 = Besar Magnitudo bulan Juni X7 = Besar Magnitudo bulan Juli X8 = Besar Magnitudo bulan Agustus X9 = Besar Magnitudo bulan September X10 = Besar Magnitudo bulan Oktober X11 = Besar Magnitudo bulan November X12 = Besar Magnitudo bulan Desember Tabel 7 : Data Input
Arsitektur jaringan yang akan dipilih dimisalkan terdiri dari jumlah input layer terdiri dari 12 neuron yang variabelnya adalah rata-rata magnitudo bulan Januari sampai dengan Desember sebagai input dan rata-rata magnitudo dalam setahun sebagai target (output). Untuk membentuk Jaringan Syaraf Tiruan, terlebih dahulu dilakukan inisialisasi bobot awal. Bobot awal yang menghubungkan simpul-simpul pada lapisan input dan lapisan tersembunyi untuk
87
Jurnal KomTekInfo, Vol. 3, No. 1, 2016, Hal 78 – 91 , Copyright@2016 by LPPM UPI YPTK Padang
ISSN CETAK : 2356 – 0010, ISSN ONLINE : 2502-8758
arsitektur di atas adalah v = (v11, v12, v13, v21, v22, v23, v31, v32, v33, vn..., v121, v122, v123) dan bobot bias dipilih secara acak. Demikian pula bobot awal yang menghubungkan simpul-simpul pada lapisan tersembunyi dan lapisan output (w1,w2, w3) juga dipilih secara acak. Tabel 8 : Bobot awal dan bias input ke hidden dari matlab
Tabel 9 : Bobot awal dan hidden ke output dari matlab
Langkah 0 : Inisialisasi semua bobot dengan bilangan acak kecil. Langkah 1 : Jika kondisi perhitungan belum terpenuhi, lakukan langkah 2-9. Langkah 2 : Untuk setiap pasang data pelatihan, lakukan 3-8. Langkah 3 : Tiap unit masukan menerima sinyal dan meneruskannya keunit tersembunyi diatasnya. Langkah 4 : Hitung semua keluaran diunit tersembunyi Zj (j= 1,2….,p) :
Z_netj= v jo
n
x v i 1
i
ji
Z_net 1 = -4.8977+(0.6251*0.2154)+( 0.4255*0.4515)+(0.4689*-0.2112)+ (0.5228*0.4262)+( 0.2232*0.3052)+( 0.4352*-0.233)+( 0.3635*0.2391)+( 0.3768*0.2615)+( 0.2781*0.191)+( 0.6249*-0.0618)+( 0.5016*0.1639)+( 0.4798*-0.4518) = 4.6121 Z_net 2 = -1.4559+(0.6251*0.3187)+( 0.4255*0.1659)+( 0.4689*0.0513)+ (0.5228*0.3601)+( 0.2232*-0.0112)+( 0.4352*-0.0584) + ( 0.3635*0.4314)+ (0.3768*0.2256)+ ( 0.2781*0.3161)+( 0.6249*0.1023)+( 0.5016*-0.4272)+ (0.4798*-0.4602) = -1.4196 Z_net 3 = -6.3281+(0.6251* -0.25)+( 0.4255*-0.4303)+( 0.4689* 0.4271)+ (0.5228* 0.4223)+( 0.2232* 0.1962)+( 0.4352* 0.2648)+( 0.3635* 0.1248)+(0.3768* 0.2393)+ ( 0.2781* 0.2544)+ ( 0.6249* -0.1848)+( 0.5016* -0.1737) + (0.4798* 0.3153) = -1.4196
88
Jurnal KomTekInfo, Vol. 3, No. 1, 2016, Hal 78 – 91 , Copyright@2016 by LPPM UPI YPTK Padang
Zj=
f ( z _ net j )
ISSN CETAK : 2356 – 0010, ISSN ONLINE : 2502-8758
1 1 e
z _ net j
1 = 0.00983 1 e 0.0815 1 z2 = = 0.19472 1 e 6.3331 1 z3 = = 0,00178 1 e 6.3331 z1 =
Langkah 5 : Hitung keluaran unit Yk Karena jaringannya hanya memiliki sebuah unit keluaran y maka y_net k Y_netk = wko
p
z j 1
j
wkj
Y_netk= -0.9311+( 0.3897* 0.00983)+( -0.3628* 0.19472) +( 0.9004*0.00178) = -0.9963 ( sesuai dengan Y matlab) =
1 1 e 0.9963
= 0.26967 Langkah 6 : Hitung factor diunit keluaran Yk
k (t y) y(1 y) = ((0.4315-0.2696)*0.2696)*(1-0.2696) = 0.03187 Suku perubahan bobot Wkj (dengan
=0.2 )
w jk k z j z j
w 10= 0.2*(0.03187)= 0.0063 w 11= 0.00983*(0.03187)*( 0.2)= 6.2684 w 12= 0.1947*(0.0318)*( 0.2)= 0.0012 w 13= 0.00178*(0.0318)*( 0.2)= 1.1361 Langkah 7 : Hitung penjumlahan kesalahan dari unit tersembunyi ( ) m
_ net j j wkj _net1 = 0.0318*0.3897= 0.0124 _net2 = 0.0318*-0.3628= -0.0115 _net3 = 0.0318*0.9004= 0.0287
k 1
Faktor kesalahan diunit ( ) tersembunyi
j _ net j f ( z _ net j ) _ net j z j (1 z j )
1= 0.0124*(0.0098)*(1-0.0098)= 0.0001
89
Jurnal KomTekInfo, Vol. 3, No. 1, 2016, Hal 78 – 91 , Copyright@2016 by LPPM UPI YPTK Padang
ISSN CETAK : 2356 – 0010, ISSN ONLINE : 2502-8758
2= -0.0115*(0.1947)*(1-0.1947)= -0.0018 3= 0.0287*(0,0017)*(1-0.0017)= -5.1056 Tabel.10 : Perubahan bobot input ke hidden
Langkah 8 : Hitung semua perubahan bobot Perubahan bobot unit keluaran :
wkj (baru ) wkj (lama ) wkj w10 (baru)= -0.9311+ 0.0063=0.9374
w11 (baru)= 0.3897+ 6.2684=6.6581 w12 (baru)=- -0.3628+ 0.0012= -0.3616 w13 (baru)= -0.9004+ 1.1361= 0.2357 Pengolahan data secara manual ini selanjutnya akan diolah dengan menggunakan MATLAB untuk beberapa pola arsitektur jaringan. Hasil yang diperoleh dari proses pengolahan data menggunakan Matlab selanjutnya akan dibandingkan dengan hasil pengolahan data secara manual untuk melihat perbedaan hasilnya. Dalam menggunakan metode backpropagation, pola arsitektur yang dipakai sangat mempengaruhi dalam proses penentuan hasil. Setiap hasil yang diperoleh oleh suatu pola arsitektur memungkinkan berbeda dengan hasil yang didapatkan dengan menggunakan pola arsitektur yang lain.
5. Kesimpulan Setelah melakukan analisa data, perancagan, penerapan dan pengujian sistem, dapat diambil beberapa kesimpulan, diantaranya: 1. Aplikasi Jaringan Syaraf Tiruan dapat dibangun untuk mencari perhitungan terbaik dalam pelatihan dan pengujian, sehingga ditemukan perhitungan yang dapat menentukan perhitungan dalam memprediksi besaran magnitudo letusan gunung berapi di Sumatera Barat. 2. Berdasarkan perhitungan terbaik yang ditemukan dapat diterapkan dalam bahasa pemrograman PHP dan bahasa pemrograman MysQL 3. Hasil yang diharapkan dapat membantu dan dapat memberikan informasi kepada pihak BMKG dalam melakukan perhitungan prediksi magnitudo letusan gunung merapi.
90
Jurnal KomTekInfo, Vol. 3, No. 1, 2016, Hal 78 – 91 , Copyright@2016 by LPPM UPI YPTK Padang
ISSN CETAK : 2356 – 0010, ISSN ONLINE : 2502-8758
Referensi [1] Abdur Rashid Khan,2011.”Application of Expert System with Fuzzy Logic in Teachers‘ Performance Evaluation” [2] Amartya Neogi,2011.” A Cascaded Fuzzy Inference System for University Non-Teaching Staff Performance Appraisal” [3] Irvan Subakti. 2006. ” Sistem Berbasis Pengetahuan”. Surabaya. Jurusan Manajemen Fakultas Ekonomi,2007.”Bisnis dan Manajemen”. UNiversitas Lampung,Lampung [4] Sri Kusuma Dewi. 2010“Artificial Intelligence”. Yogyakarta. Graha Ilmu [5] Sri Kusuma Dewi, Sri Hartanti. 2006. ”Neuro-Fuzzy Integrasi Sistem Fuzzy & Jaringan Syaraf”. Yogyakarta. Graha Ilmu [6] Agus Naba. 2009. ” Belajar Cepat Fuzzy Logic Menggunakan MATLAB”. Yogyakarta. Andi [7] Supriyono. 2007. “Analisis Perbandingan Logika Fuzzy Dengan Regresi Berganda Sebagai Alat Peramalan”.
91