BAB III ANALISIS DAN PERANCANGAN Dalam tugas akhir ini akan dikembangkan sebuah perangkat lunak yang akan menggunakan RSI untuk membantu melakukan prediksi tren harga saham. Dalam bab ini akan dijelaskan tentang analisis dan perancangan perangkat lunak yang akan dibangun.
III.1 Analisis Untuk mengetahui keperluan yang harus dipenuhi oleh perangkat lunak, pertama-tama akan dilakukan tahap analisis. Analisis yang dilakukan meliputi analisis metode RSI, deskripsi umum perangkat lunak, tujuan pengembangan perangkat lunak, analisis kebutuhan perangkat lunak, analisis data, asumsi dan batasan, analisis fungsional, dan analisis kelas. III.1.1 Analisis Metode Relative Strength Index III.1.1.1 Analisis Penggunaan Metode Relative Strength Index Metode Relative Strength Index digunakan untuk analisis teknis secara umum dengan mengikuti langkah-langkah sebagai berikut: 1. Mendapatkan data historis harga penutupan harian saham. 2. Membuat grafik dari data historis harga penutupan harian saham. 3. Menentukan periode yang akan digunakan. 4. Menghitung nilai RSI harian. 5. Membuat grafik dari nilai RSI harian. 6. Membaca sinyal-sinyal yang muncul.
Bagian yang perlu diperhatikan di sini adalah langkah menghitung nilai RSI harian. Nilai RSI harian dihitung pertama-tama menggunakan rerata sederhana (simple average) dari harga penutupan saham beberapa hari ke belakang, seperti rumus II-1. Jumlah hari yang digunakan ditentukan oleh periode yang dipilih dari pilihan periode yang disediakan: sembilan, 14, atau 25 hari. Dengan demikian, untuk beberapa hari pertama, tidak ada nilai RSI harian. Setelah nilai RSI pertama ditentukan, nilai-nilai RSI berikutnya ditentukan dengan menggunakan exponential moving average, seperti rumus II-2. III-1
III-2
Grafik nilai RSI harian akan digambarkan di bawah grafik harga penutupan saham, dengan waktu yang bersesuaian. Nilai RSI pada hari d akan digambarkan tepat di bawah harga penutupan saham pada hari d. Sinyal-sinyal yang dikeluarkan oleh RSI kemudian dibaca oleh pengguna. III.1.1.2 Analisis Pengujian Kebenaran Metode Relative Strength Index Dalam tugas akhir ini akan dilakukan pengujian terhadap kebenaran sinyal-sinyal perdagangan yang dihasilkan oleh perangkat lunak. Analisis pengujian akan dilakukan berdasarkan sinyal-sinyal yang akan dikeluarkan, sebagai berikut: 1. Sinyal overbought menyarankan untuk melakukan penjualan, karena saham sudah terlalu banyak dibeli dan harganya lebih tinggi dari nilai intrinsiknya, sehingga harganya akan turun. Sinyal overbought dianggap benar jika harga saham benarbenar turun setelah sinyal dikeluarkan dan sebelum grafik RSI keluar dari daerah overbought. 2. Sinyal oversold menyarankan untuk melakukan pembelian, karena saham sudah terlalu banyak dijual dan harganya lebih murah dari nilai intrinsiknya, sehingga harganya akan naik. Sinyal oversold dianggap benar jika harga saham benar-benar naik setelah sinyal dikeluarkan dan sebelum grafik RSI keluar dari daerah oversold. 3. Sinyal failure swing menandakan bahwa grafik harga saham akan mengalami perubahan tren. Sinyal failure swing dianggap benar jika tren harga saham benarbenar berubah setelah sinyal dikeluarkan. III.1.2 Deskripsi Umum Perangkat Lunak Perangkat lunak yang akan dibangun diberi nama A.rsi.tek. Perangkat lunak A.rsi.tek akan menerima data historis harga penutupan harian saham dalam bentuk sebuah file berformat csv yang disediakan pengguna. Pengguna cukup memasukkan lokasi file tersebut terletak di harddisk, melalui sebuah kotak dialog pemilihan file. Perangkat lunak kemudian membaca file csv tersebut lalu memasukkan data historis harga penutupan harian saham ke dalam basis data. Data disarankan diambil dari situs finance.yahoo.com.
Setelah pengguna memilih file dan data saham ditampilkan, perangkat lunak secara otomatis akan menghitung nilai RSI berdasarkan periode 14 hari. Sinyal-sinyal
III-3
perdagangan juga sudah dicari dan dituliskan ke dalam basis data. Grafik harga saham dan grafik RSI juga langsung digambarkan. Pengguna dapat memilih untuk menampilkan sinyal-sinyal perdagangan di grafik RSI dengan memberi tanda pada checkbox yang mewakili sinyal yang ingin ditampilkan.
Pengguna kemudian dapat mengubah data harga saham yang ada di tabel. Dengan menekan sebuah tombol, maka penghitungan RSI akan dilakukan kembali untuk data yang sudah diubah. Penggambaran grafik juga secara otomatis akan dilakukan.
Selain itu, pengguna dapat mengubah periode penghitungan RSI yang digunakan, dengan memilih salah satu radio button yang mewakili periode yang diinginkan. Dengan menekan sebuah tombol, nilai RSI akan dihitung menggunakan periode yang baru. Penggambaran grafik juga secara otomatis akan dilakukan.
Setelah analisis dilakukan, data saham beserta hasil olahan dapat disimpan ke dalam file berformat Extensible Markup Language (XML). Perangkat lunak juga bisa membuka file hasil olahan yang sudah disimpan. Format XML dipilih karena fleksibel, dapat dibuka dengan berbagai macam perangkat lunak, termasuk Notepad dan Microsoft Excel. III.1.3 Tujuan Pengembangan Perangkat Lunak A.rsi.tek adalah sebuah perangkat lunak yang menerima masukan berupa data historis harga penutupan saham, dan menghasilkan keluaran berupa grafik harga saham dan grafik nilai RSI, serta sinyal-sinyal perdagangan jika ada. Perangkat lunak diharapkan mampu membantu pelaku pasar modal dalam mengambil keputusan perdagangan. Selain itu, perangkat lunak ini diharapkan mampu membantu kalangan akademis yang tertarik untuk mempelajari dan mungkin mengembangkan lebih lanjut metode RSI dan penggunaannya dalam memprediksi tren harga saham. III.1.4 Analisis Kebutuhan Perangkat Lunak Perangkat lunak yang akan dikembangkan mempunyai spesifikasi sebagai berikut: 1. Perangkat lunak mampu membaca file berisi data historis harga penutupan saham. 2. Perangkat lunak mampu menggambar grafik harga saham. 3. Perangkat lunak mampu menghitung nilai Relative Strength Index dari data tersebut, dengan periode sembilan, 14, atau 25 hari.
III-4
4. Perangkat lunak mampu menggambar grafik Relative Strength Index. 5. Perangkat lunak mampu mengenali dan menunjukkan sinyal-sinyal yang dikeluarkan RSI. 6. Perangkat lunak mampu menyimpan data harga saham dan data hasil penghitungan ke file XML, serta juga dapat membuka file XML yang disimpan sebelumnya. III.1.5 Karakteristik Pengguna A.rsi.tek dikembangkan untuk digunakan oleh pengguna dengan karakteristik sebagai berikut: 1. Mampu mengoperasikan komputer secara umum. 2. Memahami mekanisme perdagangan di pasar modal, dan dapat memahami data harga saham. 3. Memahami konsep tren harga saham. 4. Memahami cara kerja kakas oscillator pada umumnya, dan memahami efek perubahan periode dalam penghitungan oscillator. 5. Memahami konsep overbought dan oversold. III.1.6 Analisis Data III.1.6.1 Analisis Masukan A.rsi.tek menerima masukan utama berupa data historis harga penutupan saham, dan lama periode yang akan digunakan. Data historis harga penutupan saham dibaca dari sebuah file yang dimasukkan oleh pengguna. Lama periode yang akan digunakan didapatkan dari pilihan pengguna. Selain itu, A.rsi.tek juga dapat membuka file XML yang sudah disimpan sebelumnya sebagai masukan. III.1.6.2 Analisis Keluaran A.rsi.tek menghasilkan keluaran berupa sebuah grafik harga penutupan saham per hari. Di bawah grafik tersebut, akan digambar grafik nilai RSI yang mempunyai skala 0-100. Akan ditunjukkan juga sinyal-sinyal perdagangan yang dikeluarkan oleh RSI. Selain itu, A.rsi.tek juga dapat menyimpan hasil pengolahan ke dalam sebuah file XML, untuk dibuka di lain waktu. III.1.7 Asumsi dan Batasan Perangkat Lunak A.rsi.tek mempunyai batasan-batasan yang berdasarkan asumsi-asumsi tertentu:
III-5
1. Satu perangkat lunak A.rsi.tek hanya dapat digunakan oleh satu pengguna pada suatu waktu. 2. Perangkat lunak hanya dapat menggambarkan satu grafik harga saham dan satu grafik RSI untuk saham yang bersesuaian pada suatu waktu. 3. Perangkat lunak tidak terhubung dengan internet. 4. Perangkat lunak A.rsi.tek hanya menerima masukan data historis harga saham dalam format CSV/comma-separated value. 5. Perangkat lunak hanya dapat membaca sinyal-sinyal yang dapat dikenali secara matematis, bukan secara visual. 6. Perangkat lunak tidak dapat membaca skema tabel dari file XML secara otomatis. Perangkat lunak harus membaca skema dari file skema XML, yang berekstensi .xsd. File .xsd ikut disimpan pada saat menyimpan file .xml. III.1.8 Analisis Kebutuhan Fungsional Diagram use case untuk A.rsi.tek digambarkan pada gambar III-1.
Gambar III-1 Diagram Use Case
Hanya ada satu aktor dalam use case A.rsi.tek, yaitu pengguna yang ingin melakukan analisis teknis. Penjelasan use case bisa dilihat dalam tabel III-1.
III-6
Nomor 1.
2.
3.
4.
5.
6.
7.
Tabel III-1 Deskripsi Use Case Use Case Deskripsi Memasukkan data historis Pengguna menentukan letak file masukan. harga saham Perangkat lunak kemudian membaca file tersebut dan memasukkan data historis harga penutupan harian saham ke dalam memori. Menentukan periode Pengguna memilih salah satu dari tiga penghitungan periode penghitungan yang digunakan perangkat lunak: sembilan, 14, atau 25 hari. Perangkat lunak menyimpan pilihan tersebut. Melihat grafik harga Perangkat lunak menggambar grafik harga saham penutupan harian saham berdasarkan data masukan. Melihat grafik RSI Perangkat lunak menghitung nilai RSI harian berdasarkan data masukan dan periode penghitungan yang dipilih pengguna, lalu menggambar grafik RSI di bawah grafik harga saham. Melihat sinyal Perangkat lunak mencari sinyal yang perdagangan dikeluarkan oleh RSI, lalu menampilkannya di grafik RSI. Menyimpan hasil olahan Pengguna menentukan letak dan nama file keluaran. Perangkat lunak menyimpan data harga saham dan data hasil olahan ke file XML tersebut, dan menyimpan skema data ke file skema XML (.xsd). Perangkat lunak juga dapat menyimpan ke file Excel (.xls). Membuka file XML Pengguna menentukan file XML simpanan. simpanan. Perangkat lunak membaca data dari file .xml dan membaca skema data dari file .xsd yang bernama sama.
III.1.9 Analisis Kelas Dari diagram use case, dapat digambarkan secara umum kelas-kelas yang akan diperlukan, seperti di diagram pada gambar III-2. Penjelasan dari tiap-tiap kelas dijelaskan di tabel III-2.
III.2 Perancangan Pada bagian ini akan dijelaskan perancangan perangkat lunak yang akan dikembangkan, dengan berdasarkan pada analisis perangkat lunak di atas. Perancangan yang akan dilakukan meliputi perancangan kelas, deskripsi kelas, tabel penjelas kelas, perancangan antarmuka, dan perancangan data.
III-7
Gambar III-2 Kelas-kelas Analisis III.2.1 Perancangan Kelas Dari analisis yang dilakukan, perangkat lunak A.rsi.tek ditimbang perlu untuk memiliki kelas-kelas seperti digambarkan pada gambar III-3. III.2.2 Perancangan Antarmuka Perangkat lunak A.rsi.tek menggunakan antarmuka berupa GUI. Masukan dan keluaran akan dilakukan melalui sebuah form. Form yang dimaksud bisa dilihat pada gambar III-3.
Antarmuka perangkat lunak dibagi menjadi dua bagian besar: bagian kontrol di sebelah kiri, dan di sebelah kanan terdapat sebuah panel ber-tab yang berisi data dan grafik.
III-8
No 1.
Nama A.rsi.tek
2.
DataInput
3.
PeriodeInput
4.
StockManager
5.
RSIManager
6.
SignalManager
7.
Database
8.
StockCharter
9.
RSICharter
10. XML_IO
Tabel III-2 Kelas-kelas Analisis Tipe Kewajiban Control Mengatur alur program dan komunikasi antar kelas
Boundary Menerima masukan data dari pengguna Boundary Menerima masukan periode dari pengguna Control Mengatur pengaksesan data historis penutupan harian saham Control Menghitung nilai RSI harian dan mengatur pengaksesan data RSI harian. Control Mengenali dan menyimpan sinyal-sinyal perdagangan Entity Menyimpan data historis penutupan harian saham, nilai RSI harian, dan sinyal-sinyal perdagangan Boundary Menggambar grafik harga penutupan harian saham Boundary Menggambar grafik nilai RSI harian dan sinyal perdagangan Boundary Menulis dan membuka file XML dan .xsd
Kolaborator DataInput, PeriodeInput, StockManager, RSIManager, StockCharter, RSICharter, SignalManager StockManager RSIManager DataInput, Database StockManager, Database
RSIManager, Database -
StockManager RSIManager, SignalManager tDatabase
Pengguna dapat memasukkan nama file masukan dalam kotak teks di bawah tulisan “File:”, atau dapat menekan tombol Browse.. untuk mencari file masukan dalam disk. Setelah itu, nama file csv lain di folder yang sama dengan file masukan ditampilkan di listbox. Setelah memilih file yang akan dibuka, pengguna menekan tombol Load untuk membuka file yang ditentukan, dan memasukkannya ke dalam memori. Data harga saham tersebut kemudian akan disimpan dalam datagridview dalam tab Data, di sebelah kanan antarmuka. Grafik harga saham juga digambar dalam tab Grafik.
III-9
Gambar III-3 Perancangan Kelas Pengguna lalu memilih periode yang akan digunakan untuk menghitung RSI, dan menekan tombol Draw untuk menggambarkan grafik RSI dengan periode yang dipilih. Di paling bawah, terdapat checkbox yang digunakan untuk memilih sinyal yang akan ditampilkan.
Di bawah daftar sheets terdapat sebuah tombol Reset yang berguna untuk menghapus semua pilihan file, pilihan sheet, dan data di DataGridView.
Pengguna dapat memilih untuk menyimpan data hasil olahan ke dalam file XML atau Excel (.xls) melalui sebuah pilihan di menu utama. Setelah memilih lokasi dan nama file dari kotak dialog yang muncul, perangkat lunak kemudian menyimpan data hasil olahan ke dalam file tersebut. Terdapat juga pilihan di menu utama untuk membuka file XML yang sudah disimpan sebelumnya. Pengguna memilih file yang akan dibuka melalui sebuah kotak dialog. III.2.3 Perancangan Data Data yang digunakan dalam A.rsi.tek dirancang seperti perincian pada tabel III-3.
III-10
Gambar III-4 Perancangan Antarmuka
Kelas
Tabel III-3 Perancangan Data Atribut Tipe Data
Keterangan
cArsitek
DataFile
File
Letak file masukan
tDatabase
DB
DataTable
Data harga saham, RSI, dan sinyal perdagangan per hari.
cStockManager
duration
Integer
Jumlah hari dalam basisdata
index
Integer
Index kolom harga saham dalam DataGridView
cRSIManager
periode
Integer
Periode yang digunakan untuk menghitung RSI
index
Integer
Index kolom nilai RSI dalam DataGridView
cFileLoader
fileLocation
String
Lokasi file masukan lengkap dengan pathnya.