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.
6
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 :
Communication
Planning Modelling Construction
Deployment
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.
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.
Use Case 1
Actor 1
Use Case 2
Actor 2 Use Case 3
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, menggambarkan sebuah use
<
>
case mengandung fungsi dari use case lainnya. Extend, menggambarkan suatu use case
<<extend>>
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 ClassName -Attributes +Method
Keterangan 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 Multiplicity, menggambarkan jumlah
1
1..*
1
0..1
1
1..*
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 covarian
hingga variance( untuk k
maksimum,
dan
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 p oleh karena it :
dimana I = 1,2, ….,
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
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
Bila
maka :
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
mengindikasikan peluang mulai dari state i, dan
distribution,
. dimana
.
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
merepresentasikan model
O = .
O1,
O2 ,
… ,
OT
yang
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 gammas” sebagai
mendefinisikan “di-
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
Dengan
dan
dijelaskan sebagai
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
Xt
= 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. 2.7.1.
Saham 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
kepemilikian
atas
suatu
perusahaan
yang
saham
berbentuk
adalah surat perseroan
bukti
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
7.
= Harga harian Close n periode lalu
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 1
Judul StockMarket Forecasting Using Hidden Markov Model: A New
Penulis Md. Rafiul Hassan dan Baikunth Nath
Metode Hidden Markov Model
Hasil Peramalan saham menggunakan continuous HMM dari penelitian yang
43
Approach (2005)
A fusion model of HMM, ANN and GA for stock market forecasting (2007)
2
Md. Rafiul Hassan, Baikunth Nath, Michael Kirley
Hidden Markov Model, ANN dan GA
dilakukan memberikan nilai MAPE yang hampir sama dengan peramalan menggunakan metode ANN 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
3
A combination of hidden Markov model and fuzzy model for stock market forecasting (2009)
4
A Duration Hidden Markov Model for the Christos Identification Ntantamis of Regimes in Stock Market Returns (2009)
Md. Rafiul Hassan
Metode
Hidden Markov Model dan Fuzzy Logic
Hidden Markov Model
Hasil 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 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 MacroEconomic Factors and Stochastic Model (2012)
Jyoti Badge
Hidden Markov Model
Peramalan harga close saham menggunakan HMM dan PCA memberikan hasil peramalan yang baik