PEMBANGUNAN APLIKASI ANALISIS PERGERAKAN HARGA SAHAM DENGAN METODE ULTIMATE OSCILLATOR LAPORAN TUGAS AKHIR Disusun sebagai syarat kelulusan tingkat sarjana oleh : Mohammad Noversada A. / 13503029 PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2008
Lembar Pengesahan Program Studi Sarjana Teknik Informatika PEMBANGUNAN APLIKASI ANALISIS PERGERAKAN HARGA SAHAM DENGAN METODE ULTIMATE OSCILLATOR Tugas Akhir Program Studi Sarjana Teknik Informatika ITB oleh: Mohammad Noversada A. / 13503029 Telah disetujui dan disahkan sebagai laporan tugas akhir di Bandung, pada tanggal 30 Juni 2008 Pembimbing Dra. Harlili, M.Sc. NIP 131414805 ii
ABSTRAKSI Berinvestasi pada saham saat ini telah menjadi sebuah lahan bisnis yang menarik karena memiliki potensi untuk mendapatkan keuntungan yang besar. Namun di balik keuntungan yang besar, terdapat risiko yang besar pula. Untuk memaksimalkan keuntungan dan meminimalkan keuntungan tersebut, dibutuhkan perhitungan atau analisis yang cermat. Secara umum ada beberapa macam pendekatan dalam melakukan analisis terhadap pergerakan harga saham, salah satunya adalah analisis teknikal. Analisis teknikal berfungsi untuk meramalkan pergerakan harga saham di masa depan dengan memanfaatkan data historis saham pada masa lalu. Biasanya analisis teknikal dimodelkan dalam bentuk grafik harga saham untuk memudahkan melihat kecenderungan pergerakan harga (trend). Salah satu metode analisis teknikal yang dapat digunakan untuk melakukan analisis adalah Ultimate Oscillator. Metode ini dikembangkan oleh Larry William pada tahun 1985. Konsep utama metode ini adalah penggabungan tiga buah oscillator (masing-masing mewakili periode jangka pendek, jangka menengah, dan jangka panjang) sekaligus ke dalam sebuah oscillator. Dasar perhitungannya membandingkan nilai-nilai optimum yang terdapat pada data historis saham. Tugas Akhir ini membahas studi, implementasi, dan prosedur analisis teknikal saham dengan menggunakan metode Ultimate Oscillator. Pada Tugas Akhir ini juga akan dibangun sebuah perangkat lunak UltimateStock untuk implementasi pemodelan data historis harga dalam bentuk grafik harga dan grafik Ultimate Oscillator sesuai perhitungan yang telah dilakukan. UltimateStock dibangun dalam lingkungan sistem operasi Windows XP, bahasa pemrograman Visual C#, dan library tambahan ZedGraph. Setelah perangkat lunak selesai dikembangkan, dilakukan proses pengujian terhadap perangkat lunak tersebut dan metode Ultimate Oscillator. Pengujian perangkat lunak dilakukan untuk menguji kebenaran perangkat lunak dalam menampilkan keluaran sesuai dengan yang diharapkan. Pengujian metode Ultimate Oscillator dilakukan untuk menguji keakuratan metode ini dalam mendeteksi sinyal-sinyal perdagangan, yaitu mengetahui keakuratan sinyal bearish divergence dan bullish divergence yang dihasilkan oleh UltimateStock untuk memulai transaksi. Selanjutnya Tugas Akhir ini ditutup oleh kesimpulan dan saran pengembangan di masa yang akan datang. Kata Kunci: saham, analisis teknikal, indikator teknikal, Larry William, Ultimate Oscillator, bearish divergence, bullish divergence iii
KATA PENGANTAR Puji syukur penulis panjatkan kepada Allah S.W.T. atas limpahan rahmat dan petunjuk-nya, sehingga penulis dapat menyelesaikan Tugas Akhir ini dengan baik dan tepat waktu. Selama pengerjaan Tugas Akhir ini, banyak pihak yang telah membantu dan memberikan dukungan bagi penulis. Untuk itu, pada kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada: 1. Ibu Dra. Harlili, M.Sc. selaku dosen pembimbing Tugas Akhir. 2. Bapak Drs. Judhi Santoso, M.Sc., Bapak Ir. Rinaldi Munir, M. T., dan Bapak Dr. Ir. Oerip S Santoso, M.Sc. selaku dosen penguji pada presentasi proposal, seminar, dan sidang Tugas Akhir. 3. Ibu Henny Yusnita Zubir, B.S, M.T. selaku dosen wali. 4. Seluruh dosen dan staf pengajar Teknik Informatika ITB. Terima kasih atas ilmu dan pengetahuan yang sangat berguna yang telah diberikan. 5. Pak Rasidi, Pa Ade, Bu Titi, dan staf Tata Usaha Teknik Informatika ITB. Terima kasih atas bantuannya dalam memproses administrasi Tugas Akhir. 6. Bapak-bapak staf Tata Usaha lab di labtek V lantai 4 (printing). Terima kasih atas bantuannya dalam proses pencetakan draft laporan Tugas Akhir. 7. Ayah, Ibu, dan Adik-adik penulis di Jakarta dan Semarang. Terima kasih atas dukungan moralnya sehingga penulis bisa menyelesaikan Tugas Akhir. 8. Keluarga Om Yul dan Om Pipin di Jakarta. 9. Agam, Erry, dan Windarto. Terima kasih sudah menjadi teman baik selama penulis kuliah di ITB. 10. Gilang, Goro, Yahdi, dan Sonny sebagai teman-teman seperjuangan dalam menyelesaikan kuliah Struktur Data dan Pemrograman Berorientasi Objek. 11. Dono, Yudhi, Aris, Anton, Tuppi, dan Rico sebagai teman-teman satu kos penulis. 12. Jaya, Ikhsan, Ruli, dan Dika. Terima kasih sudah bersedia menemani penulis main band bersama. iv
13. Anak-anak KMS, Simon, Okta, Budi, Ibam, Aldo, Victor, Andoko, Ridwan, dan Riza yang sudah membantu penulis dalam menyelesaikan tugas besar Struktur Data dan Pemrograman Berorientasi Objek. 14. Revi, William, Syahrul, Yavta, Diko, Fauzi, Yandri sebagai teman-teman satu bimbingan. 15. Zhai dan Goro, yang telah setia menemani penulis menyelesaikan kuliah PPL, MPPL, dan KP 16. Nazar, yang telah berbaik hati menjadi uploader mayoritas film dan barangbarang multimedia lainnya bagi penulis. 17. Para tukang upload di rileks, Jambak, vepoyoke, budd_leon, dsb yang telah menyediakan barang-barang multimedia gratis untuk penulis nikmati. 18. Rekan-rekan IF-ITB angkatan 2003. 19. Pihak-pihak lain yang tidak dapat penulis sebutkan satu-persatu. Semoga penulisan laporan Tugas Akhir ini bermanfaat bagi pembaca. Penulis menyadari bahwa Tugas Akhir ini tak lepas dari kekurangan. Oleh karena itu, kritik dan saran dari pembaca sangat diharapkan. Bandung, Juni 2008 Penulis v
DAFTAR ISI ABSTRAKSI... iii KATA PENGANTAR... iv DAFTAR ISI... vi DAFTAR GAMBAR... ix DAFTAR TABEL... xi BAB I PENDAHULUAN... I-1 1.1 Latar Belakang... I-1 1.2 Rumusan Masalah... I-2 1.3 Tujuan... I-3 1.4 Batasan Masalah... I-3 1.5 Metodologi... I-3 1.6 Sistematika Pembahasan... I-4 BAB II DASAR TEORI... II-1 2.1 Saham... II-1 2.1.1 Pengertian Saham... II-1 2.1.2 Jenis-Jenis Saham... II-1 2.1.3 Keuntungan dan Kerugian Saham... II-2 2.2 Pasar Saham... II-4 2.3 Analisis Pasar Saham... II-5 2.3.1 Analisis Fundamental... II-5 2.3.2 Analisis Teknikal... II-6 2.3.3 Dasar-Dasar Analisis Teknikal... II-8 2.3.4 Jenis Tampilan Grafik Perubahan Harga Saham... II-13 2.3.4.1 Bar Chart... II-13 2.3.4.2 Line Chart... II-14 2.3.4.3 Candlestick Chart... II-15 2.4 Indikator Teknikal... II-16 2.4.1 Oscillator... II-18 2.5 Ultimate Oscillator... II-23 BAB III ANALISIS DAN PERANCANGAN... III-1 3.1 Analisis... III-1 3.1.1 Analisis Metode Ultimate Oscillator... III-1 3.1.1.1 Analisis Bearish Divergence... III-1 3.1.1.2 Analisis Bullish Divergence... III-2 3.1.2 Analisis Kebutuhan Data... III-4 3.1.2.1 Data Masukan... III-4 3.1.2.2 Data Keluaran... III-4 vi
3.1.2.3 Sumber Data... III-5 3.1.3 Deskripsi Umum Perangkat Lunak... III-7 3.1.4 Analisis Pemodelan Use Case... III-8 3.1.4.1 Diagram Use Case... III-8 3.1.4.2 Definisi Aktor... III-8 3.1.4.3 Definisi Use Case... III-9 3.1.5 Spesifikasi Kebutuhan Fungsional Perangkat Lunak... III-10 3.1.6 Asumsi Dan Batasan Perangkat Lunak... III-10 3.2 Perancangan... III-11 3.2.1 Perancangan Arsitektur... III-11 3.2.2 Perancangan Antar Muka... III-13 3.2.2.1 Perancangan Antar Muka Utama... III-13 3.2.2.2 Perancangan Antar Muka Mengunduh Saham... III-14 3.2.2.3 Perancangan Antar Muka Menggambar Grafik... III-15 3.2.2.4 Perancangan Antar Muka Pengaturan Koneksi Internet... III-16 BAB IV IMPLEMENTASI... IV-1 4.1 Lingkungan Implementasi... IV-1 4.2 Perangkat Keras dalam Pengembangan... IV-1 4.3 Perangkat Lunak Dalam Pengembangan... IV-1 4.4 Batasan Implementasi... IV-2 4.5 Implementasi Kelas... IV-2 4.5.1 Kelas FormMain... IV-3 4.5.2 Kelas FormDraw... IV-4 4.5.3 Kelas FormConnection... IV-4 4.5.4 Kelas FormDownload... IV-5 4.5.5 Kelas FormCompanyData... IV-6 4.5.6 Kelas FormDownloadProgress... IV-6 4.5.7 Kelas GraphController... IV-7 4.5.8 Kelas ConnectionController... IV-8 4.5.9 Kelas MyStock... IV-8 4.6 Implementasi Antarmuka... IV-9 4.6.1 Antarmuka utama... IV-9 4.6.2 Antarmuka Penggambaran Data Saham... IV-10 4.6.3 Antarmuka Pengunduhan Data Saham... IV-11 4.6.4 Antarmuka Pengaturan Koneksi Internet... IV-12 4.6.5 Antarmuka Tampilkan Data... IV-13 BAB V PENGUJIAN... V-1 5.1 Tujuan Pengujian... V-1 5.2 Perancangan Kasus Uji... V-1 5.3 Pelaksanaan Pengujian... V-2 5.3.1 Pengujian Kebenaran Perangkat Lunak... V-2 5.3.1.1 Pengujian Penggambaran Data Saham... V-2 5.3.1.2 Pengujian Pengelolaan Data... V-3 vii
5.3.1.3 Pengujian Pengaturan Koneksi... V-3 5.3.1.4 Pengujian Tampilkan Data... V-3 5.3.2 Pengujian Keakuratan Perangkat Lunak... V-4 5.4 Hasil Pengujian... V-4 5.4.1 Hasil Pengujian Kebenaran Perangkat Lunak... V-4 5.4.1.1 Hasil Pengujian Penggambaran Data Saham... V-4 5.4.1.2 Hasil Pengujian Pengunduhan Data Saham... V-5 5.4.1.3 Hasil Pengujian Pengaturan Koneksi Internet... V-5 5.4.1.4 Hasil Pengujian Tampilkan Data... V-6 5.4.2 Hasil Pengujian Keakuratan Perangkat Lunak... V-6 5.4.2.1 Hasil Pengujian Keakuratan Pada Saham Up-trend... V-7 5.4.2.2 Hasil Pengujian Pada Saham Down-trend... V-7 5.4.2.3 Hasil Pengujian Pada Saham Sideways... V-7 5.5 Evaluasi Pengujian... V-7 5.5.1 Evaluasi Pengujian Kebenaran Perangkat Lunak... V-7 5.5.2 Evaluasi Pengujian Keakuratan Perangkat Lunak... V-8 BAB VI PENUTUP... VI-1 6.1 Kesimpulan... VI-1 6.2 Saran... VI-1 DAFTAR REFERENSI... xii DAFTAR PUSTAKA... xiii LAMPIRAN A HASIL PENGUJIAN... A-1 viii
DAFTAR GAMBAR Gambar II-1 Contoh support dan resistance [MUR99]... II-9 Gambar II-2 Contoh Up-trend[STO08]... II-11 Gambar II-3 Contoh Down-trend [MAR08]... II-12 Gambar II-4 Contoh Sideways atau flat [MAR08]... II-12 Gambar II-5 Bentuk Bar Chart [MAR08]... II-14 Gambar II-6 Bentuk Line Chart [MAR08]... II-15 Gambar II-7 Bentuk candlestick chart [MAR08]... II-16 Gambar II-8 Contoh tampilan candlestick chart [MAR08]... II-16 Gambar II-9 Divergence Positif [STO07]... II-20 Gambar II-10 Divergence Negatif [STO07]... II-21 Gambar II-11 Overbought dan Oversold [STO07]... II-22 Gambar II-12 Contoh Ultimate Oscillator [CHA08]... II-24 Gambar III-1 Contoh Bearish Divergence [STO08]... III-2 Gambar III-2 Contoh Bullish Divergence [CHA99]... III-3 Gambar III-3 Gambar Diagram Use Case... III-8 Gambar III-4 Diagram Kelas UltimateStock... III-12 Gambar III-5 Rancangan Antar Muka Utama... III-14 Gambar III-6 Rancangan Antar Muka Pengunduhan Saham... III-15 Gambar III-7 Rancangan Antar Muka Proses Pengunduhan... III-15 Gambar III-8 Rancangan Antar Muka Menggambar Grafik... III-16 Gambar III-9 Rancangan Antar Muka Pengaturan Koneksi Internet... III-16 Gambar IV-1 Tampilan Antarmuka Utama... IV-9 Gambar IV-2 Tampilan Antarmuka Penggambaran Data Saham... IV-10 ix
Gambar IV-3 Tampilan Antarmuka Pengunduhan Data Saham... IV-11 Gambar IV-4 Tampilan Antarmuka Penambahan Perusahaan... IV-12 Gambar IV-5 Tampilan AntarMuka Pengaturan Koneksi Internet... IV-12 Gambar IV-6 Tampilan AntarMuka Menampilkan Data Historis... IV-13 x
DAFTAR TABEL Tabel III-1 Contoh Data Historis Dari MSN Money... III-6 Tabel III-2 Contoh Data Historis Yahoo! Finance... III-6 Tabel III-3 Contoh Data Historis dari situs BEI... III-6 Tabel III-4 Definisi Aktor... III-9 Tabel III-5 Definisi Use Case UltimateStock... III-9 Tabel III-6 Deskripsi Kelas UltimateStock... III-12 Tabel IV-1 Implementasi Kelas FormMain... IV-3 Tabel IV-2 Implementasi Kelas FormDraw... IV-4 Tabel IV-3 Implementasi Kelas FormConnection... IV-5 Tabel IV-4 Implementasi Kelas FormDownload... IV-5 Tabel IV-5 Implementasi Kelas FormCompanyData... IV-6 Tabel IV-6 Implementasi Kelas FormDownloadProgress... IV-7 Tabel IV-7 Implementasi Kelas GraphController... IV-7 Tabel IV-8 Implementasi Kelas ConnectionController... IV-8 Tabel IV-9 Implementasi KelasMyStock... IV-9 Tabel V-1 Hasil Pengujian Penggambaran Data Saham... V-4 Tabel V-2 Hasil Pengujian Pengunduhan Data Saham... V-5 Tabel V-3 Hasil Pengujian Pengaturan Koneksi Internet... V-6 Tabel V-4 Hasil Pengujian Tampilkan Data... V-6 Tabel V-5 Hasil Pengujian Keakuratan Pada Saham Oracle Corp... V-7 Tabel V-6 Hasil Pengujian Keakuratan Pada Saham Bank Negara Indonesia (Tbk) V-7 Tabel V-7 Hasil Pengujian Keakuratan Pada Saham Apple Corp... V-7 xi