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 nilainilai 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 dan digunakan untuk menyimpan pengetahuan yang diperoleh.
weights,
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 masingmasing 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 bobotbobot yang terhubung dengan neuron-neuron yang ada pada lapisan tersembunyinya. Algoritma backpropagation menggunakan error output untuk mengubah nilai bobotbobotnya 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 Y f(x) x_setb n l p k v w z_in y_in x z y
= hidden neuron = output neuron = fungsi aktivasi = (x1,x2,…,xn) = jumlah neuron pada input layer = banyaknya pasangan data pelatihan = jumlah neuron pada hidden layer = jumlah neuron pada output layer = weight lapisan pertama = weight lapisan kedua = sinyal input untuk hidden neuron = sinyal input untuk output neuron = sinyal input = sinyal output / level aktivasi dari hidden neuron = sinyal output / level aktivasi dari output neuron
27
Gambar 2.4 Diagram Alir pada Algoritma Pelatihan Backpropagation
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
41
d. Normalisasi SOI : untuk melakukan normalisasi SOI dilakukan dengan perhitungan :
Dalam hal ini data trainingnya merupakan data SOI dari tahun 1990 - 2002