BAB IV MODEL PERANCANGAN DAN IMPLEMENTASI PERANGKAT LUNAK
Pada bab ini akan dipaparkan proses perancangan perangkat lunak untuk prediksi harga saham.
IV.1 System Requirement IV.1.1 Overall Description
Perangkat lunak yang dikembangkan merupakan suatu perangkat lunak untuk melakukan prediksi suatu harga saham/indeks saham. Dalam proses prediksi, perangkat lunak ini mempertimbangkan beberapa faktor dalam menentukan hasil prediksi, yaitu faktor histori atau pergerakan harga saham terdahulu dan pengaruh kondisi terkini yang memperngaruhi pergerakan harga saham saat ini. Kondisi terkini yang terlibat dalam perhitungan adalah kondisi perusahaan (Devidend yield, Devidend per Share, Earning per Share, Price Earning Ratio), makroekonomi (tingkat inflasi, kapasitas produksi industri, money supply, suku bunga BI, harga minyak dunia, nilai tukar rupiah), dan berita nonekonomi (kondisi sektor migas dan pertambangan, pergerakan indeks saham luar negeri, berita luar negeri, kebijakan makroekonomi US, berita dalam negeri, dan berita lainnya). Pengembangan perangkat lunak ini menggunakan tool Matlab sebagai bahasa pemrogramannya. User dalam berinteraksi dengan perangkat lunak ini difasilitasi oleh Graphical User Interface (GUI) sehingga diharapkan perangkat lunak ini bersifat user friendly. IV.1.2 Data Masukan
Sebelum menjalankan eksekusi, data yang dibutuhkan sebagai masukan adalah sebagai berikut.
36
1. Data histori pergerakan harga saham. Data historis pergerakan harga saham yang dibutuhkan adalah tanggal, nilai harga saham pada sesi penutupan, volume perdagangan, dan nilai return dari saham. Data tanggal, nilai saham pada sesi penutupan, dan volume tidak digunakan sebagai data masukan komputasi, tetapi hanya sebagai data pelengkap untuk menampilkan grafik pergerakan harga saham. Jadi hanya data nilai return harga saham digunakan sebagai data masukan komputasi. Data-data tersebut disimpan dalam file berformat excel (.xls). Format penulisan data masukan adalah sebagai berikut
Gambar IV.1 Contoh format penulisan data masukan dalam format excel (.xls). Agar
susunan
matrik
tersebut
juga
menunjukkan
urutan
tanggal/historis, maka user harus menyusun data tersebut dengan urutan tanggal terakhir diletakkan pada baris pertama, diikuti dengan tanggal sebelumnya dan seterusnya.
37
2. Kondisi terkini, kondisi terkini ini direpresentasikan sebagai nilai/angka. Nilai pada tiap faktor ditentukan secara subjektif oleh user sesuai dengan pengetahuan dan pengalamannya. Nilai tersebut berkisar antara -1 sampai 1. Nilai-nilai pada tiap faktor tersebut secara degradasi representasi dari kondisi yang tidak kondusif (nilai saham turun/nilai return negatif) sampai representasi kondisi yang kondusif (nilai saham naik/nilai return positif). 3. Data masukan untuk proses komputasi, antara lain banyaknya iterasi, jumlah semut, error yang diperbolehkan, sliding window, bilangan α dan β, dan lain-lain. User dapat memilih nilai default yang telah ada sebagai data masukan untuk mempermudah proses. IV.1.3 Batasan
Batasan dari perangkat lunak adalah sebagai berikut 1. prediksi yang dihasilkan oleh perangkat lunak ini merupakan nilai return pada satu langkah waktu/satu hari berikutnya, 2. nilai return yang dihasilkan merupakan range nilai return bukan satu titik angka nilai return.
IV.2 Tahap Analisis Pada tahap ini akan dijelaskan mengenai data flow diagram dan struktur data. Penjelasan detil mengenai hal tersebut akan diuraikan pada subbab berikut ini.
IV.2.1 Data Flow Diagram Berikut ini DFD perangkat lunak yang dikembangkan untuk memprediksi harga saham.
38
Gambar IV.2 DFD level 0
Gambar IV.3 DFD level 1
39
Gambar IV.4 DFD Level 2
IV.2.2 Struktur Data a. Representasi data masukan return saham
Seperti yang telah dijelaskan sebelumnya bahwa user memasukkan data return saham dengan cara menyimpan data tersebut kedalam format excel yang kemudian me-upload file tersebut ke software melalui user interface yang tersedia. Data tersebut kemudian diambil dan diolah oleh software menjadi suatu matrik Rt [1, n] (matrik dengan ukuran baris = 1 dan kolom = n dengan n bergantung dengan banyaknya data).
Selain data return, terdapat data lain yang tidak terlibat dalam proses komputasi, tetapi perlu dimasukkan sebagai tampilan pada grafik yaitu data tanggal, harga saham pada sesi penutupan, dan volume perdagangan. Data tersebut juga direpresentasikan dalam matrik dengan ukuran baris = 1 dan kolom = n (bergantung dengan banyaknya data).
40
b. Representasi data return sebagai data masukan pada proses similar sequence matching (SSM)
Pada proses similar sequence matching, data masukan yang digunakan bukanlah data asli sesuai dengan data masukan user, tetapi data yang telah diolah sebelumnya. Sesuai dengan paparan metoda similar sequence matching pada bab sebelumnya bahwa data masukan untuk proses ini dihasilkan dari proses pemotongan matrik Rt dengan parameter yang telah ditentukan yaitu ω dan j (sliding window). Matrik Ss merupakan matrik hasil dari proses ini, dengan ukuran baris = ω dan ukuran kolom = floor((Nr – ω + j)/j). Nr merupakan banyaknya data/banyaknya kolom dari Rt, ω merupakan panjang subsequence, dan j adalah banyak sliding yang diinginkan. Matrik Ss juga merepresentasikan banyaknya subsequence yaitu sebanyak kolomnya, dengan panjang subsequence masing-masing adalah ω. Contoh: Misalkan diberikan matrik Rt dengan ukuran 1 x 100, ω = 10 dan j = 3. Maka Matrik Ss akan berukuran 10 x 31. Sehingga banyaknya subsequence adalah 31. c. Representasi dari konstruksi graph
Pada bab sebelumnya telah dijelaskan bahwa konstruksi graph yang digunakan dalam proses ant system adalah seperti pada Gambar III.2. Konstruksi tersebut kemudian direpresentasikan dalam suatu matrik yaitu matrik Cls. Matrik Cls merupakan matrik yang menunjukkan keterhubungan antar node/titik. d. Representasi data heuristic(η) dan pheromone trail(τ)
Data heuristic(η) dan pheromone trail(τ) dalam proses komputasi ant system masing-masing direpresentasikan dalam matrik “eta” dan “tau”. Matrik ini memiliki ukuran baris yang sesuai dengan jumlah class dan ukuran kolom = 3. Pada kolom ke-1 menunjukkan pangkal dari segmen/edge, kolom ke-2 menunjukkan ujung dari segmen/edge sedangkan kolom ke-3 adalah nilai heuristic ataupun nilai pheromone trail pada segmen tersebut.
41
e. Representasi rute yang terlewati
Untuk setiap ant yang telah menyelesaikan perjalanannya pada tiap iterasi, jejak perjalanan/rute direpresentasikan sebagai vektor, dimana kolom pertama enunjukkan start, kolom kedua dan ketiga adalah node yang dilewati kemudian.
Disamping representasi untuk rute, pada tiap iterasi juga dibangun suatu vektor dengan ukuran kolomnya adalah empat, dimana tiga pertama menunjukkan rute sedangkan kolom terakhir menunjukkan bobot di rute tersebut.
IV.3 Tahap Desain IV.3.1 PseudoCode Program Berikut ini pseudo code pada program utama, sedangkan pseudo code prosedur lainnya dapat dilihat pada Lampiran A. Pseudo code Utama Input :
-
Data harga saham dalam format excel.
-
Data kondisi perusahaan
-
Data Makroekonomi
-
Data Non Ekonomi
-
Bobot pengaruh makroekonomi dan non ekonomi
-
Nilai J sebagai sliding window (bisa di set sebagai default)
-
Nilai ω sebagai penentuan ukuran sampel pola (bisa diset sebagai default)
-
Maksimum iterasi.
-
Nilai α, β, eps, m, dan ρ.
Output :
-
Tren harga saham (naik, turun, atau tetap).
-
Nilai return pada satu hari berikutnya
Constraint :
-
Nilai j ≥ 2 42
-
Nilai 0 ≤ ρ ≤ 1
-
Data Makroekonomi dan non ekonomi: antara -1 sampai dengan 1
-
Nilai ω kurang dari banyaknya data harga saham
Pseudo Code:
1. Parsing data return dari format excel ke matrik Rt. 2. Mambangun matrik Cls sebagai matrik keterhubungan antar node. 3. Membangun matrik Ss dengan cara memotong dan menggabungkan dari matrik Rt. 4. Lakukan prosedur similar sequence match. 5. Lakukan perhitungan prosentase anggota tiap class. 6. Lakukan
prosedur
penghitungan
pengaruh
faktor
eksternal
(makroekonomi dan non ekonomi). 7. Lakukan prosedur penghitungan nilai heuristik. 8. Lakukan prosedur max – min Ant System. 9. End
IV.3.2 Implementation Diagram Berikut ini diilustrasikan model implementation diagram yang menggambarkan keterhubungan komponen dalam perangkat lunak.
43
Gambar IV.5 Diagram Komponen dari system software.
IV.3.3 Desain Interface Berikut ini diilustrasikan desain dari Grafik User Interface (GUI) perangkat lunak untuk memprediksi harga saham.
44
Gambar IV.6 GUI software: tampilan utama.
45
Gambar IV.7 GUI software: input data historis saham.
46
Gambar IV.8 GUI software : input data scoring berita.
47
Gambar IV.9 GUI software : input data koefiesien parameter berita.
48
Gambar IV.10 GUI software : input data parameter metoda.
Gambar IV.11 GUI software : input data dan tombol running.
Gambar IV.12 GUI software : tampilan output.
49