BAB 2 LANDASAN TEORI 2.1. Peramalan -...

50
BAB 2 LANDASAN TEORI 2.1. Peramalan Pada bagian ini diberikan beberapa definisi tentang peramalan dan teori-teori mengenai metode peramalan yang digunakan. 2.1.1 Definisi Peramalan Menurut Assauri (1984,p1), peramalan merupakan kegiatan untuk memperkirakan apa yang terjadi pada masa yang akan datang. Sedangkan peramalan atau forecasting menurut Levine et al. (2002, p654) adalah sebuah teknik yang dapat membantu perencanaan untuk kebutuhan masa depan berdasarkan pengalaman atau data masa lalu yang relevan. 2.1.2 Kegunaan dan Peran Peramalan Menurut Makridakis et al. (2000, p229), perencanaan adalah 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 mengetahui atau melihat perkembangan pada masa depan, peramalan sangat dibutuhkan untuk menentukan kapan suatu peristiwa akan terjadi atau suatu kebutuhan akan timbul. Jika perbedaan waktu dalam kegiatan tersebut panjang, dapat dipersiapkan kebijakan dan tindakan-tindakan yang perlu dilakukan. Dengan demikian dapat dikatakan bahwa peramalan merupakan dasar untuk penyusunan rencana.

Transcript of BAB 2 LANDASAN TEORI 2.1. Peramalan -...

Page 1: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

BAB 2

LANDASAN TEORI

2.1. Peramalan

Pada bagian ini diberikan beberapa definisi tentang peramalan dan teori-teori

mengenai metode peramalan yang digunakan.

2.1.1 Definisi Peramalan

Menurut Assauri (1984,p1), peramalan merupakan kegiatan untuk

memperkirakan apa yang terjadi pada masa yang akan datang. Sedangkan peramalan

atau forecasting menurut Levine et al. (2002, p654) adalah sebuah teknik yang dapat

membantu perencanaan untuk kebutuhan masa depan berdasarkan pengalaman atau

data masa lalu yang relevan.

2.1.2 Kegunaan dan Peran Peramalan

Menurut Makridakis et al. (2000, p229), perencanaan adalah 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 mengetahui atau melihat perkembangan pada masa depan,

peramalan sangat dibutuhkan untuk menentukan kapan suatu peristiwa akan terjadi

atau suatu kebutuhan akan timbul. Jika perbedaan waktu dalam kegiatan tersebut

panjang, dapat dipersiapkan kebijakan dan tindakan-tindakan yang perlu dilakukan.

Dengan demikian dapat dikatakan bahwa peramalan merupakan dasar untuk

penyusunan rencana.

Page 2: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

8

Kegunaan dari 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 kurang tepat ramalan yang

disusun atau yang dibuat, maka makin kurang baiklah keputusan yang diambil. 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 dan persediaan keuangan. Dengan

demikian dapat dilihat bahwa peramalan memiliki peranan yang sangat penting, baik

dalam penelitian, perencanaan maupun dalam pengambilan keputusan. Tetapi dapat

diperhatikan bahwa peramalan memiliki tujuan untuk memperkecil kemungkinan

kesalahan. Baik tidaknya suatu ramalan sangat tergantung pada unsure atau faktor

data dan metode yang digunakan.

2.1.3 Jenis-Jenis Peramalan

Menurut Assauri (2002,pp. 3-4), peramalan dapat dibedakan dari berbagai segi

tergantung dari cara melihatnya. Apabila dilihat dari cara penyusunannya, maka

peramalan dapat dibedakan menjadi dua macam, sebagai berikut.

a. Peramalan yang subjektif, yaitu peramalan yang didasarkan atas perasaan

atau intuisi dari orang yang menyusunnya. Dalam hal ini, pandangan dari orang

yang menyusunnya sangat menentukan baik atau tidaknya hasil ramalan

tersebut.

b. Peramalan yang objektif, adalah peramalan yang didasarkan atas data yang

relevan pada masa lalu, dengan menggunakan teknik-teknik dan metode-

metode dalam penganalisisan data tersebut.

Page 3: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

9

Dilihat dari jangka waktu ramalan yang disusun, maka peramalan dapat

dibedakan atas dua macam sebagai berikut.

a. Peramalan jangka panjang, yaitu peramalan yang dilakukan untuk menyusun

hasil ramalan yang jangka waktunya lebih dari satu setengah tahun atau tiga

semester.

b. Peramalan jangka pendek, yaitu peramalan yang dilakukan untuk penyusunan

hasil ramalan dengan jangka waktu yang kurang dari satu setengah tahun, atau

tiga semester.

Umumnya peramalan jangka pendek didasarkan pada analisis deret waktu.

Oleh karena itu, peramalan jangka pendek menggunakan teknik analisis hubungan di

mana satu-satunya variabel yang mempengaruhi adalah waktu. Dalam peramalan

jangka pendek selalu ditemui adanya pola musiman. Dapat terjadi bulan-bulan atau

triwulan yang sama setiap tahun mempunyai nilai variabel cukup tinggi, dan pada

bulan-bulan atau triwulan tertentu lainnya mempunyai nilai variabel yang cukup

rendah. Oleh karena itu maka dalam peramalan jangka pendek perlu ditinjau dulu

apakah deret data yang ada memiliki pola musiman. Berdasarkan sifat ramalannya,

menurut Assauri (2002,pp. 3-4), ada dua pendekatan umum yang dipakai sebagai

berikut.

a. Peramalan kualitatif, yaitu peramalan yang didasarkan atas data kualitatif

pada masa lalu atau dengan kata lain peramalan yang didasarkan atas

permikiran yang bersifat intuisi, judgement atau pendapat, dan pengetahuan

serta pengalaman dari penyusunnya. Metode ini penting saat data historis tidak

tersedia.

Page 4: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

10

b. Peramalan kuantitatif, yaitu peramalan yang didasarkan pada data historis.

Tujuan metode ini adalah mempelajari apa yang terjadi pada masa lalu untuk

prediksi nilai-nilai yang akan datang.

2.1.4 Metode Peramalan Kuantitatif

Menurut Makridakis et al. (1999, pp.19-20), metode peramalan kuantitatif

dapat dibagi sebagai berikut.

a. Metode peramalan yang didasarkan atas penggunaan analisis pola hubungan

antara variabel yang akan diperkirakan dengan variabel waktu, yang

merupakan deret waktu atau ”time series”.

b. Metode peramalan yang didasarkan atas penggunaan analisis pola hubungan

antara variabel yang akan diperkirakan dengan variabel lain yang

mempengaruhinya, yang bukan waktu atau sering disebut sebagai motede

korelasi atau model regresi (”causal methods”).

c. (Rosadi,2006,p1) Panel atau Pooled data, yakni tipe data yang dikumpulkan

menurut urutan waktu dalam suatu rentang waktu tertentu pada sejumlah

individu atau kategori.

2.1.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 variasi dari data dimasa lampau dan menggunakan pengetahuan ini untuk

melakukan peramalan terhadap sifat-sifat dari data dimasa 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

Page 5: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

11

diramalkan dengan variabel waktu yang merupakan satu-satunya variabel yang

mempengaruhi atau bebas. Dalam peramalan dengan analisis 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

memilih metode analisis deret waktu adalah mempertimbangkan jenis pola yang

terdapat dari data observasi (Assauri,1984,p45). Menurut Rosadi (2005,p16), di

dalam pola deret waktu terdapat komponen-komponen yang membangun pola data

dan dikelompokan dalam empat komponen utama sebagai berikut.

a. Trend : bentuk penurunan atau pertambahan data.

b. Musiman (seasonal) : bentuknya berupa fluktuasi berulang (dan beraturan)

atau naik-turunnya variabel dalam jangka waktu periode yang sama, yang

ditemui setiap tahun.

c. Siklikal (cyclical) : berupa pola siklus, umumnya periode waktu relatif lebih

panjang dibanding musiman.

d. Komponen tak beraturan (irregular atau random) : berupa pola acak.

Sedangkan pola yang dibentuk dari komponen tersebut dapat dikelompokkan

lagi ke dalam empat jenis pola data antara lain (Assauri,1984,p46):

a. Pola horizontal atau stationary, bila nilai-nilai dari data observasi berfluktuasi

di sekitar nilai konstan rata-rata. Dengan demikian dapat dikatakan pola ini

sebagai stationary pada rata-rata hitungnya (means). Pola jenis ini terdapat

pada suatu produk yang mempunyai jumlah penjualan yang tidak menaik atau

menurun selama beberapa waktu atau periode, seperti terlihat pada gambar 2.1.

Page 6: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

12

Gambar 2.1 Pola Data Horizontal (Assauri,1984,p46)

b. Pola Musiman atau seasonal, bila suatu deret waktu dipengaruhi oleh faktor

musim (seperti kuartalan, bulanan, mingguan dan harian). Banyak produk yang

penjualannya menunjukkan pola musiman, seperti minuman segar, ice cream,

jasa angkutan, obat-obatan tertentu, dan ban mobil. Contoh pola musiman

kwartalan seperti terlihat pada gambar 2.2.

Gambar 2.2 Pola Data Musiman (Assauri,1984,p46)

c. Pola siklus atau cyclical bila data observasi dipengaruhi oleh fluktuasi

ekonomi jangka panjang yang berkaitan atau tergabung dengan siklus usaha

(business cycle). Ada beberapa produk yang penjualannya menunjukkan pola

siklus, seperti mobil sedan, besi baja, dan perkakas atau peralatan bengkel.

Pola dari jenis ini seperti terdapat pada gambar 2.3.

Gambar 2.3 Pola Data Siklus (Assauri,1984,p47)

Page 7: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

13

d. Pola trend bila ada pertambahanataukenaikan atau penurunan dari data

observasi untuk jangka panjang. Pola trend ini dapat dilihat pada gambar

2.4.

Gambar 2.4 Pola Data Trend (Assauri,1984,p47)

Oleh karena itu, harus dilakukan penyaringan adaptasi dengan metode yang

dapat menyesuaikan pola data yang ada (Assauri,1984,p169). Menurut Levine et. al.

(2002,p655), metode peramalan deret waktu melibatkan proyeksi nilai yang akan

datang dari sebuah variabel berdasarkan pada pengamatan masa lalu dan sekarang

dari variabel tersebut. Metode peramalan deret waktu dapat dibagi menjadi beberapa

metode sebagai berikut.

a. Metode smoothing.

Metode ini digunakan untuk melakukan pemulusan terhadap suatu deret

berkala dengan membuat rata-rata tertimbang dari sederetan data yang lalu.

Metode ini sangat efektif untuk peramalan jangka pandek dan tidak

membutuhkan banyak data.

b. Metode Box Jenkins.

Metode ini menggunakan dasar deret waktu dengan model matematis dan

hanya cocok untuk jangka pendek.

Page 8: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

14

c. Metode Proyeksi Trend.

Metode ini berdasarkan garis trend untuk suatu persamaan matematis. Cocok

untuk jangka pendek maupun jangka panjang. Makin banyak data yang

tersedia, hasilnya akan makin baik.

d. Metode Dekomposisi.

Metode ini memisahkan tiga komponen yaitu trend, siklis, dan musiman.

Metode ini cocok bagi rencana jangka pendek dan semakin banyak data yang

tersedia akan semakin baik hasil peramalannya.

2.1.6 Pemilihan Metode Peramalan Deret Waktu

Pola atau karakteristik data mempengaruhi teknik peramalan yang dipilih.

Seringkali, pola data tersebut merupakan karakteristik inherent dari kegiatan yang

sedang diteliti. Hubungan antar data dengan jangka waktu semakin jelas dengan

mengamati bahwa pola trend merupakan kecenderungan jangka panjang. Sedangkan

variasi musiman menunjukkan pola data yang berulang dalam satu tahun. Teknik

regresi cocok untuk hampir semua pola yang dapat diidentifikasi.

Dalam mengevalusi teknik-teknik yang dikaitkan dengan pola data, dapat saja

diterapkan lebih dari satu teknik untuk data yang sama. Misalnya, teknik-teknik

tertentu mungkin lebih akurat dalam memprediksi titik balik, sedangkan lainnya

terbukti lebih handal dalam peramalan pola perubahan yang stabil. Dapat 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. Hakim (2001,p372) dan Rosadi

(2005,pp.16-17) menggambarkan sebuah bagan seperti pada gambar 2.5 yang berisi

Page 9: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

15

pemilihan metode peramalan deret berkala yang tepat sesuai dengan situasi dan jenis

plot data yang ada.

Gambar 2.5 Pemilihan Metode Peramalan Deret Berkala (Sumber: Rosadi,2005,pp.16-17).

Page 10: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

16

2.2 ARIMA (Autoregressive Integrated Moving Average)

ARIMA merupakan model yang dikembangkan secara intensif oleh George Box

dan Gwilyn Jenkins sehingga nama mereka sering disinonimkan dengan proses Box-

Jenkins yang diterapkan untuk analisis dan peramalan data runtun waktu (time series).

Dalam membentuk model ARIMA ada beberapa langkah yang digunakan adalah

sebagai berikut.

a. Identifikasi model, menggunakan grafik, statistik, dan alat lainnya untuk

mengenali suatu pola dan komponen model.

b. Estimasi parameter dan diagnosis model, menentukan koefisien dari suatu

fungsi yang tepat dan penentuan apakah suatu model akan digunakan jika

valid dan pengulangan langkah dari identifikasi hingga diagnosis jika suatu

model tidak valid untuk mendapatkan suatu model yang benar-benar valid.

c. Aplikasi, penggunaan model yang telah diterima atau valid dalam proses

peramalan.

Page 11: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

17

Gambar 2.6 Metode Peramalan Box-Jenkins

(Sumber :Assauri,1984,p128)

Langkah-langkah dalam membentuk suatu model peramalan tersebut juga secara

umum digunakan untuk metode-metode peramalan lainnya.

Persamaannya untuk bentuk paling sederhana ARIMA(p,d,q) sebagai berikut.

tt BYBB εθφ )1()1)(1( 11 −=−− (2.2. 1)

Sedangkan bentuk umumnya untuk orde yang lebih tinggi adalah sebagai berikut.

tq

qtdp

p BBBYBBB εθθθφφ )...1()1)(...1( 22

11

11 −−−−=−−−− (2.2.2)

Pada persamaan (2.2.1) dapat ditulis secara simbolik dalam bentuk yang lebih

compact sebagai berikut.

tqtd

p BYB εθφ )()( =∇ , (2.2.3)

dengan

ppp BBB φφφφ −−−−= ...1 2

21

1 , (2.2.4)

Page 12: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

18

dan

qqq BBB θθθθ −−−−= ...1 2

21

1 , (2.2.5)

dan

dd B)1( −=∇ (2.2.6)

, di mana B adalah back shift operator dan tdY∇ adalah diferensiasi tY sebanyak d.

Bentuk umum model ARIMA(p,d,q) menghasilkan variasi yang sangat beragam

pada pola ACF dan PACF. Pada aplikasinya di dunia nyata, yang sering digunakan

adalah model-model dengan nilai p, d, atau q berkisar antara 0, 1, atau 2. Karena dengan

range nilai yang sangat kecil untuk p, d, atau q, sudah dapat mencakup berbagai situasi

peramalan praktis.

Secara umum model ARIMA dinotasikan dengan notasi ARIMA(p,d,q) dengan

ordo p,d dan q di mana berturut- turut sebagai berikut.

a. Ordo pertama p menunjukkan derajat dari autoregressive (AR).

b. Ordo kedua d menunjukkan derajat dari integrasi atau pembeda.

c. Ordo ketiga q menunjukkan derajat dari moving average (MA).

2.2.1 Model AR orde-p

Secara umum, model ARIMA(p,0,0) sama dengan model AR(p) dan

persamaannya dapat ditulis sebagai berikut.

tptpttt YYYY εφφφ ++++= −−− ...2211 (2.2.7)

dengan notasi backshift persamaan tersebut dapat dituliskan sebagai berikut.

ttp

p YBB εφφ =−−− )...1( 11 (2.2.8)

Page 13: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

19

2.2.2 Model MA orde-q

Secara umum, model ARIMA(0,0,q) sama dengan model MA(q) dan

persamaannya dapat ditulis sebagai berikut.

qtqttttY −−− ++++= εθεθεθε ...2211 (2.2.9)

dengan notasi backshift persamaan tersebut dapat dituliskan sebagai berikut.

tq

qt BBBY εθθθ )...1( 22

11 −−−−= (2.2.10)

2.2.3 Model ARMA

Gabungan model AR(1) dengan model MA(1), disebut model

ARMA(1,1) atau ARIMA(1,0,1). Model ARMA seharusnya mampu

menghasilkan hasil ramalan yang lebih akurat daripada model AR maupun MA

secara terpisah karena model ARMA kedua model tersebut. Model ARMA(1,1)

atau model ARIMA(1,0,1) dapat dituliskan dalam persamaan berikut.

1111 −− −+= tttt YY εθεφ (2.2.11)

Dengan notasi backshift persamaan tersebut dapat dituliskan sebagai berikut.

ttYB εθφ )1()1( 11 −=− (2.2.12)

Sedangkan untuk ARMA dengan orde yang lebih tinggi (ARMA (p,q) atau

ARIMA(p,0,q)), persamaannya sebagai berikut.

qtqttptpttt YYYY −−−−− −−−++++= εθεθεφφφ ...... 112211 (2.2.13)

Atau dengan operator backshift sebagai berikut.

tq

qtp

p BBBYBBB εθθθφφφ )....1()...1( 221

221 −−−−=−−−− (2.2.14)

Jika bentuk non-stasioner ditambahkan pada model ARMA, maka model umum

untuk ARIMA(p,d,q) diperoleh.

Page 14: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

20

2.3 Identifikasi Model

Dalam membentuk suatu model ARIMA terdapat beberapa langkah yang

dilakukan sebagai berikut.

a. Pengidentifikasian model, yang dapat dilakukan dengan statistik, grafik, dan

alat lainnya dalam mengenali pola.

b. Estimasi parameter dan diagnosis model dari suatu fungsi yang tepat dalam

menentukan apakah model yang digunakan valid atau tidak.

c. Pengaplikasian dari model yang sudah diterima dalam proses peramalan.

Identifikasi model untuk pemodelan data deret waktu menggunakan metode ini

memerlukan perhitungan dan penggambaran dari hasil fungsi autokorelasi (ACF) dan

fungsi autokorelasi parsial (PACF). Hasil perhitungan ini untuk menentukan model

ARIMA apakah yang sesuai.

2.3.1 Fungsi Autokorelasi (ACF)

Korelasi merupakan hubungan antara satu variabel dengan variabel lainnya.

Nilai korelasi dinyatakan oleh koefisien yang nilainya bervariasi antara +1 hingga –

1. Nilai koefisien tersebut menyatakan apa yang akan terjadi pada suatu variabel jika

terjadi perubahan pada variabel lainnya.

Nilai koefisien yang bernilai positif menunjukkan hubungan antar variabel

yang bersifat positif, yakni jika satu variabel meningkat nilainya, variabel lainnya

juga akan meningkat nilainya. Sedangkan nilai koefisien yang bernilai negatif

menunjukkan hubungan antar variabel yang bersifat negatif, yakni jika satu variabel

meningkat nilainya, variabel lainnya akan menurun nilainya, dan sebaliknya. Bila

suatu koefisien bernilai nol, berarti variabel-variabel tersebut tidak memiliki

Page 15: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

21

hubungan. Jika terjadi peningkatan atau penurunan terhadap suatu variabel, variabel

lainnya tidak akan terpengaruh oleh perubahan nilai tersebut.

Koefisien autokorelasi memiliki makna yang hampir sama dengan koefisien

korelasi, yakni hubungan antara dua atau lebih variabel. Pada korelasi, hubungan

tersebut merupakan dua variabel yang berbeda pada waktu yang sama, sedangkan

pada autokorelasi, hubungan tersebut merupakan dua variabel yang sama dalam

rentang waktu yang berbeda. Autokorelasi dapat dihitung menggunakan fungsi

autokorelasi (AutoCorrelation Function), ACF(k), yang dapat dinotasikan sebagai

berikut.

=

+=−

−−= n

tt

n

ktktt

YY

YYYYkACF

1

2

1

)(

))(()( (2.3.1)

Secara umum, ACF digunakan untuk melihat apakah ada sifat Moving Average

(MA), dari suatu deret waktu, yang dalam persamaan ARIMA direpresentasikan oleh

besaran q. Besar nilai q dinyatakan sebagai banyaknya nilai ACF sejak lag 1 hingga

lag ke-k secara berurut yang terletak di luar selang kepercayaan Z. Jika terdapat sifat

MA, q pada umumnya bernilai 1 atau 2, sangat jarang ditemui suatu model dengan

nilai q lebih dari 2.

Nilai d, sebagai derajat pembeda (differencing) untuk menentukan stasisoner

atau tidaknya suatu deret waktu, juga ditentukan dari nilai ACF. Bila ada nilai-nilai

ACF setelah time lag ke-k untuk menentukan nilai q berada di luar selang

kepercayaan Z, maka deret tersebut tidak stasioner, sehingga nilai d tidak sama

dengan nol (d > 0), biasanya antara 1 atau 2, sedangkan bila nilai-nilai ACF tersebut

Page 16: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

22

berada dalam selang kepercayaan Z, maka deret tersebut dapat dibilang stasioner,

sehingga nilai d sama dengan nol (d = 0).

Selang kepercayaan Z, yang besarnya ditentukan oleh derajat bebas dan selang

kepercayaan (α ), dinyatakan sebagai berikut.

n

zkACFn

z 1)(1≤≤− . (2.3.2)

Galat standar dari ACF tersebut adalah

n

se kACF1

)( = (2.3.3)

dengan n merupakan banyak pengamatan dalam deret.

2.3.2 Fungsi Autokorelasi-Parsial (PACF)

Fungsi autokorelasi parsial pada lag-p adalah suatu korelasi di antara tY dan

ktY + . PACF digunakan untuk mengidentifikasikan ada atau tidaknya sifat AR yang

dinotasikan dengan p. Jika terdapat sifat AR, pada umumnya nilai PACF bernilai 1

atau 2, jarang ditemukan sifat AR bernilai lebih besar dari 2.

Misalkan }{ tY adalah suatu model autoregressive yang stasioner dengan rata-

rata nol dan ktY + dapat ditulis dalam model linier

kttkkktkktkkt YYYY +−+−++ ++++= εφφφ ...2211 (2.3.4)

di mana kiφ adalah parameter ke-i dari persamaan regresi dan kt+ε adalah eror yang

tidak berkorelasi dengan jktY −+ untuk 1≥j . Kalikan jktY −+ pada kedua sisi kemudian

ambil nilai ekspektasinya, maka diperoleh

)(...)2()1()( 21 kjjjj kkkk −++−+−= γφγφγφγ (2.3.5)

kemudian bagi kedua sisi dengan )0(γ , sehingga diperoleh

Page 17: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

23

).(...)2()1()( 21 kjjjj kkkk −++−+−= ρφρφρφρ (2.3.6)

Untuk kj ,...,2,1= maka diperoleh suatu sistem persamaan

),1(...)1()0()1( 21 −+++= kkkkk ρφρφρφρ (2.3.7)

),2(...)2()1()2( 21 −+++= kkkkk ρφρφρφρ (2.3.8)

M

).0(...)1()1()( 21 ρφρφρφρ kkkk kkk ++−+−= (2.3.9)

Sehingga fungsi PACF dapat dituliskan sebagai berikut:

).(...)2()1( 21 pkkk pk −++−+−= ρφρφρφρ (2.3.10)

di mana:

k adalah time lag, dengan k =1,..., p.

ρ adalah nilai dari fungsi autokorelasi (ACF).

φ adalah nilai dari fungsi autokorelasi parsial (PACF).

Koefisien autokorelasi parsial ber-orde n didefinisikan sebagai suatu koefisien

autoregressive terakhir dari model autoregressive dengan ordo-p yaitu AR(1), AR(2),

AR(3),…, AR(p) yang ditunjukkan dalam hubungan

ttt YY εφ += −11 , (2.3.11)

tttt YYY εφφ ++= −− 2211 , (2.3.12)

ttttt YYYY εφφφ +++= −−− 332211 , (2.3.13)

M

tptpttt YYYY εφφφ ++++= +−−−− 112211 ... , (2.3.14)

tptpptpttt YYYYY εφφφφ +++++= −+−−−− 112211 ... , (2.3.15)

Misalkan }{ tY adalah model autoregressive dengan ordo-1

Page 18: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

24

),0(~, 211 σεεφ WNYY tttt += − (2.3.16)

di mana AR(1) selalu bersifat dapat dibalik (invertible) yang ditunjukkan dalam

),0(~, 211 σεεφ WNYY tttt =− − (2.3.17)

dan bersifat kausal jika akar atau 1||

1

1

>Z

atau 1|| 1 <φ . Maka pp φφφφ ,,...,, 121 −

dapat dicari dengan mengalikan ktY − pada kedua sisinya.

,11 kttkttktt YYYYY −−−− += εφ (2.3.18)

Untuk keadaan kausal penerapan nilai ekspektasi E pada persamaan (2.3.18) berlaku

),()()( 11 tktkttktt YEYYEYYE εφ −−−− += (2.3.19)

dan

1),1()( 1 ≥−= kkk γφγ (2.3.20)

sehingga diperoleh fungsi autokorelasinya

.1),1()( 1 ≥−= kkk ρφρ (2.3.21)

Dari 1)0( =ρ diperoleh dari substitusi secara berulang 1,)( 1 ≥= kak kρ , fungsi yang

meluruh menuju nol untuk ∞→k .

Penetapan fungsi autokorelasi pertama dilakukan dengan membagi persamaan

(2.3.20) dengan )1( −kγ , sehingga diperoleh

)1(/)(1 −= kk γγφ , (2.3.22)

Sebagai contoh untuk mendapatkan nilai PACF pada time lag 1, k bernilai 1

diperoleh

),0()1( 1ρφρ = dengan 1)0( =ρ sehingga 1)1( φρ = .

Page 19: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

25

Dengan melihat hubungan dari 11 φρ = , maka )1(/)(1 −= kk γγρ merupakan

cara dalam menetapkan autokorelasi pertamanya. 11 ρφ = dapat diartikan bahwa

autokorelasi parsial yang pertama sama dengan autokorelasi yang pertama dengan

nilai parameter 1ρ tidak diketahui dan nilai 1φ ditaksir dalam sampel dengan 1r

(koefisien autokorelasi dengan lag-1 periode).

Sedangkan untuk memperoleh nilai PACF pada time lag 2 digunakan

persamaan (2.3.12) dengan k=2, diperoleh

)1()1( 21 ρφφρ += dan 21 )1()2( φρφρ += (2.3.23)

Dengan mensubtitusikan 1φ ke dalam persamaan (2.3.23) maka didapat

,)1(1

)1()2(

11

1

1)1()1(1)2()1()1(1

2

2

1

1

211

1

22 ρρρ

φφφφφ

ρρρρρ

φ−−

=

⎥⎦

⎤⎢⎣

⎥⎦

⎤⎢⎣

=

⎥⎦

⎤⎢⎣

⎥⎦

⎤⎢⎣

=

dengan cara yang sama berlaku 2,0 ≥= kkkφ .

Untuk k= 3 dengan menggunakan persamaan (2.3.13) diperoleh

)2()1()1( 321 ρφρφφρ ++=

)1()1()2( 321 ρφφρφρ ++= (2.3.24)

321 )1()2()3( φρφρφρ ++=

Demikian seterusnya untuk time lag selanjutnya.

Rumus PACF tersebut juga dapat dituliskan sebagai berikut dengan r

menyatakan nilai ACF (seperti ρ pada persamaan sebelumnya dari suatu lag k)

111 r=φ (2.3.25)

Page 20: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

26

[ ][ ]2

1

212

22 1 rrr

−−

=φ (2.3.26)

1,...,2,1,...;2;,1,1 −==−= −−− kjkjkkkkjkjk φφφφ (2.3.27)

,...3;,1

,

1

11

1

11

=−

−=

∑−

=−

=−−

kr

rr

k

jjjk

k

jjkjkk

kk

φ

φφ (2.3.28)

Untuk menentukan besar nilai p yang menyatakan derajat AR, maka diperlukan

perbandingan nilai PACF pada selang kepercayaan z. Selang kepercayaan tersebut

mempunyai persamaan.

n

zkPACFn

z 1)(1≤≤− . (2.3.29)

Galat standar dari PACF tersebut adalah

n

se kPACF1

)( = (2.3.30)

Gambar 2.7 Nilai ACF dan PACF Teoritis untuk Model AR(1)

(Sumber :Assauri,1984,p149)

Page 21: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

27

Gambar 2.8 Nilai ACF dan PACF Teoritis untuk Model MA(1)

(Sumber :Assauri,1984,p150)

Tabel 2.1 Pola Umum ACF dan PACF untuk Model AR dan MA Sederhana

(Sumber: Box, G.E.P., Jenkins, G.M., and Reinsel, G.C,1994,p84) Proses ACF PACF

AR(1) Penurunan secara eksponensial;

pada sisi positif jika 01 >φ dan

terbalik pada sisi negatif jika 01 <φ .

Puncak di lag 1, lalu turun ke nol;

puncak positif jika 01 >φ , negatif

jika 01 <φ .

AR(p) Penurunan secara eksponensial atau

Gelombang sinus yang dimampatkan.

Pola tepatnya bergantung pada tanda

dan besar pφφ ,...,1 .

Puncak di lag 1 hingga p, lalu turun ke nol.

MA(1) Puncak di lag 1 lalu turun ke nol;

puncak positif jika 01 <θ , negatif

jika 01 >θ .

Penurunan secara eksponensial; pada sisi negatif jika 01 >θ dan berbalik-balik tanda mulai dari sisi positif jika

01 <θ .

MA(q) Puncak di lag 1 hingga q, lalu turun ke nol.

Penurunan secara eksponensial atau

Gelombang sinus yang dimampatkan.

Pola tepatnya bergantung pada tanda

dan besar qθθ ,...,1 .

Page 22: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

28

2.3.3 Notasi Backshift

Model ARIMA secara umum adalah sulit untuk dituliskan. Model ini

berhubungan dengan variabel dependen atau bergantung pada unsur rentang atau lag

itu sendiri dan kesalahan rentang atau lag. Karena itu dibutuhkan penggunaan suatu

notasi yang menyederhanakan bentuk suatu persamaan, sehingga lebih sederhana

dan lebih mudah bila dikerjakan secara aljabar.

Sebuah notasi yang sangat berguna yakni operator backward shift, B,

dinyatakan sebagai berikut.

1)( −= tt YYB (2.3.31)

Dengan kata lain, B, digunakan pada Yt, memiliki efek menggeser data mundur satu

periode. Dua aplikasi dari B terhadap Yt memundurkan data dua periode sebagai

berikut.

tt YBBYB 2)( = (2.3.32)

Operator ini memudahkan untuk menggambarkan proses diferensiasi. Diferensiasi

pertama atau turunan tingkat satu dapat dituliskan sebagai berikut.

tttttt YBBYYYYY )1(1' −=−=−= − (2. 3.33)

Secara serupa, turunan tingkat dua dapat dituliskan sebagai berikut.

t

t

ttt

ttt

tttt

ttt

YB

YBB

YBBYY

YYYYYYY

YYY

2

2

221

211

1''"

)1(

)21(

)2(

2)()(

)(

−=

+−=

+−=

+−=−−−=

−=

−−

−−−

Secara umum, turunan tingkat-d dapat dituliskan sebagai berikut.

Page 23: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

29

td YB)1( − (2.3.34)

2.3.4 Estimasi Parameter dan Diagnosis Model

Setelah diperoleh model dari perhitungan pada bagian sebelumnya maka

langkah selanjutnya adalah menentukan nilai parameter yang menyertai model

tersebut. Berbagai langkah yang dapat dilakukan untuk mengestimasi nilai parameter

adalah sebagai berikut.

a. Menggunakan metode “trial and error”, di mana metode ini dilakukan

dengan cara mencoba- coba dalam penentuan nilai parameternya.

b. Melakukan proses iterasi dengan menggunakan program komputer untuk

memperoleh nilai yang lebih akurat, karena apabila perhitungan dilakukan

secara manual akan membutuhkan waktu yang tidak sedikit.

Setelah nilai parameter diperoleh proses dilanjutkan dengan pengujian apakah

model sudah representatif atau tidak. Suatu model dapat dikatakan sudah cukup

representatif apabila deret dari residunya (sisaan atau error) terdistribusi secara acak

di sekitar nol.

Suatu model dikatakan sesuai apabila terdapat nilai nol dalam selang

autokorelasi sisaannya. Selang autokorelasi sisaan dinyatakan dalam persamaan

berikut.

SEkre 2)(2 ± (2.3.35)

, di mana SE (standard error) di dapat dari persamaan (2.3.30) dengan k merupakan

time-lag dan re merupakan nilai autokorelasi sisaan.

Cara lain yang dapat digunakan adalah dengan menggunakan statistik uji Chi-

Square dengan persamaan sebagai berikut.

Page 24: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

30

∑=

−=k

ke krdNQ

1

2 )()( (2.3.36)

, di mana re merupakan nilai autokorelasi sisaan dari suatu time-lag k, d sebagai

derajat pembeda dan N merupakan banyak periode waktu.

Berdasarkan statistik hitung di atas, suatu model dapat dikatakan sesuai apabila

model tersebut memenuhi kriteria sebagai berikut.

2)( qpkXQ −−≤ α (2.3.37)

Model dikatakan tidak sesuai apabila sebagai berikut.

2)( qpkXQ −−> α (2.3.38)

2.4 Ketepatan Metode Peramalan

Dalam statistik, untuk menghitung besar kesalahan peramalan dapat dilakukan

dengan menghitung selisih antara nilai asli dengan nilai peramalannya.

Percentage Error: %100)ˆ(×

−=

t

ttt Y

YYPE (2.4.1)

Mean Percentage Error: n

PEMPE

n

it∑

== 1 (2.4.2)

Mean Absolute Percentage Error: n

PEMAPE

n

it∑

== 1

|| (2.4.3)

Mean Squared Error: ∑=

−=n

itt yy

nMSE

1

2)ˆ(1 (2.4.4)

, di mana :

n adalah jumlah sampel.

tY adalah nilai pengamatan pada periode ke-i.

Page 25: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

31

tY adalah nilai pendugaan pada periode ke-i.

Persamaan yang biasa digunakan untuk mengetahui kesalahan peramalan adalah

MAPE dan MSE. Semakin kecil nilai yang dihasilkan oleh persamaan tersebut, semakin

baik dan akurat metode tersebut.

2.5 Jaringan Syaraf Tiruan

Jaringan syaraf tiruan merupakan teknologi yang lahir dari upaya manusia untuk

mencari tahu bagaimana suatu sistem koordinasi hewan terjadi, bagaimana syaraf

bekerja, mengoptimasi diri, dan mampu menjadi pusat segala sistem hayati hewan.

Suatu jaringan saraf tiruan memproses sejumlah besar informasi secara paralel

dan terdistribusi, yang terinspirasi oleh model kerja otak biologis. Terdapat beberapa

definisi tentang jaringan saraf tiruan adalah sebagai berikut.

a. Jaringan syaraf tiruan adalah suatu struktur pemroses informasi yang

terdistribusi dan bekerja secara paralel, terdiri atas elemen pemroses (yang

memiliki memori lokal dan beroperasi dengan informasi lokal) yang

diinterkoneksi bersama dengan alur sinyal searah yang disebut koneksi.

Setiap elemen pemroses memiliki koneksi keluaran tunggal yang bercabang

(fan out) ke sejumlah koneksi kolateral yang diinginkan (setiap koneksi

membawa sinyal yang sama dari keluaran elemen pemroses tersebut).

Keluaran dari elemen pemroses tersebut dapat merupakan sembarang jenis

persamaan matematis yang diinginkan. Seluruh proses yang berlangsung

pada setiap elemen pemroses harus benar-benar dilakukan secara lokal, yaitu

keluaran hanya bergantung pada nilai masukan pada saat itu yang diperoleh

melalui koneksi dan nilai yang tersimpan dalam memori lokal (Hecht-

Page 26: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

32

Nielsend, 1988).

b. Sebuah jaringan saraf adalah sebuah prosesor yang terdistribusi paralel dan

mempuyai kecenderungan untuk menyimpan pengetahuan yang

didapatkannya dari pengalaman dan membuatnya tetap tersedia untuk

digunakan. Hal ini menyerupai kerja otak dalam dua hal yaitu pengetahuan

diperoleh oleh jaringan melalui suatu proses belajar dan kekuatan hubungan

antar sel saraf yang dikenal dengan bobot sinapsis digunakan untuk

menyimpan pengetahuan (Haykin, S, 1994).

c. Jaringan syaraf tiruan sebagai sistem saraf tiruan atau jaringan saraf tiruan

merupakan sebuah sistem dalam pemrosesan informasi yang memiliki suatu

kemampuan karakteristik umum sama seperti syaraf biologi (Laurene, 1994,

p3).

Neuron adalah unit pemroses informasi yang menjadi dasar dalam pengoperasian

jaringan syaraf tiruan. Neuron terdiri atas tiga elemen pembentuk (Laurene, 1994, p3)

sebagai berikut.

a. Himpunan unit-unit yang dihubungkan dengan jalur koneksi. Jalur-jalur

tersebut memiliki bobot atau kekuatan yang berbeda-beda. Bobot yang

bernilai positif akan memperkuat sinyal dan yang bernilai negatif akan

memperlemah sinyal yang dibawanya. Jumlah, struktur, dan pola hubungan

antar unit-unit tersebut akan menentukan arsitektur jaringan dan juga model

jaringan yang terbentuk.

b. Suatu unit penjumlah yang akan menjumlahkan input-input sinyal yang

sudah dikalikan dengan bobotnya.

c. Fungsi aktivasi yang akan menentukan apakah sinyal dari input neuron akan

Page 27: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

33

diteruskan ke neuron lain atau tidak.

Gambar skematik tipikal neuron dapat dilihat pada gambar 2.8.

Gambar 2.9 Saraf Biologis

(Sumber : Fausset, Laurene, 1994,p6)

Teknologi jaringan syaraf tiruan memberikan perubahan epistemologis pada

sistem pemrograman dibandingan pemrograman tradisional. Jaringan syaraf tiruan

memproses informasi dengan cara yang sangat berbeda dengan cara konvensional.

Perbedaan pemrograman jaringan syaraf tiruan dan cara konvensional disajikan pada

tabel 2.2.

Tabel 2.2 Perbedaan Pemrograman Jaringan Syaraf Tiruan dan Pemrograman Tradisional

(Sumber : Situngkir dan Surya 2003b diringkas) Jaringan syaraf tiruan Pemrograman Tradisional

Komputasi dilakukan secara paralel dan terdistribusi dalam unit pemrosesan data dengan jumlah yang banyak.

Komputasi dilakukan secara serial.

Informasi terdistribusi dalam jaringan syaraf tiruan. Informasi teralokasi dalam tempat tertentu.

Disebut teknologi pemroses paralel terdistribusi (Parallel distributed processing).

Page 28: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

34

Pemrosesan informasi dalam jaringan syaraf tiruan dapat disingkat sebagai

berikut.

a. Sinyal (baik berupa aksi maupun potensial) yang muncul sebagai

masukan unit (sinapsis).

b. Kemudian efek dari tiap sinyal ini dinyatakan sebagai bentuk perkalian

dengan sebuah nilai bobot untuk mengindikasikan kekuatan dari

sinapsis. Semua sinyal yang diberi pengali bobot ini kemudian

dijumlahkan satu sama lain untuk menghasilkan unit aktivasi. Jika

aktivasi ini melampaui sebuah batas ambang tertentu maka unit tersebut

akan memberikan keluaran dalam bentuk respon terhadap masukan. Unit

aktivasi ini kemudian dibandingkan dengan sebuah nilai ambang, dan

hasilnya dimasukkan ke dalam fungsi transfer (fungsi non-linier) yang

akan menghasilkan sebuah keluaran. Secara ringkas proses tersebut

dapat digambarkan dalam gambar 2.9.

Gambar 2.10 Neuron Buatan McCulloch-Pitts Ssebagai Operator Matematis

(Sumber : Fausset, Laurene, 1994,p26)

Aktivasi dari unit masukan diatur dan diteruskan melalui jaringan hingga nilai

dari keluaran dapat ditentukan. Jaringan berperan sebagai fungsi vektor yang mengambil

Page 29: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

35

satu vektor pada masukan dan mengeluarkan satu vektor lain pada keluaran. Model

jaringan syaraf tiruan dapat memiliki sebuah lapisan bobot, di mana masukan

dihubungkan langsung dengan keluaran, atau beberapa lapisan yang di dalamnya

terdapat beberapa lapisan tersembunyi. Karena berada tersembunyi diantara neuron

masukan dan keluaran jaringan syaraf tiruan menggunakan unit tersembunyi untuk

menghasilkan representasi pola masukan secara internal. Fungsi transfer (non-linier)

yang digunakan dalam tiap neuron (baik dilapisan masukan, keluaran atau lapisan

tersembunyi) dapat berupa fungsi nilai ambang, fungsi linier, fungsi sigmoid maupun

fungsi gaussian, tergantung dari karakter neuron sesuai keinginan. Hal ini dapat dilihat

pada gambar 2.10.

Gambar 2.11 Tipikal Sebuah Jaringan Syaraf Tiruan

(Sumber: Situngkir dan Surya 2003b)

2.5.1 Komponen Jaringan Syaraf

Terdapat beberapa tipe jaringan syaraf, hampir semuanya memiliki komponen-

komponen yang sama. Seperti halnya otak manusia, jaringan syaraf juga terdiri atas

Page 30: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

36

beberapa neuron dan ada hubungan antar neuron tersebut. Neuron-neuron tersebut

akan mentransformasikan informasi yang diterima melalui sambungan keluaran

menuju ke neuron-neuron yang lain. Pada jaringan syaraf, hubungan ini dikenal

dengan nama bobot.

Informasi tersebut disimpan pada suatu nilai tertentu pada bobot tersebut.

Neuron ini sebenarnya mirip dengan sel neuron biologis. Neuron-neuron buatan

tersebut bekerja dengan cara yang sama pula dengan neuron biologis. Informasi atau

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. Hasil penjumlahan ini kemudian akan dibandingkan dengan

suatu nilai ambang (threshold) tertentu melalui fungsi aktivasi setiap neuron.

Apabila input tersebut melewati suatu nilai ambang tertentu, 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 dengannnya.

(Kusumadewi, 2003)

Pada jaringan syaraf, neuron-neuron akan dikumpulkan dalam lapisan (layer)

yang disebut dengan lapisan neuron (neuron layer). 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 akan

dirambatkan dari lapisan ke lapisan. Mulai dari lapisan input sampai ke lapisan

output melalui lapisan lainnya, yang sering disebut sebagai lapisan tersembunyi

(hidden layer).

Page 31: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

37

2.5.2 Arsitektur Jaringan Syaraf Tiruan

A. Jaringan Lapisan Tunggal (single layer net)

Jaringan dengan lapisan tunggal hanya memiliki satu lapisan dengan

bobot-bobot terhubung. Jaringan ini hanya menerima input kemudian secara

langsung akan mengolahnya menjadi output tanpa harus melalui lapisan

tersembunyi.

B. Jaringan Banyak Lapisan (multilayer net)

Jaringan dengan banyak lapisan memiliki satu atau lebih lapisan yang

terletak di antara lapisan input dan lapisan output (memiliki satu atau lebih

lapisan tersembunyi). Umumnya, ada lapisan bobot-bobot yang terletak antara

dua lapisan yang bersebelahan. Jaringan dengan banyak lapisan ini dapat

menyelesaikan permasalahan yang lebih sulit daripada jaringan dengan lapisan

tunggal, tentu saja dengan pembelajaran yang lebih rumit. Namun demikian,

pada banyak kasus, pembelajaran pada jaringan dengan banyak lapisan ini

lebih sukses dalam menyelesaikan masalah meski membutuhkan waktu yang

lebih lama.

2.5.3 Fungsi Aktivasi

Ada beberapa fungsi aktivasi yang sering digunakan dalam jaringan syaraf

tiruan salah satunya adalah fungsi Sigmoid Bipolar.

Fungsi sigmoid bipolar mempunyai output dengan jarak antara 1 sampai -1.

Fungsi sigmoid bipolar dirumuskan sebagai berikut.

x

x

eexfy −

+−

==11)( .

Page 32: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

38

dengan [ ][ ])(1)(12

)(' xfxfxf −+=σ . (2.5.1)

Fungsi ini sangat dekat dengan fungsi hyperbolic tangent. Keduanya memiliki jarak

antara -1 sampai 1. Untuk fungsi hyperbolic tangent, dirumuskan sebagai berikut.

xx

xx

eeeexfx −

+−

== )()tanh( (2.5.2)

atau

x

x

eexfx 2

2

11)()tanh( −

+−

== (2.5.3)

dengan [ ][ ])(1)(1)(' xfxfxf −+= . (2.5.4)

2.5.4 Proses Pembelajaran

Kelemahan dari jaringan syaraf tiruan dengan menggunakan layar tunggal

membuat perkembangan jaringan syaraf tiruan menjadi terhenti sekitar tahun 1970-

an. Penemuan backpropagation yang terdiri atas beberapa lapisan membuka kembali

cakrawala (Siang, 2005). Jaringan syaraf tiruan dengan layar tunggal memiliki

keterbatasan dalam pengenalan pola. Kelemahan ini dapat ditanggulangi dengan

menambahkan satu atau beberapa lapisan tersembunyi diantara layar masukan dan

keluaran. Meskipun penggunaan lebih dari satu lapisan tersembunyi memiliki

kelebihan manfaat untuk beberapa kasus, tetapi pelatihannya memerlukan waktu

yang lama. Pada umumnya pelatihan dimulai dengan mencoba sebuah lapisan

tersembunyi lebih dahulu.

Jaringan syaraf tiruan yang akan digunakan adalah jaringan syaraf tiruan

propagasi balik. Kusumadewi (2004) menjelaskan, propagasi balik menggunakan

error output untuk mengubah nilai bobot-bobotnya dalam arah mundur (backward).

Page 33: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

39

Untuk mendapatkan error ini, tahap perambatan maju (forward propagation) harus

dikerjakan terlebih dahulu.

Input yang akan digunakan dalam pelatihan ini adalah angka penjualan pada

data historis. Diberikan satu buah lapisan tersembunyi dengan memiliki q unit

tersembunyi di dalamnya. Lapisan output berisi nilai perhitungan peramalan.

Terdapat dua tipe pembelajaran dalam jaringan syaraf tiruan sebagai berikut

(Kusumadewi, 2003).

A. Pembelajaran Terawasi (supervised learning)

Metode pembelajaran pada jaringan syaraf tiruan disebut terawasi jika

output yang diharapkan telah diketahui sebelumnya. Pada proses pembelajaran,

satu pola input akan diberikan ke satu neuron pada lapisan input. Pola ini akan

dirambatkan di sepanjang jaringan syaraf hingga sampai ke neuron pada

lapisan output. Lapisan output ini akan membangkitkan pola output yang

nantinya akan dicocokkan dengan pola output targetnya. Apabila terjadi

perbedaan antara pola output hasil pembelajaran dengan pola target, maka akan

muncul error. Apabila nilai error ini masih cukup besar, mengindikasikan

bahwa masih perlu dilakukan lebih banyak pembelajaran lagi. Terdapat

berbagai tipe pembelajaran terawasi beberapa di antaranya Hebb Rule,

Perceptron, Delta Rule, Backpropagation, Heteroassociative Memory,

Bidirectional Associative Memory (BAM), Learning Vector Quantization

(LVQ).

Dalam pembahasan ini hanya akan digunakan propagasi balik

(backpropagation) sebagai metode pembelajaran.

Page 34: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

40

B. Pembelajaran Tak Terawasi (unsupervised learning)

Pembelajaran tak terawasi tidak memerlukan target output. Pada

metode ini, tidak dapat ditentukan hasil yang seperti apakah yang diharapkan

selama proses pembelajaran. Selama proses pembelajaran, nilai bobot disusun

dalam suatu range tertentu tergantung pada nilai input yang diberikan. Tujuan

pembelajaran ini adalah mengelompokkan unit-unit yang hampir sama dengan

suatu area tertentu. Pembelajaran ini biasanya sangat cocok untuk

pengelompokan (klasifikasi) pola.

2.5.5 Standard Backpropagation

Backpropagation adalah suatu algoritma pembelajaran terawasi dan biasanya

digunakan oleh perceptron dengan banyak lapisan untuk mengubah bobot-bobot

yang terhubung dengan neuron-neuron yang ada pada lapisan tersembunyinya.

Pembelajaran network dengan backpropagation meliputi tiga langkah yaitu

feedforward sebagai pola pembelajaran input, propagasi dari kesalahan dan

penetapan bobot.

Backpropagation mempunyai peranan dalam mengembangkan metode yang

sangat efektif yaitu training pada multilayer networks. Metode tersebut dikenal

dengan backpropagation (of error) atau generalized delta rule. Pada dasarnya

merupakan gradient descent method yang meminimumkan total squared error dari

output yang dihitung oleh networks.

Algoritma backpropagation ada dua yaitu sebagai berikut.

1. Algoritma untuk training yang terdiri dari dua fase yaitu feedforward

dan backward. Algoritma training digunakan untuk menyimpan

pasangan-pasangan pola ke dalam backpropagation networks.

Page 35: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

41

2. Algoritma untuk aplikasi yang hanya terdiri dari satu fase saja yaitu

feedforward.

Algoritma dari backpropagation adalah sebagai berikut.

Langkah 0: Inisialisasi bobot (ambil bobot awal dengan nilai random yang cukup

kecil).

Langkah 1: Kerjakan langkah-langkah berikut selama kondisi berhenti bernilai salah

lakukan langkah 2-9.

Langkah 2: Untuk tiap-tiap pasangan elemen yang akan dilakukan pembelajaran,

kerjakan:

Feedforward :

Langkah 3: Tiap-tiap unit input (Xi, i=1,2,3,...,n) menerima sinyal input xi dan

meneruskan sinyal tersebut ke semua unit pada lapisan yang ada pada lapisan

atasnya (lapisan tersembunyi).

Langkah 4: Tiap-tiap unit tersembunyi (Zj, j=1,2,3,...,p) menjumlahkan sinyal-sinyal

input terbobot sebagai berikut.

∑=

+=n

iijijj vxvinz

10_

Gunakan fungsi aktivasi untuk menghitung sinyal outputnya sebagai berikut.

Zj = f(z_inj)

Lalu kirimkan sinyal tersebut ke semua unit pada lapisan atasnya (unit-unit output).

Langkah 5: Tiap-tiap unit output (Yk, k=1,2,3,...,m) menjumlahkan sinyal-sinyal

input terbobot.

∑=

+=p

ijkikj wzwiny

10_

Page 36: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

42

Gunakan fungsi aktivasi untuk menghitung sinyal outputnya sebagai berikut.

yk=f(y_ink)

Lalu kirimkan sinyal tersebut ke semua unit pada lapisan atasnya (unit-unit output).

Backward:

Langkah 6: Tiap-tiap unit output (Yk, k=1,2,3,...,m) menerima target pola yang

berhubungan dengan pola input pembelajaran, hitung informasi error nya sebagai

berikut.

)_()( kkkk inyfyt ′−=δ

Kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk

memperbaiki nilai wjk) sebagai berikut.

jkjk zW αδ=Δ

Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki

nilai w0k ) sebagai berikut.

kkw αδ=Δ 0

Kirimkan δk ini ke unit-unit yang ada pada lapisan bawahnya.

Langkah 7: Tiap-tiap unit tersembunyi (Zj, j=1,2,3,...,p) menjumlahkan delta

inputnya (dari unit-unit yang berada pada lapisan di atasnya) sebagai berikut.

∑=

=m

ijkkj win

1

_ δδ

Kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung

informasi error sebagai berikut.

)_(_ jjj inzfin ′= δδ

Page 37: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

43

Kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk

memperbaiki nilai vij) sebagai berikut.

ijjk xv αδ=Δ

Kemudian hitung koreksi bias (yang nantinya akan digunakan untuk

memperbaiki nilai v0j) sebagai berikut.

jjv αδ=Δ 0

Langkah 8: Tiap-tiap unit output (Yk, k=1,2,3,...,m) memperbaiki bias dan bobotnya

(j=0,1,2,...,p) sebagai berikut.

jkjkjk wlamawbaruw Δ+= )()(

Tiap-tiap unit tersembunyi (Zj, j=1,2,3,...,p) memperbaiki bias dan bobotnya

(i=0,1,2,...,n) sebagai berikut.

ijijij wlamavbaruv Δ+= )()(

Langkah 9: Tes Kondisi berhenti.

A. Penentuan Bobot dan Bias

Pemilihan inisial bobot dan bias akan mempengaruhi apakah net

mencapai global minima atau lokal minima dari error. Pembaharuan nilai

bobot di antara dua buah unit bergantung pada produk dari fungsi aktivasi unit

yang berada di atasnya atau di bawahnya. Oleh karena itu, sangat penting untuk

menghindari penginisialisasian bobot yang dapat membuat nilai aktivasi atau

produk aktivasi menjadi nol. Nilai dari inisial bobot tidak boleh terlalu besar

atau inisial sinyal input ke setiap unit tersembunyi atau output akan

mempunyai nilai turunan fungsi sigmoid yang kecil. Jika terlalu kecil maka net

Page 38: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

44

input pada lapisan tersembunyi akan mendekati nol yang mana akan

berdampak pada lamanya proses pembelajaran.

Sebuah prosedur umum dalam penginisialisasian nilai awal bobot

biasanya merupakan nilai acak antara -0,5 dan 0,5 atau antara -1 dan 1.

Nguyen-Widrow mengembangkan sebuah modifikasi dalam penginisialisasian

bobot yaitu sebagai berikut.

nn pp 7,0)(7,0 /1 ==β           (2.5.5)

dengan

n adalah jumlah input.

p adalah jumlah unit tersembunyi.

β adalah scale factor.

Penginisialisasian bobot dari unit input ke unit tersembunyi didesain

untuk meningkatkan kemampuan pembelajaran dari unit tersembunyi.

Prosedur tersebut terdiri dari langkah sederhana sebagai berikut.

Untuk setiap unit tersembunyi (j=1,...,p):

a. Inisialisasi vektor bobot (dari unit input):

  )(lamavij = nilai acak antara -0,5 dan 0,5 atau antara -γ dan γ . 

b. Hitung nilai dari ||)(|| lamav j . Reinisialisasi bobot:

||)(||)(

lamavlamav

vj

ijij

β= .            (2.5.6)

c. Pengaturan bias:

  jv0 = nilai acak antara -β dan β .

Analisis Nguyen-Widrow ini berdasarkan pada fungsi aktivasi

Page 39: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

45

xx

xx

eeeex −

+−

=)tanh(         (2.5.7)

yang memiliki kesamaan dengan fungsi aktivasi sigmoid bipolar.

B. Waktu yang Diperlukan untuk Pembelajaran Net

Untuk mendapatkan sebuah keseimbangan antara respon yang tepat

dalam melatih sebuah pola yang baru (keseimbangan antara mengingat dan

menggeneralisasi), tidak perlu melanjutkan pembelajaran hingga total squared

error mencapai minimum. Menurut Hecht-Nielsen (1990), menganjurkan agar

menggunakan dua buah set data selama pembelajaran yaitu sebuah set training

patterns dan sebuah set training-testing patterns.

Banyaknya training patterns yang cukup, akan membuat net mampu

untuk menggeneralisasi dengan maksimal. Untuk mendapatkan training

patterns yang akurat ditentukan oleh kondisi sebagai berikut.

ePW

= ,              (2.5.8)

atau

e

WP =               (2.5.9)

dengan

P adalah jumlah training patterns yang mungkin.

W adalah nilai bobot yang akan dilatih.

e adalah akurasi dari klasifikasi yang diharapkan.

Pengaturan nilai bobot didasarkan pada training patterns dan kesalahan

yang diperoleh dari perhitungan dengan training-testing patterns selama

pembelajaran berlangsung. Saat kesalahan mulai meningkat maka net akan

Page 40: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

46

mulai mengingat training patterns secara spesifik dan akan kehilangan

kemampuan untuk menggeneralisasi dan proses pembelajaran akan dihentikan.

C. Momentum

Pada backpropagation dengan momentum, perubahan bobot merupakan

gabungan antara gradient sekarang dengan sebelumnya. Merupakan modifikasi

dari gradient descent (sebuah teknik matematika untuk optimasi yang menjadi

dasar bagi algoritma backpropagation) yang memberi keuntungan apabila

terdapat data yang sangat berbeda dengan data utama bahkan jika data tersebut

tidak benar. Momentum memungkinkan untuk menggunakan learning rate

yang kecil untuk menghindari masalah utama dalam pembelajaran yaitu saat

suatu training patterns yang tidak biasa digunakan.

Dalam penggunaan momentum, bobot yang sudah diperbaharui dari

training patterns sebelumnya akan disimpan. Sebagai contoh, sebuah bobot

baru pada pembelajaran t+1 didasarkan pada bobot pada pembelajaran t dan t-

1. Maka formula pembaharuan bobotnya dengan momentum adalah sebagai

berikut.

)],1()([)()1( −−++=+ twtwztwtw jkjkjkjkjk μαδ

atau

),()1( twztw jkjkjk Δ+=+Δ μαδ

dan

)],1()([)()1( −−++=+ tvtvxtvtv ijijijijij μαδ

atau

),()1( tvxtv ijijij Δ+=+Δ μαδ

Page 41: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

47

di mana parameter dari momentum μ berkisar antara 0 hingga 1.

D. Prosedur Aplikasi

Setelah pembelajaran, backpropagation neural net akan diaplikasikan

dengan fase feedforward dari algoritma training. Prosedur dari aplikasi ini

adalah sebagai berikut.

Langkah 0 Inisialisasi bobot (dari algoritma training)

Langkah 1 Untuk setiap input vektor, lakukan langkah 2-4

Langkah 2 Untuk i=1,....,n:tetapkan aktivasi untuk input xi;

Langkah 3 Untuk j=1,...,p, 

∑=

+=n

iijijj vxvinz

10_ ; Zj = f(z_inj) 

Langkah 4 Untuk k=1,...,m , ∑=

+=p

ijkikj wzwiny

10_ ; yk=f(y_ink)

2.6 Perancangan Program Simulasi

Perancangan program merupakan salah satu langkah terpenting dalam pembuatan

aplikasi. Perancangan diperlukan untuk membuat sebuah bentuk dasar dan langkah-

langkah yang akan dilakukan dalam pembuatan sebuah aplikasi.

2.6.1 Rekayasa Piranti Lunak

Rekayasa Piranti Lunak menurut Fritz Bauer (Pressman, 2005, p23)

adalah penetapan dan pemakaian prinsip-prinsip rekayasa dalam rangka

mendapatkan piranti lunak yang ekonomis yaitu terpecaya dan bekerja efisien

pada mesin (komputer).

Menurut Pressman (2005, p24), rekayasa piranti lunak mencakup 3

elemen yang mampu mengontrol proses pengembangan piranti lunak,yaitu:

Page 42: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

48

1. Metode-metode (methods)

Menyediakan cara-cara teknis untuk membangun piranti lunak.

2. Alat-alat bantu (tools)

Mengadakan dukungan otomatis atau semi otomatis untuk metode-

metode seperti CASE (Computer Aided Software Engineering) yang

mengkombinasikan software, hardware, dan software engineering

database.

3. Prosedur-prosedur (procedures)

Merupakan pengembangan metode dan alat bantu.

Dalam perancangan software dikenal istilah software life cycle yaitu

serangkaian kegiatan yang dilakukan selama masa perancangan software.

Pemakaian jenis software life cycle yang cocok salah satunya ditentukan oleh

jenis bahasa pemrograman yang cocok. Contohnya, Waterfall Model merupakan

model yang paling umum dan paling dasar pada software life cycle. Rapid

Application Development (RAD) dan Joint Application Development (JAD)

cocok untuk software berbasis objek (OOP), sedangkan Sync+Stabilize dan

Spiral Model yang merupakan pengembangan model waterfall dengan

komponen prototyping cocok untuk sebuah aplikasi yang rumit dan cenderung

mahal pembuatannya.

Menurut Dix (1997, p180), visualisasi dari kegiatan pada software life

cycle model waterfall adalah sebagai berikut.

Page 43: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

49

1. Spesifikasi kebutuhan (Requirement specification)

Pada tahap ini, pihak pengembang dan konsumen

mengidentifikasi apa saja fungsi-fungsi yang diharapkan dari sistem

dan bagaimana sistem memberikan layanan yang diminta.

Pengembang berusaha mengumpulkan berbagai informasi dari

konsumen.

2. Perancangan arsitektur (Architectural design)

Pada tahap ini, terjadi pemisahan komponen-komponen sistem

sesuai dengan fungsinya masing-masing.

3. Detailed design

Setelah memasuki tahap ini, pengembang memperbaiki deskripsi

dari komponen-komponen dari sistem yang telah dipisah-pisah pada

tahap sebelumnya.

4. Coding and unit testing

Pada tahap ini, disain diterjemahkan ke dalam bahasa

pemrograman untuk dieksekusi. Setelah itu komponen-komponen

dites apakah sesuai dengan fungsinya masing-masing.

5. Integration and testing

Setelah tiap-tiap komponen dites dan telah sesuai dengan

fungsinya, komponen-komponen tersebut disatukan lagi. Lalu sistem

dites untuk memastikan sistem telah sesuai dengan kriteria yang

diminta konsumen.

Page 44: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

50

6. Pemeliharaan (maintenance)

Setelah sistem diimplementasikan, maka perlu dilakukannya

perawatan terhadap sistem itu sendiri. Perawatan yang dimaksud

adalah perbaikan error yang ditemukan setelah sistem

diimplementasikan.

Gambar 2.12 Waterfall Model untuk Sistem Software Life-cycle

(Sumber: Dix. 1997, p181)

2.6.2 Interaksi Manusia dan Komputer

Menurut Shneiderman (2005, p4), Interaksi manusia dan komputer

merupakan disiplin ilmu yang berhubungan dengan, perancangan, evaluasi, dan

implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta

studi fenomena-fenomena besar yang berhubungan dengannya.

Pada interaksi manusia dan komputer ditekankan pada pembuatan

antarmuka pemakai (user interface), dimana user interface yang dibuat

diusahakan sedemikian rupa sehingga seorang user dapat dengan baik dan

nyaman menggunakan aplikasi perangkat lunak dibuat. Antar muka pemakai

Page 45: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

51

(user interface) adalah bagian sistem komputer yang memungkinkan manusia

berinteraksi dengan komputer. Tujuan antar muka pemakai adalah agar sistem

komputer dapat digunakan oleh pemakai (user interface), istilah tersebut

digunakan untuk menunjuk kepada kemampuan yang dimiliki oleh piranti lunak

atau program aplikasi yang mudah dioperasikan dan dapat membantu

menyelesaikan suatu persoalan dengan hasil yang sesuai dengan keinginan

pengguna atau biasa disebut user friendly.

Pedoman untuk menghasilkan suatu rancangan antar muka program yang

user friendly adalah dengan menggunakan pedoman Eight Golden Rules. Eight

Golden Rules tersebut menjelaskan mengenai beberapa aturan yang

diperbolehkan dan tidak diperbolehkan sebagai pedoman untuk merancang antar

muka program. Kedelapan aturan tersebut antara lain sebagai berikut.

a. Strive for consistency, konsistensi dalam perancangan antar muka.

b. Enable frequent user to use shorcuts, memungkinkan pengguna

menggunakan shortcuts secara berkala.

c. Offer informative feed back, memberikan umpan balik yang

informative.

d. Design dialogs to yield closure, merancang dialog untuk

menghasilkan keadaan akhir.

e. Offer simple error handling, memberikan penanganan kesalahan yang

sederhana.

Page 46: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

52

f. Permit easy reversal of actions, mengijinkan pembalikkan aksi

dengan mudah.

g. Support internal locus of control, mendukung pengguna menguasai

system yang dibuat.

h. Short-term memory load, mengurangi beban jangka pendek kepada

pengguna.

2.7 Microsoft Visual C#

Bahasa pemograman C# (dibaca C sharp) adalah sebuah bahasa pemograman

modern yang bersifat general purpose, berorientasi objek yang dikembangkan oleh

Microsoft sebagai inisiatif kerangka .NET Framework. Bahasa pemograman ini

dicipatakan berbasiskan bahasa C++ yang telah dipengaruhi oleh aspek-aspek maupun

fitur bahasa yang terdapat pada bahasa-bahasa pemrograman lainnya seperti Java,

Delphi, dan Visual Basic dengan beberapa penyederhanaan. Bahasa pemrograman ini

dikembangkan oleh sebuah tim pengembang di Microsoft yang dipimpin oleh Anders

Hejlsberg, seseorang yang telah lama berpengalaman di dunia pengembangan bahasa

pemrograman karena memang ialah yang membuat Borland Turbo Pascal, Borland

Delphi, dan juga Microsoft J++.

Menurut standar ECMA-334 C# Language Specification, nama C# terdiri atas

sebuah huruf Latin C (U+0043) yang diikuti oleh tanda pagar yang menandakan #

(U+0023). Tanda pagar # yang digunakan memang bukan tanda kres dalam seni musik

(U+266F), dan tanda pagar # (U+0023) tersebut digunakan karena karakter kres dalam

seni musik tidak terdapat di dalam keyboard standar.

Page 47: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

53

2.7.1 Sejarah C#

Pada akhir dekade 1990-an, Microsoft membuat program Microsoft Visual J++

sebagai sebuah langkah percobaan untuk menggunakan Java di dalam sistem operasi

Windows untuk meningkatkan antarmuka dari Microsoft Component Object Model

(COM). Akan tetapi, akibat masalah dengan pemegang hak cipta bahasa

pemrograman Java, Sun Microsystems, Microsoft pun menghentikan pengembangan

J++, dan beralih untuk membuat pengganti J++, kompilernya dan mesin virtualnya

sendiri dengan menggunakan sebuah bahasa pemrograman yang bersifat general-

purpose. Untuk menangani proyek ini, Microsoft merekrut Anders Helsberg, yang

merupakan mantan karyawan Borland yang membuat bahasa Turbo Pascal, dan

Borland Delphi, yang juga mendesain Windows Foundation Classes (WFC) yang

digunakan di dalam J++. Sebagai hasil dari usaha tersebut, C# pun pertama kali

diperkenalkan pada bulan Juli 2000 sebagai sebuah bahasa pemrograman modern

berorientasi objek yang menjadi sebuah bahasa pemrograman utama di dalam

pengembangan di dalam platform Microsoft .NET Framework.

C# didesain untuk memenuhi kebutuhan akan sintaksis C++ yang lebih

ringkas dan Rapid Application Development yang 'tanpa batas' (dibandingkan

dengan RAD yang 'terbatas' seperti yang terdapat pada Delphi dan Visual Basic).

Seperti halnya bahasa Java, bahasa C# telah membuang beberapa fitur berbahaya

dari bahasa C. Memang, pointer belum sepenuhnya "dicabut" dari C#, tetapi

sebagian besar pemrograman dengan menggunakan bahasa C# tidak membutuhkan

pointer secara ekstensif, seperti halnya C dan C++. Persamaan lainnya antara Java

dan C# mencakup peran dari kompiler. Pengalaman Helsberg sebelumnya dalam

pendesain bahasa pemrograman seperti Visual J++, Delphi, Turbo Pascal) dengan

Page 48: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

54

mudah dilihat dalam sintaksis bahasa C#, begitu pula halnya pada inti Common

Language Runtime (CLR). Untuk menjalankan suatu program C#, di komputer atau

alat elektronik lain yang bersangkutan harus tersedia CLR (Common Language

Runtime).

Jalannya sebuah program C# akan dikelola sepenuhnya oleh CLR, oleh karena

itu program C# dikatakan sebagai program yang managed. Sedangkan program-

program klasik yang langsung berinteraksi dengan operating system maupun

hardware tertentu disebut program unmanaged. Biasanya, kompiler menerjemahkan

kode sumber (berkas teks yang berisi bahasa pemrograman tingkat tinggi) ke dalam

kode mesin. Kode mesin tersebut membentuk sebuah berkas yang dapat dieksekusi

(executable atau EXE), yang berupa sebuah berkas yang siap untuk dijalankan kapan

saja secara langsung oleh komputer. Tetapi, karena kode mesin hanya diasosiasikan

dengan sebuah jenis mesin tertentu saja, berkas yang dapat dieksekusi tersebut hanya

dapat berfungsi di atas satu jenis komputer saja. Inilah sebabnya mengapa program

yang sama tidak berfungsi di atas sistem operasi Windows di atas sistem operasi

GNU atau Linux, Apple Macintosh atau sistem operasi lainnya, dan begitu pula

sebaliknya.

Alat bantu kompiler yang digunakan oleh C# tidak menerjemahkan kode

sumber ke dalam kode mesin, tetapi hanya menerjemahkan ke dalam sebuah bahasa

perantara atau In termediate Language (disingkat menjadi IL), yang merupakan

sebuah jenis kode mesin yang telah digeneralisasikan. Ketika program dijalankan di

atas sebuah mesin, maka IL akan diterjemahkan ke dalam kode mesin secara

keseluruhan. Dilihat dari perspektif pengguna, proses translasi ini tidak terlihat.

Tetapi, dalam teorinya, ternyata di balik itu terdapat proses dua langkah rumit yang

Page 49: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

55

mengizinkan program dengan bahasa IL yang sama untuk berjalan di atas mesin

yang berbeda. Selain itu, sebuah program dalam bentuk IL dapat diuji lebih mudah

oleh sistem operasi dari keberadaan kode yang merusak atau kode yang

mencurigakan. Kemampuan ini telah menjadi lebih penting saat program tersebut

dipertukarkan melalui jaringan publik, seperti halnya Internet.

Bahasa C, C++, Java dan C# kini dikenal dengan sebutan "keluarga besar

bahasa pemrograman C" atau "bahasa pemrograman berbasis bahasa C". C++

mengandung semua hal yang dimiliki oleh C tetapi memiliki fitur yang tidak dimiliki

oleh C. Java dan C# meskipun masih berbasis bahasa C, keduanya tidaklah serta-

merta merupakan pengganti dari bahasa C. Bahasa Java dan C# memiliki kesamaan

dalam berbagai bidang, walaupun mirip dengan bahasa C++. Meskipun demikian,

semuanya menggunakan banyak sintaksis yang mirip, seperti void, int, struct dan

lain sebagainya.

2.7.2 Tujuan Desain C#

Standar European Computer Manufacturer Association (ECMA) mendaftarkan

beberapa tujuan desain dari bahasa pemrograman C#, sebagai berikut.

a. Bahasa pemrograman C# dibuat sebagai bahasa pemrograman yang bersifat

general-purpose (untuk tujuan jamak), berorientasi objek, modern, dan

sederhana.

b. Bahasa pemrograman C# ditujukan untuk digunakan dalam mengembangkan

komponen perangkat lunak yang mampu mengambil keuntungan dari

lingkungan terdistribusi.

c. Kemudahan programmer sangatlah penting, khususnya bagi programmer

yang telah lama menggunakan bahasa pemrograman C dan C++.

Page 50: BAB 2 LANDASAN TEORI 2.1. Peramalan - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2009-2-00407-MTIF BAB 2.… · ... perencanaan adalah suatu tugas ... memilih metode

56

d. C# ditujukan agar cocok digunakan untuk menulis program aplikasi baik

mulai dari program aplikasi yang sangat besar yang menggunakan sistem

operasi yang canggih hingga kepada program aplikasi yang sangat kecil yang

memiliki fungsi-fungsi tertentu.

e. Meskipun aplikasi C# ditujukan agar bersifat 'ekonomis' dalam hal kebutuhan

pemrosesan dan memori komputer, bahasa C# tidak ditujukan untuk bersaing

secara langsung dengan kinerja dan ukuran program aplikasi yang dibuat

dengan menggunakan bahasa pemrograman C dan bahasa rakitan.

f. Bahasa C# harus mencakup pengecekan jenis (type checking) yang kuat,

pengecekan larik (array), pendeteksian percobaan terhadap penggunaan

variabel-variabel yang belum diinisialisasikan dan kemudahan kode sumber.

Pada bab 2 ini telah dibahas mengenai berbagai metode dan teori yang akan

digunakan sebagai dasar untuk membuat aplikasi Forecasting. Metode dan teori tersebut

dijelaskan sesuai dengan batasan dalam pembuatan aplikasi ini. Forecasting adalah

sebuah konsep time series yang dapat dibentuk dengan berbagai metode, namun dalam

penulisan di bab 2 ini hanya metode tertentu saja yang digunakan untuk membuat

aplikasi yang akan dibuat.