II-1
Bab ini merupakan bab yang akan menjelaskan mengenai landasan teori dari topik tugas akhir. Beberapa landasan teori tersebut yaitu :
2.1 Peramalan (forecasting)
Forecasting adalah peramalan (perkiraan) mengenai sesuatu yang belum
terjadi. Dalam ilmu pengetahuan sosial segala sesuatu itu serba tidak pasti, lain halnya dengan ilmu-ilmu eksakta. Jumlah penduduk, pendapatan perkapita, volume penjualan perusahaan, konsumsi dan sebagainya itu selalu berubah- ubah, dan perubahan ini dipengaruhi oleh faktor-faktor yang sangat kompleks. Misalnya kebudayaan masyarakat sekitarnya, penghasilan keluarga, keadaan pribadi dan sebagainya. Oleh karena itu perubahan hal-hal tersebut di atas sukar untuk ditentukan sebelumnya secara pasti. Dalam hal ini kita perlu mengadakan
forecast.
Di atas telah dijelaskan bahwa hal-hal dalam ilmu sosial itu serba tidak pasti, sukar diperkirakan secara tepat. Didalam forecasting kita selalu bertujuan agar
forecast yang kita buat bisa meminimumkan pengaruh ketidakpastian ini terhadap
perusahaan. Dengan kata lain forecasting bertujuan mendapatkan forecast yang bisa meminimumkan kesalahan meramal, (forecast error) yang biasanya diukur dengan mean squared error, mean absolute error dan sebagainya. [6]
2.2 Time Series
Time series atau deret berkala merupakan “data statistik yang disusun
berdasarkan urutan waktu”. Adapun analisis deret berkala itu sendiri menurut Thomas Herbert Wonnacott merupakan “suatu alat yang dapat digunakan untuk mengetahui kecenderungan suatu nilai dari waktu ke waktu, serta alat analisis yang dapat diterapkan guna memprediksi nilai suatu variabel pada kurun waktu tertentu”. Dalam hal ini, kurun waktu yang dimaksud bisa saja berupa tahun, bulan, kuartal, minggu, catur wulan, dan sebagainya. Bagaimana data statistik yang disusun
berdasarkan urutan waktu bisa tercipta, hal tersebut merupakan hasil interaksi beberapa faktor, misalnya kegiatan perekonomian, faktor budaya, dinamika sosial serta politik, dan pengaruh siklus alam.
Tentang wujud deret berkala ini, kita bisa memberikan ilustrasi contoh berupa data mengenai jumlah sepeda motor yang berhasil dipasarkan oleh PT Rising Star Motor Company, suatu perusahaan yang bergerak dalam bidang usaha penjualan berbagai merek kendaraan bermotor di kota Yogyakarta. Data mengenai jumlah penjualan sepeda motor disusun secara runtut dari tahun 1990 hingga 2000.
Tabel 2.1
PT Rising Star Motor Company
Jumlah Sepeda Motor yang Berhasil Dipasarkan dari Tahun 1990 hingga 2000
Bila data mengenai jumlah sepeda motor yang berhasil dijual oleh PT Rising Star Motor Company tersebut digambarkan dalam suatu grafik dimana kutub horizontal (X) menunjukkan tahun sedangkan kutub vertical (Y) merupakan representasi dari jumlah unit sepeda motor yang terjual, maka tampilannya adalah seperti yang tampak di bawah ini:
Tahun Jumlah Sepeda Motor Terjual
1990 126 1991 129 1992 148 1993 136 1994 149 1995 154 1996 160 1997 153 1998 157 1999 200 2000 195
Gambar 2.1 Grafik Penjualan Sepeda Motor
Deret berkala itu sendiri nantinya akan dibedakan menjadi empat komponen variasi, yaitu tren sekular (secular tren), variasi musiman (seasonal variation), variasi siklis (cyclical variation), dan variasi tak beraturan (irregular variation). Apabila dinotasikan, hubungan antara keempat komponen variasi deret berkala adalah sebagai berikut:
A = T x S x C x I (2-1)
Dimana A adalah nilai data aktual, T adalah tren sekular, S adalah variasi musiman, C adalah variasi siklis, sedangkan I adalah variasi yang tak beraturan.[7]
Pola data dapat dibedakan menjadi empat jenis siklis (cyclical) dan trend. Berikut pola data tersebut.
1. Pola horizontal (H)
Terjadi bilamana data berfluktuasi di sekitar nilai rata-rata yang konstan. (Deret seperti itu adalah “stasioner” terhadap nilai rata-ratanya). Suatu produk yang penjualannya tidak meningkat atau menurun selama waktu tertentu termasuk jenis ini. Demikian pula, suatu keadaan pengendalian kualitas yang menyangkut pengambilan contoh dari suatu proses produksi kontinyu yang secara teoritis tidak mengalami perubahan juga termasuk jenis
ini. Gambar 2.2 menunjukkan suatu pola khas dari data horizontal atau stasioner seperti itu.[8]
Y
Waktu
Gambar 2.2 Pola Data Horisontal
2. Pola Musiman (S)
Terjadi bilamana suatu deret dipengaruhi oleh faktor musiman (misalnya kuartal tahun tertentu, bulanan, atau hari-hari pada minggu tertentu). Penjualan dari produk seperti minuman ringan, es krim dan bahan bakar pemanas ruang semuanya menunjukkan jenis pola ini. Untuk pola musiman kuartalan, datanya mungkin serupa dengan gambar 2.3. [8]
Y
1979 1980 1981 1982 Waktu
Gambar 2.3 Pola Data Musiman S S F W S S F W S S F W
3. Pola Siklis (C)
Terjadi bilamana datanya dipengaruhi oleh fluktuasi ekonomi jangka panjang seperti yang berhubungan dengan siklus bisnis. Penjualan produk seperti mobil, baja, dan peralatan utama lainnya menunjukkan jenis pola ini seperti ditunjukkan pada gambar 2.4. [8]
Y
Waktu
Gambar 2.4 Pola Data Siklis
4. Pola Trend (T)
Terjadi bilamana terdapat kenaikan atau penurunan sekuler jangka panjang dalam data. Penjualan banyak perusahaan, produk bruto nasional (GNP) dan berbagai indikator bisnis atau ekonomi lainnya mengikuti suatu pola trend selama perubahannya sepanjang waktu. Gambar 2.5 menunjukkan salah satu pola trend seperti itu. [8]
Y
Waktu
2.3 Curah Hujan (Presipitasi)
Pengertian presipitasi mencakup air dalam bentuk cair dan padat (es) yang turun dari awan. Presipitasi dapat berbentuk hujan, gerimis, salju, dan batu es. Di Indonesia hujan jauh lebih sering dijumpai maka hujan lebih diartikan sebagai endapan dalam bentuk air.
Curah hujan diukur dalam inci atau millimeter, jika suatu daerah pada suatu hari memiliki curah hujan sebesar 1 milimeter, berarti ketinggian endapan hujan tersebut, jika tidak meresap ke dalam tanah atau diusapkan ke atmosfer, akan mencapai ketinggian 1 mm. Tentu saja kondisi tersebut hanya terjadi jika ditampung pada sebuah alat ukur hujan. Di lapangan, air hujan akan meresap atau diusapkan ke atmosfer sehingga ketinggiannya tidak akan mencapai 1 mm. [9]
Untuk mengukur curah hujan digunakan rain gauge atau alat penangkap hujan. Jumlah curah hujan atau salju yang tertampung dalam rain gauge diukur dalam satuan inci atau mm/ satuan waktu (jam atau hari) pada suatu lokasi dan waktu tertentu. Rain gauge berbentuk silinder dan terbuat dari logam tahan karat, fiberglass, atau plastik dengan ukuran standar yang sudah ditentukan berdasarkan ketentuan regional maupun internasional. [10]
Untuk intensitas hujan, mengacu pada standar Internasional (WMO) adalah sebagai berikut :
Tabel 2.2 Intensitas Hujan [11]
Kriteria Hujan Intensitas per Jam Intensitas per Hari Sangat ringan < 0.1 mm <5.0 mm
Ringan 0.1 – 5.0 mm 5.0 – 20 mm
Sedang / normal 5.0 – 10 mm 20 – 50 mm
Lebat 10 – 20 mm 50 – 100 mm
Sangat lebat >20 mm >100 mm
Curah hujan merupakan unsur meteorologi yang mempunyai variasi yang besar dalam skala ruang dan waktu sehingga paling sulit untuk diprediksi. Disisi lain, informasi curah hujan menjadi sangat penting karena dibutuhkan oleh berbagai aspek
kehidupan, terutama dalam perencanaan pertanian, transportasi, perkebunan, hingga untuk peringatan dini bencana alam, banjir/longsor serta kekeringan.(Parwati, Suwarsono, Kusumaning Ayu DS, Mahdi Kartasamita, 2009)
2.4 Artificial Neural Networks
Artificial Neural Networks (ANN) awalnya mendapat inspirasi dari sistem
jaringan saraf tiruan makhluk hidup. Observasi bahwa sistem belajar dari makhluk hidup terutama manusia terdiri dari jaringan yang sangat kompleks yang terdiri dari neuron yang saling terhubung telah memberi inspirasi ini. Dalam ANN, jaringan saraf makhluk hidup ingin ditiru susunannya. ANN muncul sebagai alternative pendekatan konvensional yang biasanya kurang fleksibel terhadap struktur masalah.
Ada beberapa karakteristik kemampuan otak manusia: 1. Mengingat
2. Menghitung 3. Mengeneralisasi 4. Adaptasi
5. Konsumsi energi yang rendah
Diharapkan ANN yang meniru cara kerja otak manusia mempunyai kemampuan seperti diatas. Komputer digital mampu mengalahkan kemampuan otak manusia dalam hal kemampuan menghitung angka. Tapi manusia mampu melakukan kerja yang sangat susah dilakukan komputer seperti mengenali orang secara cepat di lingkungan yang ramai hampir tanpa usaha yang keras. ANN berusaha meniru struktur/arsitektur dan cara kerja otak manusia sehingga mampu menggantikan beberapa pekerjaan manusia. Pekerjaan seperti mengenali pola (pattern recognition), prediksi, klasifikasi, pendekatan fungsi, optimasi adalah pekerjaan-pekerjaan yang diharapkan bisa diselesaikan dengan ANN.
ANN mempunyai beberapa kelemahan yaitu:
1. Ketika menangani jumlah variabel yang besar karena kerumitan perhitungan meningkat secara drastis.[12]
2. Sifatnya yang tersembunyi karena banyaknya hubungan node, maka tidaklah praktis untuk mencetak dan menganalisis model jaringan saraf tiruan yang besar. Timbul kesulitan ketika kita ingin memakai model yang dibentuk menggunakan satu sistem dan menjalankannya menggunakan sistem yang lain. Oleh karena itu, data baru harus dimasukkan ke dalam sistem dimana model jaringan saraf tiruan itu dibentuk untuk diterapkan pada kasus yang baru. Jadi hamper mustahil untuk menerapkan model jaringan saraf tiruan di luar sistem dimana model tersebut dibentuk. [12]
ANN mempunyai beberapa kelebihan yaitu:
1. Kemampuan menyelesaikan pekerjaan prediksi yang polanya nonlinear. 2. Waktu penyelesaian yang cepat.
3. Robust terhadap missing data.
4. ANN menawarkan kelebihannya dimana bisa mengatasi beberapa persoalan tanpa mengadakan perubahan drastis terhadap modelnya.
Tidak mengherankan banyak pekerjaan dalam dunia nyata dilakukan dengan memanfaatkan ANN seperti dalam dunia nyata dilakukan dengan memanfaatkan ANN seperti dalam peramalan curah hujan, pendeteksian tornado, pendeteksian pemalsuan pemakaian kartu kredit. Ada 3 periode yang menandai perkembangan riset tentang ANN. Pertama, tahun 1940-an dimana McCulloch dan Pitt memulai riset ANN. Dilanjutkan Rosenblatt pada tahun 1960-an ketika dia menemukan teknik perceptron. Disusul dalam periode yang hampir sama Minsky dan Papert membuktikan kelemahan perceptron sederhana yang ditemukan Rosenblatt. Ada banyak sekali jenis-jenis desain neural networks seperti back-propagasi (feed
forward), recurrent network, self organizing map, Bayesian networks dan
Seperti halnya otak manusia, jaringan syaraf juga terdiri dari beberapa neuron, dan ada hubungan antara neuron-neuron tersebut. Neuron-neuron tersebut akan mentransformasikan informasi yang diterima melalui sambungan keluarnya menuju neuron-neuron yang lain. Pada jaringan syaraf, hubungan ini dikenal dengan nama bobot. Informasi tersebut disimpan pada suatu nilai tertentu pada bobot tersebut. Gambar 2.1 menunjukkan struktur neuron pada jaringan syaraf.
∑ Fungsi aktivasi
Output
Gambar 2.6 Struktur neuron jaringan syaraf [13]
Jika kita lihat, neuron ini sebenarnya mirip dengan sel neuron biologis. Neuron-neuron buatan tersebut bekerja dengan cara yang sama pula dengan neuron-neuron biologis. Informasi (disebut dengan: input) akan dikirim ke neuron dengan bobot kedatangan tertentu. Input ini akan diproses oleh suatu fungsi perambatan yang akan menjumlahkan nilai-nilai semua bobot yang datang. Hail penjumlahan ini kemudian akan dibandingkan dengan suatu nilai ambang (threshold) tertentu melalui fungsi aktifasi setiap neuron. Apabila input tersebut melewati suatu nilai ambang trtentu, maka neuron tersebut akan diaktifkan, tapi kalau tidak, maka neuron tersebut tidak akan diaktifkan. Apabila neuron tersebut diaktifkan, maka neuron tersebut akan mengirimkan output melalui bobot-bobot outputnya ke semua neuron yang berhubungan dengannya. Demikian seterusnya.
Pada jaringan syaraf, neuron-neuron akan dikumpulkan dalam lapisan-lapisan
(layer) yang disebut dengan lapisan neuron (neuron layers). Biasanya neuron-neuron
pada satu lapisan akan dihubungkan dengan lapisan-lapisan sebelum dan sesudahnya (kecuali lapisan input dan lapisan output). Informasi yang diberikan pada jaringan syaraf yang akan dirambatkan lapisan ke lapisan, mulai dari lapisan input sampai ke
bobot Input dari neuron-neuron yang lain bobot Output ke neuron-neuron yang lain
lapisan output melalui lapisan yang lainnya, yang sering dikenal dengan nama lapisan tersembunyi (hidden layer). Tergantung pada algoritma pembelajarannya, bisa jadi informasi tersebut akan dirambatkan secara mundur pada jaringan. [13]
Dilihat dari data curah hujan yang tidak linear membuat data ini mempunyai kecocokan dengan salah satu kelebihan pada ANN yaitu kemampuan menyelesaikan pekerjaan prediksi yang polanya nonlinear. Oleh karena itu, ANN dipilih sebagai solusi untuk menyelesaikan permasalahan dalam kasus prediksi curah hujan ini.
2.5 Backpropagation
Backpropagation 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 (forward propogation) harus dikerjakan terlebih dahulu. Pada saat perambatan maju, neuron-neuron diaktifkan dengan menggunakan fungsi aktivasi sigmoid, yaitu:
Arsitektur jaringan backpropagation itu sendiri dapat dilihat pada gambar berikut.
Gambar 2.7 Arsitektur Jaringan Backpropagation
(2-2) X Z1 Y Z2 Zn
Algoritma backpropagation:
1. Inisialisasi bobot (ambil bobot awal dengan nilai random yang cukup kecil). 2. Kerjakan langkah-langkah berikut selama kondisi berhenti bernilai FALSE: a. Untuk tiap-tiap pasangan elemen yang akan dilakukan pembelajaran,
kerjakan:
Feedforward:
1. Tiap-tiap unitinput (Xi, i=1,2,3,…,n) menerima sinyal xi dan meneruskan sinyal tersebut ke semua unit pada lapisan yang ada diatasnya (lapisan tersembunyi).
2. Tiap-tiap unit tersembunyi (Zi, j=1,2,3,…,p) menjumlahkan sinyal-sinyal
input terbobot:
Gunakan fungsi aktivasi untuk menghitung sinyal outputnya:
Dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).
3. Tiap-tiap unit output (Yk, k=1,2,3,…,m) menjumlahkan sinyal-sinyal
input terbobot.
Gunakan fungsi aktivasi untuk menghitung sinyal outputnya:
Dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit outputnya).
(2-3)
(2-4)
(2-4)
Backpropagation
4. Tiap-tiap unit output (Yk, k=1,2,3,…,m) menerima target pola yang berhubungan dengan pola input pembelajaran, hitung informasi errornya:
δk = (tk – yk)f’(y_ink)
kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai wjk):
∆wjk= α δkzj
Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai w0k):
∆w0k = α δk
Kirimkan δk ini ke unit-unit yang ada di lapisan bawahnya.
5. Tiap-tiap unit tersembunyi (Zj, j=1,2,3,…,p) menjumlahkan delta
inputannya (dari unit-unit yang berada pada lapisan di atasnya):
Kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error :
δj = δ_inj f’(y_inj)
kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai vij):
∆vjk= α δj xi
Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai voj):
∆v0j = α δj
6. Tiap-tiap unit output (Yk, k=1,2,3,…,m) memperbaiki bias dan bobotnya (j=0,1,2,…,p):
Wjk(baru)=wjk(lama) + ∆wjk
Tiap-tiap unit tersembunyi (Zj, j=1,2,3,…,p) memperbaiki bias dan bobotnya (i=0,1,2,…,n): Vij(baru) = vij(lama) + ∆vij (2-6) (2-7) (2-8) (2-9) (2-10) (2-11) (2-12) (2-13) (2-14)
b. Tes kondisi berhenti. [14]
2.6 Unified Modelling Language (UML)
Unified Modelling Language adalah bahasa standar yang digunakan untuk
menjelaskan dan menVisualisasikan artifak dari proses analisis dan disain berorientasi obyek. UML menyediakan standar pada notasi dan diagram yang bisa digunakan untuk memodelkan suatu sistem. UML dikembangkan oleh pendekar ‘berorientasi obyek’, yaitu Grady Booch, Jim Rumbaugh, dan Ivar Jacobson. UML menjadi bahasa yang bisa digunakan untuk berkomunikasi dalam perspektif obyek antara user dengan Developer, antara Developer dengan Developer, antara
Developer analisis dengan Developer disain, dan antara Developer disain dengan
Developer pemrograman.
UML memungkinkan Developer melakukan pemodelan secara Visual, yaitu penekanan pada penggambaran, bukan didominasi oleh narasi. Pemodelan Visual
membantu untuk menangkap struktur dan kelakuan dari obyek, mempermudah penggambaran interaksi antara elemen dalam sistem, dan mempertahankan konsistensi antara disiplin dan implementasi dalam pemrograman.
UML menyediakan beberapa notasi dan artifak standar yang bisa digunakan sebagai alat komunikasi bagi para pelaku dalam proses analisis dan disain. Artifak di dalam UML didefinisikan sebagai informasi dalam berbagai bentuk yang digunakan atau dihasilkan dalam proses pengembangan perangkat lunak. Tiga artifak yang penting dalam proses analisis dan disain, yaitu Use case Diagram,
Sequence diagram dan Class diagram beserta notasi yang berhubungan
dengannya. Use case diagram merupakan artifak dari proses analisis, sementara