BAB 2 LANDASAN TEORI
2.1 Pengertian Peramalan Menurut Levine et. al. (2002, p654), peramalan adalah sebuah teknik yang dapat membantu perencanaan untuk kebutuhan masa depan berdasarkan pengalaman atau data masa lalu yang relevan. Menurut Sofjan Assauri (1984, p1), peramalan merupakan kegiatan untuk memperkirakan apa yang akan terjadi pada masa yang akan datang. Menurut Sri Mulyono (2000, p1), peramalan adalah suatu proses memperkirakan secara sistematik tentang apa yang paling mungkin terjadi di masa depan berdasarkan informasi masa lalu dan sekarang yang dimiliki, agar kesalahannya (selisih antara apa yang terjadi dengan hasil perkiraan) dapat diperkecil. Peramalan juga dapat diartikan sebagai usaha memperkirakan suatu perubahan. Agar tidak disalahpahami, peramalan tidak memberi jawaban pasti tentang apa yang akan terjadi. Melainkan dengan peramalan, kita berusaha mencari sedekat mungkin apa yang akan terjadi. Dengan demikian tugas ini masih dalam kapasitas pikiran manusia. Saat ini hampir semua organisasi memerlukan perkiraan masa depan untuk membantu menentukan keputusan terbaik.
12
13 2.2 Kegunaan dan Peran Peramalan Menurut Makridakis, Wheelwright, dan McGee (2000, p229), perencanaan sebagai suatu tugas yang dilakukan sebelum mengambil tindakan. Perencanaan biasanya merupakan pengambilan keputusan yang dilakukan lebih awal, walaupun tidak semua bentuk pengambilan keputusan merupakan perencanaan. Assauri (1984, p2) menerangkan bahwa, dalam usaha untuk mengetahui atau melihat perkembangan di masa depan, peramalan sangat dibutuhkan untuk menentukan kapan suatu peristiwa akan terjadi atau suatu kebutuhan akan timbul apalagi jika perbedaan waktu dalam kegiatan tersebut panjang. Sehingga dapat dipersiapkan kebijakan dan tindakan-tindakan yang perlu dilakukan. Dengan demikan dapat dikatakan bahwa peramalan merupakan dasar untuk penyusunan suatu rencana. Kegunaan peramalan terlihat pada saat pengambilan keputusan. Keputusan yang baik adalah keputusan yang didasarkan atas pertimbangan apa yang akan terjadi pada waktu keputusan itu dilaksanakan. Apabila ramalan dihasilkan kurang tepat, maka keputusan yang diambil pun akan menjadi kurang baik dan tidak akan mencapai hasil yang memuaskan. Oleh karena itu, dalam suatu perusahaan, ramalan dibutuhkan untuk memberikan informasi kepada pimpinan sebagai dasar untuk membuat suatu keputusan dalam berbagai kegiatan seperti: penjualan; permintaan; persediaan produk; dan sebagainya.
14 Dengan meramalkan kejadian yang akan datang, tindakan-tindakan yang akan datang dapat direncanakan dengan matang sehingga dapat mengurangi kerugian atau menambah keuntungan serta dapat mengantisipasi hal-hal yang tidak diinginkan. Dapat dilihat bahwa peramalan memiliki peranan yang sangat penting, baik dalam penelitian, perencanaan, maupun dalam pengambilan keputusan. Tetapi harus tetap diperhatikan, bahwa peramalan memiliki tujuan untuk memperkecil kemungkinan kesalahan. Baik atau tidaknya suatu ramalan sangat tergantung pada unsure atau faktor data dan metode yang digunakan. 2.3 Langkah-langkah Peramalan Kualitas atau mutu dari hasil peramalan yang disusun sangat ditentukan oleh proses pelaksanaan dan penyusunan. Peramalan yang baik adalah peramalan yang dilakukan dengan mengikuti langkah-langkah atau prosedur penyusunan yang baik. Pada dasarnya ada tiga langkah peramalan yang penting, yaitu (Assauri, 1984, p5): 1.
Menganalisis data yang lalu Tahap ini berguna untuk pola yang terjadi pada masa lalu. Analisis ini dilakukan dengan cara membuat tabulasi dari data yang lalu. Dengan tabulasi data, maka dapat diketahui pola dari data tersebut.
2.
Menentukan metode yang akan dipergunakan Masing-masing metode akan memberikan hasil peramalan yang berbeda. Seperti yang telah diutarakan sebelumya, bahwa metode peramalan yang baik adalah
15 metode yang mampu memberikan hasil peramalan yang tidak jauh berbeda dengan kenyataan yang terjadi (nilai penyimpangan yang terkecil). 3.
Memproyeksikan data yang lalu dengan menggunakan metode pilihan dan mempertimbangkan adanya beberapa faktor perubahan. Yang termasuk sebagai faktor-faktor perubahan antara lain: perubahan kebijakan yang mungkin terjadi (termasuk kebijakan pemerintah), perkembangan potensi masyarakat, perkembangan teknologi, penemuan baru, dan perbedaan antara hasil peramalan dengan kenyataan. Dengan memperhatikan faktor-faktor tersebut, maka akan dapat ditentukan hasil
peramalan yang terakhir. Hasil inilah yang nantinya akan dipergunakan sebagai dasar untuk perencanaan dan pengambilan keputusan. 2.4 Pengertian Metode Peramalan Metode peramalan adalah cara memperkirakan secara kuantitatif apa yang akan terjadi pada masa depan berdasarkan data yang relevan pada masa lalu. Oleh karena metode peramalan didasarkan atas data yang relevan pada masa lalu, maka metode peramalan ini dipergunakan dalam peramalan yang objektif. Hal tersebut yang akan menjadi batasan dalam pembahasan metode peramalan dalam penyusunan skripsi ini. Pengertian kata “metode” sendiri adalah cara berpikir yang sistematis dan pragmatis atas pemecahan suatu masalah. Dengan dasar ini, maka metode peramalan merupakan cara memperkirakan apa yang akan terjadi pada masa depan secara sistematis dan pragmatis.
16 Selain itu, metode peramalan juga memberikan cara pengerjaan yang teratur dan terarah, yang memungkinkan penggunaan teknik-teknik lainnya untuk analisis yang lebih maju. Dengan penggunaan teknik-teknik tersebut, diharapkan dapat memberikan tingkat kepercayaan atau keyakinan yang lebih besar, karena dapat diuji dan dibuktikan penyimpangan atau deviasi yang terjadi secara ilmiah. Dari uraian ini, dapat disimpulkan bahwa metode peramalan sangat berguna, karena akan membantu dalam mengadakan pendekatan analisis terhadap tingkah laku atau pola dari data yang lalu. Sehingga dapat memberikan cara pemikiran, pengerjaan, dan pemecahan yang sistematis dan pragmatis, serta memberikan tingkat keyakinan yang lebih besar atas ketepatan hasil ramalan yang dibuat atau disusun. 2.5 Pemilihan Teknik dan Metode Peramalan Menurut Assauri (1984, pp11-14), faktor utama yang mempengaruhi pemilihan teknis peramalan adalah identifikasi dan pemahaman akan pola data historis. Seringkali, pola data tersebut merupakan karakteristik inheren dari kegiatan yang sedang diteliti. Hubungan antar data dengan jangka waktu semakin jelas jika teramati bahwa pola trend adalah merupakan kecenderungan jangka panjang. Sedangkan variasi musiman menunjukkan pola data yang berulang dalam satu tahun. Dalam mengevaluasi teknik-teknik yang dikaitkan dengan pola data, bisa saja diterapkan lebih dari satu teknik untuk data yang sama. Misalnya, teknik-teknik tertentu mungkin lebih akurat dalam memprediksi titik balik, sedangkan lainnya terbutki lebih
17 handal dalam peramalan pola perubahan yang stabil. Bisa juga terjadi beberapa model meramalkan terlalu tinggi (overestimate) atau terlalu rendah (underestimate) dalam situasi tertentu. Selain itu, mungkin juga terjadi bahwa prediksi jangka pendek dari suatu model lebih baik dari model lain yang memiliki prediksi jangka panjang yang lebih akurat. Pemilihan teknik peramalan juga berhubungan dengan tingkat akurasi yang diinginkan, walaupun sulit untuk meyakinkan tingkat akurasi tersebut sebelum mengevaluasi hasil kerja secara seksama. Misalnya, dalam banyak situasi suatu perkiraan kasar tentang pola trend masa datang mampu memberikan proyeksi-proyeksi yang akurat. Untuk memilih teknik peramalan yang tepat secara benar, seorang peramal harus mampu untuk: 1. Mendefinisikan sifat dari masalah yang akan diramalkan. 2. Menjelaskan sifat data/pola data yang akan digunakan. 3. Menjelaskan kelebihan dan keterbatasan teknik peramalan yang akan digunakan. 4. Menentukan beberapa kriteria di mana pemilihan keputusan dapat dibuat. Faktor utama yang mempengaruhi pemilihan teknik peramalan adalah identifikasi dan pemahaman akan pola data historis. Jika pola-pola tersebut diketahui, maka teknikteknik yang mampu digunakan secara efektif dapat ditentukan.
18 2.6 Jenis-jenis Metode Peramalan Secara garis besar, ada dua macam metode peramalan yaitu peramalan parametrik dan peramalan non-parametrik. Perbedaan anatara dua metode ini adalah: pada peramalan parametrik, analisis yang dilakukan tergantung dari parameter yang diperkirakan (estimated parameter) pada model yang dipilih. Sementara pada peramalan non-parametrik, tidak ada parameter yang harus diperkirakan (estimate) terlebih dahulu melalui model tertentu, namun langsung diambil dari data. Contoh peramalan metode parametric adalah model ARIMA dari Box & Jenkins atau dengan model UC (Unobserved Component) dari Harvey. Contoh peramalan metode non-parametrik adalah Moving Average Windows (MAW), Exponential Weighted Moving Average (EWMA) atau lebih dikenal dengan nama Exponential Smoothing, dan Algoritma Holt-Winters. Dalam skripsi ini Penulis hanya akan membahas dan berfokus pada peramalan dengan Metode UC Model. Namun untuk keperluan penelitian, diakhir presentasi sidang nanti, Penulis juga akan menyajikan hasil peramalan dengan menggunakan metode non-parametrik, yang kemudian akan dibandingkan dengan hasil peramalan menggunakan metode UC Model. Dengan demikian, alasan mengapa Penulis mengangkat Metode UC Model sebagai topik skripsi dan perbedaan antara metode parametrik dengan metode non-parametrik menjadi jelas. Sebelum kita masuk ke penjelasan teori UC Model, ada 2 konsep dasar dalam analisis deres waktu (time series analysis) yang tidak boleh dilupakan, yaitu Sample ACF dan Sample PACF. Kedua konsep ini sangat penting melakukan analisis data awal
19 dan akan selalu berguna untuk melihat properti deret waktu (time series properties) pada seperangkat data dan penggunaannya tidak tergantung pada model time series yang akan dipakai. 2.6.1 Sample Auto-correlation Function (SACF) Menurut Assauri (1984, pp129-131), autokorelasi di antara nilai-nilai yang berturutturut dari data merupakan suatu alat penentu atau kunci dari identifikasi pola dasar yang menggambarkan data itu. Seperti telah diketahui bahwa konsep korelasi di antara dua variabel menyatakan asosiasi atau hubungan di antara dua variabel. Nilai korelasi menujukkan apa yang telah terjadi atas salah satu variabel, terdapat perubahan dalam variabel lainnya. Tingkat korelasi diukur dengan koefisien korelasi yang nilainya bervariasi di antara rentang -1 dan +1. Jika nilai koefisien korelasi mendekati +1, berarti ada hubungan positif yang kuat di antara kedua variabel. Dan jika nilai salah satu variabel meningkat/bertambah, maka nilai pada variabel lainnya juga cenderung akan meningkat/bertambah. Demikian pula dengan nilai korelasi yang mendekati -1, menunjukkan
bertambahnya
nilai
salah
satu
variabel
akan
mengakibatkan
turunnya/berkurangnya nilai dari variabel lainnya. Jika nilai koefisien korelasi nol, menunjukkan bahwa kedua variabel secara statistik adalah bebas tidak tergantung satu dengan lainnya, sehingga tidak ada perubahan dalam satu variabel bila variabel lainnya berubah.
20 Suatu koefisien autokorelasi sebenarnya sama dengan koefisien korelasi. Hanya saja, koefisien autokorelasi menggambarkan asosiasi/hubungan antar nilai-nilai variabel yang sama namun pada periode waktu yang berbeda. Autokorelasi memberikan informasi yang penting tentang susunan atau struktur data dan polanya. Dalam suatu kumpulan data acak yang panjang, autokorelasi di antara nilai-nilai data dari ciri musiman atau siklus akan mempunyai pola autokorelasi yang kuat. Dengan mengetahui nilai koefisien autokorelasi dapat diketahui ciri, pola, dan jenis data, sehingga dapat memenuhi maksud untuk mengidentifikasikan suatu model tentatif atau percobaan yang dapat disesuaikan dengan data. Dalam proses estimation di dalam praktek, kita menggunakan SACF karena data time series yang kita punya adalah suatu realisasi dari proses stochastic yang tidak diketahui distribusinya (unkown stochastic process). Menurut Mandrakis (1999, pp399402), sample autokorelasi untuk time-lag 1, 2, 3, 4, … , k dapat dicari dan dinotasikan sebagai berikut: n−k
rk =
∑ (Y t =1
t
− Y )(Yt + k − Y )
n
∑ (Y t =1
t
− Y )2 Persamaan (2.1)
Dengan koefisien autokorelasi dari data acak yang mempunyai sebaran penarikan contoh yang mendekati kurva normal dengan nilai tengah nol dan galat standar ±2/√n.
21 2.6.2 Sample Partial Auto-correlation Function (SPACF) Autokorelasi parsial digunakan untuk mengukur tingkat keeratan (association) antara Yt dan Yt-k, pada k time lag 1,2,3,.., dan seterusnya. SPACF untuk lag h, disingkat dengan notasi rhh, merupakan fungsi dari sampel auto-covariansi γ(0),…, γ(h). Dimana per definisi r00 = 1 dan rhh dengan h > 1 adalah elemen terakhir dari persamaan Yule-Walker ber-order h: Γh r = γh ⇔ r = Γ h -1 γh.
Persamaan (2.2)
Element (i, j) dari matrix Γh berisi γ(|i − j|) untuk i, j = 1 . . . , h. Ini adalah matrix dengan dimensi h × h berdasarkan formasi Toeplitz. Vector γh = (γ(1), γ(2), . . . , γ(h))′, adalah hasil kumpulan perhitungan sample auto-covariansi dengan order h: ∑
Persamaan (2.3)
Ingat bahwa SPACF order 1 (r11) akan selalu sama dengan SACF order 1 (r1). Contoh: SPACF(1):
Γ1 r = γ1, dimana Γ1 = γ(0) dan γ1 = γ(1). Jadi r11 = γ(1)/ γ(0) = SACF(1).
SPACF(2):
Γ
0 1
1 0
r = (r21, r22)’, dan γ2 = (γ(1), γ(2))’. SPACF(2) adalah r22 dari hasil Γ 2 -1 γ2.
SPACF(3):
Γ
0 1 2
1 0 1
2 1 0
22 r = (r31, r32, , r33)’, dan γ3 = (γ(1), γ(2), γ(3))’. SPACF(3) adalah r33 dari hasil Γ 3 -1 γ3. 2.7 Metode UC Model (Unobserved Component Model) Pada bagian ini, Penulis akan memperkenalkan salah satu bentuk pemodelan deret waktu lainnya yang bernama “Pemodelan Deret Waktu Komponen Tak Terobservasi” (Unobserved Component Time Series Model). Ke depannya, pemodelan deret waktu komponen tak terobervasi ini akan dituliskan dengan sebutan “UC Model”. Dan keseluruhan notasi yang akan digunakan pada bagian ini, mengikuti hasil penelitian dari Harvey (1989) dan Durbin & Koopman (2001). Spesifikasi komponen merupakan struktur inti dari pemodelan deret waktu. Oleh sebab itu, Penulis ingin menjabarkan metodologi yang dapat digunakan untuk memahami arti dan pemilihan komponen-komponen tersebut. Itulah mengapa antara satu pemodelan deret waktu dengan pemodelan lainnya dapat memiliki komponen yang berbeda-beda. Karena setiap komponen memiliki arti & fungsinya masing-masing, tergantung dari apa yang dibutuhkan dalam pemodelan deret waktu tersebut. Secara umum, seluruh komponen diasumsikan bersifat acak (stochastic) dan hanya dapat diperkirakan nilainya dengan mengamati perilaku komponen-komponen tersebut di keseluruhan sampel data, bukan hanya di akhir sampel data. Perilaku dari estimasi nilai komponen memberikan informasi apakah proses dekomposisi yang diaplikasikan pada model memang sungguh bermanfaat. Proses dekomposisi yang dimaksudkan pada bagian ini adalah proses yang memecah sampel data berdasarkan pola yang dimiliknya. Apakah sampel data memiliki
23 pola kecenderungan tertentu (trend), atau pola musiman (seasonal), atau pola berulang (cyclical), atau pola acak (irregular). Pemodelan deret waktu komponen tak terobservasi (UC Model) yang dapat digunakan untuk berbagai data set ekonomi, dituliskan dengan notasi sebagai berikut: , di mana
,
,
dan
~
0,
,
1,
, ,
Persamaan (2.4)
mewakili pola kecenderungan tertentu (trend), pola musiman
(seasonal), pola berulang (cyclical), dan pola acak (irregular). Pemodelan komponen trend dan seasonal dilakukan dengan proses acak linear (linear stochastic process) dan gangguan acak (random disturbance). Sementara pemodelan pola berulang (cyclical) dilakukan berdasarkan fungsi acak trigonometri (trigonometric stochastic functionion) yang dipengaruhi oleh faktor penghalus (damping factor, ), frekuensi, dan gangguan acak (random disturbance). Tiap proses memiliki gangguan acaknya sendiri, yang berbeda-beda satu dengan lainnya. Bentuk paling sederhana dari UC Model, yang disebut dengan local level model, didapatkan dari Persamaan (2.4) dengan nilai
dan
bernilai nol untuk semua t dalam
deret waktu. Di model ini gangguan acak (random disturbance,
) bergerak naik dan
turun di sekitar trend data sampel, tanpa arah yang khusus atau spesifik. Di mana trendnya sendiri dapat dituliskan dalam suatu proses gerak acak (random walk process): ,
~
0,
,
1,
, .
Persamaan (2.5)
24 Proses gerak acak (random walk process) meyakini bahwa apa yang terjadi saat ini ditentukan/dipengaruhi oleh apa yang terjadi di masa lampau, ditambah dengan nilai error-nya. Keikutsertaan komponen gerak acak (random walk component) di dalam model menyatakan bahwa bentuk model tidak stasioner. Walau sebenarnya, model sempat bernilai stasioner pada diferensial pertamanya. Terlihat pada persamaan di bawah ini: ,
Δ
2,
, .
Persamaan (2.6)
Dengan menghitung nilai ACF secara teori, terlihat bahwa ∆
ekuivalen dengan
proses MA(1). Dan semua komponen yang terdistribusi menuju normal selalu bersifat stasioner, seperti
~
0,
atau
~
0,
.
Seperti yang sudah kita ketahui bersama, bahwa proses mengubah suatu data/deret waktu jadi stasioner merupakan langkah yang penting. Karena dengan data yang stasioner, diharapkan kita jadi dapat meramalkan periode mendatang dengan lebih tepat. Itulah yang kita alami saat melakukan peramalan dengan metodologi Box dan Jenkins (1970), baik itu dengan AR, MA, ARMA, ARIMA, ataupun SARIMA. Semua metode tersebut cukup bergantung pada uji kestasioneran suatu data. Inilah yang membuat UC Model berbeda dari metode peramalan Box dan Jenkins (1970). Karena di UC Model, mengubah data ke bentuk stationer bukanlah suatu prioritas atau kewajiban yang harus dipenuhi terlebih dahulu bila kita ingin mencari peramalan periode mendatang. Di UC Model, kita sendiri yang menentukan uji apa yang ingin kita teliti. Kita yang menentukan sendiri apakah kita melihat trend pada data/deret waktu yang kita miliki,
25 apakah kita melihat adanya pola seasonal, atau cyclical, atau irregular. Dan tidak ada kata salah, semua dapat dicoba berulang dengan simulasi program hingga mendapatkan suatu hasil peramalan yang paling mendekati data aslinya. Dengan menambahkan slope
pada proses gerak acak (random walk process) di
Persamaan (2.5), kita jadi mendapatkan suatu persamaan baru yang disebut local linear trend model. Adapun persamaan tersebut adalah sebagai berikut: , ,
~
~ 0,
0, ,
,
1, 1,
, ,
Persamaan (2.7)
, ,
Persamaan (2.8)
di mana gangguan acak (random disturbance) pada trend dan slope menyebar menuju normal dan saling tidak mempengaruhi satu sama lainnya, berdasarkan densitas Gaussian dengan rata-rata bernilai nol, varian Penambahan slope
untuk
, dan varian
untuk
.
ditujukan untuk mendorong trend agar bergerak lebih naik
atau lebih turun. Karena jika tidak ada komponen
, maka hasil peramalan metode di
masa mendatang jadi stasioner membentuk suatu garis lurus. Jika
0, maka
untuk semua t. Pernyataan tersebut berlaku untuk
proses jalan acak bergerak (random walk plus drift process) untuk trend 0 juga, maka trend
. Dan jika
bersifat linear deterministik. Hanya dan hanya jika
0,
baru kita mendapatkan suatu model yang disebut dengan model trend halus (smooth trend model) atau proses jalan ajak terintegrasi (integrated random walk process).
26 Untuk menghitung pengaruh variasi seasonal pada deret waktu, komponen seasonal diikutsertakan. Sifat dasar yang membedakan komponen seasonal dengan komponen trend adalah komponen seasonal bernilai nol saat dijumlahkan dari tiap periode deret waktu sebelumnya. Fleksibilitas komponen seasonal sendiri tercapai, pada saat nilai komponen seasonal diijinkan untuk berubah-ubah seiring dengan waktu dan periode. Hal ini dapat diperoleh dengan menambahkan komponen pengganggu (disturbance term) yang memiliki nilai rataan sama dengan nol, sepanjang k efek seasonal di periode yang lampau. Dengan cara ini kita jadi mendapatkan bentuk variabel stokastik dummy (dummy stochastic variable) dari komponen seasonal sebagai berikut: , di mana
~
0,
,
Persamaan (2.9)
adalah operator penjumlahan yang dapat didefinisikan sebagai berikut: 1
.
Persamaan (2.10)
diasumsikan memiliki syarat ekspektasi bernilai nol. Dengan value k bernilai 4 (jika data deret waktu per kuarter) atau bernilai 12 (jika data deret waktu per bulan dalam satu tahun). Jika suatu model telah di-pas-kan (fitted) dengan komponen seasonal, maka penyesuaian optimasi model berdasarkan seasonal dapat dilakukan dengan mengurangi estimasi komponen seasonal
dari deret
.
Karena deret waktu ekonomi seringkali juga bersifat dinamik cyclical, sebuah siklis stokastik berikut:
dapat diikutsertakan ke dalam model dan dispesifikasikan sebagai
27
cos sin
sin cos
,
1,
,
0
1,
0
2 ,
Persamaan (2.11) di mana
adalah frekuensi dari siklis (dalam radian),
dan
adalah 2 komponen
gangguan acak putih (white noice disturbance) yang saling independen, dengan rata-rata nol dan varian
. Sementara
adalah faktor penghalus (damping factor).
Periode siklis dalam kuarter atau bulan (tergantung dari deret waktunya) dapat dihitung dengan persamaan 2 / . Proses yang dinamis ini dapat juga dituliskan sebagai proses ARMA(2,1) dengan perhitungan akar kompleks pada polinomial AR-nya. Proses ARMA(2,1) ini akan menghasilkan pola cyclical di dalam proses ACF untuk Persamaan (2.11), lihat Harvey (1985) untuk keterangan detilnya. Perhatikan bahwa siklis stokastik sama dengan proses AR(1) jika
0 atau
.
Sementara varians dari siklis diberikan dari persamaan:
,
1
Persamaan (2.12)
1
yang berarti
dan mengikuti aturan jika
1 maka
0 , dan
Persamaan (2.11) berkurang menjadi deterministic namun tetap siklis yang stasioner seperti dapat dilihat pada persamaan berikut: cos di mana
dan
sin
,
1,
,
Persamaan (2.13)
adalah dua variabel acak yang saling tidak tergantung satu sama lain
(independen) dengan rata-rata nol dan varians
.
28 2.7.1 Teknik Dasar Analisis State Space Dalam Local Level Model Tujuan sub-subbab ini adalah untuk menelaah lebih dalam mengenai UC Model. Karena fokus skripsi ini terbatas pada pemakaian Local Level Model (jenis UC Model yang paling sederhana), Penulis akan menjelaskan teknik dasar dalam analisis State Space seperi filtering, smoothing, dan peramalan yang diterapkan spesifik untuk Local Level Model. Analisis State Space dalam bentuk umum (General State Space Analysis) tidak termasuk dalam jangkauan skripsi ini. 2.7.1.1 Filtering Tujuan filtering adalah untuk senantiasa memperbaharui pengetahuan kita mengenai data deret waktu yang sedang kita analisis setiap kali ada data (observation) baru yang masuk. Jadi filtering ini adalah gerakan maju (forward recursion) yang akan diperbaharui setiap kali ada data yang baru. Kita akan mulai analisis dari saat t = 1 sampai t = n (akhir data deret waktu). Ingat bahwa asumsi yang digunakan untuk semua distribusi adalah normal (normal distribution assumption). Rekursi filtering yang digunakan oleh Durbin dan Koopman (2001) adalah sebagai berikut:
1 untuk t = 1, …, n. Biasanya kita mulai dengan besar menuju infinity, seperti misalnya 10 ).
Persamaan (2.14) 0 dan
∞ (angka yang sangat
29 dan
Penjelasan simbol:
|
karena kita berasumsi bahwa ;
adalah variance dari update dari
adalah mean dan variance dari state vector ~
,
;
adalah selisih antara
yang merupakan update dari
; dan yang terahir adalah
;
dan
;
yang merupakan
(Kalman gain).
Persamaan-persamaan di atas adalah satu set hubungan rekursi untuk menghitung update satu langkah ke depan, yaitu saat t+1. Langkah filtering ini adalah langkah awal dalam analsis kita menggunakan metode State Space untuk mendapatkan trend dari data deret waktu yang kita miliki.
2.7.1.2 State Smoothing Langkah berikutnya adalah smoothing atau yang bisa disebut langkah rekursi mundur (backward recursion) karena kita mulai dari akhir dataset (saat t = n) menuju ke awal dataset (saat t = 1). Setelah langkah filtering, kita sekarang melakukan estimasi ,…,
state vector
dalam langkah ini adalah menghitung
dan
’ untuk seluruh sampel data. Variabel yang terpenting (smoothed state) dan
(smoothed state variance). Cara
diberikan sebagai berikut:
1 Persamaan (2.15) untuk
, … ,1 dan kita mulai dengan Ingat bahwa
,
dan
0 dan
0.
telah dihitung saat melakukan filtering di persamaan
(2.14). Setelah mendapatkan hasil estimation untuk dalam data deret waktu menurut local level model.
,…,
kita dapatkan final trend di
30 2.7.1.3 Peramalan (Forecasting) Definisikan
sebagai minimum mean square error (MMSE) forecast untuk ,…,
. Jika kita punya data deret ukur
untuk
1,2, … , , dengan J adalah
bilangan bulat yang positif, variansi dari forecast error didefinisikan sebagai
.
Teori peramalan untuk local level model ternyata mudah sekali. Kita hanya membutuhkan ,…,
,
persamaan ,…,
filter
(2.14),
kemudian
terapkan
pada
data
dengan mengasumsikan data saat J terakhir hilang. Peramalan
j-periode ke depan akan diberikan dengan persamaan berikut: ,
,
,
dengan
,
dan
menggunakan
0 dan
1, … ,
1
1, … ,
Persamaan (2.16) Persamaan (2.17)
dihasilkan oleh Kalman filter (2.14) 0 untuk
1, … ,
.
2.7.2 Estimasi Parameter (Parameter Estimation) Di sub-subbab ini Penulis akan menjelaskan cara pengepasan (fitting) local level model terhadap data deret waktu dari segi pandang statistik klasik. Parameter dalam state-space models secara umum sering disebut hyperparameters. Dalam local level models, hyperparmeters ini terdiri dari
dan
. Keduanya harus diestimasi untuk
mendapatkan trend dan peramalan dengan hasil yang optimal. Untuk mengestimasi hyperparameters ini, kita memerlukan sebuah fungsi yang dapat dioptimalisasi dengan cara penurunan numerik (numerical derivative). Fungsi ini kita sebut dengan Fungsi Log-likelihood dan dapat dihitung berdasarkan distribusi normal.
31 2.7.2.1 Evaluasi Log-Likelihood (Log-Likelihood Evaluation) Fungsi log-likelihood untuk local level model dapat dikonstruksi dengan mudah melalui Persamaan (2.14). Karena kita menggunakan inisialisasi menghilangkan pengaruh
∞, kita dapat
dengan mendefinisikan diffuse log-likelihood sebagai
berikut dan memulai penghitungan dari t = 2:
log
∑
log 2
log
Persamaan (2.18)
2.7.2.2 Konsentrasi Log-Likelihood (Log-Likelihood Concentration) Sering kali pengoptimalisasian fungsi log-likelihood sangat sulit dilakukan, kecuali jika kita dapat membeli software profesional yang memang dibuat untuk menghitung rumus-rumus di atas. Dengan peralatan yang terbatas seperti dalam skripsi ini, Penulis akan sangat diuntungkan dalam perhitungan numerik dengan menghilangkan 1 hyperparameter sehingga hanya tinggal tersisa 1 hypermarameter lagi yang harus diestimasi. Untuk local level model yang sedang kita bahas, Penulis membuat batasan /
sehingga model menjadi: ,
~ ,
0, ~
0,
Persamaan (2.19)
Disini kita akan memperkirakan /
dan
/
. Definisikan
dan
yang dihasilkan dari Persamaan (2.14) dan persamaan filtering akan
menjadi sebagai berikut: 1
/
1
Persamaan (2.20)
32 0,
untuk t = 2,…,n dengan harga inisial bahwa
∞,
hanya tergantung dari q dan tidak dari
1 . Perhatikan
dan
. Fungsi log-likelihood (2.18) diatas
jadi diubah dengan log 2
log
∑
log
log
Persamaan (2.21)
Dengan memaksimalisasikan fungsi pada Persamaan (2.21) untuk parameter
,
kita dapatkan perkiraan untuk hyperparameter ini dengan rumus berikut: σ
1 1
. Persamaan (2.22)
Hasil log-likelihood yang didapat dengan mensubstitusikan σ untuk sebagai concentrated diffuse log-likelihood (disingkat log
log
log 2
log
∑
log
.
disebut
)
Persamaan (2.23)
Fungsi log-likelihood terakhir ini hanya tergantung dari 1 parameter, yaitu q (ingat bahwa q ada didalam
), dan dapat dimaksimalisasikan dengan menggunakan
metode optimalisasi numerik untuk parameter 1 dimensi seperti golden section method.
2.7.2.3 Fungsi Likelihood dan Formulasi State Space Secara Umum (General) Bentuk state space menyediakan representasi tunggal dari berbagai model deret waktu Gaussian linear termasuk ARMA & UC Model, lihat contoh dari Harvey (1989), Kitagawa & Gersch (1996), Shumway & Stoffer (2000), dan Durbin & Koopman (2001).
33 1
Bentuk state space Gaussian terdiri dari persamaan transisi untuk state dan persamaan ukur untuk obervasi
vector
dengan
1, . . . , . Formulasi model
ini, seperti pada de Jong (1991), yaitu sebagai berikut: ,
~
, di mana
,
1,
0, ,
Persamaan (2.24)
,
dan
disebut sebagai sitem maktriks state space. Jika sistem matrik
state space bukan berupa deret waktu, maka ,
,
merupakan deret independen dari vector acak distribusi normal standar. ,
Matrik
~
0,
, and
dapat dihilangkan. Contoh:
,
.
Fungsi log-likelihood untuk model state space pada Persamaan (2.24) diberikan sebagai berikut:
log
log
,
log 2
di mana
,
;
∑
log
log |
|
| ,
,
;
,
Persamaan (2.25)
merupakan vektor parameter dari model statistik tertentu yang
direpresentasikan oleh bentuk state space untuk Persamaan (2.24). Inovasi varian dihitung menggunakan filter Kalman untuk vektor
dan
yang sudah diberikan, lihat
Durbin & Koopman (2001, Chapter 4). Sementara untuk detil perhitungan dengan filter Kalman sendiri dapat ditemukan dalam Koopman, Shephard, & Doornik (1999).
34 Varian matrik
dari vektor state inisial
mungkin memiliki elemen yang
tersebar acak (elemen tidak stasioner dengan varian menuju tak hingga) saat komponen tak stasioner diikutsertakan ke dalam
. Dalam kasus ini, metode inisalisasi filter
Kalman menyebar acak berguna untuk mengevaluasi ketepatan atau penyebaran fungsi likelihood, lihat Ansley & Kohn (1985), de Jong (1991), dan Koopman (1997). Optimalisasi fungsi likelihood menyebar acak dilakukan untuk mendapatkan perkiraan parameter likelihood yang paling maksimal. Paket rutin state space SsfPack 3.0 (Koopman, Shephard & Doornik 2008) menawarkan implementasi numerik yang stabil dari perhitungan likelihood menyebar acak yang dibutuhkan. Lebih jauh lagi, kita juga mengaplikasikan optimalisasi algoritma numerik Broyden-Fletcher-GoldfarbShanno (BFGS) dari Fletcher (1987) untuk memaksimalkan nilai fungsi likelihood parameter yang tak diketahui.
2.7.3 Struktur Model Deret Waktu Dalam Formulasi State Space 2.7.3.1 Contoh 1: Local Level Model
di mana
dan
2.7.3.2 Contoh 2: Local Linear Trend Model
35
di mana
dan
2.7.3.3 Contoh 3: Model Struktur Dasar (Basic Structural Model) yang merupakan gabungan dari Local Linear Trend Model ditambah komponen seasonal dengan observasi per kuarter
di mana
dan
2.7.3.4 Contoh 4: Local Level Model + komponen cycle
di mana
dan
.
36 2.7.4 Notasi Rumus Yang Digunakan Pada bagian ini, Penulis merangkumkan rumus-rumus inti yang digunakan dalam penyelesaian masalah yang dibahas pada skripsi ini.
Sample Auto-correlation Function (SACF) n−k
rk =
∑ (Y
t
t =1
− Y )(Yt + k − Y )
n
∑ (Y t =1
t
− Y )2
rk
= notasi Sample Auto-correlation Function (SACF)
Yt
= data observasi dari t = 1, 2, …, n
Y
= rata-rata (mean) data observasi
Metode UC Model (Unobserved Component Model) , Yt
= data observasi dari t = 1, 2, …, n = pola kecenderungan (trend) = pola musiman (seasonal) = pola berulang (cyclical) = pola acak (irregular)
~
0,
,
1,
, ,
37 Local Level Model Bentuk paling sederhana dari Metode UC Model, yang merupakan fokus dalam skripsi ini. ,
~ ,
Yt
0, ~
0,
,
1, ,
1,
, , , .
= data observasi dari t = 1, 2, …, n = pola kecenderungan (trend) = pola acak (irregular) = komponen gerak acak (random walk component) = nilai error dari komponen gerak acak
State Filtering
1 = mean dari state vector
= update dari
= variance dari state vector
= update dari
= selisih antara
= Kalman gain
variance dari
dan
38 Konsentrasi Log-Likelihood (Log-Likelihood Concentration)
σ
σ
1 1
= hyperparmeters dari n ⎞ 1⎛ log Ldc = − ⎜ n log(2π ) + (n −1) + (n −1)log σˆ ε2 + ∑ log Ft* ⎟ 2⎝ ⎠ t= 2
log
= concentrated diffuse log-likelihood
State Smoothing 1
= smoothed state = smoothed state variance = rekursi mundur (backward recursion) = variance dari
2.7.5 Deret Waktu (Time Series) Data time series adalah data yang dikumpulkan, dicatat, atau diobservasi berdasarkan urutan waktu yang secara umum bertujuan untuk menemukan bentuk pola
39 variasi dari data di masa lampau dan menggunakan pengetahuan ini untuk melakukan peramalan terhadap sifat-sifat dari data di masa yang akan datang (Rosadi, 2005, p16). Peramalan dengan menggunakan analisis deret waktu, mendasarkan hasil ramalan yang disusun atas pola hubungan antara variabel yang dicari atau diramalkan dengan variabel waktu yang merupakan satu-satunya variabel yang mempengaruhi atau bebas. Dalam peramalan deret waktu, dilakukan usaha untuk menemukan pola deret data historis dan kemudian mengekstrapolasikan pola tersebut untuk masa yang akan datang. Suatu langkah yang penting dalam proses pemilihan metode analisis deret waktu adalah mempertimbangkan pola yang terdapat dari data observasi (Assauri, 1984, p45).
2.8 Konsep Dasar Rekayasa Piranti Lunak ( Software Engineering ) 2.8.1 Pengertian Rekayasa Piranti Lunak Menurut Fritz Bauer (Pressman, 2001, p19), pengertian rekayasa piranti lunak adalah penetapan dan pemakaian prinsip-prinsip rekayasa dengan tujuan mendapatkan piranti lunak yang ekonomis, terpercaya, dan bekerja efisien pada mesin yang sebenarnya (komputer).
2.8.2 Paradigma Rekayasa Piranti Lunak Menurut Pressman (2001, p19), piranti lunak telah menjadi elemen kunci dari evolusi computer-based system dan computer product. Selama lebih dari empat decade terakhir, piranti lunak telah berkembang dari sebuah pemecahan berorientasi permasalahan dan alat analisis informasi menjadi sebuah industry sendiri. Namun kebiasaan pemrograman awal dan sejarah telah dengan sendirinya menciptakan
40 sekumpulan masalah yang hingga kini masih ada. Piranti lunak telah menjadi faktor pembatas dalam evolusi computer-based system. Berangkat dari itulah dikembangkan metode yang menyediakan framework untuk membangun piranti lunak dengan kualitas yang lebih tinggi. Masih menurut Pressman (2001, p23), rekayasa piranti lunak merupakan: •
Studi pendekatan untuk pengaplikasikan secara sistematis.
•
Pendekatan terukur untuk pengembangan operasi.
•
Pemeliharaan dari sebuah piranti lunak. Dalam penulisan skripsi ini, Penulis menggunakan The Classic Life Cycle / Linear
Sequential Model / Waterfall Model sebagai acuan rekayasa piranti lunak. Menurut Pressman (2001, p28), Waterfall Model menyarankan pendekatan yang sistematik dan berurutan dalam pengembangan piranti lunak. Model ini meliputi serangkaian aktivitas:
a.
Rekayasa dan Pemodelan Sistem Karena piranti lunak merupakan sebuah bagian dari sistem yang besar, maka yang perlu dilakukan pertama kali adalah menetapkan kebutuhan untuk seluruh elemen sistem dan mengalokasikan sebagian dari kebutuhan tersebut ke piranti lunak.
b.
Analisis Kebutuhan Piranti Lunak Untuk dapat mengerti inti dari program yang dibangun, diperlukan pengertian akan informasi yang diperlukan oleh piranti lunak.
41 c c.
Pera ancangan Prosees perancangan mentterjemahkan syarat/kebbutuhan ke dalam seebuah repreesentasi softtware yang dapat diperrkirakan dem mi kualitas sebelum dim mulai pemu unculan kodde.
d d.
Peng gkodean Dalaam pengkodeean, perancaangan yang telah t dilakukkan diterjem mahkan ke bentuk yang g dimengerti komputer.
e e.
Peng gujian Prosees pengujiann berfokus pada logikaa internal software, meemastikan bahwa b semu ua pernyataaan sudah diuj uji, dan pada eksternal fuungsional, yaaitu mengaraahkan peng gujian untukk menemukaan kesalahaan – kesalahhan dan meemastikan bahwa b inputt yang dibatasi akan memberikan haasil aktual yaang sesuai dengan d hasil yang dibuttuhkan.
f f.
Pem meliharaan Pemeeliharaan diilakukan unntuk menganntisipasi terrhadap terjaadinya kesaalahan karen na perubahaan sistem atau a peningkkatan kebutuuhan penggguna akan fungsi f baru.
Gam mbar 2.1 Waaterfall Moddel (Pressmann, 2001, p288)
42 2 Diagram 2.9 m Alir (Flow wchart) Diagram m alir (flow wchart) adaalah represeentasi grafiss dari seranngkaian akttivitas o operasi, pergerakan, insspeksi, delayy, keputusann, dan penyiimpanan darri sebuah prroses. D Diagram aliir menggunaakan simboll-simbol unttuk merepreesentasikan jenis j prosess atau p proses yang g sedang berrjalan. Benttuk yang suudah distanddarisasi menyyediakan metode m y yang umum m dipakai oleeh banyak orrang untuk memvisualis m sasikan masalah dengann cara y yang sama dan d lebih muudah (Hansenn, 2005). Berikut adalah simbbol-simbol yang y digunakkan untuk meenggambarkkan diagram alir:
a a.
a hanya boleh memiliki satu state awall (start) & satuu state akhir (eend). Diagram alir
b b. Alur/cab bang dari diaagram biasa dilambangka d an dengan taanda panah (arrow) ( yangg menunju uk dari satu langkah l ke laangkah lainnnya.
c c. ugas ditulis dalam d bentukk kotak prosses yang dilaambangkan dengan d perseegi Setiap tu panjang.. Proses hanyya boleh mem miliki satu panah p masukk dan satu paanah keluar.
43
d d. Aliran diiagram dapaat bercabang dua atau lebbih pada kotak keputusann yang dilamban ngkan dengaan bentuk waajik (diamonnd). Setiap caabang yang keluar dari kotak k keputusaan harus dibeeri label/deskkripsi. Hanyya satu cabanng yang boleeh diambil dalam setiap saatu siklus diaagram alir.
e e. Penghub bung (connecctor), dilambbangkan denngan lingkaraan kecil, diggunakan saat dua atau lebiih cabang beergabung kem mbali menjadi satu.
f f. G Gunakan taanda panah melengkungg untuk meenunjukkan ketidakterkaaitan antaraa satu c cabang deng gan cabang lainnya jika posisi p merekka memotongg satu sama lain.
44 2 2.10 State Transition Diagram (S STD) Menuru ut Pressman (2002, p3554), State Trransision Diagram (ST TD) menunjuukkan b bagaimana tingkah lakku sistem akkibat dari kejadian k ekssternal. STD D juga berffungsi s sebagai dasaar bagi pemoodelan tingkaah laku. Berikut adalah notaasi yang diguunakan untukk menggambbarkan STD::
Gambbar 2.2 State Transition Diagram D (W Wikipedia, 20009) mbang dari notasi n STD adalah a sebagaai berikut: Arti lam
a State a. mpilkan ketikka suatu tinddakan dilakkukan. State meerepresentassikan reaksi yang ditam Ada 2 jeenis state, yaaitu: state aw wal dan statee akhir. Statee akhir dapatt berupa bebberapa state, sed dangkan statte awal tidakk lebih dari 1. 1
45 b. Arrow / Transition Arrow sering disebut juga dengan transisi state yang diberi label dengan ekspresi aturan. Label tersebut menunjukkan kejadian yang menyebabkan transisi terjadi.
c. Condition dan Action Condititon adalah suatu event pada lingkungan eksternal yang dapat dideteksi oleh sistem, sedangkan action adalah aksi yang dilakukan oleh sistem bila terjadi perubahan state atau merupakan reaksi terhadap kondisi. Aksi akan menghasilkan keluaran / tampilan.
2.11 Interaksi Manusia dan Komputer Saat ini sistem atau program yang interaktif lebih popular dan digemari. Karena itu penggunaan komputer telah berkembang pesat sebagai suatu program yang interaktif yang membuat orang tertarik untuk menggunakannya. Program yang interaktif ini perlu dirancang dengan baik sehingga pengguna dapat merasa senang dan juga ikut berinteraksi dengan baik dalam menggunakannya. Interaksi Manusia dan Komputer (IMK) atau Human-Computer Interaction (HCI) adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomenafenomena besar yang berhubungan dengannya.
46 2.11.1 Pedoman untuk Merancang User Interface User Interface atau Antarmuka Pemakai adalah bagian sistem komputer yang memungkinkan manusia berinteraksi dengan komputer. Berdasarkan Smith and Moiser (Shneiderman, 1998, p80), beberapa pedoman yang disarankan untuk digunakan dalam merancang tampilan data yang baik, yaitu: a.
Konsistensi tampilan data, istilah, singkatan, format, dan lainnya harus standar.
b.
Beban ingatan sesedikit mungkin bagi pengguna. Pengguna tidak perlu mengingat informasi dari layar yang satu ke layar yang lain.
c.
Kompatibilitas tampilan data dengan pemasukan data. Format tampilan informasi perlu berhubungan erat dengan tampilan pemasukan data.
Fleksibilitas kendali pengguna terhadap data. Pemakai harus dapat memperoleh informasi dari tampilan dalam bentuk yang paling mudah.
2.11.2 Teori Waktu Respon Menurut Shneiderman (1998, p352), waktu respon dalam sistem komputer adalah jumlah detik dari saat pemakai memulai aktivitas (misalnya dengan menekan tombol enter atau klik pada mouse) sampai komputer menampilkan hasilnya di display atau printer. Beberapa pedoman yang disarankan mengenai kecepatan waktu respon pada suatu program, yaitu (Shneiderman, 1998, p367): a.
Pemakai lebih menyukai waktu respon yang lebih pendek.
47 b.
Waktu respon yang panjang (lebih dari 15 detik) itu mengganggu.
c.
Waktu respon yang lebih pendek menyebabkan waktu pengguna berpikir lebih pendek.
d.
Langkah yang lebih cepat dapat meningkatkan produktivitas, namun juga dapat meningkatkan tingkat kesalahan.
e.
Waktu respon harus sesuai dengan tugasnya: •
Untuk mengetik, menggerakkan kursor, memilih dengan mouse: 50 – 150 milidetik.
f.
•
Tugas sederhana yang sering: < 1 detik.
•
Tugas biasa: 2 – 4 detik.
•
Tugas kompleks: 8 – 12 detik.
Pemakai harus diberitahu mengenai penundaan yang panjang ( misalnya, saat program sedang load sesuatu ).
2.12 Bahasa Pemrograman Java Java adalah suatu bahasa pemrograman yang awalnya dikembangkan oleh James Gosling di Sun Microsystems dan dirilis di tahun 1995. Sintaks-sintaks dalam bahasa Java banyak yang diturunkan dari bahasa pemrograman C dan C++, namun dengan model objek lebih sederhana. Aplikasi Java dikompilasi ke dalam kelas file (class file) yang dapat dijalankan di berbagai Java Virtual Machine (JVM) tanpa perlu memperhatikan arsitektur komputernya. Java adalah bahasa pemrograman yang dapat digunakan untuk berbagai tujuan, berbasis kelas, berorientasi objek, dan secara khusus dirancang untuk memiliki tingkat
48 ketergantungan implementasi yang rendah.Bahasa ini memang diperuntukkan bagi para programmer untuk "menulis program satu kali, namun dapat dijalankan dimana saja." 5 prinsip dalam pemrograman Java: a. Pemrograman harus sederhana, berorientasi objek, familiar. b. Pemrograman harus terandalkan dan aman. c. Pemrograman harus berarsitektur netral dan dapat dipindah-pindah (portable). d. Pemrograman harus dapat dieksekusi dengan performa tinggi. Pemrograman harus mudah untuk dipahami, mudah untuk dilanjutkan, & dinamis.