BAB 3 ANALISIS DAN PERANCANGAN PROGRAM APLIKASI
3.1 Analisis Program Aplikasi 3.1.1.
Definisi masalah •
Perubahan nilai indeks harga saham yang begitu dinamis, mempersulit pengambilan keputusan yang tepat bagi para investor agar tidak mengalami kerugian yang signifikan. Hal ini juga menjadi perhatian pemerintah sebelum mengeluarkan suatu kebijakan politik maupun kebijakan
ekonomi
yang
dapat
berdampak
pada
stabilitas
perekonomian Negara. •
M inimnya
waktu
yang
tersedia
untuk
melakukan
analisis
mengakibatkan sulitnya untuk menganalisis pergerakan indeks harga saham dengan memperhatikan semua faktor yang mempengaruhinya. •
Perlunya suatu aplikasi yang diharapkan dapat membantu pengguna dalam menganalisis pergerakkan nilai saham dengan memperhatikan faktor – faktor yang dapat mempengaruhi pergerakan nilai saham tersebut.
3.1.2.
Analisis kebutuhan aplikasi a.
Data yang dibutuhkan Dalam aplikasi peramalan ini, data-data yang digunakan adalah data historis dari periode waktu tertentu. Data tersebut antara lain:
47
data inflasi, nilai tukar dollar terhadap rupiah, data nilai bi–rate, dan data nilai JSX Composite Index. Data tersebut dapat diinput ke dalam file excel yang nantinya dapat diimport ke dalam database aplikasi. b.
M etode yang digunakan Proses analisis dalam aplikasi ini menggunakan metode ekonometrik untukk analisis peramalan dan metode aroon index dan directional movement system untuk analisis trend.
3.2 Rancangan Program Aplikasi 3.2.1
Use case diagram Sistem program aplikasi yang dirancang memiliki 3 feature utama yakni untuk mengimport data, peramalan ekonometrik, dan trend analisis.
Gambar 3.1 Use case diagram
48
Import data digunakan untuk memasukkan data-data variabel yang digunakan dalam peramalan ke dalam database. File yang digunakan untuk mengimport data adalah file excel dengan menggunakan template yang telah disediakan. Pada bagian peramalan ekonometrik sistem dapat melakukan load data-data yang dibutuhkan, pengujian model yang digunakan sebagai dasar peramalan, serta dapat membuat sebuah simulasi peramalan. Dalam pengujian model, hanya beberapa hal yang diuji dari model
peramalan
yakni:
multikolinearitas,
autokorelasi,
dan
heterokedastisitas. Pengujian model ini bersifat optional, pengguna dapat memilih untuk menggunakan fasilitas ini atau tidak dalam melakukan peramalan. Feature trend analisis hanya memberikan informasi bagi pengguna terkait trend yang terjadi untuk variabel – variabel yang ditentukan oleh pengguna.
3.2.2
Class diagram Class diagram menjelaskan objek-objek apa saja yang terdapat dalam sistem/program aplikasi serta relasi yang ada antar masing-masing objek tersebut. Setiap objek yang terdapat dalam class diagram memiliki attribute dan fungsi operasi masing-masing serta contraints yang mengatur koneksi antar objek. Dalam aplikasi yang dirancang kali ini terdapat 4 buah objek, yakni: periode, data, forecast (peramalan), dan trend analisis.
49
Gambar 3.2
Class diagram
Objek periode hanya memiliki 2 buah attribute yaitu id dan nama. Objek periode ini menggambarkan basis waktu yang digunakan dalam peramalan. Dalam peramalan, data yang digunakan dapat berupa data harian , mingguan, maupun tahunan. Jadi, yang termasuk dalam objek periode adalah harian, mingguan, dan tahunan. Sedangkan objek data sendiri terdiri atas attribute id, value, dan tipe. Attribute tipe ditujukan untuk tipe data, dalam hal ini tipe data yang digunakan adalah data inflasi, nilai tukar rupiah, suku bunga (BI rate), dan nilai J SX Composite Index. Objek forecast (peramalan) memiliki 1 buat attribute dan 5 buah operasi. Operasi yang dapat dilakukan oleh objek operasi adalah load data, isExistsData, generate model, uji model, dan simulasi peramalan. Load data bertujuan untuk mengambil data-data yang diperlukan untuk peramalan,
sedangkan
isExistsData
ketersediaan data-data yang diperlukan.
digunakan
untuk
memeriksa
50
Objek trend analisis memiliki masing-masing 2 buah attribute dan operasi. Attribute yang dimiliki objek trend analisis adalah id dan metode, sedangkan operasi terdiri atas load data dan doAnalisis. Attribute metode dimaksudkan pada metode yang digunakan dalam menganalisis trend, yakni metode aroon index dan directional movement system. Relasi antar objek seperti yang terlihat pada gambar 3.2, setiap 1 buah data hanya memiliki 1 buah periode, sedangkan 1 buah periode dapat terdiri atas beberapa data. Relasi yang terbentuk antar data dengan trend analisis adalah relasi “many to many” di mana setiap 1 buah data digunakan dalam beberapa trend analisis dan sebaliknya setiap 1 buah trend analisis menggunakan lebih dari 1 buah data. Relasi yang sama juga terjadi antar objek data dengan objek forecast (peramalan).
3.2.3
Sequence diagram Sequence diagram menggambarkan alur proses yang terjadi pada sistem. Terdapat 3 buah sequence dalam aplikasi, yakni: import data, trend analisis, dan forecast analisis. Proses import data dimulai dari tahapan di mana pengguna menentukan periode data yang akan diimport. Kemudian dilanjutkan pada tahap pengguna menginput data yang akan diimport. Apabila data tersedia dalam database maka sistem akan mengupdate tersebut. Sedangkan apabila data yang diinput pengguna belum tersedia, maka sistem akan menginsert data baru tersebut.
51
Dalam Sequence forecast analisis dimulai saat pengguna memilih periode dan menentukan data – data apa saja yang digunakan untuk peramalan. Selanjutnya sistem akan memeriksa apa data yang dipilih oleh pengguna tersedia dalam database. Apabila data tidak tersedia, maka sistem akan meminta pengguna untuk mengimport data terlebih dahulu. Apabila data telah tersedia dalam database, sistem akan menggunakan data tersebut dan membuat sebuah model persamaan yang nantinya dijadikan dasar untuk melakukan peramalan. Dari model yang dibentuk dilakukan pengujian model. Langkah selanjutnya model ditampilkan kepada pengguna dan pengguna dapat memilih untuk melakukan simulasi peramalan dengan berdasarkan pada model yang di-generate sebelumnya. Hasil simulasi kemudian ditampilkan kepada pengguna. Pengguna juga dapat meminta sistem untuk melakukan trend analisis. Langkah pertama yang dilakukan adalah menentukan data apa yang akan dilakukan analisis trend, selanjutnya sistem akan memeriksa ketersediaan data tersebut dalam database. Apabila data tidak tersedia, sistem akan meminta pengguna untuk mengimport data terlebih dahulu. Apabila data telah tersedia dalam database, sistem akan melakukan analisis trend berdasarkan pada data yang tersedia pada database. Untuk lebih jelasnya dapat melihat sequence diagram di bawah ini.
52
Gambar 3.3. Sequence diagram
3.2.4
Activity diagram Activity diagram merupakan diagram yang menggambarkan segala aktivitas yang dilakukan oleh aplikasi. Terdapat beberapa simbol yang
53
digunakan dalam activity diagram. Tabel di bawah ini menjelaskan simbol-simbol yang digunakan dalam activity diagram. Tabel 3.1 Simbol-simbol yang terdapat dalam activity diagram Simbol
Arti / penjelasan Initial / start state Aktivitas yang dilakukan Percabangan proses / flow, dapat disebabkan oleh validasi yang dijalankan aplikasi Arah kontrol / flow Final state
Activity diagram dimulai saat pengguna memilih tipe analisis yang ingin digunakan. Secara garis besar terdapat 2 buah kelompok aktivitas yang dapat dijalankan aplikasi, yakni : analisis peramalan atau analisis trend. Pada bagian analisis peramalan, aplikasi akan meminta pengguna untuk memilih data dan periode yang digunakan sebagai dasar acuan analisis. Kemudian aplikasi akan memeriksa ketersediaan data pada database. Jika data tidak tersedia maka aplikasi akan meminta pengguna untuk mengimport data terlebih dahulu. Jika data telah tersedia, aplikasi akan me-load data tersebut kemudian akan men-generate model persamaan. Aktivitas selanjutnya, aplikasi dapat menguji model yang telah digenerate sebelumnya dan memberikan model yang optimal atau langsung menampilkan hasil analisis.
54
Pada bagian analisis trend, aktivitas yang pertama kali dijalankan serupa dengan bagian analisis peramalan, aplikasi akan meminta pengguna untuk memilih data yang akan dianalisis. Aplikasi akan memeriksa ketersediaan data dalam database, jika data tersedia data akan di-load sedangkan apabila data tidak tersedia maka aplikasi akan meminta pengguna untuk mengimport data terlebih dahulu. Aktivitas selanjutnya, aplikasi akan melakukan kalkulasi serta analisis trend yang terbentuk untuk data yang ditentukan oleh pengguna sebelumnya.
55
Gambar 3.4
3.2.5
Activity diagram
S tate Diagram State diagram menggambarkan status / kondisi pada sistem dan perubahan status yang dapat terjadi.
56
Gambar 3.5 State diagram Pada gambar 3.5 di atas, terlihat state/kondisi apa saja yang dapat terjadi pada program aplikasi. State diagram di atas menggambarkan situasi aplikasi pada 3 modul utama, yakni import data, analisis peramalan, dan analisis trend. Dalam modul import data, status aplikasi dimulai dengan menunggu pengguna menentukan data dan periode data yang akan diimport. Kemudian dilanjutkan dengan proses import data di
57
mana aplikasi membaca file excel dan kemudian menyimpan ke dalam database. Setelah proses import data selesai aplikasi akan menampilkan data-data yang telah diimport. Dalam module analisis peramalan (forecast), aplikasi akan masuk ke dalam status di mana aplikasi menunggu pengguna menentukan data dan periode yang akan digunakan. Selanjutnya aplikasi akan memeriksa ketersediaan data. Jika data tidak tersedia, maka aplikasi memasuki status menunggu pengguna mengimport data terkait. Akan tetapi, jika data telah tersedia , aplikasi akan langsung menjalankan proses analisis peramalan. Pada akhirnya aplikasi akan memasuki status menampilkan hasil analisis peramalan. Sedangkan pada modul analisis trend, status aplikasi dimulai dari menunggu pengguna untuk memilih data, periode, dan metode yang akan digunakan dalam analisis. Selanjutnya aplikasi akan menjalankan proses analisis trend berdasarkan data dan metode yang ditentukan pengguna sebelumnya. Tahap akhir aplikasi akan menampilkan hasil analisis kepada pengguna.
3.2.6
Database Penggunaan database dalam aplikasi ini hanya terbatas sebagai sarana untuk
menyimpan
data–data yang dibutuhkan
untuk
melakukan
peramalan. Hal ini bertujuan agar pengguna tidak perlu menginput data yang sama berulang kali.
58
Tabel-tabel yang digunakan dikelompokkan berdasarkan jenis data dan periode. Tabel-tabel yang digunakan dapat dilihat di bawah ini.
Gambar 3.6 Tabel-tabel yang digunakan dalam database
3.2.7
Modul - modul aplikasi Perancangan aplikasi peramalan dibagi menjadi 4 buah modul utama. M odul utama terdiri atas modul import data, modul export template, modul ekonometrics forecast, dan modul trend analisis. Berikut penjelasan tentang modul-modul yang tersedia. a. M odul import data M odul
ini
digunakan
sebagai
sarana
bagi
pengguna
memasukkan data-data yang akan digunakan dalam peramalan ke dalam database. Dalam modul ini, pengguna dapat memilih jenis
59
periode data yang akan di-import. Periode yang dapat dipilih adalah harian, mingguan, dan bulanan. Pengguna juga harus menentukan data apa yang akan diimport. Jenis data yang tersedia yaitu data tingkat suku bunga, inflasi, nilai tukar rupiah (forex), dan data J SX Composite Index
b. M odul export data M odul ini digunakan untuk meng-export template yang harus digunakan oleh pengguna sewaktu meng-import data. Template yang tersedia dibagi berdasarkan tipe data dan periode.
c. M odul peramalan ekonometrik M odul ini digunakan dalam analisis peramalan. Dalam modul ini pengguna menentukan terlebih dahulu periode data yang akan digunakan, data mana yang menjadi variabel dependent dan data mana saja yang menjadi variabel independent. Selanjutnya pengguna dapat memilih untuk melakukan pengujian model atau langsung menjalankan proses analisis peramalan. Dalam proses analisis peramalan, aplikasi akan memproses setiap data yang digunakan, melakukan semua perhitunganperhitungan yang diperlukan dan men-generate sebuah model persamaan yang nantinya digunakan sebagai acuan analisis peramalan.
Apabila
pengguna
memilih
untuk
melakukan
60
pengujian model maka aplikasi akan juga menganalisis dan menguji model yang digenerate apakah sudah merupakan model yang optimal dan terbaik.
d. M odul trend analisis M odul ini merupakan modul yang akan digunakan dalam menganalisis trend. Pengguna akan diminta terlebih dahulu menentukan data yang dianalisis trend pergerakannya dan metode analisis trend yang akan digunakan. M etode analisis trend yang dapat digunakan adalah metode aroon index dan metode directional movement system. Selanjutnya aplikasi memproses dan menganalisis trend dan menampilkan hasil kepada pengguna.
3.2.8
S truktur Menu Rancangan menu dalam aplikasi ini berupa drop-down menu. Struktur menu dalam aplikasi ini dapat dilihat pada gambar di bawah ini.
Gambar 3.7 Struktur M enu
61
3.2.9
Perancangan Layar Rancangan layar aplikasi terdiri atas 1 layar utama dan 6 layar anak sesuai dengan jumlah modul dan sub-modul yang ada. 1. Parent Form Layar utama ini berperan sebagai penampung form (modul) yang tersedia dalam aplikasi. Terdapat dua (2) bagian dalam form ini, yaitu : layar utama dan akses kontrol. Layar utama merupakan tempat di mana form lainnya akan ditampilkan. Sedangkan akses kontrol merupakan sarana untuk mengakses form-form lain yang tersedia.
Gambar 3.8 Parent Form
62
2. Form Import Data Form ini digunakan oleh pengguna sebagai sarana import datadata peramalan ke dalam database. Pada form ini terdapat kontrol sebagai berikut : •
Periode Æ combobox, pilihan periode data yang tersedia
•
Jenis data Æ combobox, pilihan jenis-jenis data yang digunakan.
•
Browse Æ tombol, digunakan untuk memilih file yang akan diimport, saat tombol ini ditekan maka akan tampil open file dialog
•
Reset Æ tombol, berfungsi untuk mengembalikan ke kondisi awal
•
Data Ædatagrid, berfungsi untuk menampilkan data yang diimport atau data yang sudah tersedia dalam database
•
Save Ætombol, berfungsi untuk menyimpan data ke dalam database
•
Show
existing
data
Æ
tombol,
berfungsi
menampilkan data yang tersedia dalam database
untuk
63
Gambar 3.9 Form Import Data
3. Form Export Data Form ini digunakan untuk mengeksport file template yang nantinya digunakan oleh pengguna sebagai sarana input data. File template yang digunakan berupa file excel. Pada form ini terdapat kontrol sebagai berikut : •
Periode Æ combobox, pilihan periode data yang tersedia
•
Jenis data Æ combobox, pilihan jenis-jenis data yang digunakan.
•
Browse Æ tombol, digunakan untuk memilih lokasi penyimpanan file yang akan dieksport, saat tombol ini ditekan maka akan tampil directory selection dialog
64
•
Export Æ tombol, berfungsi untuk menggenerate file template
Gambar 3.10 Form Eksport
4. Form Forecasting Analisis Form ini digunakan dalam analisis peramalan menggunakan metode ekonometrik. Dalam form ini, pengguna menentukan periode , variabel dependent, variabel independent, dan range data yang akan digunakan. Pengguna juga dapat memilih untuk menambahkan analisis validasi model untuk model yang akan digenerate nantinya. Dalam form ini terdapat kontrol, antara lain : •
Periode Æ combobox, pilihan periode data yang tersedia
•
Dependent variabel Æ combobox, pilihan data yang dijadikan sebagai dependent variabel.
•
Independent variabel Æ checkbox list, pilihan data yang dijadikan sebagai independent variabel
•
Data source Æ range data yang akan digunakan
65
•
M odel validation Æ checkbox (optional) , validasi model yang ingin dilakukan
•
Analyze Æ tombol, untuk menjalankan proses analisis peramalan
Gambar 3.11 Form forecast analisis Saat tombol analyze ditekan maka proses analisis dijalankan. Kemudian hasilnya ditampilkan dalam form “Analysis Result”. Dalam form ini ditampilkan summary hasil analisis peramalan.
5. Form Analysis Result Dalam form ini, ditampilkan hasil analisis peramalan yang dilakukan yang terdiri atas detail informasi model regresi yang dihasilkan, model validasi yang dilakukan, dan plot grafik model.
66
Gambar 3.12 Form analisis result
6. Form Trend Analisis Form ini digunakan untuk menganalisis trend pergerakan nilai dengan menggunakan metode aroon index atau directional movement system. Dalam form ini, pengguna menentukan jenis data yang akan dianalisis, tipe periode yang digunakan, range periode, dan metode yang akan digunakan dalam analisis trend tersebut. Dalam form ini terdapat kontrol, antara lain : •
Periode Æ combobox, pilihan periode data yang tersedia
•
Jenis Data Æ combobox, pilihan data yang dijadikan sebagai dependent variabel.
•
Range periode Æ range data yang akan digunakan
•
M etode Æ combobox, digunakan
pilihan
metode yang ingin
67
•
Analyze Æ tombol, untuk menjalankan proses analisis trend menggunakan metode yang dipilih dan menampilkan hasilnya.
Gambar 3.13 Form trend analisis
3.2.10 S pesifikasi proses (pseudocode) Spesifikasi proses menggambarkan alur proses yang dijalankan untuk setiap modul yang tersedia di dalam aplikasi tersebut. a) Import data Berikut spesifikasi proses dalam modul import data. 1. Tentukan tipe data yang akan diimport 2. Tentukan periode data yang akan diimport 3. Cari lokasi file 4. Baca dan tampilkan isi dari file 5. Simpan ke dalam database b) Export data Berikut spesifikasi proses dalam modul import data.
68
1. Tentukan tipe data yang akan diekspor 2. Tentukan periode data yang akan diekspor 3. Tentukan lokasi file penampung. 4. Eksport file. c) Analisis peramalan Dalam analisis peramalan terdapat beberapa sub-modul antara lain : generate model dan validasi/pengujian model. Spesifikasi proses untuk modul generate model sebagai berikut: 1. Tentukan periode data yang akan digunakan 2. Tentukan variabel bebas dan variabel tidak bebas. 3. Tentukan range data yang akan digunakan 4. Ambil data-data yang dibutuhkan 5. Kalkulasikan perkalian silang antar variabel bebas dan variabel tidak bebas 6. Bentuk matriks regresi 7. Buatlah model regresi dengan menentukan parameterparameter dalam persamaan regresi. (y = a + bX1 + cX2 + dX3) 8. Hitung koefisien determinasi regresi (R2) 9. Kalkulasikan prediksi peramalan berdasarkan model regresi yang dibuat sebelumnya. 10. Buatlah plot grafik dari prediksi peramalan dengan data sebenarnya.
69
Spesifikasi proses untuk modul validasi / pengujian model : 1. Hitung nilai-nilai prediksi peramalan berdasarkan model yang telah dibuat sebelumnya. 2. Hitung selisih nilai peramalan dengan nilai sebenarnya (error). 3. Jika pengguna menginginkan pengujian autokorelasi, maka lakukan proses berikut : a.
Hitung selisih nilai error ke- t terhadap nilai error ke t-1
b. Bandingkan jumlah kuadrat selisih nilai error pada point a terhadap jumlah kuadrat error pada langkah ke-2 c.
Bandingkan nilai pada point b dengan tabel DurbinWatson.
4. Jika pengguna menginginkan pengujian multikolinearitas dan jumlah variabel bebas lebih dari 1, maka jalankan proses berikut: a.
Buatlah analisis regresi setiap variabel bebas terhadap variabel bebas lainnya.
b. Hitung nilai koefisien determinasi (R2) c.
Hitung nilai VIF dan TOL
d. Jika nilai VIF > 0.1 dan nilai TOL < 10 maka tidak ada multikolinearitas.
70
d) Analisis trend Berikut spesifikasi proses untuk analisis trend : 1. Tentukan jenis data yang akan dianalisis 2. Tentukan periode dan range data yang akan digunakan 3. Tentukan metode analisis trend yang diinginkan 4. Jika pengguna memilih metode analisis aroon index maka jalankan proses berikut : a. Ambil data yang diinginkan pengguna untuk dianalisis berdasarkan periode yang telah ditentukan b.
Hitung nilai aroon up dan nilai aroon down
c. Buat plot grafik dari data aroon up dan aroon down 5. Jika pengguna memilih metode directional movement system maka jalankan proses berikut : a. Ambil data yang diinginkan pengguna untuk dianalisis berdasarkan periode yang telah ditentukan b.
Hitung nilai +/-DM , True Range, dan nilai +/- DI
c. Buat plot grafik berdasarkan data +/-DM dan +/- DI