bab 2 landasan teori -...
TRANSCRIPT
6
BAB 2
LANDASAN TEORI
2.1 Rekayasa Perangkat Lunak
Menurut Pressman (2010:13) mengutip pernyataan Fritz Bauer, rekayasa
piranti lunak adalah kegiatan menerapkan dan menggunakan aturan-aturan rekayasa
untuk menghasilkan piranti lunak yang ekonomis tetapi realible dan dapat bekerja
secara efisien pada perangkat sesungguhnya. Rekayasa piranti lunak mencakup 3
elemen utama untuk mengatur pengembangan piranti lunak (Pressman, 2010:20),
yaitu:
1. Proses
Menyatukan metode dengan alat bantu dalam pengembangan piranti lunak
yang rasional dan prosedur mendefinisikan urutan kerja dimana metode akan
diterapkan, mengkoordinasikan data-data yang dibutuhkan, kontrol untuk
membantu jaminan kualitas dan mengkoordinasikan perubahan.
2. Metode
Mengarahkan sejumlah metode atau cara-cara teknis dalam tahapan
pembuatan piranti lunak, yaitu tahap perencanaan dan estimasi proyek,
analisa kebutuhan sistem dan piranti lunak, perancangan struktur data,
arsitektur program dan prosedur algoritma, pembuatan program, pengujian
dan pemeliharaan.
3. Alat
Menyediakan suatu dukungan yang otomatis maupun semi-otomatis pada
proses dan metode yang ada.
7
2.1.1. Model Waterfall
Ada berbagai macam model yang dapat digunakan dalam rekayasa piranti
lunak, model yang biasa digunakan untuk membuat rekayasa piranti lunak adalah
Linear Squential Model atau biasa disebut Classic Life Cycle atau Waterfall Model.
Menurut Pressman (2010:39) model waterfall adalah model klasik yang
bersifat sistematis, berurutan dalam membangun software. Berikut ini fase-fase
dalam model waterfall menurut Pressman :
Gambar 2.1 Waterfall Model
Tahapan-tahapan dalam model Waterfall menurut Pressman (2010:15) adalah
1. Communication
Langkah ini penting untuk berkomunikasi dan menyatukan pemikiran dengan
customer dan stakeholder. Langkah ini berguna untuk mengerti keinginan para
stakeholder pada projek dan mengumpulkan informasi yang dapat membantu
pembuatan tujuandan fungsi software.
2. Planning
Proses ini digunakan untuk membuat planning activity yang dapat membantu
tim dalam membuat piranti lunak. Planning activity akan membentuk map
yang disebut sebagai software project plan, yang berisikan pekerjaan teknikal
yang dikerjakan, kesulitan yang akan terjadi, sumber daya yang diperlukan,
dan jadwal pekerjaan.
Communication
Planning Modelling
Construction
Deployment
8
3. Modeling
Proses modeling ini membentuk suatu sketsa yang digunakan sebagai model
dari piranti lunak sebelum dibuat coding. Proses ini berfokus pada rancangan
struktur data, arsitektur software, representasi interface, dan detail (algoritma)
prosedural. Tahapan ini akan menghasilkan dokumen yang disebut software
requirement.
4. Construction
Construction merupakan aktivitas pembuatan kode untuk membuat piranti
lunak. Coding atau pengkodean merupakan penerjemahan desain dalam bahasa
yang bisa dikenali oleh komputer. Setelah pengkodean selesai dilakukan testing
untuk menemukan kesalahan pada piranti lunak kemudian dapat diperbaiki.
5. Deployment
Pada tahap ini piranti lunak akan dikirim kepada customer yang akan
mengevaluasi dari piranti lunak tersebut dan memberikan feedback berdasarkan
hasil evaluasi tersebut.
2.1.2. Unified Modelling Language (UML)
Unified Modelling Language (UML) adalah “a set of modeling conventions
that is used to specify or describe a software system in terms of objects.” (Whitten
dan Bentley, 2007, 371).
Tahun 1990-an Grady Booch, Jim Rumbaugh dan Ivar Jacobson
mengembangkan UML didukung dengan banyak masukkan dari komunitas
pengembang software. Pada tahun 1997 UML 1.0 diajukan ke Object Management
Group, suatu lembaga yang bertugas mengatur spesifikasi untu digunakan dalam
industry komputer. Saat ini standar yang digunakan adalah UML 2.0 berstandar ISO.
9
2.1.2.1. Use Case Diagram
Use case diagram (Whitten dan Bentley, 2007:246) adalah penggambaran
hubungan yang diharapkan dari sebuah sistem dan sistem berinteraksi dengan
eksternal sistem dan pengguna. Pada diagram ini lebih ditekankan pada hal yang
dikerjakan sistem bukan cara kerja sistem. Contoh use case diagram dapat dilihat
pada Gambar 2.2.
Actor 2
Use Case 1
Use Case 2
Use Case 3
Actor 1
Gambar 2.2 Contoh Use Case Diagram
Tabel 2.1 menjelaskan notasi-notasi dari use case diagram menurut Whitten
dan Bentley (2007:246-248) .
Tabel 2.1 Notasi-notasi Use Case Diagram
Simbol Keterangan
Actor, menggambarkan user atau entitas
luar yang menyediakan informasi atau
menerima informasi dari sistem.
10
Tabel 2.1 Notasi-notasi Use Case Diagram (Lanjutan)
Simbol Keterangan
Use case, menggambarkan pekerjaan
yang termasuk didalamnya interaksi
antara actor dengan sistem.
Association, menggambarkan hubungan
antara aktor dengan use case.
<<include>>
Include, menggambarkan sebuah use
case mengandung fungsi dari use case
lainnya.
<<extend>>
Extend, menggambarkan suatu use case
menyampaikan tindakan dari use case
lain.
Dependency, menggambarkan sebuah
use case memerlukan use case lainnya.
Generalization, menggambarkan
hubungan use case dimana salah satu use
case bentuknya lebih umum dari yang
lain
2.1.2.2. Sequence Diagram
Sequence diagram (Whitten dan Bentley, 2007,394) adalah sebuah diagram
yang memperlihatkan interaksi antara aktor dan sistem dari skenario use case
diagram. Contoh sequence diagram menurut Whitten dan Bentley (2007:396) :
11
Gambar 2.3 Contoh Sequence Diagram
2.1.2.3. Class Diagram
Menurut Whitten dan Bentley (2007,400) class diagram adalah sebuah
grafik yang menunjukan struktur objek bersistem statis, memperlihatkan objek class
sebagai bagian sistem dan hubungan antar class tersebut. Model class diagram tidak
menggambarkan komunikasi dinamik antara objek class.
Class memiliki 3 bagian yaitu nama class, attributes, dan method. Setiap
attributes dan method memiliki nama, tipe dan tingkat visibility. Tingkat visibility
tersebut adalah :
1. Public, dinotasikan dengan simbol “+” yang bearti attributes dan method
dapat diakses dan digunakan oleh class lain.
2. Protected, dinotasikan dengan simbol “#” yang bearti attributes dan method
hanya dapat diakses dan digunakan oleh class itu sendiri dan inheritance dari
class tersebut.
3. Private, dinotasikan dengan simbol “-” yang bearti attributes dan method
hanya dapat diakses dan digunakan oleh class itu sendiri.
12
Tabel 2.2 menjelaskan bagian-bagian dari class diagram menurut Whitten
dan Bentley (2007:373-381).
Tabel 2.2 Notasi-Notasi Class Diagram
Simbol Keterangan
ClassName
-Attributes
+Method
Class, sebuah gambaran dari objek yang
terbagi dari attributes dan methods
Composition, digambarkan dengan wajik
yang berwarna. Composition
menggambarkan hubungan antara class
yang satu merupakan bagian dari class
lain.
Aggregation, digambarkan dengan wajik
tidak berwarna. Aggregation
menggambarkan hubungan semua
hubungan antara kumpulan dan sebuah
bagian.
Association, menggambarkan hubungan
antar class.
Generalization, menjelaskan sebuah
hubungan dimana suatu class lebih
general atau lebih spesifik dari class
lainnya.
13
Tabel 2.2 Notasi-Notasi Class Diagram (Lanjutan)
Simbol Keterangan
1 1..*
1 0..1
1 1..*
Multiplicity, menggambarkan jumlah
objek yang tergabung dalam hubungan
antar class
Contoh class diagram menurut Whitten dan Bentley (2007:406) :
Gambar 2.4 Contoh Class Diagram
14
2.1.2.4. Activity Diagram
Activity diagram adalah sebuah diagram yang dapat digunakan untuk
memperlihatkan alur dari proses, langkah-langkah dari use case, atau logika dari
method object. (Whitten dan Bentley, 2007:390). Contoh activity diagram menurut
Whitten dan Bentley (2007:393) ada pada Gambar 2.5.
Gambar 2.5 Contoh Activity Diagram
Tabel 2.3 menjelaskan notasi-notasi pada activity diagram menurut Whitten
dan Bentley (2007:391).
15
Tabel 2.3 Notasi-notasi Activity Diagram
Notasi Keterangan
Intial State, menggambarkan
dimulainya alur proses suatu
system
Action State,
menggambarkansebuah aktivitas
Flow, menggambarkan alur dari
suatu objek pada state ke state
berikutnya
Decision Point menggambarkan
kegiatan pemilihan state
selanjutnya
Synchronization Bars,
menggambarkan dua atau lebih
aktivitas yang dilakukan secara
bersama-sama
Final State, menggambarkan alur
proses pada suatu sistem telah
selesai
2.1.3. Bahasa Pemprograman C#
Menurut Sharp (2012:1) C# memegang peran penting dalam arsitektur
Microsoft .Net Framework, dan beberapa orang membandingkan peranannya sama
seperti C pada pengembangan UNIX. Menurut Karli Watson; Jacob Vibe Hammer;
16
John D. Reid; Morgan Skinner; Daniel Kemper & Christian Nagel (2013:7)
mengembangkan aplikasi menggunakan C# lebih sederhana dibandingkan
menggunakan C++, karena penggunaan sintak pada C# lebih sederhana. C# hanya
satu dari bahasa yang digunakan dalam mengembangkan aplikasi berbasis .NET,
tetapi C# merupakan bahasa yang terbaik dibandingkan yang lain. C# memiliki
kelebihan sebagai satu-satunya bahasa yang mendesign .NET Framework membuat
C# dapat menggunakan seluruh fiture dari .NET Framework code library. Dan juga
setiap versi terbaru dari .NET pasti menyertai pengembangan dari bahasa C#, sebagai
respon dari permintaan para developers, menjadikan C# lebih baik lagi.
2.1.4. Software R
Menurut McLeod, Yu, dan Mahdi (2011) pada area perhitungan timeseries,
terutama algoritma analisis lanjutan, R sudah menjadi pilihan terutama dari banyak
peneliti. Banyak software lainya seperti Mathematica atau symbolic computation
(Smith dan Field, 2001; McLeod, 2006) tetapi untuk banyak peneliti saat berkerja
dengan data time serie, R memberikan platform yang sangat baik.
Beberapa kelebihan dari R adalah R merupakan projek open source,
didapatkan dengan mudah dan gratis, dan memberikan kualitas komputasi yang
tinggi dengan ribuan add-on packages. R sudah mendukung sistem operasi 64-bit,
multicore processor, paralel dan cluster computing (Schmidberger et al., 2009;
Hoffmann, 2011; Pace, 2012). Dan kelebihan dari R berikutnya R sudah dapat
digunakan pada MAC, PC dan Linux serta R dapat dengan mudah berinteraksi
dengan bahasa pemprograman lainnya seperti C dan Fortran.
17
2.2. Eksplorasi Data
Eksplorasi data digunakan untuk menjabarkan data kuantitatif, dari hasil
penjabaran dapat menjelaskan ciri-ciri atau karakteristik penting dari data.
2.2.1. Sample Means
Means atau rata-rata merupakan suatu ukuran pusat data dari penjumlahan
seluruh data dibagi dengan banyaknya data. Menurut Rumsey (2011:92), rata-rata
dinotasikan dengan rumus :
dimana,
= Sample means atau rata-rata
= Data ke i
= Banyak data
2.2.2. Variance of Sample
Variance adalah ukuran keragaman yang dihitung dengan memperhatikan
posisi relatif setiap pengamatan terhadap nilai tengah dari seluruh data. Rumus
variance dari sample adalah :
dimana,
= Variance dari sample
= Sample means atau rata-rata
= Data ke i
= Banyak data
18
2.3. Principal Component Analysis
Metode Principal Component Analysis (PCA) dibuat pertama kali oleh para
ahli statistik dan ditemukan oleh Karl Pearson pada tahun l90l untuk dipakai pada
bidang biologi. Pada tahun 1947 teori ini muncul lagi dan cukup independen sebagai
teori probabilitas yang ditemukan oleh Karhunen, dan kemudian dikembangkan oleh
Loeve pada tahun l963, sehingga teori ini juga dinamakan Karhunen-Loeve
transform pada bidang ilmu telekomunikasi. PCA adalah sebuah transformasi linier
yang biasa digunakan pada kompresi data dan merupakan teknik yang umum
digunakan untuk menarik fitur-fitur dari data pada sebuah skala berdimensi tinggi.
PCA dapat mereduksi kompleks data menjadi dimensi yang lebih kecil untuk
menampilkan bagian-bagian yang tidak diketahui dan menyederhanakan struktur dari
data. Perhitungan PCA melibatkan perhitungan dari matrik kovarian untuk
meminimalkan redundasi dan memaksimalkan variance.
Menurut Johnson (2002) misalkan ada vector random
terdiri dari p variabel, Principal Component (PC) secara aljabar adalah kombinasi
linear dari p variabel tersebut. Sedangkan secara geometris, kombinasi linear p
merupakan sistem koordinat yang didapatkan dengan merotasikan sistem asal
sebagai sumbu koordinat baru. Sumbur koordinat baru (
didefinisikan sebagai arah dengan variance maksimum yang memberikan nilai
covarian lebih sederhana dan adalah PC yang saling tidak berkorelasi.
Syarat membentuk PC agar mempunyai variance besar adalah dengan memilih
eigenvector hingga variance( maksimum, dan
covarian untuk k<i.
19
Covarian adalah ukuran kekuatan hubungan antara dua dimensi, tetapi jika
himpunan data lebih dari dua dimensi maka lebih dari satu nilai kovarian yang dapat
dihitung.
Nilai PC diperoleh dari eigenvalue-eigenvector dari matriks kovarian maupun
matriks korelasi. Dengan ∑ adalah matriks variance-covariance ( matriks gabungan
dari diagonal adalah variasi (ragam) tiap variabel dan yang lain adalah kovariansi
(peragam) pada n variabel yang berbeda) dari vector random ,
maka rumus dari ∑ adalah :
dimana,
dan ∑ memiliki pasangan eigenvalue-eigenvector ( dimana
. Maka PC memiliki kombinasi linier sebagai berikut :
dimana,
PC ke-p, yang mempunyai variance terbesar
Variabel asal ke-p
Model PC ke-i dapat juga ditulis dengan notasi dimana I = 1,2, ….,
p oleh karena it :
20
Karena PC tidak berkorelasi dan mempunyai variance yang sama dengan
eigenvalue dari ∑, sehingga:
Bila total variance populasi adalah
maka
Apabila PC yang diambil sebanyak k dimana (k<p) maka
Selanjutnya, bila yang dipakai di awal adalah matriks covarian maka total
variance populasi adalah p, yang merupakan jumlah elemen diagonal matriks .
Sehingga :
Berikut ini langkah-langkah yang digunakan untuk menghitung principal
component dari sebuah matriks, pertama mengurangi setiap nilai dari matriks dengan
rata-rata nilai dari setiap masing-masing dimensi. Kemudian menghitung matriks
kovarian dan dilanjutkan mencari eigenvector dan eigenvalue dari matriks kovarian.
Principal component didapatkan dengan mengurutkan eigenvector berdasarkan
eigenvalue yang paling besar ke paling kecil.
Menurut Johnson (2002) terdapat beberapa kriteria yang dapat dipakai
sebagai acuan dalam menentukan banyak PC, antara lain:
21
1. Screen plot menggambarkan besarnya eigenvalue . Untuk menentukan
jumlah PC yang sesuai, maka bisa dilihat pada perpotongan pada garis.
2. Banyaknya PC dipilih sesuai dengan banyaknya eigenvalue yang lebih besar
dari satu (bila PC diperoleh dari matriks korelasi).
3. Menurut Jollife (1986) PC yang ideal dapat digunakan adalah banyak PC
dimana total variance dapat dijelaskan 80 sampai 90 persen.
Menurut Badge (2012) eigenvector dalam PCA dapat menjelaskan variabel
penting. Hal tersebut dilakukan dengan syarat variabel tersebut memiliki nilai
absolute component loadings terbesar pada PC membuat variabel tersebut memiliki
korelasi terbesar diantara variabel-variabel lain. Component loadings didapat dari
nilai pada eigenvector .
2.4. Markov Model
Proses stokastik X(t) adalah aturan untuk menentukan fungsi X(t,ξ) untuk
setiap ξ. Jadi proses stokastik adalah keluarga fungsi waktu yang tergantung pada
parameter ξ atau secara ekivalen fungsi t dan ξ. X(t) adalah proses keadaan diskret
bila nilainya bulat, bila tidak maka X(t) adalah proses kontinu.
A.A. Markov seorang ahli matematika mengemukakan teori ketergantungan
variable acak proses acak yang dikenal dengan proses Markov. Proses Markov
adalah proses stokastik masa lalu tidak mempunyai pengaruh pada masa yang akan
datang bila masa sekarang diketahui.
Bila maka :
Bila maka :
22
Definisi di atas berlaku juga untuk waktu diskret bila X( diganti .
Gambar 2.6 Contoh Markov Model
Dapat dilihat dari Gambar 2.6, menurut Idvall dan Jonsson (2008) terdapat 3
state: sunny, cloudy, dan rainy. Jika pada hari ke-1 cuaca rainy (state 3) maka
peluang untuk 3 hari kedepan cuaca selalu sunny adalah
Dari contoh diatas dapat dijelaskan parameter pada model Markov adalah :
S = Kumpulan dari N state.
A= Matriks transition probability, dimana tiap
merepresentasikan peluang perpindahan dari state i ke state j dengan .
Matriks initial probability distribution, dimana
mengindikasikan peluang mulai dari state i, dan .
Hal yang paling penting dari model Markov adalah asusmsi tentang
probabilitas. Dalam orde pertama model Markov, peluang dari state hanya
bergantung pada state sebelumnya, maka :
23
Model Markov dimana peluang berjalan diantara dua state dan tidak bernilai
0, disebut ergodic model. Tetapi ada banyak kasus lain seperti left-right model
Markov tidak memiliki transisi dari state tingkat tinggi ke state tingkat rendah.
2.5. Hidden Markov Model
2.5.1. Teori Umum
Hidden Markov Model (HMM) pertama kali dikemukakan oleh Leonard. E.
Baum pada tahun 1960-an dan telah banyak digunakan dalam menganalisis dan
memprediksi fenomana time series. HMM merupakan pengembangan dari Markov
chain, dimana setiap state tidak langsung teramati tetapi variables yang terpengaruhi
oleh state teramati, yang disebut dengan ‘emission’.
Dapat dikatakan HMM adalah model statistika yang memodelkan sistem,
sistem yang berbentuk proses Markov dengan parameter yang tidak diketahui, dan
HMM digunakan untuk mengatur parameter yang tersembunyi tersebut dari
parameter observasi. Model HMM dapat digunakan untuk analisis lebih jauh, seperti
untuk analisis pattern recognition applications.
Dalam HMM setiap state memiliki distribusi probabilitas atas simbol-simbol
output yang mungkin muncul. Dari rangkaian simbol yang dihasilkan oleh HMM
dapat memberikan informasi tentang sekuens atau urutan state.
2.5.2. Parameter HMM
Menurut Stamp (2012) dalam jurnal A Revealing Introduction to Hidden
Markov Models HMM memiliki notasi-notasi sebagai berikut :
1. N = Jumlah state pada model.
2. M = Jumlah simbol observasi.
3. T = Panjang rangkaian observasi.
24
4. O = Rangkaian observasi, contoh O = O1, O2, … , OT.
5. Q = Rangkaian state Q = q1, q2, …, qT pada model Markov.
6. V = Kumpulan observasi {0, 1, …., M-1}.
7. A = {aij} matrik transisi, dimana aij menjelaskan peluang transisi antara
state i ke state j.
8. B = {bj(Ot)} merupakan matrik emission observasi, dimana bj(Ot)
menjelaskan peluang antara observasi Oj pada saat state j.
9. π = {πt} merupakan prior probability, dimana πt menjelaskan peluang
berada di state i pada awal perhitungan HMM.
Model HMM direpresentasikan sebagai , model HMM dibentuk
dengan parameter N, M, A, B, dan π, dengan syarat aij, bj(Ot), dan πt sebagai berikut :
dimana aij, bj(Ot), dan πt ≥ 0 untuk setiap i, j, t.
2.5.3. Tiga Masalah Utama dalam Hidden Markov Model
Menurut Behrooz Nobakht, Carl-Edward Joseph Dippel dan Babak Loni
(2010) secara umum ada tiga permasalahan yang akan muncul saat menggunakan
HMM untuk menyelesaikan permasalahan. Menggunakan akan ada
tiga permasalahan, yaitu :
1. Bagaimana menghitung nilai P(O | λ), yaitu probabilitas yang dihasilkan
dari serangkaian pengamatan O = O1, O2, … , OT.
2. Bagaimana memilih rangkaian state Q = q1, q2, …, qT sehingga dapat
mendapatkan rangkaian observasi O = O1, O2, … , OT yang
merepresentasikan model .
25
3. Bagaimana mendapatkan parameter HMM, sehingga nilai
P(O | λ) maksimal.
Pada analisis dan peramalan harga saham permasalahan pertama dan ketiga
menjadi masalah penting. Permasalahan pertama dapat diselesaikan dengan
menggunakan forward algorithm, dan untuk permasalahan ketiga dapat diselesaikan
menggunakan algoritma Baum-Welch.
2.5.4. Algoritma Forward
Algoritma Forward merupakan algoritma rekursif yang efisien untuk
menghitung P(O | λ). P(O | λ) dengan algoritma forward didefinisikan sebagai
peluang state i pada waktu t. Menurut Blunsom (2004) pada jurnal Hidden Markov
Model menjelaskan algoritma forward, yaitu :
2.5.5. Algoritma Baum-Welch
Menurut Vaseghi (2008:157-158) algoritma Baum-Welch berfungsi untuk
men-training model initial HMM dengan mengestimasi parameter pada model
.
Untuk t = 0, 1, … T-2 dan i, j mendefinisikan “di-
gammas” sebagai
26
adalah probabilitas pada berada di state q, saat waktu t dan berpindah
ke state qj saat t + 1. Di-gammas dapat dituliskan sebagai
Hubungan dan dijelaskan sebagai
Dengan dan di-gammas model dapat diestimasi dengan
ketentuan sebagai berikut :
1. Untuk i = 0, 1, … , N-1
2. Untuk i = 0, 1, … , N-1 dan j = 0, 1, … , N-1 hitung
3. Untuk i = 0, 1, … , N-1 dan k = 0, 1, … , M-1 hitung
Proses estimasi merupakan proses iterasi, secara umum proses estimasi
dijelaskan sebagai berikut :
1. Initialisasi
2. Hitung
3. Estimasi model
4. Jika nilai P(O | λ) meningkat ulangin proses pada poin 2.
27
2.6. Peramalan
Menurut Prasetya dan Lukiastuti (2009:43) peramalan merupakan usaha
untuk meramalkan keadaan di masa yang akan datang melalui pengujian keadaan di
masa lalu.
2.6.1. Ketepatan Peramalan
Setelah nilai peramalan didapatkan, nilai peramalan harus di ukur performa
ketepatannya dengan membandingkan nilai peramalan dengan data aktualnya.
Ukuran ketepatan peramalan sangat penting untuk mengevaluasi kualitas dari
peramalan.
Menurut Eddy Herjanto (2004:145) untuk pengguna peramalan, nilai
ketepatan ramalan masa yang akan datang merupakan hal yang paling penting dalam
peramalan. Kesalahan dalam peramalan dipengaruhi dengan dua cara yaitu kesalahan
dalam memilih teknik peramalan dan kesalahan dalam mengevaluasi hasil
peramalan.
Ketepatan metode peramalan secara garis besar dibagi menjadi :
1. Ukuran Statistik Standar
Jika Xt merupakan data aktual untuk periode t dan Ft merupakan ramalan
untukperiode yang sama, maka kesalahan didefinisikan sebagai :
dimana,
e = Galat untuk periode ke-t
X t = Data aktual untuk periode ke-t
Ft = Ramalan untuk periode ke-t
t = Periode waktu
28
Jika terdapat nilai pengamatan dan ramalan untuk n periode waktu, maka
ukuranstatistik standar berikut yang dapat didefinisikan :
a. Means Error
b. Means Absolute Error
c. Sum of Square Error
d. Means Square Error
e. Standar Deviation Error
2. Ukuran Relatif
Tiga ukuran berikut sering digunakan
a. Percentage Error
b. Means Percentage Error
29
c. Means Absolute Percentage Error
Nilai MAPE sebagai ukuran ketepatan peramalan merupakan ukuran relatif
yang mirip dengan MAE. MAPE merupakan ukuran yang paling berguna untuk
membandingkan ketepatan peramalan antar items atau produk. MAPE sudah menjadi
ukuran ketepatan yang umum digunakan pada metode peramalan data kuantitas.
Menurut Lewis yang dikutip oleh Ostertagov´A dan Ostertag (2012) jika nilai MAPE
kurang dari 10%, dapat diinterpretasikan bahwa peramalan tersebut merupakan
peramalan dengan tingkat akurasi tinggi (excellent), jika diantara 10-20% dikatakan
peramalan yang baik (good), jika diantara 20-50% peramalan masih dapat diterima
(acceptable) dan jika diatas 50% peramalan tersebut dikatakan tidak akurat
(inaccurate).
2.6.2. Peramalan Data Harian Harga Saham Menggunakan HMM
Menurut Hassan dan Nath (2005) prosesperamalan menggunakan HMM
dilakukan dengan cara sebagai berikut :
1. Mencari data historis dengan nilai likelihood sesuai toleransi likelihood (
P’(O | λ) = P(O | λ) + toleransi likelihood) dengan ketentuan data yang paling
baru sebelum waktu t dengan nilai likelihood pada waktu t.
2. Misalkan data historis didapat pada ada pada waktu t-20,difference antara
data A (t-20) dan data setelah A (t-19) dihitung (difference = data(t-19) -
data(t-20)).
30
3. Peramalan untuk t+1 didapat dengan cara menambahkan difference dengan
data waktu t.
2.7. Saham
2.7.1. Pengertian Investasi
Investasi adalah uang yang digunakan untuk menanamkan modal dengan
jangka waktu yang lama dengan harapan mendapatkan keuntungan yang lebih besar
dimasa yang akan datang. Kebanyakkan masyarakat takut untuk melakukan investasi
tetapi tidak melihat kekuatan dari berinvestasi. Hirt dan Block (2008:5) memberikan
investasi arti sebagai sebuah komitmen atas dana yang ada sekarang dengan harapan
mendapatkan dana yang lebih besar di masa depan.
2.7.2. Pengertian Saham
Habib (2008:105), menyebutkan bahwa saham adalah surat bukti
kepemilikian atas suatu perusahaan yang berbentuk perseroan terbatas
(PT).Sedangkan, menurut Hariyani dan Serfianto (2010:198) “Saham merupakan
salah satu instrumen pasar modal yang paling umum diperdagangkan karena saham
mampu memberikan tingkat keuntungan yang menarik.”.Pencatatan saham memiliki
interval harian maka ada istilah yang digunakan untuk menuliskan data harga open,
high, low dan close perhari yaitu saham harian, Menurut Rusdin (2005:66)
mengemukakan bahwa:
31
“Harga saham ditentukan menurut hukum permintaan dan penawaran atau kekuatan tawar-menawar. Makin banyak orang ingin membeli saham, maka harga saham tersebut cenderung bergerak naik. Sebaliknya, makin banyak orang yang ingin menjual saham, maka saham tersebut akan bergerak turun”
Dapat didefinisikan investasi saham adalah usaha pengelolaan uang dari
seorang individu atau perusahaan dengan cara menggunakan sebagian dari uangnya
untuk ditanamkan dalam bentuk saham dengan harapan mendapat keuntungan di
masa yang akan datang.
2.7.3. Istilah-Istilah pada Pasar Saham
Menurut Widoatmojo (2000) harga saham dibedakan menjadi :
1. Harga Nominal, merupakan nilai yang ditetapkan setiap lembar saham yang
dikeluarkan oleh emiten.
2. Harga Perdana, merupakan harga sebelum dicatat di bursa efek, besar harga
perdana ditentukan dari persetujuan antara emiten dan penjamin emisi.
3. Harga Pasar, merupakan harga jual dari investor ke investor lainnya, harga
pasar ditentukan setelah harga perdana dicatat dibursa efek
4. Harga Pembukaan, merupakan harga yang diminta penjual dari pembeli pada
saat pembukaan sesi pertama perdagangan.
5. Harga Penutupan, merupakan harga yang diminta oleh penjual dan pembeli
saat harga terakhir kali transaksi
6. Harga Tertinggi, merupakan harga yang paling tinggi pada satu hari bursa
tersebut.
7. Harga Terendah, merupakan harga yang paling rendah pada satu hari bursa
tersebut.
8. Harga Rata-rata, merupakan nilai rata-rata dari harga tertinggi sampai
terendah. Harga ini dicatat untuk transaksi harian, bulanan, dan tahunan.
32
Volume perdagangan menunjukan ukuran besar banyaknya saham yang
diperdagangkan.
2.7.4. Analisis Teknikal
Menurut Susanto dan Sabardi (2010) “Analisis teknikal adalah suatu metode
meramalkan pergerakan harga saham dan meramalkan kecenderungan pasar di masa
mendatang dengan cara mempelajari grafik harga saham, volume perdagangan
indeks harga saham gabungan.”. Menurut Vibby (2009:25) “Analisis teknikal
merupakan analisis studi harga yang terjadi untuk memprediksi harga saham dengan
lebih menitikberatkan pembentukan harga oleh perubahan penawaran (supply) dan
permintaan (demand).”.
Sulistiawan dan Liliana (2007:5) menyatakan 3 asumsi dasar yang dipakai
dalam analisis teknikal, yaitu
1. Market price discounts everything
Adanya kepercayaan bahwa semua peristiwa sangat berpengaruh terhadap
harga saham. Semua kejadian atau peristiwa tersebut akan tercermin pada
harga saham secara seketika.
2. Price moves in trend
Jangan pernah mengambil keputusan transaksi melawan tren harga. Karena
pengguna analisis percaya bahwa semua informasi tercermin pada harga pasar
saham, maka tren tersebut menunjukkan sikap para pelaku pasar atau investor
atas suatu saham. Pahami tren yang ada dan ikuti ke mana tren tersebut akan
bergerak agar bisa memanfaatkan pergerakan pasar tersebut untuk
meningkatkan hasil investasi.
3. History repeats itself
33
Data historis dapat digunakan untuk memprediksi data atau harga saham di
masa mendatang. Hal ini diyakini oleh pengguna analisis teknikal mengingat
adanya faktor psikologis para pelaku pasar yang secara umum bersifat
konstan. Maksudnya adalah segala sesuatu yang pernah terjadi pada masa lalu
akan mempunyai dampak yang sama atas kejadi yang sama pada masa
sekarang.
Kelebihan analisis teknikal adalah (Sulistiawan dan Liliana, 2007: 9):
1. Analisis teknikal bisa diaplikasikan pada semua jenis surat berharga atau
sekuritas pada market manapun. Selama sekuritas tersebut memiliki data
historis dengan waktu yang beruntun dan bisa digambarkan grafik dari
runtutan waktu tersebut, maka sekuritas ter-sebut pasti bisa dianalisis dengan
analisis teknikal.
2. Analisis teknikal dapat menentukan waktu beli dan jual saham.
3. Analisis teknikal dapat diterapkan untuk berbagai dimensi waktu, baik harian,
mingguan, maupun untuk jangka waktu yang lebih panjang.
4. Analisis teknikal dapat memberikan return yang tinggi hanya denagn
mempelajari adanya suatu perubahan tertentu pada market sebelum bergerak
menuju keseimbangan baru.
2.7.5. Klasifikasi Analisis Teknikal
Penggolongan analisis teknikal pada 2 kelas utama dibedakan sebagai berikut
(Sulistiawan dan Liliana, 2007: 12):
1. Analisis Teknikal Klasik
34
Chartist merupakan sebutan untuk pengguna analisis teknikal ini. Selalu
memiliki kepercayaan bahwa trend an sinyal dari pasar suatu saham dapat
diperoleh dari bentuk dan pola tertentu dari grafik harga saham. Bentuk lain
dari analisis ini adalah menggunakan garis penganalisis pada grafik harga
menurut opini masing-masing pengguna. Oleh karena itu dasar pengambilan
keputusan transaksi biasanya ditentukan berdasarkan judgment dan
interpretasi penggunanya terhadap suatu grafik.
2. Analisis Teknikal Modern
Technician merupakan sebutan untuk pengguna analisis ini. Percaya bahwa
trend an sinyal dari pasar suatu saham dapat diperoleh berdasarkan pola
grafik yang ditentukan atau diindikasikan dari perhitungan kuantitatif, bukan
interpretasi subyektif terhadap suatu grafik. Metode ini secara ilmiah bisa
diuji kemampuan dan kinerjanya dalam menghasilkan keuntungan bagi
investor. Keuntungan lain dari analisis teknikal modern adalah indicator bisa
deprogram secara otomatis melalui komputer.
2.7.6. Teknikal Indikator
Menurut Palimo (2010) teknikal indikator adalah nilai tunggal estimator atas
sekumpulan (time series) data suatu sekuritas yang dihasilkan dari penggunaan
sebuah formula terhadap data harga sekuritas tersebut. Beberapa kelebihan
menggunakan teknikal indikator menurut Colby (2002) adalah
1. Teknikal indikator dapat menghemat waktu.
2. Teknikal indikator dapat digunakan pada banyak instrumen finansial, seperti
saham, komoditas, mata uang dan lainnya.
35
3. Teknikal indikator dapat mendeteksi tren dan peluang perubahan tren.
4. Teknikal indikator memberikan fleksibelitas dan adaptasi yang tinggi
dibandingkan metode pembuat keputusan lainnya.
5. Teknikal indikator dapat dijelaskan melalui pendekatan scientifik.
Penelitian ini menggunakan 15 teknikal indikator, yaitu :
1. Accumulation Distribution Line (AD)
Accumulation Distribution digunakan untuk menghitung posisi dari harga
harian close diantara rentang harga harian.
Rumus :
dimana,
AD = Nilai Accumulation Distribution
cum = Kumulatif nilai Accumulation Distribution
C = Harga harian Close
H = Harga harian High
L = Harga harian Low
V = Harian Volume
2. Positive Volume Index (PVI)
PVI ditemukan oleh Paul Dysart, PVI digunakan untuk akumulasi total dari
rasio perubahan harga harian hanya pada hari volume naik. Dengan rumus :
Dijabarkan dari rumus 2.33 PVI dihitung mengakumulasi nilai ROC dengan
syarat, jika volume (V) lebih besar dari volume periode sebelumnya (V,-1), maka
hitung Rate-of-Change (ROC) dari harga close (C) untuk satu periode sebagai nilai
36
persentase, sedangkan jika volume lebih kecil dibandingkan volume periode
sebelumnya, nilai ROC dari harga close bernilai 0.
3. Negative Volume Index (NVI)
NVI ditemukan oleh Paul Dysart, NVI dapat digunakan untuk menghitung
beragam interval waktu, seperti menit, jam, harian, mingguan dan bulanan. NVI
dijabarkan sebagai akumulasi total dari rasio perubahan harga harian hanya pada hari
volume menurun. Dengan rumus :
Dijabarkan dari rumus 2.34 NVI dihitung mengakumulasi nilai ROC dengan
syarat, jika volume (V) lebih kecil dari volume periode sebelumnya (V,-1), maka
hitung Rate-of-Change (ROC) dari harga close (C) untuk satu periode sebagai nilai
persentase, sedangkan jika volume lebih besar dibandingkan volume periode
sebelumnya, nilai ROC dari harga close bernilai 0.
4. On Balance Volume (OBV)
Nilai OBV adalah perhitungan tren harga dan volume yang dipopulerkan oleh
Joseph E. Granville. Setiap hari OBV diakumulasi dan nilai akumulasi dapat
membandingkan grapik tren harga untuk confirmation atau divergence.
dimana,
C = Harga harian Close
P = Harga harian Close periode sebelumnya
|C-P| = Nilai absolute dari selisih dari harga harian close dengan periode
sebelumnya
37
V = Harian Volume
5. Price and Volume Trend Index (PVT)
PVT mirip dengan On Balance Volume yaitu dengan mengakumulasikan total
dari volume yang sudah disesuaikan dengan perubahan pada harga close. PVT
menambah atau mengurangi hanya sebagaian dari harian volume. Jumlah dari
volume ditambahkan ke nilai PVT ditentukan dari jumlah harga naik atau turun yang
relative dengan harga close hari sebelumnya. Dengan rumus :
Close = Harga harian Close
Yesterday’s Close = Harga harian Close hari sebelumnya
Volume = Harian Volume
Yesterday’s PVT = PVT hari sebelumnya
6. Rate Of Change (ROC)
ROC merupakan ungkapan umum untuk momentum atau kecepatan harga
(pricevelocity) berubah. Umumnya, saat nilai ROC lebih besar dari 0, dikatakan
sebagai sinyal pricevelocity yang memperlihatkan tren momentum positif. Nilai ROC
lebih besar dari 0 diartikan sebagai sinyal beli dan jika kurang dari 0 diartikan sinyal
jual. Dengan rumus :
dimana,
Close = Harga harian Close
n = Periode
38
Close n periode ago = Harga harian Close n periode lalu
7. Weighted Close (WC)
Indikator WC adalah rata-rata dari harga harian. Nama Weighted Close
didapat dari faktanya ada bobot tambahan yang ditambahkan pada harga close.
Dengan rumus:
dimana,
Close = Harga harian Close
High = Harga harian High
Low = Harga harian Low
8. William %R
Dikembangan oleh Larry Williams, nilai dari William %R merepresentasikan
tingkat hubungan dari harga close dengan harga high tertinggi periode masa lalu.
Lowest Low = Harga harian Low terrendah selama n periode lalu
Highest High = Harga harian High tertinggi selama n periode lalu
%R = Nilai William %R dikali dengan -100
9. Chaikin Money Flow (CMF)
CMF dikembangkan oleh Marc Chaikin, CMF mengukur jumlah Money
Flow Volume selama spesifik periode. Nilai Money Flow Volume berasal dari
Accumulation Distribution Line. Dengan rumus :
39
dimana,
Close = Harga harian Close
High = Harga harian High
Low = Harga harian Low
Volume = Harian Volume
20-period CMF = Chaikin Money Flow dengan 20 periode
10. Average True Range (ATR)
ATR diartikan sebagai rata-rata dari True Range selama n periode, true range
adalah rentang seluruh harga pada suatu periode, termasuk gaps. Gaps adalah poin
harga dimana tidak ada perdagangan akual yang dieksekusi. J. Welles Wilder, Jr.
menjelaskan nilai TrueRange didapat dari nilai maksimum antara :
dimana,
T = True Range
H = Harga High dari periode saat ini
L = Harga Low dari periode saat ini
P = Harga Close dari periode saat ini
11. Vortex Index (VI)
40
VI dikembangkan oleh Etienne Botes dan Douglas Siepman, VI mengandung
duaoscillators yang menampilkan positif dan negatif pergerakan tren. Dengan rumus:
12. Commodity Channel Index (CCI)
CCI adalah indicator momentum yang dkembangankan oleh Donald R. Lambert.
nilai CCI mirip dengan nilai perhitungan standard score statistika untuk mengukur
penyimpangan harga dari rata-rata harga. Dengan rumus perhitungan :
dimana,
M = (H+L+C)/3 = rata-rata harga dari satu periode
H = Harga harian High dari periode
L = Harga harian Low dari periode
C = Harga harian Close dari periode
A = n-periode dari moving average M
D = Rata-rata deviation, nilai absolut dari perbedaan antara rata-rata harga dan
simple moving average dari rata-rata harga (M-A).
41
13. Ulcer Index
Dikembangan oleh Peter Martin dan Byron McCann pada 1987, Ulcer index
menghitung volatility berdasarkan penurunan harga tinggi selama n periode masa
lalu. Secara umum n yang digunakan sebanyak 14 periode, Ulcer Index
merepresentasikan persentase perkiraan drawdown selama 14 periode. Dengan
rumusan :
14. Average Directional Moment (ADX)
Directional Movement Index (DMI) dikembangkan oleh J. Welles Wilder, Jr. ADX
adalah exponentialsmoothing dari Directional Movement. ADX menghitung
kekuatan tren tanpa menghiraukan arah tren. ADX memilik rumus :
42
dimana,
DI = Directional Index
DM = Directional Movement
+DI = DI positif saat ini
-DI = DI negative saat ini
+DMn = Moving average dari +DM
+DM = Positif DM saat ini
Ht = Harga harian High saat ini
Ht-1 = Harga harian High sebelum hari ini
Lt = Harga harian Low saat ini
Lt-1 = Harga harian Low sebelum hari ini
-DMn = Moving Average dari –DM saat ini
-DM = DM negative saat ini
TRn = Moving Average dari True Range saat ini
TR = True Range
n = Periode
2.8. Penelitian Pendukung
Penelitian ini didukung oleh peneltian-penelitan yang telah dilakukan
sebelumnya, diantaranya dapat dilihat pada table 2.4 berikut ini:
Tabel 2.4 Daftar Penelitian Pendukung
No Judul Penulis Metode Hasil
1
StockMarket Forecasting Using Hidden Markov Model: A New
Md. Rafiul Hassan dan Baikunth Nath
Hidden Markov Model
Peramalan saham menggunakan continuous HMM dari penelitian yang
43
Approach (2005) dilakukan memberikan nilai MAPE yang hampir sama dengan peramalan menggunakan metode ANN
2
A fusion model of HMM, ANN and GA for stock market forecasting (2007)
Md. Rafiul Hassan, Baikunth Nath, Michael Kirley
Hidden Markov Model, ANN dan GA
Peramalan saham menggunakan continuous HMM digabung dengan ANN dan GA dari penelitian yang dilakukan memberikan nilai MAPE yang hampir sama dengan peramalan menggunakan metode ARIMA
Tabel 2.4 Daftar Penelitian Pendukung (Lanjutan)
No Judul Penulis Metode Hasil
3
A combination of hidden Markov model and fuzzy model for stock market forecasting (2009)
Md. Rafiul Hassan
Hidden Markov Model dan Fuzzy Logic
Peramalan saham menggunakan continuous HMM digabung dengan Fuzzy Logic dari penelitian yang dilakukan memberikan nilai MAPE lebih baik dengan peramalan menggunakan metode ARIMA atau ANN
4
A Duration Hidden Markov Model for the Identification of Regimes in Stock Market Returns (2009)
Christos Ntantamis
Hidden Markov Model
Peramalan menggunakan HMM untuk saham NYSE dengan memperhitungkan durasi dari tiap state memberikan hasil peramalan
44
yang baik
5
Forecasting of Indian Stock Market by Effective Macro- Economic Factors and Stochastic Model (2012)
Jyoti Badge Hidden Markov Model
Peramalan harga close saham menggunakan HMM dan PCA memberikan hasil peramalan yang baik