BAB III ANALISIS DAN PERANCANGAN
Pada BAB ini akan dijelaskan mengenai analisis dan perancangan pembangunan aplikasi analisis saham menggunakan metode Ultimate Oscillator.
3.1 Analisis Analisis yang dilakukan meliputi analisis metode Ultimate Oscillator, deskripsi umum perangkat lunak, analisis kebutuhan perangkat lunak, analisis kebutuhan data, dan analisis pemodelan fungsional.
3.1.1 Analisis Metode Ultimate Oscillator Transaksi, baik itu memulai atau mengakhiri, pada Ultimate Oscillator selalu ditandai dengan munculnya divergence pada grafik. Divergence adalah suatu kondisi di mana arah trend yang ditunjukkan oleh data historis saham berbeda dengan arah trend yang ditunjukkan oleh Ultimate Oscillator.
3.1.1.1 Analisis Bearish Divergence Bearish divergence adalah suatu kondisi di mana arah trend pada data historis saham cenderung naik, sementara Ultimate Oscillator menunjukkan trend yang cenderung menurun. Kondisi ini umumnya menunjukkan bahwa aksi jual akan segera dimulai. Ada beberapa tanda lain yang dapat mengindikasikan kapan tepatnya aksi jual dimulai, yaitu: 1. Selama terjadi bearish divergence, oscillator naik menembus nilai 50. 2. Oscillator kemudian mengalami penurunan hingga melampaui nilai terendah yang pernah dicapai saat terjadi bearish divergence.
III-1
III-2
Gambar III-1 Contoh Bearish Divergence [STO08]
Gambar III-1 menunjukkan terjadinya bearish divergence pada perusahaan Alcoa, Inc. Hal ini bisa dilihat pada data historis saham yang pada bulan Desember 1999 mengalami trend naik. Kenaikan ini pada mulanya diikuti oleh grafik pada Ultimate Oscillator yang sempat menembus angka 70. Namun, memasuki pertengahan Desember 1999 oscillator mulai mengalami perubahan trend menjadi bearish sementara harga saham tetap mengalami trend naik. Menjelang akhir Desember 1999, nilai oscillator sempat turun di bawah nilai 50 dan kemudian naik lagi. Kondisi ini bertahan sampai awal Januari 2000, di mana oscillator kembali turun di bawah 50 dan terus mengalami penurunan. Sekitar titik inilah seharusnya aksi jual segera dimulai karena sudah memenuhi kondisi yang ada. Hal ini kemudian terbukti dengan jatuhnya harga saham Alcoa, Inc.
3.1.1.2 Analisis Bullish Divergence Bullish divergence merupakan kebalikan dari bearish divergence, yaitu suatu kondisi di mana arah trend pada data historis saham cenderung turun, sementara Ultimate Oscillator menunjukkan trend naik. Terjadinya bullish divergence ini menjadi salah
III-3 satu petunjuk bahwa aksi beli akan segera dapat dilakukan. Petunjuk-petunjuk lain yang dibutuhkan untuk menentukan kapan sebaiknya aksi beli dimulai yaitu: 1. Selama terjadinya bullish divergence, oscillator jatuh hingga di bawah 30 2. Oscillator kemudian mengalami kenaikan sehingga melampaui nilai tertinggi yang pernah dicapai selama terjadinya bullish divergence.
Gambar III-2 Contoh Bullish Divergence [CHA99]
Gambar III-2 memberikan ilustrasi terjadinya Bullish Divergence. Terlihat bahwa harga saham pada bulan Januari mengalami penurunan yang juga dikonfirmasi dengan turunnya oscillator hingga jatuh di bawah 30 pada akhir Januari. Namun trend ini tidak bertahan lama karena oscillator segera menunjukkan perubahan arah dan mulai mengalami kenaikan secara pasti hingga kemudian menembus angka 50 pada pertengahan Februari. Aksi beli sebaiknya mulai dilakukan pada titik yang ditunjukkan pada panah hijau karena kondisi yang ada telah terpenuhi dan saham juga mulai mengalami kenaikan.
III-4
3.1.2 Analisis Kebutuhan Data Perangkat lunak menggunakan data masukan berupa data mentah dan parameter dari pengguna yang kemudian diolah dan memberikan data keluaran kepada pengguna.
3.1.2.1 Data Masukan Perangkat lunak membutuhkan data masukan sebagai berikut untuk dapat diolah menjadi data keluaran: 1. Data saham Data ini merupakan data saham yang di-input oleh pengguna. Isinya adalah tabel harga saham pada periode yang lalu sesuai dengan data faktual di bursa saham. Pada tabel tersebut terdapat informasi-informasi yang dibutuhkan oleh perangkat lunak antara lain nama perusahaan, id saham, tanggal (periode) transaksi, harga high, harga low, dan harga close. 2. Parameter metode Ultimate Oscillator Parameter untuk indikator teknikal Ultimate Oscillator adalah jangka waktu yang akan digunakan dalam perhitungan. Selain itu juga diperlukan data harga high terakhir, harga low terakhir, harga close sehari sebelum terakhir, dan harga close terakhir pada periode analisis yang didapat dari basis data. 3. Rentang waktu analisis pergerakan saham Yaitu panjang rentang waktu pergerakan saham yang akan dianalisis menggunakan Ultimate Oscillator (satu bulan, dua bulan, tiga bulan, satu tahun, dan lain-lain).
3.1.2.2 Data Keluaran Perangkat lunak memberikan dua macam data keluaran: 1. Grafik harga saham Merupakan grafik dengan tampilan dua dimensi dari pergerakan harga saham dalam suatu periode waktu tertentu berdasarkan data saham yang dijadikan data masukan yang menggambarkan dan memetakan tanggal transaksi di sumbu X (absis) dan harga saham di sumbu Y (ordinat).
III-5 2. Grafik Ultimate Oscillator Merupakan grafik dengan tampilan dua dimensi dari nilai Ultimate Oscillator suatu saham dari waktu ke waktu pada periode waktu tertentu yang digambarkan dengan tanggal transaksi di sumbu X (absis) dan nilai Ultimate Oscillator di sumbu Y (ordinat). Grafik ini disertai pula dengan indikasi bullish divergence dan bearish divergence berdasarkan nilai Ultimate Oscilltor yang dihasilkan.
Semua data keluaran yang dihasilkan menggunakan periode waktu yang didapat dari data masukan.
3.1.2.3 Sumber Data Perangkat lunak yang akan dibangun membutuhkan data masukan berupa data historis saham. Data saham yang akan digunakan meliputi nama perusahaan, harga pembukaan (open), harga penutupan (close), harga tertinggi (high), harga terendah (low), serta volume transaksi saham baik dalam bentuk harian maupun mingguan.
Ada beberapa situs yang menyediakan data historis saham perusahaan-perusahaan di Amerika Serikat dan seluruh dunia, diantaranya adalah Yahoo! Finance, MSN Money, dan situs milik BEI (http://jsx.co.id). Pengunjung dapat mengunduh data historis saham yang diinginkan pada periode tertentu. Ketiga perusahaan tersebut menyimpan data historis dalam bentuk file dengan format CSV (Comma Separated Values), namun masing-masing dengan isi yang berbeda. Contoh tampilan data historis saham masing-masing dapat dilihat pada gambar di bawah ini:
III-6 Tabel III-1 Contoh Data Historis Dari MSN Money Data provided by Commodity Systems Inc. (CSI) Quotes supplied by Interactive Data. FT Interactive Data an Interactive Data Company. Stock price data provided by Nomura Research Institute, Ltd. Quotes delayed 20 minutes. ALCOA Ord Shs (AA) Weekly prices DATE OPEN HIGH LOW CLOSE VOLUME 5/6/2008 36.12 38.01 35.77 38 7244300 5/2/2008 35.53 36.36 33.65 36.11 19208300 4/25/2008 36.1 36.43 34.56 35.72 12472600 4/18/2008 35.01 36.49 33.76 36.26 17818600 4/11/2008 39.42 39.44 34.92 35.15 24086000 4/4/2008 35.75 39.19 35.3 39 24290800 3/28/2008 34.99 36.54 34.68 36.11 22206400 3/20/2008 37.11 39.67 33.8 34.68 29418400 3/14/2008 36.4 38.85 35.56 38.39 29477100 3/7/2008 37.15 39.27 36.13 36.6 26104000
Tabel III-2 Contoh Data Historis Yahoo! Finance
Date 5/5/2008 5/2/2008 4/30/2008 4/29/2008 4/28/2008 4/25/2008 4/24/2008 4/23/2008
Open 3500 3525 3525 3475 3450 3500 3625 3450
High 3525 3550 3525 3575 3475 3500 3650 3600
Low 3425 3450 3450 3450 3350 3375 3450 3425
Close 3475 3450 3500 3525 3450 3425 3450 3600
Volume 21755000 39101000 14343000 38618000 18707500 44261500 57713500 55978500
Adj Close 3475 3450 3500 3525 3450 3425 3450 3600
Tabel III-3 Contoh Data Historis dari situs BEI Tanggal 27‐Mar‐ 07 28‐Mar‐ 07 29‐Mar‐ 07
Previous
Closing
Change
Freq
Volume
Value
9.7
9.8
100
867
21.224.000
207.356.725.000
9.8
9.7
-100
406
8.610.000
83.102.075.000
9.7
9.65
-50
457
8.297.500
80.125.450.000
Dari ketiga perusahaan tersebut, isi data historis saham milik Yahoo! Finance merupakan yang paling lengkap dan juga sesuai dengan kebutuhan perangkat lunak yang akan dibangun. Selain itu, data dari Yahoo! Finance lebih mudah diakses daripada data dua perusahaan yang lain. Karena itu diputuskan sumber data yang akan digunakan adalah data dari Yahoo! Finance.
III-7
3.1.3 Deskripsi Umum Perangkat Lunak Perangkat lunak yang akan dikembangkan dalam Tugas Akhir ini adalah perangkat lunak bernama UltimateStock yang melakukan analisis teknikal terhadap data historis saham menggunakan metode Ultimate Oscillator. Perangkat lunak ini akan menerima masukan berupa data histories saham yang diperoleh dari penyedia data saham berbagai perusahaan. Dengan memproses masukan lainnya dari pengguna berupa parameter yang akan dipakai dalam analisis teknikal, perangkat lunak akan menghasilkan keluaran berupa grafik pergerakan harga saham dan grafik hasil analisis teknikal menggunakan metode Ultimate Oscillator serta indikasi terjadinya bearish divergence dan bullish divergence.
Secara umum, langkah kerja perangkat lunak adalah sebagai berikut: 1. Perangkat lunak mengakses data saham yang dipilih oleh pengguna dan server yang telah ditentukan secara online. 2. Perangkat lunak kemudian menyimpan data saham tersebut dalam bentuk file tertentu. 3. Data saham yang telah ada akan ditampilkan dalam bentuk grafik untuk memudahkan pengamatan terhadap pergerakan data saham. 4. Perangkat lunak melakukan analisis terhadap pergerakan harga saham dengan menggunakan metode Ultimate Oscillator, dengan mengacu parameter masukan dari pengguna.
Perangkat lunak menampilkan grafik hasil analisis metode Ultimate Oscillator terhadap data saham dan sinyal jual dan beli sesuai dengan parameter yang diperoleh dari pengguna.
III-8
3.1.4 Analisis Pemodelan Use Case Berdasarkan hasil analisis di atas, perangkat lunak UltimateStock dapat dimodelkan ke dalam sebuah model use case yang terdiri atas diagram use case, definisi aktor, dan definisi use case.
3.1.4.1 Diagram Use Case System
Mengunduh Data Saham
Melihat Grafik Harga Saham
Analis
Melihat Grafik Hasil Analisis Saham
Mengatur Konfigurasi Koneksi Internet
Gambar III-3 Gambar Diagram Use Case
Gambar III-3 di atas menunjukkan bahwa perangkat lunak UltimateStock memiliki 4 buah use case utama, yaitu use case Mengunduh Data Saham, Melihat Grafik Harga Saham, Melihat Grafik Hasil Analisis Saham, dan Mengatur Konfigurasi Koneksi Internet.
3.1.4.2 Definisi Aktor Aktor atau pengguna aplikasi ini adalah analis sekuritas yang bertugas menganalisis dan memperkirakan bagaimana pergerakan nilai saham pada periode-periode mendatang dan memperkirakan bagaimana pergerakan nilai saham pada periodeperiode mendatang dan memberikan rekomendasi kepada investor mengenai saat yang tepat untuk membeli atau menjual saham tertentu.
III-9 Tabel III-4 Definisi Aktor
No.
Aktor
Deskripsi Orang yang menggunakan perangkat
1
Analis
lunak untuk menganalisis data saham dengan metode Ultimate Oscillator.
3.1.4.3 Definisi Use Case Diagram use case perangkat lunak UltimateStock menggambarkan 4 buah use case. Penjelasan masing-masing use case tersebut dapat dilihat pada Tabel III-5 Tabel III-5 Definisi Use Case UltimateStock
ID Use Case
Nama Use Case
Deskripsi Use case yang menggambarkan langkah
UC-UDS
Mengunduh
Data aktor dalam mengunduh data historis saham
Saham
sesuai dengan keinginan pengguna dari situs http://finance.yahoo.com. Use case yang menggambarkan langkah
UC-LGH
Melihat Grafik Harga aktor dalam menampilkan grafik yang Saham
merepresentasikan pergerakan harga saham di pasar saham. Use case yang menggambarkan langkah
UC-AKI
Mengatur
Konfigurasi aktor dalam mengatur konfigurasi koneksi
Koneksi Internet
internet yang digunakan untuk mengunduh data saham. Use case yang menggambarkan langkah
UC-LGA
Melihat Grafik Hasil Analisis Saham
aktor dalam menampilkan grafik yang merepresentasikan hasil analisis indikator Ultimate Oscillator terhadap grafik harga saham.
III-10
3.1.5 Spesifikasi Kebutuhan Fungsional Perangkat Lunak Berdasarkan analisis metode Ultimate Oscillator, kebutuhan data, pengguna perangkat lunak, serta pemodelan use case, kebutuhan fungsional perangkat lunak yang akan dikembangkan adalah: 1. Perangkat lunak harus dapat mengakses data saham yang dibutuhkan oleh pengguna. Oleh karena itu, perangkat lunak yang dibangun harus dapat melakukan pencarian dan mengunduh data saham yang dipilih pengguna yang berasal dari Yahoo! Finance. Setiap saham diwakili dengan simbol yang berlaku di bursa saham di seluruh dunia. 2. Perangkat lunak harus dapat memfasilitasi pengguna untuk melakukan analisis teknikal pergerakan saham tertentu berdasarkan data historis saham yang telah ada. Analisis teknikal yang dilakukan menggunakan metode Ultimate Oscillator. 3. Perangkat lunak dapat menampilkan grafik harga saham dari waktu ke waktu pada periode yang diinginkan pengguna serta hasil analisisnya menggunakan metode Ultimate Oscillator.
3.1.6 Asumsi Dan Batasan Perangkat Lunak Asumsi dan batasan yang diterapkan pada perangkat lunak ini adalah sebagai berikut: 1. Perangkat lunak hanya melayani satu pengguna pada satu waktu dan hanya dapat dieksekusi pada satu mesin. 2. Perangkat lunak tidak dapat melakukan pemutakhiran data secara otomatis. Ketika pengguna memilih data saham yang sama dari internet maka perangkat lunak akan memutakhirkannya. 3. Perangkat lunak merupakan aplikasi analisis teknikal yang hanya dapat mengolah data saham menggunakan metode analisis teknikal Ultimate Oscillator. 4. Rentang waktu metode Ultimate Oscillator yang digunakan pada perangkat lunak yang dibangun dibuat tetap, yaitu 7, 14, dan 28 periode.
III-11 5. Data historis saham yang digunakan bersifat valid dan teratur jangka waktunya (siap digunakan dalam analisis pergerakan saham). Data ini telah tersimpan dalam bentuk file dengan format CSV dan telah terdefinisi sesuai format yang ditentukan.
3.2 Perancangan Perancangan yang dilakukan meliputi perancangan arsitektur, perancangan antar muka, dan perancangan data dari perangkat lunak yang akan diimplementasikan.
3.2.1 Perancangan Arsitektur Perangkat lunak UltimateStock terdiri atas 10 kelas, yaitu FormPRStock, FormConnection, FormDownload, FormDownloadProgress, FormGraphic, PRStock, ConnectionController,
DownloadController,
GraphicController,
dan
Stock.
III-12 Keterhubungan dari kelas-kelas tersebut dapat dilihat pada Gambar III-4. UltimateStock
FormUltimateStock
+main()
-fc: FormConnection -fd: FormDownload -fg: FormGraphic +showForm()
FormConnection
FormDownload
FormGraphic
-cc: ConnectionController
-dc: DownloadController
+showForm()
+showForm()
-gc: GraphicController -dc: DownloadController -fd: FormDownload +showForm()
DownloadController
ConnectionController
GraphicController
-cc: ConnectionController -destinationpath: string -source: string -companyCode: string -startDate: DateTime -endDate: DateTime +periodType: string
-isUsingProxy: bool -server: string -port: int -isUsingAuthorization: bool -username: string -password: string +saveConnectionConfiguration()
-companyName: string -stockList[]: Stock -periodType: int -startDate: DateTime -endDate: DateTime -prPeriod: int = 14
+downloadData()
+readStock() +generateStockGraphic() +generatePRGraphic() +generateReport()
FormDownloadProgress -progress: int +showForm()
Stock -date: DateTime -open: double -high: double -low: double -close: double -volume: double -prVal: double +isHigherHigh(S: Stock): bool +isLowerLow(S: Stock): bool
Gambar III-4 Diagram Kelas UltimateStock
Penjelasan dari masing-masing kelas dapat dilihat pada Tabel III-6 Tabel III-6 Deskripsi Kelas UltimateStock Nama Kelas
Deskripsi
Fungsi
FormUltimateStock
Antarmuka utama perangkat lunak
•
showForm()
FormConnection
Antarmuka
koneksi
•
showForm()
Antarmuka pengaturan data yang
•
showForm()
•
showForm()
pengaturan
perangkat lunak ke internet FormDownload
akan diunduh oleh perangkat lunak FormDownloadProgress
Antarmuka pada saat perangkat lunak melakukan pengunduhan data dari internet
III-13 Nama Kelas FormGraphic
Deskripsi
Fungsi
Antarmuka pengaturan grafik yang
•
showForm()
akan ditampilkan perangkat lunak UltimateStock
Driver utama perangkat lunak
•
main()
ConnectionController
Driver koneksi perangkat lunak ke
•
saveConnectionConfiguration()
internet DownloadController
Driver
data
dari
•
downloadData()
grafik
pada
•
readStock()
•
generateStockGraphic()
•
generatePRGraphic()
•
isHigherHigh(S: Stock): bool
•
isLowerLow(S: Stock): bool
pengunduhan
internet GraphicController
Driver
penampilan
perangkat lunak
Stock
Struktur
data
utama
menampung tiap data saham
yang
3.2.2 Perancangan Antar Muka Antarmuka perangkat lunak UltimateStock terdiri dari empat bagian utama, yaitu antarmuka utama, antarmuka penggambaran grafik, antarmuka pengaturan koneksi internet, dan antarmuka pengunduhan data. 3.2.2.1 Perancangan Antar Muka Utama Rancangan antarmuka utama dapat dilihat pada Gambar III-5. Antarmuka ini merupakan antarmuka yang ditampilkan pertama kali saat perangkat lunak dijalankan. Secara garis besar, antarmuka ini terbagi dalam dua bagian, yaitu bagian kiri yang menampilkan grafik pergerakan harga saham dan indikator Ultimate Oscillator, serta bagian kanan yang merupakan panel interaksi yang berisi menu yang dapat digunakan pengguna.
III-14 Ultimate Stock Menu Grafik Saham Gambar Grafik Unduh Data Pengaturan Koneksi
Grafik Ultimate Oscillator
[Company Name] ; 1/4/2008 ; 21/4/2008
Gambar III-5 Rancangan Antar Muka Utama
Melalui panel interaksi, pengguna dapat menggunakan perangkat lunak untuk mengunduh data historis saham, menggambar grafik pergerakan harga saham dan grafik indikator Ultimate Oscillator, serta mengatur koneksi perangkat lunak ke internet. Panel di bawah panel interaksi digunakan untuk menampilkan sinyal-sinyal yang muncul pada hasil analisis terhadap data pergerakan harga saham.
3.2.2.2 Perancangan Antar Muka Mengunduh Saham Antarmuka ini ditampilkan pada saat pengguna memilih menu “Unduh Data”. Pada antar muka ini, pengguna dapat memilih perusahaan yang datanya akan diambil, menentukan tanggal awal data dan tanggal akhir data, serta menentukan jenis periode dari data saham yang akan diunduh. Rancangan antar muka pengunduhan saham dapat dilihat pada Gambar III-6.
III-15 Unduh Data Configure the to be Downloaded Data Attributes Nama Perusahaan :
ORCL
Tambah
Tanggal Awal (dd/mm/yy)
1
4
2008
Tanggal Akhir (dd/mm/yy)
21
1
2008
Hapus
Start
Cancel
Gambar III-6 Rancangan Antar Muka Pengunduhan Saham
Pada saat pengunduhan data dimulai, maka antarmuka proses pengunduhan data historis saham akan ditampilkan. Gambar III-7 menunjukkan rancangan antarmuka proses pengunduhan data historis saham.
Gambar III-7 Rancangan Antar Muka Proses Pengunduhan
3.2.2.3 Perancangan Antar Muka Menggambar Grafik Antarmuka ini ditampilkan pada saat pengguna memilih menu “Gambar Grafik”. Pada antar muka ini, pengguna dapat memilih data yang sudah tersimpan serta menentukan jumlah periode yang akan dihitung dengan menggunakan indikator Ultimate Oscillator. Rancangan antarmuka pengunduhan saham dapat dilihat pada Gambar III-8.
III-16
Gambar III-8 Rancangan Antar Muka Menggambar Grafik
3.2.2.4 Perancangan Antar Muka Pengaturan Koneksi Internet Antarmuka ini ditampilkan pada saat pengguna memilih menu “Pengaturan Koneksi”. Pada antarmuka ini, pengguna dapat memilih jenis koneksi perangkat lunak ke internet. Rancangan antarmuka pengunduhan saham dapat dilihat pada Gambar III-9.
Gambar III-9 Rancangan Antar Muka Pengaturan Koneksi Internet