44
PERANCANGAN PROGRAM APLIKASI
3.1 Analisis Masalah
Penelitian peramalan harga saham sudah banyak dilakukan, seperti Zulkarnain(2013) menggunakan ARIMA dan Kombinasi Main Chart + Ichimoku
Chart yang menghasilkan MAPE sebesar 4.14%. Pada penggunaan metode HMM
beberapa diantaranya adalah Hassan (2005) yang menggunakan kombinasi metode
Continous HMM. Penelitian tersebut menghasilkan peramalan dengan MAPE
sebesar 2.01% dan 1.92% dengan menggunakan gabungan metode HMM, ANN and GA (Hassan, Nath, Kirley, 2007).
Kemajuan teknologi baik dari perangkat keras (hardware) maupun perangkat lunak (software) sangat cepat. Dengan majunya teknologi maka proses pengolahan banyak data dapat dilakukan secara cepat, akurat, mudah dan efisien. Tentunya hal ini sangat bermanfaat untuk melakukan peramalan kejadian dimana peramalan membutuhkan data yang banyak dan memiliki dituntut menghasilkan peramalan yang akurat. Salah satu peramalan yang sering digunakan adalah peramalan harga saham.
Sulit untuk meramalkan harga saham dikarenakan polanya yang tidak linier.Dengan menggunakan indikator-indikator teknikal pola pergerakan harga saham dapat terlihat diwaktu yang tepat. Ada ratusan indikator teknikal yang tersedia, tetapi tidak semua indikator berguna. Misalnya, beberapa indikator memberikan informasi yang cocok untuk saham A tetapi tidak cocok digunakan untuk menjelaskan informasi untuk saham B.
3.2 Usulan Pemecahan Masalah
Agar peramalan harga saham memiliki tingkat akurasi yang tinggi maka dibutuhkan data yang banyak dengan indikator-indikator teknikal yang tepat. Untuk itu dibutuhkan sebuah aplikasi program yang bisa memberikan informasi peramalan harga saham dengan memilih indikator-indikator saham yang tepat guna memberikan hasil peramalan dengan tingkat akurasi yang tinggi. Metode Hidden Markov Model (HMM) merupakan salah satu solusi untuk peramalan harga saham dengan tingkat akurasi yang tinggi, karena metode ini sering digunakan untuk menganalisis dan memprediksi fenomena data time series. Metode tersebut dapat disertai dengan metode Principal Component Analysis (PCA) untuk mencari indikator saham yang tepat guna menyediakan informasi yang tepat untuk harga saham yang akan diramal.
3.3 Desain Penelitian
Berikut tahapan yang akan dilakukan dalam penelitian ini: a. Identifikasi masalah
b. Studi literatur
c. Pemilihan variabel penelitian yang akan digunakan d. Pengumpulan data e. Perancangan progam 1. Analisa kebutuhan 2. Desain Sistem 3. Penulisan Program 4. Pengujian Program 5. Penerapan Program f. Penarikan kesimpulan
Tahapan-tahapan yang akan dilakukan dalam penelitian ini dapat dilihat dari gambar berikut :
Gambar 3.1 Desain Penelitian
Kesimpulan IdentifikasiMasalah :
• Data dalam jumlah banyak
• Indikator dalam jumlah banyak
• Peramalan yang akurat
Pemilihan variabel penelitian
Data Penelitian : • Pengumpulan data • Rekap data Perancangan Program Studi literatur Analisa Kebutuhan Desain Sistem Penulisan Program Pengujian Program Penerapan Program
3.4 Perancangan Program
Program ini diharapkan digunakan dapat meramalkan harga saham untuk
open, high, low dan close price, dapat memberikan nilai ketepatan peramalan, dan
menampilkan grafik pergerakan saham. Untuk pengembangan arsitektur dari program, maka program dibuat berdasarkan Use Case Diagram, Activity Diagram,
Sequence Diagram, Class Diagram.
3.4.1. Use Case Diagram
Configure Dataset
Configure Likelihood and Dataset Evaluate
Forecast Import File
<< depends on >>
<< depends on >>
<< depends on >>
3.4.2. Activity Diagram
3.4.2.1. Activity Diagram Import Data
Push Import Display Browse File
DIalog
Choose File
Push Cancel Push Ok
Show Data
Display Main Form
User System
Gambar 3.3 Activity Diagram Import Data
3.4.2.2. Activity Diagram ConfigureDataset
Push Advance Display Advance
Panel
Choose Default Choose Custom Display Dataset Setting
Display Main Form
User System
Configure Dataset
Inval id Confi gure
Disable Confirm button
Val id Confi gure
Enabled Confirm Button Push Confirm
Button
3.4.2.3. Activity Diagram Forecast
Push Forecast Calculate Forecast
Display Result
User System
Gambar 3.5 Activity Diagram Forecast
3.4.2.4. Activity Diagram Configure Likelihood Tolerance dan Evaluate Dataset
Calculate Forecast Display Result User System Choose Likelihood Tolerance Choose Amount of Dataset Evaluate
3.4.3. Sequence Diagram
3.4.3.1. Sequence Diagram Import Data
User form1 Click Import btnImport_Click() HistoricalDownloader data table HistoricalStock DownloadData() retval list data populate data
populateData()
display data
Gambar 3.7 Sequence Diagram Import File
3.4.3.2. Sequence Diagram Configure Dataset
User form1
Click Advance
btnAdvance_Click()
btnConfirm_Click() Show Panel Advance
Configure Dataset
Option OptionForm
Hide Panel Advance
opt
Click Option
btnOption_Click()
showDialog()
OptionForm()
Send Option Data Configure Option
numericTrainingEnd_ValueChanged()
numericTestingStart_ValueChanged()
Get Option Data
btnOk_Click() Click Ok Close Dialog opt opt Click Cancel Close Dialog btnCancel_Click() Hide Panel Advance
Hide Panel Advance
3.4.3.3. Sequence Diagram Forecast User form1 Click Forecast btnForecast_Click() makeIndicator() populateIndicator() calculatePCA() Component Properties Result PCA ComponentProperties() flag() showPCA() calculateHMM() Data Obs Extract HMM Properties Extract() Send Data Matrix
Send Data HMM HMMProperties() showHMM() populateTesting() obsMakers() forecasting() mainChart() Display Result
Gambar 3.9 Sequence Diagram Forecast
3.4.3.4. Sequence Diagram Configure Likelihood Tolerance dan Evaluate Dataset
User form1
Choose Likelihood Tolerance
comboboxTolerance_SelectedIndexChanged()
calculateSummary()
mainChart() Display Result
Choose Amount Dataset Evaluate
Display Result
calculateSummary()
mainChart()
comboboxEva_SelectedIndexChanged()
Gambar 3.10 Sequence Diagram Configure Likelihood Tolerance dan Dataset Evaluate
3.4.4. Class Diagram 1 1 1 1 4 4 15 0..* 0..* 0..*
3.5 Metodologi Penelitian 3.5.1. Sumber Data
Data yang digunakan pada bagian evaluasi penelitian ini adalah data sekunder yaitu historis dari data harga harian saham, berupa open, high, low, close price dan
volume yang diperoleh dari finance.yahoo.com.
3.5.2. Variabel Penelitian
Pada penelitian ini menggunakan variable penelitian harga harian saham, berupa open, high, low, close price dan volume dan variabel teknikal indikator. Variabel teknikal indikator tersebut meliputi Accumulation Distribution Line (AD),
Positive Volume Index (PVI), Negative Volume Index (NVI), On Balance Volume (OBV), Price and Volume Trend Index ( PVT), Rate of Change dengan 7-periode (ROC), Weighted Close (WC), 14-days William %R (William), 20-periode Chaikin Money Flow (CMF), 14-days Average True Range (ATR), 14-days Vortex Index (+VI dan –VI), 20-days Commodity Channel Index (CCI), Ulcer Index (Ulcer), dan ADX (Average Directional Movement).
3.5.3. Teknik Pengumpulan Data
Teknik Pengumpulan data dilakukan dengan metode non-probability
sampling, yaitu mengambil data dengan mengumpulkan data harian harga saham
berupa open, high, low, close price dan volume dari saham. Data tersebut diambil dari 11 saham dengan periode yang berbeda-beda, yaitu
1. S&P500 periode dari 4 Januari 2010 hingga 7 Juni 2013. 2. Electronic Art Inc periode 26 Maret 1990 hingga 19 Juli 2013. 3. Apple periode 8 September 2008 hingga 19 Juli 2013.
4. Facebook periode 18 Mei 2012 hingga 19 Juli 2013. 5. Google periode 19 Agustus 2010 hingga 19 Juli 2013. 6. IBM periode 1 April 2010 hingga 19 Juli 2013.
7. NASDAQ Composite periode 7 Febuari 2011 hingga 19 Juli 2013. 8. Jakarta Composite periode 21 Juli 2000 hingga 19 Juli 2013. 9. Microsoft periode 15 Maret 2010 hingga 19 Juli 2013. 10. New York Times periode 16 Juli 2003 hingga 19 Juli 2013. 11. Yahoo Inc periode 21 Juli 2008 hingga 19 Juli 2013.
3.5.4. Teknik Pengolahan Data
Pengolahan data akan dilakukan dengan cara sebagai berikut :
1. Proses peramalan dimulai dari pengumpulan data harian harga saham berupa
open, high, low, close price dan volume. Data open/high/low/close disebut
variabel interest disimbolkan dengan huruf V.
2. Indikator-indikator teknikal akan diolah menggunakan data harian harga saham, indikator-indikator teknikal ini meliputi Accumulation Distribution
Line (AD), Positive Volume Index (PVI), Negative Volume Index (NVI), On Balance Volume (OBV), Price and Volume Trend Index (PVT), Rate of Change dengan 7-periode (ROC), Weighted Close (WC), 14-days William %R (William), 20-periode Chaikin Money Flow (CMF), 14-days Average True Range (ATR), 14-days Vortex Index (+VI dan –VI), 20-days Commodity Channel Index (CCI), Ulcer Index (Ulcer), ADX.
dimana,
= Nilai indikator
= Rata-rata dari indikator teknikal = Standar devisiasi dari indikator teknikal
4. Indikator-indikator teknikal akan dipilih mengunakan Principal Component
Analysis (PCA) sehingga mendapatkan P indikator yang paling efektif
menggambarkan pola pergerakkan data harga saham.
5. Data harga saham beserta indikator yang telah diseleksi akan dibagi menjadi tiga bagian, yaitu dataset dan indikator training, dataset dan indikator test, dan dataset dan indikator evaluate.
6. Proses HMM dilakukan dengan menggunakan 3 state yaitu state increase dimana harga variabel interest pada t+1 mengalami kenaikan dari harga variabel interest pada saat t, state decrease dimana harga variabel interest pada t+1 mengalami penurunan dari harga variabel interest pada saat t, dan
state no change dimana harga variabel interest pada t+1 sama dengan harga
variabel interest pada saat t.
7. Data untuk membentuk transition matrix dan untuk membuat observation
squence diolah dengan cara mensimbolkan data, yaitu :
a. Vt – Vt-1> 0 bearti state increase disimbolkan dengan “I”
b. Vt – Vt-1< 0 bearti state decrease disimbolkan dengan “D”
c. Vt – Vt-1= 0 bearti state no change disimbolkan dengan “S”
8. Dataset training akan diolah untuk menentukan transition matrix pada proses
inisialisasi HMM sesuai dengan variabel interest dan indikator training akan diolah menjadi training observation squence.
9. Inisialisasi HMM dilakukan dengan parameter transition matrix: A(3x3) yang
telah diolah dari dataset training, untuk nilai dari parameter observation
matrix: B(3xM) dan prior probability:π(3x1)diambil secara random. HMM
dilambangkan dengan model λ=(A, B, π).
10. HMM akan diolah menggunakan algoritma Baum-Welch menggunakan data
training observation squence sehingga model λ= (A, B, π) akan memiliki
parameter yang cocok dengan keadaan dataset training, yang akan disebut sebagai trained HMM.
11. Dataset test dan dataset evaluate diolah untuk mendapatkan likelihood dari
tiap t menggunakan menggunakan algoritma forward dengan trained HMM dan data observation squence diolah dari indikator pada saat t.
12. Peramalan dilakukan dengan menggunakan rumus 2.33.
13.
Hasil Peramalan akan dievaluasi dengan cara menghitung Percentage Error (PE) dan Mean Absolute Percentage Error (MAPE).3.6 Perancangan Layar 3.6.1. Rancangan Menu Utama
Menu yang terdapat pada Program ‘One Day Ahead” ditampilkan pada tabel 3.1. Dijelaskan juga fungsi tiap menu yang ditampilkan.
Tabel 3.1 Rancangan Menu Program
Menu fungsi
Menu ‘File’ Membuka layar file
Submenu ‘File →Import’ Untuk import data file (*.csv, *.xls, *.xlsx) Submenu ‘File →Exit’ Untuk keluar dari program
Menu Tujuan
Menu ‘Help’ Membuka layar help
Submenu ‘Help →Show Help’ Untuk membuka layar help Submenu ‘Help →Option’ Untuk membuka layar option
Submenu ‘Help →About us’ Untuk membuka layar profile pembuat
3.6.2. Rancangan Layar Utama
Pada rancangan layar utama program ‘One Day Ahead’ user dapat memilih ‘File’ dan ‘Help’ pada menu utama program dan terdapat juga Worktab dan
Progressbar (Hidden). User dapat memilih file data yang akan dijadikan dataset
untuk proses peramalan atau keluar dari program melalui menu ‘File’. Menu ‘Help’dapat diakses oleh user untuk pengaturan dan penjelasan program.
ProgressBar akan tampil apabila program sudah memiliki dataset yang valid, apabila
program belum memiliki dataset yang valid maka ProgressBar akan tetap tidak terlihat oleh user dan menampilkan pesan bahwa file data tidak valid.
Gambar 3.12 Rancangan Layar Utama
Pada menu ‘File’, user dapat memilih submenu Import dan Exit. Submenu Import akan menampilkan layar browse file untuk user memilih file data, submenu Import
dapat diakses dengan memilih submenu atau menekan tombol Alt + I. Untuk menutup program, user dapat memilih submenu Exit atau menekan tombol Alt + F4.
Gambar 3.13 Rancangan Layar Menu File Ditekan
Jika SubMenu Import ditekan tampil layar browse file untuk user memilih fil
edata dengan format *.csv, *.xls atau *.xlsxdari harddisk ataupun media
penyimpanan lainnya seperti Flashdisk, Memory Card atau media lain yang mendukung penyimpanan data berformat *.csv, *.xls atau *.xlsx. Setelah berhasil
di-import menjadi dataset ke program maka Worktab dan StatusBar akan terlihat.
Menu ‘Help’ mempunyai Submenu Show Help dengan tombol shortcut Ctrl + H, Option dengan tombol shortcutShift + O dan Aboutdengan tombol shortcut Ctrl + U. Submenu Show Help berfungsi untuk menampilkan petunjuk bagi user untuk menggunakan program. Submenu Option berfungsi mengatur perhitungan PCA dan banyak angka dibelakang koma untuk setiap nilai yang diolah oleh program. Submenu About berfungsi untuk menampilkan profile pembuat program.
Gambar 3.14 Rancangan Layar Menu Help Ditekan
3.6.3. Perancangan Layar Data
Layar data berada di tab pertama pada WorkTab. Pada tab layar data terdapat 3 panel, yaitu panel Main berisikan tombol untuk import file, tombol untuk menampilkan pengaturan dataset, dan tombol untuk memulai proses peramalan, panel table data untuk menampilkan data date, open price, high price, low price,
close price dan volume dari dataset, dan panel table eksplorasi data untuk
menampilkan means, variance, maximum, minimum value dari dataset pada table data.
Pada panel main terdapat tombol Advance akan menampilkan panel baru yang berfungsi untuk mengatur jumlah dataset untuk training dan testing. Tombol
Forecast yang berfungsi untuk memulai proses peramalan. Setelah proses peramalan
Gambar 3.15 Perancangan Layar Tab Data
3.6.4. Perancangan Layar Result
Layar Result merupakan tab ketiga pada WorkTab. Layar Result terdiri dari 5
tab yaitu tab Summary, Open Price, High Price, Low Price dan Close Price. Setelah
pengolahan data selesai tab Result dapat diakses.
Pada Gambar 3.16 menampilkan rancangan layar tab Summary yang berisikan 3 bagian yaitu
1. Panel yang berfungsi untuk menampilkan tanggal hari terakhir dari data,
combobox yang berfungsi untuk mengatur likelihood tolerance dan jumlah dataset evaluate.
2. Table Summary Forecasting berisikan data hasil peramalan dan MAPE dari
peramalan satu hari kedepan harga open, high, low, dan close, dan informasi kategori MAPE.
3. Chart berfungsi untuk menampilkan plot dengan nilai aktual dan nilai
peramalan dari harga open, high, low, dan close pada dataset evaluate.
Gambar 3.17 Perancangan Layar Tab Open pada Tab Result
Pada Gambar 3.17 ditampilkan tab Open, untuk tab High, Low, dan Close memiliki bagian yang sama seperti tab Open yang berisikan 3 bagian yaitu
1. Panel yang berfungsi untuk menampilkan nilai peramalan untuk satu hari
2. Table Forecasting berisikan data aktual, hasil peramalan, likelihood, dan percentage error dari dataset evaluate,
3. Chart berfungsi untuk menampilkan plot dengan nilai aktual dan nilai
peramalan.
3.6.5. Perancangan Layar Statistic
Tab terakhir pada WorkTab adalah layar statistic. Layar statistic terdiri dari 3 tab yaitu tab Indicator, PCA, dan HMM. Setelah pengolahan data selesai tab statistic
dapat diakses.
Pada tab Indicator ditampilkan Table Indicator yang berisikan nilai indikator-indikator yang telah diolah dari dataset.
Gambar 3.18 Perancangan Layar Tab Indicator pada Tab Result
Tab PCA berisikan data hasil perhitungan PCA yaitu label Result PCA
berfungsi untuk menampilkan secara deskriptif hasil pengolahan PCA, nilai
PCA berisikan standard deviation, proportions of variance dan cummulative
proportions.
Gambar 3.19 Perancangan Layar Tab PCA pada Tab Result
Gambar 3.20 Perancangan Layar Tab HMM pada Tab Result
Tab HMM dibagi menjadi 4 tab yaitu tab Open, High, Low, dan Close. Tiap tab berisikan 2 panel yaitu panel summary Initial HMM menampilkan model awal
dari HMM dan panel summary trained HMM menampilkan model HMM yang sudah dilatih melalui algoritma BaumWelchdari variabel yang dipilih.
3.6.6. Perancangan Layar Help
Gambar 3.21 Perancangan Layar Help
Gambar 3.21 menampilkan perancangan layar submenu Help, layar Help berisikan informasi penggunaan program ‘One Day Ahead’.
3.6.7. Perancangan Layar Option
Gambar 3.22 Perancangan Layar Option
Gambar 3.22 menampilkan perancangan layar submenu Option, layar Option berisikan combobox untuk mengatur proses PCA dan angka dibelakang koma.
3.6.8. Perancangan Layar About
Gambar 3.23 Perancangan Layar About
Gambar 3.23 menampilkan perancangan layar submenu About, layar About berisikan informasi program ‘One Day Ahead’, logo program dan profile dari pembuat program.