BAB 2 LANDASAN TEORI 2.1 Definisi Peramalanthesis.binus.ac.id/doc/Bab2/2009-1-00406-MTIF Bab...
Transcript of BAB 2 LANDASAN TEORI 2.1 Definisi Peramalanthesis.binus.ac.id/doc/Bab2/2009-1-00406-MTIF Bab...
9
BAB 2
LANDASAN TEORI
2.1 Definisi Peramalan
Menurut Makridakis (1991, p519) peramalan (forecasting) yaitu prediksi nilai –
nilai sebuah peubah berdasarkan kepada nilai yang diketahui dari peubah tersebut atau
peubah yang berhubungan. Meramal juga dapat didasarkan pada keahlian keputusan
(judgement), yang pada gilirannya didasarkan pada data historis dan pengalaman.
Sedangkan menurut Heizer (1996, p147) peramalan adalah perpaduan antara seni
dan ilmu dalam memperkirakan keadaan di masa yang akan datang, dengan cara
memproyeksikan data – data masa lampau ke masa yang akan datang dengan
menggunakan model matematika maupun perkiraan yang subjektif.
2.1.1 Jenis - Jenis Metode Peramalan
Terdapat 2 pendekatan umum untuk jenis metode peramalan yaitu kualitatif dan
kuantitatif. Metode peramalan kualitatif sangat penting dimana pada saat data historis
tidak ada, tetapi metode ini bersifat sangat subjektif dan membutuhkan penilaian dari
para ahli. Di lain pihak peramalan kuantitatif menggunakan data historis yang ada.
Menurut Levine, Stepan, Kreahbiel, dan Barenson, (2002, p655) tujuan metode ini
adalah mempelajari apa yang telah terjadi dimasa lalu untuk dapat meramalkan nilai-
nilai dimasa yang akan datang.
10
a. Metode Peramalan Deret Berkala
Metode peramalan deret berkala, atau yang biasa disebut sebagai deret waktu
(time series), merupakan salah satu metode yang termasuk dalam metode peramalan
kuantitatif selain metode regresi atau kausal.
Menurut Levine, Stephan, Krehbiel, dan Barenson (2002, p655) metode
peramalan deret berkala melibatkan proyeksi nilai yang akan datang dari sebuah variabel
dengan berdasarkan seluruhnya pada pengamatan masa lalu dan sekarang dari variabel
tersebut.
b. Metode Pemulusan
Metode pemulusan atau biasa disebut metode smoothing, termasuk dalam
metode peramalan deret berkala. Menurut McGee, Makridakis, Wheelright (p78, 1999)
metode pemulusan memiliki dasar metode yaitu pembobotan sederhana atau pemulusan
pengamatan masa lalu dalam suatu sumber deret berkala untuk memperoleh ramalan
masa mendatang. Dalam pemulusan nilai-nilai historis ini, galat acak dirata-ratakan
untuk menghasilkan ramalan “halus”. Diantara keuntungannya yaitu biaya yang rendah,
mudah digunakan dalam penerapannya, dan cepat dalam penyampaiannya. Karakteristik
ini dapat membuatnya menarik terutama bilamana horison waktunya relatif pendek
(kurang dari 1 tahun).
Metode pemulusan terdiri atas metode pemulusan perataan, dimana pada saat
melakukan pembobotan yang sama terhadap nilai-nilai pengamayan sesuai dengan
pengertian konvensional tentang nilai tengah, dan metode pemulusan eksponential
menggunakan bobot berbeda untuk data masa lalu, karena bobotnya berciri menurun
seperti eksponential dari titik data yang terakhir sampai dengan terawal.
11
2.1.2 Jangka Waktu Peramalan
Menurut Heizer (1996, p142) jangka waktu peramalan dapat dikelompokan
menjadi tiga kategori, yaitu :
1. Peramalan jangka pendek, peramalan untuk jangka waktu kurang dari tiga bulan.
2. Peramalan jangka menengah, peramalan untuk jangka waktu antara tiga bulan
sampai tiga tahun.
3. Peramalan jangka panjang, peramalan untuk jangka waktu lebih dari tiga tahun.
2.1.3 Proses Peramalan
Didalam melakukan proses peramalan, apapun bentuk dan jenis peramalan yang
akan dilakukan, terdapat lima langkah proses peramalan yang bisa dilakukan (Hanke et
al, 2005, pp5-6) , yaitu :
1. Formulasi masalah dan pengumpulan data.
Jika metode peramalan kuantitatif yang dipakai maka data yang relevan harus
tersedia dan benar. Jika data yang sesuai tidak tersedia maka mungkin perumusan
masalah perlu dikaji ulang atau memeriksa kembali metode peramalan kuantitatif
yang dipakai.
2. Manipulasi dan pembersihan data.
Ada kemungkinan kita memiliki terlalu banyak atau terlalu sedikit data yang
dibutuhkan. Sebagian data mungkin tidak relevan pada masalah. Sebagian data
mungkin memiliki nilai yang hilang yang harus diestimasi. Sebagian data mungkin
harus dihitung dalam unit selain unit aslinya. Sebagian data mungkin harus diproses
terlebih dahulu (misal, dijumlahkan dari berbagai sumber). Data yang lain
kemungkinan sesuai tetapi hanya pada periode historis tertentu. Biasanya perlu
12
usaha untuk mengambil data dalam suatu bentuk yang dibutuhkan untuk
menggunakan prosedur peramalan tertentu.
3. Pembentukan dan evaluasi model.
Pembentukan dan evaluasi model menyangkut pengepasan data yang terkumpul
pada suatu model peramalan yang sesuai dengan meminimalkan galat peramalan.
4. Implementasi model (peramalan sebenarnya)
Implementasi model terdiri dari model peramalan aktual yang dibuat ketika data
yang sesuai telah terkumpul dan terpilihnya model peramalan yang sesuai.
Peramalan untuk periode sekarang dengan nilai historis aktual diketahui sering kali
digunakan untuk mengecek keakuratan dari proses.
5. Evaluasi peramalan
Evaluasi peramalan menyangkut pembandingan nilai ramalan dengan nilai historis
aktual. Pada proses ini sebagian dari nilai data terbaru sering kali dikeluarkan dari
data yang sedang dianalisis. Setelah model peramalan dibentuk, peramalan dibuat
dan dibandingkan dengan nilai historis yang diketahui. Pengujian pada pola galat
sering kali membuat para analis untuk memodifikasi prosedur peramalan.
2.2 Jaringan Saraf Tiruan (Neural Network)
2.2.1 Inspirasi Biologi
Jaringan Syaraf Tiruan (JST) terinspirasi dari penelitian kecerdasan buatan,
terutama percobaan untuk menirukan fault-tolerence dan kemampuan untuk belajar dari
sistem syaraf biologi dengan model struktur low-level dari otak.
Otak manusia memiliki sekitar (10.000.000.000) sel syaraf yang saling
berhubungan. Sel syaraf mempunyai cabang struktur input (dendrites), yaitu sebuah inti
13
sel dan percabangan struktur output (axon). Axon dari sebuah sel terhubung dengan
dendrites yang lain melalui sebuah synapse. Ketika sebuah sel syaraf aktif, kemudian
menimbulkan suatu signal electrochemical pada axon. Signal ini melewati synapses
menuju ke sel syaraf yang lain. Sebuah sel syaraf lain akan mendapatkan signal jika
memenuhi batasan tertentu yang sering disebut dengan nilai ambang (threshold).
Gambar 2.1 Sel syaraf struktur input (dendrites)
Bila dibandingkan dengan komputer modern, kecepatan dari neuron pada otak
manusia jauh lebih lambat, namun karena jumlah neuron yang sangat banyak pada otak
manusia membuat otak manusia dapat melakukan banyak pekerjaan yang sangat cepat
serta menggunakan energi atau tenaga yang sangat sedikit dan efisien. Menurut Faggin
(1991) sebagai contoh, pengenalan objek seperti wajah seseorang dapat dilakukan hanya
dalam waktu sepersepuluh detik, sementara dengan database yang sama dengan
komputer modern saat ini dibutuhkan waktu yang jauh lebih lama setidaknya beberapa
menit lebih lama dari otak manusia.
14
2.2.2 Pengertian Jaringan Syaraf Tiruan (Neural Network)
Neural Network merupakan suatu metode Artificial Intelligence yang konsepnya
meniru sistem jaringan syaraf yang ada pada tubuh manusia, dimana dibangun node –
node yang saling berhubungan satu dengan yang lainnya. Node –node tersebut
terhubung melalui suatu link yang biasa disebut dengan istilah weight. Ide dasarnya
adalah mengadopsi cara kerja otak manusia yang memiliki ciri – ciri pararel processing,
processing element dalam jumlah besar dan fault tolerance.
Menurut Haykin (1999, p2), jaringan syaraf tiruan (Artificial Neural Network)
adalah sejumlah besar prosesor yang terdistribusi secara pararel dan terdiri dari unit
pemrosesan sederhana, dimana masing – masing unit memiliki kecenderungan untuk
menyimpan pengetahuan yang dialami dan dapat digunakan kembali.
Menurut Fausett (1994, p3) jaringan saraf tiruan adalah sebuah sistem
pengolahan informasi yang memiliki karakteristik serupa dengan jaringan saraf biologis.
Jaringan saraf tiruan mengandung sejumlah neuron (elemen pemroses) yang terhubung
ke neuron lainnya dengan bobot (wright) tertentu yang menirukan informasi yang telah
digunakan oleh jaringan saraf tiruan dalam menyelesaikan sebuah masalah. Sedangkan
menurut Azcarraga (1999) adalah sekumpulan data set yang besar dari interkoneksi unit
sederhana yang dieksekusi secara paralel untuk melakukan tugasnya.
Jaringan syaraf tiruan menyerupai otak manusia dengan dua cara :
a) Pengetahuan yang diperoleh jaringan dari lingkungannya melalui
proses pembelajaran.
b) Kekuatan hubungan antar neuron, dikenal dengan istilah synaptic weights,
dan digunakan untuk menyimpan pengetahuan yang diperoleh.
15
Neural Network sendiri pun dibagi – bagi kembali menjadi beberapa bagian yang
lebih kecil, dimana masing – masing metode mempunyai karakteristiknya sendiri –
sendiri, serta memiliki keunggulan dan kelemahan dalam mengenali suatu pola. Metode
– metode tersebut diantaranya adalah : Bidirectional Assosiate Memory atau lebih
dikenal dengan istilah BAM, Hopfield Network, Counter Propagation Network, Back
Propagation (yang dibahas dalam skripsi ini) dan masih banyak metode – metode
lainnya yang sudah atau sedang dikembangkan oleh para ahli.
Pada umumnya neural network dibagi berdasarkan layer – layer yaitu input
layer, hidden layer dan output layer. Setiap node pada masing – masing layer memiliki
suatu error rate, yang akan digunakan untuk proses training.
Pada kenyataannya (kebiasaannya), kebanyakan neural system harus diajari
(training) terlebih dahulu. Mereka akan mempelajari asosiasi, patterns, dan fungsi yang
baru. Pemakai-pemakai neural network tidak menspesifikasikan sebuah algoritma untuk
dieksekusi dalam setiap perhitungan. Mereka akan memilih arsitektur tertentu dengan
pandangan mereka, dengan karakteristik neuron, weight, dan memilih model training
sendiri. Sehingga dari hasil tersebut, informasi network dapat diubah oleh para pemakai.
Artificial Neural System juga dapat mengkalkulasi teknik matematik, seperti
minimalisasi kesalahan suatu perhitungan.
Neural network sangat berperan dalam teknologi dan beberapa disiplin ilmu,
yang membantu dalam menentukan model-model neural network dan system non linear
dynamic. Salah satunya adalah Matematika. Matematika adalah model neural yang
paling berpotensi karena kekompleksannya. Elektronika dan ilmu komputer juga
menggunakan metode ini, karena berperan dalam pengiriman sinyal data.
16
2.2.3 Neural System
a) Node
Neuron adalah unit pemrosesan informasi yang merupakan dasar dari
operasi jaringan syaraf tiruan. Sel – sel syaraf tiruan ini dirancang berdasarkan
sifat – sifat dari neuron biologis. Sel syaraf tiruan ini biasa disebut sebagai
processing elements, unit atau node.
Node adalah sebuah sel neuron yang di setiap nodenya memiliki output,
error, dan weight. Jadi di setiap node, dimanapun itu pasti memiliki ketiga
unsur tersebut.
Hubungan antar node diasosiasikan dengan suatu nilai yang disebut
dengan bobot atau weight. Setiap node pasti memiliki output, error dan
weightnya masing - masing.
Output merupakan keluaran dari suatu node. Error merupakan tingkat
kesalahan yang terdapat dalam suatu node dari proses yang dilakukan. Weight
merupakan bobot dari node tersebut ke node yang lain pada layer yang
berbeda. Nilai weight berkisar antara -1 dan 1.
Bobot – bobot atau weight yang tersimpan di dalam jaringan syaraf tiruan
ini disebut sebagai bobot interkoneksi. Nilai bobot yang baik akan
memberikan keluaran yang sesuai, dalam arti mendekati keluaran yang
diharapkan (target output) untuk suatu input yang diberikan.
Menurut Mitchell (1997, p108) bobot awal dalam suatu jaringan syaraf
tiruan biasanya diperoleh secara random dan sebaiknya di inisialisasi dengan
nilai yang relatif kecil, yaitu berkisar antara -0,1 sampai 0,1. Memasuki tahap
17
pelatihan, bobot tersebut akan mengalami penyesuaian melalui suatu proses
perhitungan matematik agar tercapai nilai bobot yang sesuai.
b) Input, Hidden, dan Output Layer
Input layer merupakan layer tempat sebuah input dimasukkan (inisialisasi
input), dan dari layer ini dilakukan proses-proses selanjutnya.
Menurut Mitchell (1997, p115) hidden layer berfungsi untuk membantu
proses. Semakin banyak hidden layer yang digunakan, maka semakin bagus
dan semakin cepat pula output yang diinginkan didapat. Akan tetapi waktu
training akan berlangsung semakin lama.
Output layer adalah layer yang menampung hasil proses dari suatu neural
network. Forward propagation dilakukan untuk mencari error di output layer.
Forward propagation bertujuan untuk menentukan output dari suatu node.
Output yang dimaksud di sini adalah output dari output layer. Karena masing-
masing node tersebut memiliki output.
c) Training
Proses belajar suatu neural network terdiri dari proses Forward,
Backward, dan Update Weight. Sekali melewati 3 tahap itu disebut dengan 1
kali training (1 cycle).
Semakin banyak training yang dilakukan maka akan semakin kecil pula
tingkat error yang dihasilkan di output layer-nya. Dengan demikian semakin
kecil juga error suatu sistem.
Menurut Rao (1995, p5), ada dua metode learning dalam neural network,
yaitu :
18
1. Supervised Learning
Supervised Learning adalah suatu metode dimana neural network belajar
dari pasangan data input dan target, pasangan ini disebut training pair.
Biasanya jaringan dilatih dengan sejumlah training pair, dimana suatu input
vektor diaplikasikan, menghasilkan nilai di output, lalu hasil pada output
tersebut akan dibandingkan dengan target output. Selisihnya akan
dikembalikan ke jaringan, kemudian dihitung error-nya, melalui error ini
akan didapatkan selisih yang terdapat di dalam weight. Oleh karena itu
terdapat weight baru yang cenderung memiliki error yang lebih kecil,
sehingga akan didapat error yang lebih minimum dari error yang pertama.
Vektor – vektor dalam training set diaplikasikan seluruhnya secara berurutan.
Pertama-tama error dihitung, kemudian weight disesuaikan sampai seluruh
training set menghasilkan error yang sekecil – kecilnya. Pada dasarnya
konsep ini berawal dari konsep human brain.
Model Neural Network yang menggunakan metode supervised
learning diantaranya adalah sebagai berikut :
a. Model Back Propagation
b. Model Biderectional Associative Memory
c. Hopfield Network
2. Non-Supervised (Unsupervised) Learning
Unsupervised Learning dianggap sebagai model dalam konsep sistem
biologis. Teori ini dikembangankan oleh Kohonen (1984) dan beberapa
ilmuwan lainnya. Dalam unsupervised learning tidak diperlukan target output.
Training hanya terdiri dari vektor – vektor input, tanpa memiliki pasangan
19
target. Algoritma training merubah weight jaringan untuk menghasilkan
output yang konsisten. Aplikasi dari vektor – vektor yang cukup serupa akan
menghasilkan pola output yang sama. Dengan demikian proses training akan
menghasilkan sifat – sifat statistik dalam bentuk pengelompokan vektor –
vektor dalam beberapa kelas. Dengan mengaplikasikan suatu vektor dari suatu
kelas sebagai input, maka akan menghasilkan vektor output yang spesifik.
Model Neural Network yang menggunakan metode Non-Supervised
(Unsupervised) Learning diantaranya adalah sebagai berikut :
a. Adaptive Resonance Theory (ART)
b. Competitive Learning
c. Kohonen’s self organizing maps.
2.2.4 Arsitektur Jaringan Saraf Tiruan
Arsitektur jaringan adalah jaringan yang menggambarkan pola keterhubungan
antara neuron, baik didalam lapisan yang sama maupun antara lapisan yang berbeda.
Menurut Kusumadewi (2003, p212) ada beberapa arsitektur jaringan syaraf, antara lain :
1. Single Layer Nueral Netrowk
Single Layer Nueral Netrowk adalah Neural Network yang hanya
memiliki satu lapisan dengan bobot terhubung. Jaringan ini hanya menerima
input kemudian secara langsung mengolahnya menjadi output tanpa harus
melalui lapisan tersembunyi. Neuron – neuron pada lapisan ini saling
berhubungan. Semua unit input akan dihubungkan dengan setiap unit output.
20
Gambar 2.2 Single Layer Neural Network
2. Multi Layer Neural Netrowk
Multi Layer Neural Network adalah neural network yang memiliki
karakteristik multi layer dimana setiap node pada suatu layer terhubung dengan
setiap node pada layer di depannya. Berarsitektur umpan maju atau (feed forward
network) dengan menggunakan metode supervised learning.
Model ini merupakan model yang paling sering dipakai dalam
pengembangan sistem neural dan memiliki kinerja yang sangat baik dalam sisi
keakuratan. Model ini mempunyai dua fase dalam pelatihannya yaitu fase
forward dan backward. Cara kerja jaringan ini adalah, setelah input masuk ke
input layer maka data akan diolah dan diteruskan ke masing – masing bagian di
depannya sampai pada output layer. Nilai di output layer akan dibandingkan
dengan nilai target, lalu akan dihasilkan sinyal error bagi masing node di output
layer. Kemudian sinyal ini ditransmisikan kembali (back propagation) dari
lapisan keluaran ke masing – masing sel pada lapisan sebelumnya.
21
Gambar 2.3 Multi Layer Neural Network
Umumnya operasi model jaringan ini terdapat 2 mekanisme kerja yaitu :
1) Mekanisme latihan atau belajar (Training mode / Learning Mode). Pada
mekanisme ini, jaringan akan dilatih untuk dapat menghasilkan data sesuai
dengan target yang diharapkan melalui satu atau lebih pasangan-pasangan
data (data input dan data target). Semakin lama waktu latihan maka kinerja
jaringan akan semakin baik. Demikian juga dengan semakin banyak pasangan
data yang digunakan dalam pelatihan maka kinerja akan semakin baik.
2) Mekanisme produksi (Production Mode) atau biasa disebut dengan mekanisme
pengujian (Try Out Mode), pada mekanisme ini, jaringan diuji apakah dapat
mengenali sesuai dengan apa yang diharapkan, setelah melalui proses
pelatihan terlebih dahulu.
22
2.2.5 Metode Back Propagation
Back propagation merupakan algoritma pembelajaran yang terawasi dan
biasanya digunakan oleh perceptron dengan banyak lapisan untuk mengubah bobot-
bobot yang terhubung dengan neuron-neuron yang ada pada lapisan tersembunyinya.
Algoritma backpropagation menggunakan error output untuk mengubah nilai bobot-
bobotnya dalam arah mundur (backward). Untuk mendapatkan error ini, tahap
perambatan maju (feedforward) harus dikerjakan terlebih dahulu.
Inti dari back propagation adalah untuk mencari error suatu node. Dari hasil
forward phase akan dihasilkan suatu output, dari output tersebut, pastilah tidak sesuai
dengan target yang diinginkan. Perbandingan kesalahan dari target yang diinginkan
dengan output yang dihasilkan disebut dengan error.
Menurut Haykin (1999, p202) back propagation merupakan suatu teknik untuk
meminimalisasi gradient pada dimensi weight dalam jaringan saraf tiruan lapis banyak,
proses pelatihan akan dilakukan berulang-ulang sampai nilai error lebih kecil dari yang
ditentukan.
Dalam proses pelatihan jaringan propagasi balik ini, digunakan fungsi nilai
ambang batas binary sigmoid. Menurut Fausett (1994, p292) sebelum melakukan proses
pelatihan, terdapat beberapa parameter jaringan yang harus ditentukan dahulu, yaitu:
1. Tingkat pelatihan (learning rate) yang dilambangkan dengan Parameter, harus
diberikan dan mempunyai nilai positif kurang dari 1. semakin tinggi nilainya,
maka semakin cepat kemampuan jaringan untuk belajar. Akan tetapi hal ini
kurang baik, karena error yang dihasilkan tidak merata.
23
2. Toleransi kesalahan (error tolerance), semakin kecil kesalahan, maka jaringan
akan memiliki nilai bobot yang lebih akurat, tetapi akan memperpanjang
waktu pelatihan.
3. Jumlah maksimal proses pelatihan yang dilakukan (maximum epoch,)
biasanya bernilai besar dan diberikan untuk mencegah terjadi perulangan
tanpa akhir.
4. Nilai ambang batas atau bias (threshold value), dilambangkan dengan θ .
Parameter ini tidak harus diberikan (optional). Apabila tidak diberikan, maka
nilainya sama dengan 0.
a) Algoritma Proses Training di BackPropagation
Menurut Fausett (1994, p294) berikut ini adalah algoritma pelatihan
jaringan propagasi balik untuk satu hidden layer:
1. Inisialisasi bobot dengan memberikan nilai acak (gunakan nilai acak kecil -
0.5 s/d 0.5)
2. Selama kondisi berhenti false, lakukan langkah 3-9.
3. Untuk setiap pasangan data pelatihan (x_setb,tb) dimana b=1,…l, lakukan -
langkah 4-8.
4. Memulai proses forward, setiap unit input (Xi , i = 1,…,n) menerima sinyal
input xi dan melanjutkannya ke hidden layer, setiap unit tersembunyi (Zj , j
= 1,…p) menjumlahkan sinyal-sinyal input terbobot,
24
gunakan fungsi aktivasi untuk menghitung sinyal outputnya,
dan lanjutkan sinyal ke semua unit di lapisan atasnya (output layer).
5. Setiap unit output (Yk , k = 1,…,m ) menjumlahkan sinyal-sinyal input
terbobot,
gunakan fungsi aktivasi untuk menghitung sinyal outputnya,
dan lanjutkan ke proses backward.
6. Tiap-tiap unit output ( , k = 1,…,m ) menerima pola target yang
berhubungan dengan pola input pembelajaran, hitung informasi error k,
hitung koreksi bobot wjk
Hitung koreksi bias w0k
dan kirimkan nilai informasi error ke lapisan bawahnya.
25
7. Tiap – tiap hidden unit menjumlahkan hasil kali informasi error dengan
weight
Hitung informasi error j
Koreksi bobot vij
Dan koreksi bias v0j
lanjutkan ke tahap peng-update-an weight
8. Setiap unit output (Yk , k = 1,…,m) memperbaiki bobot dan biasnya (j =
0,…,p),
setiap unit tersembunyi (Zj , j = 1,…,p) memperbaiki bobot dan biasnya (i
= 0,…,n),
lanjutkan ke tes kondisi.
9. Tes kondisi, jika true maka training berhenti.
Keterangan:
X = input neuron
26
Z = hidden neuron Y = output neuron f(x) = fungsi aktivasi x_setb = (x1,x2,…,xn) n = jumlah neuron pada input layer l = banyaknya pasangan data pelatihan p = jumlah neuron pada hidden layer k = jumlah neuron pada output layer v = weight lapisan pertama w = weight lapisan kedua z_in = sinyal input untuk hidden neuron y_in = sinyal input untuk output neuron x = sinyal input z = sinyal output / level aktivasi dari hidden neuron y = sinyal output / level aktivasi dari output neuron
28
b) Fungsi Sigmoid
1. Kegunaan Fungsi Sigmoid Biner
Menurut Anderson (1995 p413), Nelson (1990, p108) fungsi Sigmoid
bertujuan untuk menolong sistem untuk mendapatkan output yang
diinginkan. Input yang masuk kedalam neuron tidak hanya dikalikan
dengan weightnya, akan tetapi mereka juga dikalikan dengan ekuisasi
karakter dari suatu neuron atau lebih dikenal dengan istilah transfer
function.
Fungsi Sigmoid adalah suatu non-linear transfer function yang
membantu menyesuaikan output yang diinginkan. Sebuah sifat non-linear
adalah sesuatu yang signifikan, karena jika suatu transfer function bersifat
linear, maka setiap input akan dikalikan dengan proporsi yang sama setiap
kali training. Ini akan mengakibatkan seluruh sistem akan meleset dalam
proses pelatihannya (training-nya). Oleh karena itu, sistem tidak
mendapatkan output yang sudah ada selama menyimpan output yang baru.
Karena itu adalah sifat non – linear dalam suatu sistem yang membantu
mengisolasi path – path input yang spesifik.
2. Fungsi Sigmoid Biner
Yang dimaksud di sini yaitu mencakup fungsi – fungsi yang berbentuk
kurva S. Sebagai contoh yang sering digunakan adalah fungsi logistik.
Fungsi ini memiliki kelebihan dalam melatih neural network terutama yang
menggunakan algoritma Back Propagation. Karena adanya hubungan yang
sederhana antara nilai fungsi pada suatu titik dengan nilai turunannya,
29
sehingga dapat mengurangi biaya komputasi selama pembelajaran sehingga
kompleksitas waktu dapat dipercepat.
Fungsi logistik sigmoid :
dimana a merupakan parameter kecuaraman yang diberikan.
Umumnya nilai a dipilih 1.
Gambar 2.5 Grafik Perbedaan Nilai α
c) Pengaruh Parameter terhadap Unjuk Kerja Back ropagation
Algoritma Back propagation terdiri dari banyak parameter yang sangat
mempengaruhi unjuk kerja prosesnya. Kesalahan dalam menentukan nilai dari
parameternya akan menyebabkan lambatnya atau gagalnya proses training.
Menurut Saludin Muis (hal. 181) berikut hal yang perlu diperhatikan untuk
pemanfaatan algoritma pelatihan Error Back Propagation, antara lain
30
1. Bobot (w atau v) :
Nilai bobot yang terlalu kecil akan menghasilkan nilai keluaran
jaringan syaraf baik ke neuron tersembunyi maupun ke neuron keluaran
mendekati nol. Ini menyebabkan waktu yang panjang untuk proses
pelatihan / pembelajaran.
Sebaliknya, nilai bobot yang terlalu besar akan menghasilkan nilai
keluaran jaringan syaraf baik ke neuron tersembunyi maupun ke neuron
keluaran mendekati daerah kejenuhan fungsi sigmoid sehingga turunan
fungsi sigmoid memberikan nilai sangat kecil.
Nilai inisialisasi bobot awal pada umumnya antara -0.5 sampai 0.5. Di
samping itu, inisialisasi bobot secara dinamis selama proses pelatihan akan
sangat menentukan kecepatan belajar neuron lapisan tersembunyi.
2. Lama proses pelatihan
Pelatihan jaringan syaraf Error Back Propagation ditujukan untuk
memperoleh hasil keluaran (untuk tiap pola masukan) sama dengan pola
asli yang dijadikan sebagai acuan pelatihan. Dengan demikian selama ada
perbaikan nilai kesalahan (kemelesetan antara hasil keluaran jaringan
syaraf dengan nilai target) proses pelatihan akan dilanjutkan. Sebaliknya,
bila nilai kemelesetan membesar maka pelatihan akan dihentikan. Dalam
kasus tertentu yang tidak menuntut tingkat ketelitian tinggi, lama proses
pelatihan ditentukan dati awal misalnya, k kali proses pelatihan (k = 1, 2…
max)
31
3. Banyaknya pola masukan
Ada hubungan antara banyakan pola masukan P yang tersedia untuk
pelatihan dengan banyaknya bobot W yang hendak dilatih dan ketelitian e
yang diharapkan. Misalnya, tingkat ketelitian yang diharapkan e = 0,1
(kesalahan 10%) dan banyaknya bobot yang hendak dilatih 80, maka
banyaknya data pola masukan yang diperlukan adalah 800.
4. Presentasi data
Pada umumnya jaringan syaraf tiruan dapat dilatih dengan data
masukan berupa kontinu atau diskrit (berupa nilai 1 atau 0). Misalnya
parameter suhu, suhu dapat dipresentasikan dalam bentuk nilai kontinu
untuk mencakup seluruh jangkauan dengan satu neuron masukan. Tapi
dapat juga dipresentasikan 1-0 untuk mencakup jangkauan kategori suhu
yaitu panas, suhu ruang, sejuk dan dingin dengan empat neuron. Jaringan
syaraf tiruan lebih mudah dilatih dengan data diskrit daripada data kontinu.
Di samping itu juga perlu menghindari data kontinu dipakai untuk
membedakan jangkauan parameter masukan secara kualitatif seperti
kategori ya-tidak-mendekati.
5. Banyaknya neuron lapisan yang tersembunyi
Banyaknya lapisan neuron yang tersembunyi berkaitan dengan ‘jumlah’
lapisan neuron tersembunyi. Pada umumnya, jaringan syaraf dengan tiga
lapisan neuron yaitu lapisan masukan, laspisan tersembunyi , dan lapisan
keluaran, sudah mampu memberikan tingkat ketelitian yang cukup
memadai. Memperbanyak lapisan neuron tersembunyi diharapkan mampu
meningkatkan ketelitian. Akan tetapi tingkat ketelitian juga dipengaruhi
32
oleh faktor lain seperti banyaknya pola masukan yang akan dipakai untuk
melatih jaringan syaraf dan fungsi aktivasi. Untuk jumlah neuron pada
setiap lapisan, bila jumlah neuron masukan dimisalkan n, neuron
tersembunyi akan berjumlah 2n+1, sedangkan untuk lapisan keluaran
berjumlah m.
2. 3 Interaksi Manusia dan Komputer (IMK)
Interaksi Manusia dan Komputer atau IMK adalah disiplin ilmu yang
berhubungan dengan interaksi antara manusia dan komputer. Interaksi antara manusia
dan komputer terjadi pada user interface. Tujuan dasar dari IMK ini yaitu untuk
meningkatkan interaksi antara manusia dan komputer dengan membuat komputer lebih
user-friendly dan memenuhi kebutuhan user.
Suatu program yang interaktif dan baik harus bersifat user friendly. Shneiderman
(1998, p15) menjelaskan lima kriteria yang harus dipenuhi oleh suatu program yang user
friendly, yaitu :
1. Waktu belajar yang tidak lama.
2. Kecepatan penyajian informasi yang tepat.
3. Tingkat kesalahan pemakaian rendah.
4. Penghafalan sesudah melampaui jangka waktu.
5. Kepuasan pribadi.
Secara spesifik, IMK berhubungan dengan :
• Metodologi dan proses untuk mendesain interface.
• Metode untuk mengimplementasikan interface.
• Teknik untuk evaluasi dan membandingkan interface.
33
• Mengembangkan interface baru dan teknik interaksi.
• Mengembangkan model eskriptif dan prediktif dan teori interaksi.
Tujuan lain dari IMK yaitu untuk mendesain sistem yang meminimalisasikan
penghalang antara model kognitif manusia mengenai apa yang ingin mereka capai dan
pengertian komputer akan tugas yang diberikan manusia. Berikut adalah prinsip-prinsip
perancangan antarmuka :
Prinsip 1 : Kenali perbedaan
Dalam perancangan antarmuka harus mengenali jenis pemakai. Ada 3 jenis
pemakai yaitu :
a. Novice (first-time user) : konsep tugas dan antarmuka dangkal.
Perancangannya harus membatasi jumlah pilihan, memberikan umpan balik
yang informatif, manual, dan tutorial online yang efektif.
b. Knowledgeable user : konsep antarmuka luas namun sulit mengingat
sintaktik. Perancangannya yaitu struktur menu yang rapi, konsistensi,
kejelasan antarmuka yang jelas, perlindungan dari bahaya karena eksplorasi
fitur.
c. Expert frequent users : sudah terbiasa dengan konsep dan sintaksis.
Perancangannya secara makro, ada penggunaan shortcut dan singkatan.
Prinsip 2 : Gunakan delapan aturan emas perancangan interface
Ada delapan aturan emas dalam merancang antar muka pemakai (Schneiderman,
1998, pp72-73), yaitu:
a. Berusaha keras untuk konsisten.
34
Aturan ini yang paling sering dilanggar, tetapi jika mengikuti aturan ini
maka akan menjadi lebih rumit karena terdapat banyak bentuk dari
konsistensi. Urutan aksi harus selalu konsisten dalam setiap situasi yang
sama; baik dalam penggunaan istilah pada menu-menu dan layar bantuan;
serta konsisten dalam penggunaan warna, tampilan, huruf besar, jenis huruf,
dan sebagainya.
b. Memungkinkan frequent users menggunakan shortcuts.
Dengan adanya peningkatan dalam penggunaan shortcut dapat mengurangi
jumlah interaksi dan meningkatkan kecepatan tampilan.
c. Memberikan umpan balik (feed back) yang informatif.
d. Merancang dialog untuk menghasilkan keadaan akhir (sukses atau selesai).
e. Memberikan penanganan kesalahan yang sederhana.
Jika memungkinkan, sistem yang dirancang tidak membuat user melakukan
kesalahan yang serius. Apabila user melakukan kesalahan, sistem harus
dapat mendeteksi kesalahan serta memberikan instruksi sederhana dan
spesifik agar user dapat melakukan perbaikan.
f. Mengizinkan pembalikan aksi (undo) dengan mudah.
Jika memungkinkan, aksi harus bisa dibalik. Hal ini dapat mengurangi
kegelisahan user, karena kesalahan yang dilakukan oleh user dapat
diperbaiki.
g. Mendukung pusat kendali internal.
Untuk mendukung user agar lebih berinisiatif dalam melakukan aksi
daripada menunggu respon dari sistem untuk melakukan aksi.
35
h. Mengurangi beban ingatan jangka pendek.
Keterbatasan manusia memproses informasi dengan ingatan jangka pendek
mengharuskan tampilan yang dihasilkan harus sederhana. Tampilan halaman
yang banyak dapat digabungkan, frekuensi window-motion dikurangi, dan
waktu latihan yang cukup untuk pengkodean, dapat membantu ingatan dan
melakukan urutan-urutan aksi.
Prinsip 3 : Cegah kesalahan
a. Membetulkan pasangan yang bersesuaian.
Menempatkan tanda pembuka dan penutup dalam suatu aksi dan
mengingatkan jika tanda penutup belum dipasang.
b. Melengkapi urutan aksi.
Memungkinkan penggabungan aksi-aksi menjadi suatu aksi baru dan juga
melakukan aksi-aksi yang tergantung aksi lain secara otomatis.
c. Membetulkan perintah.
Mengenali kekurangan perintah dan membetulkannya serta memberikan
pilihan sebagai pengganti mengetik.
2.4 Software
2.4.1 Dasar Perancangan Software
Menurut Pressman (2002, p10) perangkat lunak adalah:
1) Perintah (program komputer) yang bila dieksekusi akan memberikan fungsi dan
unjuk kerja seperti yang diinginkan.
36
2) Struktur data yang memungkinkan program memanipulasi informasi secara
proposional, dan
3) Dokumen yang menggambarkan operasi dan kegunaan program.
Salah satu cara perancangan perangkat lunak adalah dengan menggunakan model
air terjun (waterfall model). Menurut Sommerville (1995), tahap-tahap utama dalam
model air terjun dapat digambarkan dalam aktifitas dasar pengembangan seperti berikut
ini
1. Analisis dan penentuan kebutuhan
Tugas, kendala, dan tujuan sistem ditentukan melalui konsultasi dengan
pengguna sistem kemudian ditentukan cara yang dapat dipahami baik oleh
pengguna maupun staf pengembang.
2. Desain sistem dan perangkat lunak
Proses desain sistem terbagi dalam kebutuhan perangkat keras dan perangkat
lunak. Hal ini menentukan arsitektur perangkat lunak secara keseluruhan.
Desain perangkat lunak mewakili fungsi sistem perangkat lunak dalam suatu
bentuk yang dapat ditranformasikan ke dalam satu atau lebih program yang
dapat dieksekusi.
3. Implementasi dan pengujian unit
Dalam tahap ini, desain perangkat lunak direalisasikan dalam suatu himpunan
program atau unit-unit program. Pengujian unit mencakup kegiatan verifikasi
terhadap setiap unit sehingga memenuhi syarat spesifikasinya.
4. Integrasi dan pengujian sistem
Unit program secara individual diintegrasikan dan diuji sebagai satu sistem
yang lengkap untuk memastikan bahwa kebutuhan perangkat lunak telah
37
terpenuhi. Setelah pengujian, sistem perangkat lunak disampaikan kepada
pengguna.
5. Pengoperasian dan pemeliharaan
Secara normal, walaupun tidak perlu, tahap ini merupakan fase siklus hidup
yang terpanjang. Sistem telah terpasang dan sedang dalam penggunaan.
Pemeliharaan mencakup perbaikan kesalahan yang tidak ditemukan dalam
tahap-tahap sebelumnya, meningkatkan implementasi unit-unit sistem dan
mempertinggi pelayanan sistem sebagai kebutuhan baru yang ditemukan.
Gambar 2.6 Model Air Terjun
2.4.2 Software Testing
Pengetesan software adalah proses yang digunakan untuk mengidentifikasikan
kelengkapan, keamanan, kualitas, dan bebas kesalahan dalam pengembangan software.
38
Secara garis besar, teknik pengetesan software dapat diklasifikasikan dalam dua
bagian besar yaitu teknik black box dan white box.
Teknik black box juga dikenal sebagai functional testing yaitu teknik pengetesan
software dimana orang yang akan mengetesnya tidak mengetahui cara kerja internal dari
software tersebut. Biasanya teknik ini digunakan untuk mengetes :
• Validitas fungsional dari software.
• Persyaratan (requirement).
• Hasil (output).
Teknik white box biasanya digunakan oleh orang yang dapat membaca dan
menulis bahasa pemrograman. Tujuan teknik ini adalah untuk memastikan bahwa semua
pernyataan dan kondisi telah dieksekusi minimal sekali.
2.5 Anamoli SST dan SOI
Iklim merupakan salah satu komponen ekosistem alam, sehingga kehidupan
manusia sangat dipengaruhi oleh keadaan iklim. Iklim muncul setelah berlangsung suatu
proses fisik dan dinamis yang kompleks yang terjadi di atmosfer bumi. Belakangan ini
isu tetang perubahan iklim semakin menghangat seiring dengan semakin seringnya
terjadi cuaca ekstrim akibat anomali iklim. iklim global akan diuraikan berdasarkan dua
indikator yaitu :
1. Anomali suhu muka laut (sea surface temperature/SST)
2. Indeks osilasi selatan (southern oscilation index/SOI).
39
2.5.1 Definisi Anamoli Sea Surface Temperature (SST)
Anomali Sea Surface Temperature (SST) merupakan tinjauan terhadap suhu
permukaan air laut di daerah samudra pasifik. Suhu permukaan air laut di samudra
pasifik bisa mejadi bagian yang sangat penting dalam membangkitkan fenomena El
Nino dan La Nina yang terjadi di Indonesia.
2.5.2 Definisi SOI
Nilai SOI (Southern Oscillation Index) atau Indeks Osilasi Selatan merupakan
nilai perbedaan antara tekanan atmosfer di atas permukaan laut di Tahiti (Pasifik timur)
dengan tekanan atmosfer di Darwin (pasifik barat) akibat dari perbedaan temperatur
pemukaan laut di kedua wilayah tersebut. Nilai SOI dapat dijadikan patokan terjadinya
fenomena El Nino dan La Nina. Suatu keadaan dapat dikatakan telah terjadi El Nino
apabila nilai SOI berada dalam posisi minus dalam jangka waktu lebih dari 6 bulan dan
begitu sebaliknya untuk menyatakan telah terjadi kejadian La Nina. Semakin negatif
nilai SOI berarti semakin kuat kejadian panas (warm event), sebaliknya semakin positif
nilai SOI semakin kuat kejadian dingin (cold event) (Effendy, 2001).
El-Nino adalah istilah yang digunakan untuk mendeskripsikan munculnya arus
air laut yang panas dari waktu ke waktu di kawasan Laut Pasifik bagian timur equator
sampai kawasan pantai Peru dan Ekuador. Istilah La-Nina merujuk kepada munculnya
arus laut dingin (lebih dingin dari kondisi ratarata) di bagian tengah dan timur ekuator
Laut Pasifik (kebalikan dari El-Nino) (Effendy, 2001).
40
2.6 Normalisasi
Dalam penggunaanya didalam program, terdapat 6 buat parameter yang
digunakan, diantaranya, no bulan yang akan diuji, nilai curah hujan yang akan
diprediksi, nilai dari anomali SST dan nilai SOI. Karena nilainya memiliki karakteristik
yang berbeda beda, maka harus dilakukan normalisasi atau penyamarataan nilai agar
dapat dengan mudah dimasukkan ke dalam program untuk pembuatan model.
Normalisasi atau penyamarataan nilai yang akan dilakukan diantaranya :
a. Normalisasi no bulan : untuk melakukan normalisasi bulan dilakukan dengan
menggunakan perhitungan :
b. Normalisasi Curah Hujan : untuk melakukan normalisasi curah hujan
dilakukan dengan perhitungan :
Dalam hal ini data trainingnya merupakan data stasiun cuaca baros thn 1990
– 2002
c. Normalisasi Anomali SST : untuk melakukan normalisasi AnomaliSST
dilakukan dengan perhitungan
Dalam hal ini data trainingnya merupakan data Anomali SST dari tahun
1990-2002