PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli...

97
i PROGRAM BANTU PEMILIHAN SAHAM BERDASARKAN INDIKATOR BOLLINGER BANDS Skripsi Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika Oleh: IRENE LENY PRADISTA ANGGADEWI 065314064 JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2011 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Transcript of PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli...

Page 1: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

i

PROGRAM BANTU PEMILIHAN SAHAM

BERDASARKAN INDIKATOR BOLLINGER BANDS

Skripsi

Diajukan untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Oleh:

IRENE LENY PRADISTA ANGGADEWI

065314064

JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA

2011

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

ii

ASSISTANT PROGRAM OF CHOOSING STOCK

ACCORDING TO BOLLINGER BANDS INDICATOR

A Thesis

Presented as Partial Fulfillment of the Requirements

To Obtain the Sarjana Komputer Degree

In Study Program of Informatics Engineering

Created by :

IRENE LENY PRADISTA ANGGADEWI

NIM : 065314064

STUDY PROGRAM OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY

YOGYAKARTA 2011

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

iii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

iv

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

v

HALAMAN MOTTO

Kelemahan kita yang terbesar terletak dalam menyerah. Cara yang pasti untuk

meraih sukses adalah selalu mencoba sekali lagi

Jangan ingatkan ketakutanmu, tetapi ingatlah harapan dan impianmu. Jangan

pikirkan frustasimu, tapi pikirkan potensi yang belum kamu penuhi. Jangan

khawatirkan dirimu sendiri dengan apa yang telah kamu coba tapi gagal, tapi

dengan apa yang masih mungkin kamu lakukan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

vi

Kupersembahkan untuk :

1. Allah Bapa, Tuhan Yesus Kristus, Bunda Maria..(RencanaMu Indah

bagiku.... )

2. Ayah dan ibuku tercinta (terimakasih karena telah memberikan kasih

sayang yang melimpah kepada penulis)

3. Adikku (Satrio Agung Laksono)

4. –Kamu- (Petrus Dwi Rustanto) terimakasih buat nasihat, support , dan

kesabaran yang diberikan untuk penulis

5. Kakek dan Nenekku tercinta.....

6. Papa dan Budhe Ris ku tercinta

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

vii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

viii

ABSTRAK

Penanaman modal dalam bentuk saham saat ini banyak diminati para investor

ataupun instansi. Kunci keberhasilan dalam mengolah keuangan adalah dengan mengerti

secara menyeluruh konsekuensi dan seluk beluk dalam mengolah keuangan. Penanaman

saham akan memperoleh keuntungan yang besar jika pembelian dan penjualan saham

dilakukan pada waktu yang tepat.

Dalam tugas akhir ini akan dibuat Program Bantu Pemilihan Saham Berdasarkan

Indikator Bollinger Bands. Masukan sistem berupa harga pembukaan, harga tertinggi,

harga terendah, harga penutupan dan volume saham selama 20 hari. Data diunduh dari

http://202.155.2.90/market_summary/daily/List_of_Scriptless(Regular)_Quotation/SL(yy

-mm-dd).TXT dan

http://202.155.2.90/market_summary/daily/List_of_LQ45_Securities_Quotation/LQ(yy-

mm-dd).TXT.Keluaran sistem berupa saham rekomendasi yang akan dijual ataupun

dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir

pita Bollinger Bands, warna badan dan % panjang ekor candlestick, serta volume.

Hasil percobaan terhadap empat saham selama bulan April sampai Desember

2009 menunjukan bahwa pembelian dan penjualan berdasarkan Indikator Bollinger

Bands rata-rata memperoleh keuntungan sebesar 15.9 %. Perubahan harga setelah dua

hari setelah sinyal beli menurut Indikator Bollinger Bands adalah 2.05%. Sedangkan

harga saham sehari setelah sinyal jual akan mengalami kenaikan sebesar 0.55%. Hal ini

dikarenakan data yang didapat tidak 100% valid, sehingga pada program nilai open yang

lebih besar dengan high disamakan dengan high dan nilai open yang lebih kecil daripada

low disamakan nilainya seperti low. Lama hari waktu beli dan jual dengan keuntungan

korelasinya 0.12. Hal ini berarti tidak ada hubungan antara lama hari dengan keuntungan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

ix

ABSTRACT

The unstable of the condition of world economics which tends to experience

decreasing because there are people or institution which are not right in managing

finance.The key successfull in managing finance is understanding wholly of the

concequence and complexity of investation business that will be invested.

One of choosing the investation finance is by invested in the form of asset. The

asset investation will get big profit if buying and selling are done on time. In the final test

will be made by “Assistant Program of Choosing Stock according to Bollinger Bands

Indicator”. The system input are opening price, highest price, lowest price, choosing price

and volume.The system input get from

http://202.155.2.90/market_summary/daily/List_of_Scriptless(Regular)_Quotation/SL(yy

-mm-dd).TXT dan

http://202.155.2.90/market_summary/daily/List_of_LQ45_Securities_Quotation/LQ(yy-

mm-dd).TXT. System output is recomendation asset which is sold or bought nowdays.

The result of the attemp shows that selling or buying asset according to the

recomendation of Bollinger Bands Indicator will get profit. Recomendation based on %

Candlestick released by the tip of Bollinger Bands, the color and % length of candlestick

tail and transaction volume.

The result of experiment of stock for April to Desember 2009 periode indicate

that buying and selling based on Bollinger Bands got 15.9 % profit in average. The

change of the price after two days after buying signal based on Bollinger Bands Indicator

is 2.05%, while stock price a day after selling sign will increase up to 0.55%. This is

caused open value data got from the source is not 100% valid, so on the programme, open

value that is greater than high supposed as high and smaller open value than low

supposed as low. The carelation between buying and selling to profit is 0.12. This means

that there is no corelation between days spent and profit

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

x

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

xi

KATA PENGANTAR

Puji dan syukur saya panjatkan kepada Tuhan Yang Maha Esa karena atas berkat

dan rahmat-Nya yang melimpah saya dapat menyelesaikan tugas akhir ini.

Selesainya tugas akhir ini juga tidak luput dari peran serta berbagai pihak yang

dengan caranya tersendiri tak henti-hentinya memberikan dukungan dan bantuan untuk

penulis. Oleh karena itu saya ingin mengucapkan terima kasih diantaranya kepada :

1. Bapak Drs. Jong Jek Siang, M.Sc. selaku Dosen Pembimbing yang telah banyak

meluangkan waktu dan perhatiannya untuk membimbing penulis menyelesaikan

Tugas Akhir ini.

2. Bapak Eko Hari Parmadi, S.Si.,M.Kom dan Bapak Albertus Agung Hadhiatma,

S.T.,M.T. selaku panitia penguji yang telah banyak memberikan masukan dan

saran agar sempurnanya tugas akhir ini.

3. Bapak Emanuel Bele Bau yang turut mendukung dalam persiapan ujian

pendadaran.

4. Seluruh staff dosen Teknik Informatika Universitas Sanata Dharma yang telah

memberikan bekal ilmu, arahan dan pengalaman selama penulis menempuh studi.

5. Seluruh staff Sekretariat Teknik yang banyak membantu penulis dalam urusan

administrasi akademik terutama menjelang ujian tugas akhir dan yudisium

6. Bapak Drs.Yosafat Jaiman, Ibu Sulistyawati, Satrio Agung Laksono yang telah

memberikan banyak nasehat hidup, doa, semangat, perhatian sehingga penulis

dapat menyelesaikan tugas akhir ini.

7. Petrus Dwi Rustanto, yang selalu menyemangati, membimbing serta selalu

memberi dukungan penuh untuk penulis dalam menyelesaikan tugas akhir ini.

8. Bapak Sarji, I Kadek Dendy, dan Robin Steven yang telah membantu dan

memberikan masukan kepada penulis dalam menyelesaikan Tugas Akhir ini.

9. Teman – teman yang telah memberikan nasihat dalam penulis menyelesaikan

tugas akhir : Sri Purwanti, Fransiskus Anggit Dwi Suhendro, Tulus Wardoyo,

Andreas Andre Marwadi, Irman Nurcahyo, Hertatik Clarasita Devi, Yosia Dwi

Susetyo, Henky Adlin Shan, Sasongko Hadi, Novi Hartati, Ambar Widi Sayekti,

Silvia Kusuma.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

xii

Dengan rendah hati saya menyadari bahwa tugas akhir ini masih jauh dari sempurna, oleh

karena itu berbagai kritik dan saran untuk perbaikan tugas akhir ini sangat saya harapkan.

Akhir kata semoga tugas akhir ini bermanfaat bagi semua pihak. Terima kasih

Yogyakarta, Januari 2011

Penulis

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

xiii

DAFTAR ISI

HALAMAN JUDUL ………………………………………………………………… HALAMAN PERSETUJUAN ………………………………………………………. HALAMAN PENGESAHAN ……………………………………………………….. HALAMAN MOTTO .................................................................................................. HALAMAN PERSEMBAHAN.................................................................................... PERNYATAAN KEASLIAN KARYA ....................................................................... ABSTRAK ................................................................................................................... ABSTRACT ................................................................................................................. LEMBAR PERNYATAAN PERSETUJUAN ............................................................. KATA PENGANTAR .................................................................................................. DAFTAR ISI ................................................................................................................ DAFTAR GAMBAR ................................................................................................... DAFTAR TABEL ........................................................................................................ BAB I PENDAHULUAN …………………………………………………………...

1.1 Latar Belakang Masalah …………………………………………………. 1.2 Rumusan Masalah ……………………………………………………….. 1.3 Tujuan ……………………………………………………………………. 1.4 Batasan Masalah …………………………………………………………. 1.5 Metodologi Penelitian …………………………………………………… 1.6 Sistematika Penelitian ……………………………………………………

BAB II LANDASAN TEORI ……………………………………………………….. 2.1 Pengertian Saham ………………………………………………………...

2.1.1 Analisa Fundamental…………………………………………. 2.1.2 Analisa Teknikal.......................................................................

2.2 Indikator-indikator dalam Analisa Teknikal............................................... 2.3 Candlestick………………………………………………………………..

2.3.1 Cara Membaca……………………………………………….. 2.3.2 Badan Candlectick…………………………………………… 2.3.3 Bayangan Candlestick………………………………………..

2.4 Indikator Bollinger Bands ………………………………………………. 2.4.1 Cara Pembacaan Grafik Bollinger Bands……………………. 2.4.2 Sinyal jual dan sinyal beli……………………………………. 2.4.3 Rumus Perhitungan…………………………………………..

BAB III PERANCANGAN SISTEM ……………………………………………….. 3.1 Analisis Sistem …….……………………………………………………..

3.1.1 Fase Definisi Ruang Lingkup………………………………… 3.1.2 Fase Analisis Masalah………………………………………...

3.1.2.1 Sistem yang ada saat ini……………………………… 3.1.2.2 Sebab dan akibat (Causes and Effect)……………….. 3.1.2.3 Gambaran sistem baru………………………………...

3.2 Orang yang terlibat dalam sistem……………………................................ 3.2.1 Fase Analisis Kebutuhan (Requirement Analysis)……………..

3.2.1.1 Use case Diagram…………………………………….. 3.2.1.2 Definisi Use Case…………………………………….. 3.2.1.3 Narasi Use Case………………………………………

i iii iv v vi vii viii ix x xi xiii xvi xviii 1 1 2 2 2 2 3 4 4 4 4 5 5 6 7 7 8 8 9 10 11 11 11 12 12 12 13 14 14 14 15 15

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

xiv

3.2.2 Fase Desain Logikal (Logical Design Phase)…………………. 3.2.2.1 Diagram aktivitas (Activity Diagram)………………...

3.2.3 Analisis Keputusan dan Design ……………………………….. 3.2.3.1 Mengidentifikasi dan Mengklarifikasi kelas usecase....

3.2.4 Sequence Diagram....................................................................... 3.2.5 Class Diagram.............................................................................

3.3 Perancangan Sistem ……………………………………………………… 3.3.1 Design Interface………………………………………………..

3.4 Perancangan Proses………………………………………………………. 3.4.1 Flowchart Rekomendasi Beli Saham…………………………..

3.4.1.1 Menghitung Lower Bands……………………………. 3.4.1.2 Menghitung % keluar Candlestick Rekomendasi Beli.. 3.4.1.3 Menghitung panjang ekor dan warna badan ................ 3.4.1.4 Menghitung Volume…………………………………. 3.4.1.5 Contoh Tahapan penentuan rekomendasi beli………..

3.4.2 Flowchart Rekomendasi Jual Saham………………………….. 3.4.2.1 Menghitung Upper Bands……………………………. 3.4.2.2 Menghitung % keluar Candlestick Rekomendasi Jual.. 3.4.2.3 Menghitung panjang ekor dan warna badan ................ 3.4.2.4 Menghitung Volume..................................................... 3.4.2.5 Contoh Tahapan penentuan rekomendasi jual..............

BAB IV IMPLEMENTASI DAN HASIL …………………………………............... 4.1 Implementasi program dan Pembuatan Database …...…………………...

4.1.1 Tabel saham…………………………………………………... 4.1.2 View temp……………………………………………………. 4.1.3 View cleaningbeli…………………………………………….. 4.1.4 View cleaningjual……………………………………………. 4.1.5 View vdata……………………………………………………. 4.1.6 View ekorwarnabeli………………………………………….. 4.1.7 View ekorwarnajual………………………………………….. 4.1.8 Stored Procedured persenKeluar…………………………….. 4.1.9 Stored Procedured persenKeluarJual………………………… 4.1.10 Volume……………………………………………………….

4.2 Hasil Implementasi dan Pembahasan ……………………………............ 4.3 Pengujian dan Analisis …………………………………………………..

4.3.1 Pengujian Perangkat Lunak…………………………………... 4.3.2 Analisis………………………………………………………..

4.3.2.1 Rata-rata Keuntungan Beli dan Jual ............................. 4.3.2.2 Perubahan Harga 1-2 Hari Setelah Sinyal Beli............. 4.3.2.3 Perubahan Harga Setelah Satu Hari Sinyal Jual............ 4.3.2.4 Korelasi Antara Keuntungan dan Lama Hari................

4.4 Kelebihan Sistem........................................................................................ 4.5 Kekurangan sistem......................................................................................

BAB V PENUTUP …………………………………………………………………... 5.1 Kesimpulan ………………...…………………………………………….. 5.2 Saran ……………………………………………………………………..

17 17 18 18 18 19 21 21 23 23 23 24 25 26 27 30 31 31 32 34 35 38 38 38 38 38 39 39 40 40 41 42 43 44 50 50 51 51 59 60 62 63 63 64 64 64

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

xv

DAFTAR PUSTAKA ……………………………………………………………….. LAMPIRAN ………………………………………………………………………….

1. Listing Program Ambil Data ...……………….………………………….. 2. Listing Class kontrolDB………………………………………………….. 3. Listing Class visualChart…………………………………………………

65 66 66 68 75

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

xvi

DAFTAR GAMBAR Gambar 2.1 Candlestick ………….……………………......................………………. Gambar 2.2 Badan Candlestick ………………………...........……………………….. Gambar 2.3 Bayangan Candlestick ……………………….......................................… Gambar 2.4 Grafik Bollinger Bands ……....................................................…………. Gambar 3.1 Diagram konteks sistem baru .................................................................... Gambar 3.2 Use Case Diagram .…................................................................................ Gambar 3.3 Diagram aktifitas Prediksi Saham ...................................................…...... Gambar 3.4 Diagram Sequence Prediksi saham (Rekomendasi Beli) …...................... Gambar 3.5 Diagram Sequence Prediksi saham (Rekomendasi Jual) .......................... Gambar 3.6 Class Diagram ….......……….................................................................... Gambar 3.7 Halaman utama ……............….................................................................. Gambar 3.8 Form Hasil Rekomendasi ………....……................................................. Gambar 3.9 Desain Grafik ….………………………………………………………... Gambar 3.10 Flowchart rekomendasi beli saham ….……………………………….... Gambar 3.11 Flowchart rekomendasi jual saham ….……………………………….... Gambar 4.1 Form Halaman Utama ............................................................................... Gambar 4.2 Pilih indeks saham dalam program ........................................................... Gambar 4.3 Output program sesuai dengan jenis indeks saham yang dipilih .............. Gambar 4.4 Pilih saham didalam virtual trading .......................................................... Gambar 4.5 Pemilihan bobot kriteria pada program ............... ..................................... Gambar 4.6 Form About ............................................................................................... Gambar 4.7 Form Bantuan ............................................................................................ Gambar 4.8 Message Dialog Pilih Rekomendasi .......................................................... Gambar 4.9 Message Dialog Proses Selesai ................................................................. Gambar 4.10 Form Hasil Rekomendasi ........................................................................ Gambar 4.11 Form Grafik Bollinger Bands .................................................................. Gambar 4.12 Grafik Bollinger Bands sinyal beli dari virrtual trading ......................... Gambar 4.13 Grafik Bollinger Bands sinyal beli dari program .................................... Gambar 4.14 Rekomendasi beli ADRO ........................................................................ Gambar 4.15 Grafik sinyal beli ADRO ........................................................................ Gambar 4.16 Rekomendasi jual ADRO ........................................................................ Gambar 4.17 Grafik sinyal jual ADRO ........................................................................ Gambar 4.18 Grafik sinyal beli ADRO ........................................................................ Gambar 4.19 Rekomendasi beli PGAS ......................................................................... Gambar 4.20 Grafik sinyal beli PGAS........................................................................... Gambar 4.21 Rekomendasi jual PGAS.......................................................................... Gambar 4.22 Grafik sinyal jual PGAS........................................................................... Gambar 4.23 Rekomendasi beli INDY.......................................................................... Gambar 4.24 Grafik sinyal beli INDY........................................................................... Gambar 4.25 Rekomendasi jual INDY.......................................................................... Gambar 4.26 Grafik sinyal jual INDY........................................................................... Gambar 4.27 Rekomendasi beli LPKR.......................................................................... Gambar 4.28 Grafik sinyal beli LPKR........................................................................... Gambar 4.29 Rekomendasi jual LPKR..........................................................................

6 7 7 8 14 14 17 18 19 20 21 22 22 23 30 45 45 46 46 47 47 48 48 48 49 50 50 51 52 52 52 52 53 54 54 54 55 55 55 56 56 56 57 57

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

xvii

Gambar 4.30 Grafik sinyal jual LPKR........................................................................... Gambar 4.31 Grafik sinyal beli LPKR........................................................................... Gambar 4.32 Grafik Korelasi Lama Hari dan Keuntungan...........................................

57 57 63

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

xviii

DAFTAR TABEL Tabel 3.1 Cause dan effect ............................................................................................ Tabel 3.2 Definisi Use Case .......................................................................................... Tabel 3.3 Narasi Use case Prediksi saham .................................................................... Tabel 3.4 Klasifikasi use case Prediksi saham (Rekomendasi Beli).............................. Tabel 3.5 Klasifikasi use case Prediksi saham (Rekomendasi Jual) ............................. Tabel 3.6 Pembobotan ekor dan warna rekomendasi beli ............................................. Tabel 3.7 Urutan rekomendasi beli ............................................. Tabel 3.8 Pembobotan ekor dan warna rekomendasi beli ............................................. Tabel 3.9 Pembobotan ekor dan warna rekomendasi jual ............................................. Tabel 3.10 Hasil rekomendasi jual ................................................................................ Tabel 3.11 Pembobotan ekor dan warna rekomendasi jual ........................................... Tabel 4.1 Rata-rata Beli – Jual ADRO ......................................................................... Tabel 4.2 Rata-rata Beli – Jual PGAS ........................................................................... Tabel 4.3 Rata-rata Beli – Jual INDY ........................................................................... Tabel 4.4 Rata-rata Beli – Jual LPKR ........................................................................... Tabel 4.5 Frekuensi Beli – Jual dan Keuntungan ......................................................... Tabel 4.6 Rata-rata Beli ADRO .................................................................................... Tabel 4.7 Rata-rata Beli PGAS ..................................................................................... Tabel 4.8 Rata-rata Beli INDY ..................................................................................... Tabel 4.9 Rata-rata Beli LPKR...................................................................................... Tabel 4.10 Perubahan Harga 1-2 Hari setelah Sinyal Beli............................................. Tabel 4.11 Rata-rata jual ADRO.................................................................................... Tabel 4.12 Rata-rata Jual PGAS.................................................................................... Tabel 4.13 Rata-rata Jual INDY.................................................................................... Tabel 4.14 Rata-rata jual LPKR .................................................................................... Tabel 4.15 Perubahan harga setelah 1 hari sinyal jual .................................................. Tabel 4.16 Korelasi Lama Hari dan Keuntungan ..........................................................

12 15 15 18 18 26 27 29 33 35 36 53 55 56 58 58 59 59 59 60 60 61 61 61 61 62 62

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

1

BAB I

PENDAHULUAN

1.1. Latar Belakang Masalah

Keterpurukan ekonomi menjadikan banyak orang jera dalam membangun suatu

usaha. Padahal bidang usaha yang menarik untuk dikembangkan sangat banyak, tetapi

terkadang banyak orang takut mengalami kerugian dan cenderung tidak mau mengambil

resiko.Salah satu bidang usaha yang menarik untuk dikembangkan adalah investasi

saham dipasar modal.Investasi saham banyak diminati para investor karena mudahnya

untuk memperoleh keuntungan dan hasil keuntungannya dapat berjumlah besar. Investasi

saham selain memberikan banyak keuntungan juga mempunyai resiko kerugian yang

besar. Resiko kerugian yang besar dari investasi saham itu menjadikan banyak investor

jera dan ragu-ragu untuk menanamkan modalnya. Perlu adanya analisa dari investor

sebelum menjual ataupun membeli saham agar investor tidak mengalami kerugian.

Sistem yang banyak digunakan para investor saat ini adalah sistem pendukung

pengambilan keputusan pemilihan saham dengan hasil rekomendasi saham yang hanya

terdiri dari satu macam rekomendasi saham. Hal tersebut menjadikan investor harus

melihat satu per satu hasil rekomendasi saham jika ingin membandingkan saham mana

yang mempunyai rekomendasi jual atau beli yang paling tepat

Berdasarkan uraian diatas penulis tertarik untuk membuat program bantu

pemilihan saham berdasarkan Indikator Bollinger Bands. Sistem yang akan dibuat adalah

penyempurnaan dari sistem yang telah ada. Jika pada sistem yang lama investor harus

melihat satu persatu saham hasil rekomendasi maka pada sistem yang baru akan

diranking keseluruhan saham rekomendasi. Investor dapat melihat data dari semua saham

dan akan keluar urutan rekomendasi saham dari yang tertinggi sampai terendah. Program

bantu yang akan dibuat menggunakan metode Bollinger Bands, hal tersebut dikarenakan

Indikator Bollinger Bands telah menjadi salah satu analisa teknikal yang banyak

digunakan oleh para trader dan analis pasar. Bollinger Bands adalah sebuah metode untuk

membantu membandingkan volatilitas (kestabilan pergerakan harga) dan harga relative

dalam satu periode analisis.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

2

1.2. Rumusan Masalah

1. Bagaimana menerapkan metode Bollinger Bands dalam program bantu

pengambilan keputusan pemilihan saham bagi investor

1.3. Tujuan

Tujuan yang hendak dicapai adalah membuat program bantu untuk menentukan

saham rekomendasi yang akan dijual ataupun dibeli pada saat ini dengan indikator

Bollinger Bands

1.4. Batasan Masalah

a. Data yang digunakan diambil dari Indonesia Stock Exchange (www.idx.co.id)

� http://202.155.2.90/market_summary/daily/List_of_Scriptless(Regular)_Q

uotation/SL(yy-mm-dd).TXT

� http://202.155.2.90/market_summary/daily/List_of_LQ45_Securities_Quo

tation/LQ(yy-mm-dd).TXT

b. Menggunakan Indikator Bollinger Bands

c. Data yang diolah berasal dari harga penutupan saham harian selama 20 dan 22

hari

d. Data perusahaan yang ditampilkan hanya berasal dari Indeks Regular atau LQ45

e. Aplikasi dibuat dengan bahasa pemrograman Java dengan database MySQL

1.5. Metodologi Penelitian

1. Studi Literatur

a. Pengenalan saham

b. Analisa metode Bollinger Bands dan Candlestick

c. Pencarian Kriteria – kriteria dalam pembelian maupun penjualan saham.

d. Pemrograman dengan bahasa pemrograman Java dan Database MySQL

2. Pengumpulan data

Data penelitian diperoleh dari hasil pencarian di situs internet

3. Analisis Sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

3

Melakukan berbagai analisis untuk mengidentifikasi masalah pada sistem yang

akan dibuat dan melakukan pengamatan terhadap pergerakan harga saham untuk

menentukan rekomendasi beli atau jual.

4. Perancangan software

Merancang sistem program bantu dengan Indikator Bollinger Bands dilengkapi

dengan kriteria pemilihan saham.

5. Implementasi

Mengimplementasikan analisis dan desain ke dalam program aplikasi

6. Analisa hasil peramalan

Melakukan pengujian hasil rekomendasi program yaitu dengan cara

membandingkan hasil rekomendasi dengan pergerakan harga saham selanjutnya

1.6. Sistematika Penulisan

BAB 1 Pendahuluan

Pada bab pendahuluan berisi tentang latar belakang, rumusan masalah, tujuan, batasan

masalah, metodologi penelitian dan sistematika penulisan

BAB 2 Dasar Teori

Bab ini berisi dasar-dasar teori dan prinsip yang digunakan dalam pembahasan tugas

akhir. Dasar teori yang digunakan yaitu Metode Bollinger Bands dan menggunakan Java

BAB 3 Analisa dan Perancangan Sistem

Bab ini menjelaskan konsep pembuatan program bantu untuk menganalisa pergerakan

harga saham menggunakan metode Bollinger Bands.

BAB 4 Implementasi

Pada bab implementasi ini adalah proses implementasi dari rancangan sistem yang dibuat

serta mengimplementasikan desain ke dalam pemrograman sesungguhnya, serta berisi

tentang analisis kerja program yang telah dibangun

BAB 5 Penutup

Bab ini berisi kesimpulan dari analisa hasil dan saran

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

4

BAB II

LANDASAN TEORI

2.1. Pengertian Saham

Pengertian saham secara umum adalah “surat berharga yang dapat dibeli atau

dijual oleh perorangan atau lembaga di pasar tempat surat tersebut

diperjualbelikan”.Saham (stock) merupakan salah satu instrumen pasar keuangan yang

paling popular. Menerbitkan saham merupakan salah satu pilihan perusahaan ketika

memutuskan untuk pendanaan perusahaan. Pada sisi yang lain, saham merupakan

instrument investasi yang banyak dipilih para investor karena saham mampu memberikan

tingkat keuntungan yang menarik. Ada dua pendekatan yang digunakan dalam

menganalisis saham suatu perusahaan yaitu sebagai berikut:

2.1.1 Analisa Fundamental

Analisis fundamental ini menyatakan bahwa setiap saham memiliki nilai intrinsik.

Analisis ini mencoba untuk menghitung nilai intrinsik dari suatu saham dengan

menggunakan data fundamental yaitu Laporan Keuangan Perusahaan, seperti laba,

dividen, penjualan, struktur modal, resiko dan sebagainya. Analisis ini akan

membandingkan nilai intrinsik dengan harga pasarnya untuk menentukan apakah harga

saham pasar sudah mencerminkan nilai intrinsiknya atau belum.

2.1.2 Analisa Teknikal

Analisis teknikal merupakan upaya memperkirakan harga saham dengan

mengamati perubahan harga saham di periode yang lalu, dan upaya untuk menentukan

kapan investor harus membeli, menjual atau mempertahankan saham dengan

menggunakan indikator-indikator teknis atau menggunakan analisis grafik. Indikator

teknis yang digunakan adalah moving average, volume perdagangan, dan short-interest

ratio.

Sedangkan analisis grafik diharapkan dapat mengidentifikasi berbagai pola seperti

key reserval, head and shoulders, dan sebagainya.Analisis ini menggunakan data pasar

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

5

dari saham, harga dan volume transaksi penjualan saham untuk menentukan nilai saham.

2.2. Indikator-Indikator Dalam Analisa Teknikal

Indikator dalam analisa teknikal pada umumnya dibagi menjadi dua bagian yaitu

indikator lagging (menyusul) dan indikator leading (mendahului).

Indikator lagging adalah indikator yang tampil setelah trend muncul dan berguna

ketika harga bergerak dalam trend yang cukup panjang. Indikator ini tidak

memperingatkan tentang perubahan yang bakal terjadi, tetapi hanya memberitahukan apa

yang sedang terjadi pada harga tersebut (yaitu, naik atau turun) sehingga dapat membuat

keputusan investasi sesuai dengan fakta tersebut.

Indikator leading adalah indikator yang di tampilkan sebelum trend muncul.

Indikator Leading dapat digunakan untuk acuan pengambilan keputusan untuk

kedepannya. Indikator ini membantu menarik keuntungan dengan memprediksi

perubahan yang bakal terjadi. Salah satu indikator yang termasuk indikator Leading

adalah Indikator Bollnger Bands.Indikator Bollinger Bands adalah indikator yang dapat

membantu penggunaanya untuk membandingkan volatility dan harga relatif dalam satu

periode analisa

2.3. CandleStick

Candlestick adalah metode yang dikembangkan oleh Homma Munahesa pada

abad ke 16 di Jepang.Sedangkan orang yang mempopulerkan grafik candlestick didunia

barat yaitu Steven Nison.Grafik candlestick menampilkan harga pembukaan, harga

tertinggi, harga terendah, dan harga penutupan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

6

2.3.1 Cara Membaca

Gambar 2.1 Candlestick Penjelasan dari gambar :

1. Candlestick dibentuk oleh empat data harga yaitu : open, high, low dan close

2. Jika harga penutupan (close) lebih tinggi dari harga pembukaan (open), maka

candlestick akan digambarkan sebagai kotak kosong

3. Jika harga penutupan (close) lebih rendah dari harga pembukaan (open), maka

candlestick akan digambarkansebagai kotak berwarna

4. Kotak candlestick disebut juga sebagai ‘real body’ atau badan

5. Garis yang ada diatas dan dibawah ‘real body’ disebut dengan ‘shadows’ atau

bayangan

6. Ujung bagian atas dari ‘shadow’ disebut dengan ‘high’ dan menunjukan harga

tertinggi

7. Ujung bagian bawah dari ’shadow’ disebut dengan ’low’ dan menunjukan harga

terendah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

7

2.3.2 Badan Candlestick

Gambar 2.2. Badan Candlestick

Badan yang terbentuk panjang menunjukan trend penjualan atau pembelian yang

kuat.Semakin kuat trend maka semakin panjang bentuk badan candlestick.Sebaliknya,

badan yang terbentuk pendek menunjukan kecilnya aktivitas pembelian atau penjualan

2.3.3 Bayangan Candlestick

Gambar 2.3. Bayangan Candlestick

Candlestick dengan bayangan yang panjang menunjukan aktivitas perdagangan

terjadi jauh diatas atau dibawah harga pembukaan atau penutupan.Candlestick dengan

bayangan yang pendek menunjukan bahwa aktivitas perdagangan terjadi di sekitar harga

pembukaan atau penutupan.

Apabila candlestick memiliki bayangan atas yang panjang dan bayangan bawah

yang pendek,menunjukan bahwa pembeli berupaya masuk sehingga sempat membuat

harga naik akan tetapi kemudian diimbangi datangnya penjual yang membuat harga

kembali mendekati level pembukaan.Jika candlestick memiliki bayangan bawah yang

panjang dan bayangan atas yang pendek.Hal tersebut berarti penjual berupaya masuk ke

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

8

pasar dan membuat harga sempat menurun namun kemudian diimbangi oleh aktivitas

pembeli sehingga harga kembali naik ke level pembukaan.

2.4 Indikator Bollinger Bands

Indikator Bollinger Bands dikembangkan oleh John Bollinger pada awal

1980.Indikator Bollinger Bands telah menjadi salah satu analisa teknikal yang banyak

digunakan oleh para trader dan analis pasar. Bollinger Bands adalah sebuah indikator

untuk membantu membandingkan volatilitas (kestabilan pergerakan harga) dan harga

relative dalam satu periode analisis.

2.4.1 Cara Pembacaan Grafik Bollinger Bands

Gambar 2.4 Grafik Bollinger Bands

Bollinger Bands terdiri atas tiga bands(garis) yaitu upper band (garis atas),middle

band(garis tengah) dan lower band(garis bawah). Ketika harga cenderung less volatile

(diam) bands akan merapat dan ketika harga aktif bands akan melebar.Bollinger Bands

berfungsi sebagai Support(dukungan) dan Resistance(perlawanan) dimana harga

cenderung bergerak bolak-balik antara batas atas dan batas bawah. Ketika bands merapat,

umumnya akan terjadi breakout(menembus band atas atau band bawah). Bila harga mulai

menembus band atas,diperkirakan pergerakan akan berlanjut naik, sedangkan jika harga

mulai menembus band bawah diperkirakan pergerakan akan berlanjut turun.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

9

2.4.2 Sinyal Jual dan Sinyal Beli

Indikator Bollinger Bands mempunyai sinyal jual dan sinyal beli yang dapat

dilihat melalui band.

• Middle band berada dibawah harga, maka mengindikasikan Bullish trend

(perlihan trend menuju sinyal beli)

• Middle band berada diatas harga, indikasi Bearish trend (Peralihan trend menuju

sinyal jual)

• Perpotongan antara middle band dan harga,indikasi peralihan trend

Jenis – jenis Harga

Jenis harga yang digunakan dalam analisis teknikal adalah sebagai berikut :

1) Harga pembukaan (open price)

Open price adalah harga saham tersebut pada awal periode tersebut. Open

price pada suatu hari adalah harga saham tersebut pada saat pasar modal

dibuka pada hari itu

2) Harga Tertinggi (High price)

High price suatu saham adalah harga tertinggi yang pernah dicapai saham

tersebut pada suatu periode

3) Harga terendah (Low price)

Low price suatu saham adalah harga terendah yang pernah dicapai saham

tersebut pada suatu periode

4) Harga penutupan (Close price)

Close price suatu saham adalah harga saham tersebut pada akhir periode

tersebut. Close price pada suatu hari adalah harga saham tersebut pada

saat pasar modal ditutup pada hari itu.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

10

2.4.3 Rumus Perhitungan

Proses pertama Indikator Bollinger Bands dihitung dengan mencari nilai dari

middle band menggunakan rumus:

Middle Band = n

j Closen

1J∑

= ………...........................................…..( 1 )

Keterangan:

Close j = Harga penutupan pada period ke-j

n = Jumlah jangka waktu yaitu 20 hari (biasanya 20 periode akan digunakan sebagai

default,tetapi angka ini bisa saja disesuaikan dengan keinginan dan tujuan)

Kemudian nilai Middle band tersebut digunakan untuk mencari nilai upper band dan nilai

lower band.

Upper band = Middle Band + ( Faktor Pengali x Standar Deviasi )

Lower band = Middle Band – ( Faktor Pengali x Standar Deviasi )

Faktor Pengali di default dengan nilai 2 yaitu upper band dan lower band.

Standar Deviasi merupakan perhitungan statistik biasa yang digunakan untuk mengukur

besarnya penyimpangan pada tiap-tiap data

Standar Deviasi = ( )

n

∑=

n

1J

2Band Middle-j Close....................................................( 2 )

Keterangan :

Close j = Harga penutupan pada periode ke-j

N = Periode

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

11

BAB III

PERANCANGAN SISTEM

3.1. Analisis Sistem

3.1.1 Fase Definisi Ruang Lingkup Sistem pemilihan saham rekomendasi yang digunakan para investor saat ini

adalah dengan sistem yang hanya menyajikan satu per satu rekomendasi saham. Berikut

merupakan persoalan-persoalan yang timbul dan diuraikan dalam PIECES framework.

Performance : Sistem yang lama baru bisa menampilkan satu per satu data saham

rekomendasi

Information : Informasi yang didapat dari sistem yang ada sekarang kurang lengkap, hal

tersebut dikarenakan investor harus membuka satu per satu saham rekomendasi.Terlalu

lama jika investor harus membuka satu per satu saham rekomendasi, kebanyakan investor

hanya melihat saham yang aktif saja, hal tersebut menjadikan investor kekurangan

informasi.

Economic : Membuka satu per satu saham rekomendasi membutuhkan waktu yang lama,

hal itu menyebabkan investor mengalami kerugian karena bagi investor waktu sangat

berharga

Control : Dalam sistem lama harus membuka saham rekomendasi satu per satu, padahal

data saham sangat banyak. Jika investor tidak membuka semua data saham rekomendasi

maka dimungkinkan akan terjadi salah prediksi. Investor memilih satu saham yang

dianggapnya paling tepat dibeli dari beberapa saham rekomendasi yang dilihatnya,

padahal masih terdapat rekomendasi saham yang lebih baik dari pilihan investor yang

belum dibuka datanya.

Efficiency : membuka satu per satu saham rekomendasi kurang efisien waktu, padahal

dalam perhitungan saham dibutuhkan waktu yang cepat karena harga saham sewaktu-

waktu dapat berubah

Service : Output rekomendasi dari sistem yang lama berupa grafik rekomedasi saham

dari beberapa periode. Investor harus mengidentifikasikan sendiri maksud dari grafik

rekomendasi kemudian membandingkan satu per satu dengan grafik rekomendasi yang

lain.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

12

3.1.2 Fase Analisis Masalah (Problem Analysis)

3.1.2.1 Sistem Yang ada Saat ini

Program bantu yang ada saat ini hanya bisa menampilkan satu macam

rekomendasi saham. Investor harus melihat satu per satu hasil rekomendasi saham untuk

mengetahui hasil rekomendasi yang terbaik. Penyajian output sistem saat ini berupa

grafik, investor harus mengidentifikasi sendiri arti dari grafik candlestick yang

disajikan.Grafik yang ditampilkan biasanya terdiri dari beberapa periode waktu

sebelumnya sampai dengan hari penutupan saham terakhir.

3.1.2.2 Sebab dan Akibat (Causes and Effect)

Tabel 3.1. Cause dan effect

Project : Program bantu Pemilihan

Saham Berdasarkan Indikator Bollinger

Bands

Project Manager : Irene Leny Pradista

Anggadewi

Created by : Irene Leny Pradista

Anggadewi

Last Update by :

Date Created :19 November 2008 Date Last Update : 02 Agustus 2010

CAUSE AND EFFECT ANALYSIS SYSTEM IMPROVEMENT OBJECT IVES

Problem /

Opportunity

Causes and effect System objectives System constraint

1. Akurasi hasil

prediksi

pemilihan

saham

1. Banyaknya

saham yang

tidak

mungkin

dilihat satu

per satu oleh

investor

1. Membantu

investor dalam

menentukan

keakuratan

prediksi

pemilihan saham

dengan

meranking

semua saham

rekomendasi

1. Membutuhkan

perangkat lunak

dan perangkat

keras untuk

mendukung

berjalannya

sistem baru

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

13

2. Melihat satu

per satu

saham

rekomendasi

membutuhka

n waktu yang

lama

2. Waktu lama

bisa

menyebabkan

kerugian bagi

investor

karena bagi

investor

waktu adalah

uang

2. Lebih

mengenfisienkan

waktu bagi investor

dengan adanya sistem

yang dapat meranking

semua perusahaan

2. Membutuhkan

perangkat lunak

dan perangkat

keras untuk

mendukung

berjalannya

sistem baru

3.1.2.3 Gambaran Sistem Baru

Sistem yang ada saat ini mempunyai beberapa kelemahan seperti yang telah

dijelaskan dalam cause dan effect diatas. Dari hal tersebut maka dibuatlah sistem baru

yaitu “Program Bantu Pemilihan Saham Berdasarkan Indikator Bollinger Bands”.Sistem

baru akan mengambil data saham dari Indonesia Stock Exchange site (www.idx.co.id),

http://202.155.2.90/market_summary/daily/List_of_Scriptless(Regular)_Quotation/SL(yy

-mm-dd).TXT dan

http://202.155.2.90/market_summary/daily/List_of_LQ45_Securities_Quotation/LQ(yy-

mm-dd).TXT

Data yang diambil berasal dari data penutupan saham harian. Data berupa kode

perusahaan, tanggal, harga pembukaan, harga penutupan, harga tertinggi dan harga

terendah. Setelah data didapat dari situs tersebut, selanjutnya sistem akan melakukan

perhitungan prediksi saham menggunakan data tersebut. Dalam perhitungan prediksi

saham terdapat beberapa pilihan yang harus dipilih pengguna sistem terkait dengan

prediksi saham yaitu memilih tanggal, periode, indeks saham, dan rekomendasi jual atau

beli dan bobot nilai dari krieria(persen keluar, ekor warna, volume) yang dipilih user.

Kemudian akan diperoleh hasil saham rekomendasi pada saat ini beserta dengan kriteria

pengurutan rekomendasi saham dan grafiknya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

14

Gambar 3.1. Diagram Konteks sistem baru

3.2 Orang Yang Terlibat Dalam Sistem

Pengguna yang berinteraksi dengan sistem adalah investor saham atau orang

yang ingin untuk memprediksi pembelian ataupun penjualan saham pada saat ini.

3.2.1 Fase Analisis Kebutuhan (Requirement Analysis)

3.2.1.1 Use case Diagram

Berikut ini merupakan usecase diagram pengguna dari Program Bantu Pemilihan

Saham Berdasarkan Indikator Bollinger Bands.Aktor dalam use case ini adalah

pengguna, pengguna yang dimaksud adalah investor. Pada sistem ini pengguna dapat

melakukan prediksi saham. Prediksi saham meliputi pemilihan tanggal, periode,

pemilihan indeks saham, pemilihan rekomendasi, dan pemilihan bobot kriteria.

Gambar 3.2. Use Case Diagram

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

15

3.2.1.2 Definisi Use Case

Use Case merupakan penjelasan mengenai kegiatan-kegiatan dalam sistem yang

dilakukan oleh masing-masing pengguna (aktor).Definisi usecase Sistem Pendukung

Pengambilan keputusan pemilihan saham terdapat pada tabel dibawah ini.

Table 3.2. Definisi Use Case

Nama Use Case Deskripsi Use Case Pelaku yang berpartisipasi

Prediksi saham

Use case ini

menggambarkan proses

prediksi saham.

Pengguna

3.2.1.3 Narasi Use Case (Use case Narative)

Bagian ini menjelaskan mengenai langkah-langkah kegiatan dalam setiap use case

Tabel 3.3. Narasi Use case Prediksi saham

Pengarang : Irene Leny Pradista Tanggal : 19 November 2009 Versi : Nama Use Case Prediksi saham Jenis Use Case :

Business Requirements Use Case ID PSB-002 Prioritas Tinggi Sumber - Aktor Bisnis Primer

Pengguna

Aktor pendukung lainnya

-

Stakeholder lain yang berhubungan

-

Deskripsi Use case ini mendeskripsikan suatu kejadian yang dilakukan oleh pengguna. Pengguna memilih beberapa pilihan prediksi saham untuk mengetahui hasil rekomendasi saham

Prakondisi Pengguna telah berada dihalaman utama Pemicu Use case ini digunakan untuk mengetahui saham

rekomendasi dan bobot kriteria Bagian Umum pada Kejadian

Kegiatan Pelaku Respons Sistem

Langkah 1: Pengguna membuka halaman prediksi

Langkah 2:Sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

16

Langkah 3: Pengguna memilih tanggal Langkah 4: Pengguna memilih periode sesuai dengan yang diinginkan pengguna Langkah 5: Pengguna memilih indeks saham sesuai dengan yang diinginkan pengguna Langkah 6 : Pengguna memilih rekomendasi sesuai dengan yang diinginkan pengguna Lagkah 7 : Pengguna memilih bobot kriteria saham Langkah 8 : Pengguna menekan tombol ”proses”

merespon dengan menampilkan halaman prediksi Langkah 4:Sistem menampilkan hasil rekomendasi

Bidang alternatif - Kesimpulan Sistem menampilkan data hasil prediksi

rekomendasi saham pada saat itu Pascakondisi Pengguna berhasil melihat data hasil prediksi

rekomendasi saham berdasarkan kriteria yang dimasukan pengguna

Aturan bisnis - Batasan dan spesifikasi Implementasi

-

Asumsi - Masalah terbuka -

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

17

3.2.2 Fase Desain Logikal (Logical Design Phase)

3.2.2.1 Diagram Aktifitas (Activity Diagram)

Berikut adalah activity diagram dari method-method yang ada dalam program ini.

Diagram Aktivitas Prediksi Saham

Berikut ini adalah activity diagram Prediksi Saham, yaitu proses dilakukan pada

halaman prediksi dengan memilih tanggal, periode, memilih indeks saham, memilih

rekomendasi dan memilih bobot kriteria. Setelah pengguna mengisi semua pilihan

kemudian proses selanjutnya sistem akan menampilkan halaman rekomendasi. Jika

pengguna tidak ingin melanjutkan proses maka dapat diklik tombol “Keluar”.

Gambar 3.3. Diagram aktifitas Prediksi Saham

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

18

3.2.3 Analisis Keputusan dan Design (Decision Analysis)

3.2.3.1 Mengidentifikasi dan Mengklasifikasi Kelas dalam Use Case Desain

Tabel 3.4. Klasifikasi Use Case Prediksi Saham(Rekomendasi Beli)

Kelas Interface, Control, dan Entity Use Case Prediksi Saham Kelas Interface Kelas Controller Kelas Entity H-001 – VisualAmbilData H-002 – visualHasil

ControlerAmbilData kontrolDB

ModelAmbilData

Tabel 3.5. Klasifikasi Use Case Prediksi Saham(Rekomendasi Jual)

Kelas Interface, Control, dan Entity Use Case Prediksi Saham Kelas Interface Kelas Controller Kelas Entity H001 – VisualAmbilData H002 – visualHasilJual

ControlerAmbilData kontrolDB

ModelAmbilData

3.2.4 Sequence Diagram

Berikut ini merupakan Sequence Diagram yang menggambarkan proses yang terjadi

dalam program bantu pemilihan saham.

Diagram Sequence Prediksi saham(Rekomendasi Beli)

Gambar 3.4. Diagram Sequence Prediksi saham(Rekomendasi Beli)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

19

Diagram Sequence Prediksi saham(Rekomendasi Jual)

Gambar 3.5. Diagram Sequence Prediksi saham(Rekomendasi Jual)

3.2.5 Class Diagram

Class diagram menggambarkan struktur dan deskripsi class, package dan objek

beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.

Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang

hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus

diimplementasikan dahulu menjadi sebuah class.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

20

Gambar 3.6. Class Diagram

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

21

3.3 Perancangan Sistem

3.3.1 Design Interface

Desain Interface Halaman Utama

Gambar 3.7. Halaman utama

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

22

Desain Hasil Rekomendasi

Hasil rekomendasi

Kode

Perusahaan

Nama

Perusahaan

Nilai %

keluar

Panjang Ekor dan

Warna Candlestick

Nilai

Volume

Hasil

Rekomendasi

Gambar 3.8. Form Hasil Rekomendasi

Desain Grafik

0

500

1000

1500

2000

2500

3000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Series1

Series2

Series3

Series4

Gambar 3.9. Desain Grafik

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

23

3.4. Perancangan Proses

3.4.1 Flowchart Rekomendasi Beli Saham

Gambar 3.10. Flowchart Rekomendasi Beli Saham

Hal pertama yang dilakukan sistem adalah pengambilan data yang dilakukan

secara online. Setelah data diambil kemudian menghitung nilai lower bands.Setelah nilai

lower bands diketahui kemudian dipilih bobot kriteria yang terdiri dari % keluar

Candlestick, Panjang ekor dan warna badan Candlestick, dan Volume. Nilai ketiga bobot

kriteria kemudian dikalikan dengan nilai perhitungan ketiga kriteria.Lalu setelah

perhitungan selesai akan diketahui hasil rekomendasi beli pada saat ini.

3.4.1.1 Menghitung Lower Bands

Proses awal dalam perhitungan lower bands adalah dengan mencari nilai middle

bands terlebih dahulu, yaitu :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

24

Middle Band = n

j Closen

1J∑

=

Keterangan:

Close j = Harga penutupan pada period ke-j

n = Jumlah jangka waktu yaitu 20 hari (biasanya 20 periode akan digunakan sebagai

default,tetapi angka ini bisa saja disesuaikan dengan keinginan dan tujuan)

Kemudian nilai Middle band tersebut digunakan untuk mencari nilai lower band.

Lower band = Middle Band – ( Faktor Pengali x Standar Deviasi )

Faktor Pengali di default dengan nilai 2 yaitu upper band dan lower band.

Standar Deviasi merupakan perhitungan statistik biasa yang digunakan untuk mengukur

besarnya penyimpangan pada tiap-tiap data

Standar Deviasi = ( )

n

∑=

n

1J

2Band Middle-j Close

Keterangan :

Close j = Harga penutupan pada periode ke-j

N = Periode

3.4.1.2 Menghitung % keluar Candlestick Rekomendasi Beli

Setelah nilai lower bands diketahui, kemudian mencari Nilai % Keluar yaitu dengan

membandingkan nilai open,close,high,low, pada tanggal itu dengan nilai lower bands

.Jika nilai open,high, low, close lebih besar daripada nilai lower bands, maka nilai 0,

tapi jika lebih kecil dari lower bands maka akan dihitung :

Open = ((l

Otl − ) ∗ 100% )

High = ((l

Htl − ) ∗ 100% )

Low = ((l

Ltl − ) ∗ 100% )

Close = ((l

Ctl − ) ∗ 100% )

Nilai % Keluar : Open + High + Low + Close

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

25

Hasil total dari nilai open,high, low, close lalu di klasifikasikan dalam pembobotan

nilai yaitu :

� > 6 % =20

� 3 - 6 % = 15

� 1 – 3 % = 10

� 0 – 1 % = 5

Keterangan :

Ot : Harga pembukaan (open price) pada hari data terakhir

Ht : Harga tertinggi (high price) pada hari data terakhir

Lt : Harga terendah (low price) pada hari data terakhir

Ct : Harga penutupan (close price) pada hari data terakhir

l : Nilai lower bands pada hari data terakhir

3.4.1.3 Menghitung Panjang Ekor dan Warna Badan Candlestick

Hitung Warna Badan

Mencari warna badan = jika open > close, maka ((Ot

CtOt − ) ∗ 100% )

Mencari warna badan = jika close > open, maka ((Ct

OtCt − ) ∗ 100% )

Mencari warna badan = jika close = open, maka warna candlestick yellow

Keterangan :

Ct : Harga penutupan (close price) pada hari data terakhir

Ot : Harga pembukaan (open price) pada hari data terakhir

Hitung Panjang ekor candlestick

Panjang ekor candlestick = jika close > open, maka ((Ot

LtOt − ) ∗ 100% )

Panjang ekor candlestick = jika open > close, maka ((Ct

LtCt − ) ∗ 100% )

Keterangan :

Ot : Harga pembukaan (open price) pada hari data terakhir

Lt : Harga terendah (low price) pada hari data terakhir

Ct : Harga penutupan (close price) pada hari data terakhir

Pembobotan =

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

26

Nilai panjang ekor candlestick < 3 % (dari nilai panjang ekor bawah candlestick) = short

Nilai panjang ekor candlestick > 3 % (dari nilai panjang ekor bawah candlestick) = long

Nilai Warna badan < 2 % (Nilai Warna badan Candlestick) = short

Nilai Warna badan > 2 % (Nilai Warna badan Candlestick) = long

Matrik Ekor Bawah dan Warna Candlestick

Rekomendasi beli menggunakan ekor bawah, semakin panjang ekor bawah yang

keluar dari garis lower bands menunjukan rekomendasi beli yang kuat. Hal tersebut

dikarenakan ekor bawah yang panjang berarti penjual berupaya masuk ke pasar dan

membuat harga sempat menurun jauh, semakin turun dari garis Lower Bands,

menunjukan rekomendasi beli yang kuat, namun kemudian diimbangi oleh aktivitas

pembeli sehingga harga kembali naik ke level pembukaan.

Ekor Bawah Long short

Red long

Red short

Yellow warna badan

green long

green short

Tabel 3.6. Pembobotan ekor dan warna rekomendasi beli

3.4.1.4 Menghitung Volume

Volume Rata-rata (Volume perbandingan) :

Volume Rata-rata = n

j Volumen

1J∑

=

Keterangan:

Volume j = Nilai Volume pada period ke-j

n = Jumlah jangka waktu yaitu 20 hari (biasanya 20 periode akan digunakan

sebagai default,tetapi angka ini bisa saja disesuaikan dengan keinginan

dan tujuan)

Setelah diketahui nilai Volume perbandingan kemudian dicari jumlah volume yang

kosong dan volume yang liquid yaitu :

0 0

14 4

14 6

15 10

20 8

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

27

Volume kosong < 20% * Volume rata-rata(Volume perbandingan)

Setelah diketahui volume yang liquid dan volume koson kemudian tahap akhir adalah

perhitungan volume liquid dengan rumus :

Nilai volume = n

j Liquid1J∑

=

Keterangan:

Liquid j = nilai volume liquid pada periode ke-j

n = Jumlah jangka waktu yaitu 20 hari (biasanya 20 periode akan digunakan

sebagai default,tetapi angka ini bisa saja disesuaikan dengan keinginan

dan tujuan)

Pembobotan Nilai Volume :

90% - 100 % =25

70% – 89%=20

50% - 69% = 15

30% – 49% = 10

20% - 39% = 5

0% – 19% = 0

3.4.1.5 Contoh Tahapan dalam penentuan urutan rekomendasi Beli

Tabel 3.7 Urutan rekomendasi Beli

Kode

Perusahaan

Nilai % Keluar Nilai panjang

Ekor dan warna

Badan

Nilai Volume Hasil

Keseluruhan

BSDE 2,0 0,0 6,0 8,0

BTEL 2,0 7,0 6,0 15,0

INTP 3,0 0,0 7,5 10,5

TLKM 1,0 2,0 7,5 10,5

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

28

Contoh perhitungan untuk BTEL :

1. Mencari nilai lower band dari BTEL = 237

2. Setelah nilai lower bands diketahui, kemudian mencari Nilai % Keluar yaitu dengan

membandingkan nilai open,close,high,low, pada tanggal itu dengan nilai lower

bands .Jika nilai open,high, low, close lebih besar daripada nilai lower bands, maka

nilai 0, tapi jika lebih kecil dari lower bands maka akan dihitung :

Perhitungan mencari nilai % keluar pada BTEL

Open = 240 , maka nilai = 0 %

High = 240 , maka nilai = 0 %

Low = 230(((237-230)/237)*100%)= 2,95 %

Close = 240 ,maka nilai = 0 %

Total = 0 % + 0 % + 2,95 %+ 0% = 2,95 %

Hasil total dari nilai open,high, low, close lalu di klasifikasikan dalam pembobotan

nilai yaitu :

� > 6 % =20

� 3 - 6 % = 15

� 1 – 3 % = 10

� 0 – 1 % = 5

Nilai total 2,95 % jadi bobotnya = 10.

Nilai persentase final untuk % keluar dipilih 20 %

Hasil akhir = Nilai total * Nilai persentase final = 10 * 20 % = 2

3. Langkah selanjutnya adalah mencari nilai panjang ekor dan warna badan yaitu

Perhitungan Nilai warna badan Candlestick pada BTEL

Open = 240, high = 240, low = 230, close = 240

Hitung nilai Warna badan = yellow (karena nilai close = open)

Hitung Panjang ekor candlestick

Nilai panjang ekor candlestick BTEL = (((240-230)/240)*100%) = 4,17

Nilai warna dan nilai panjang ekor candlestick kemudian digabung

Nilai warna = yellow

Nilai panjang ekor candlestick = 4,17 (long)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

29

Pembobotan =

Nilai panjang ekor candlestick < 3 % (dari nilai panjang ekor bawah candlestick) = short

Nilai panjang ekor candlestick > 3 % (dari nilai panjang ekor bawah candlestick) = long

Nilai Warna badan < 2 % (Nilai Warna badan Candlestick) = short

Nilai Warna badan > 2 % (Nilai Warna badan Candlestick) = long

Matrik Ekor Bawah dan Warna Candlestick

Ekor Bawah Long short

Red long

Red short

Yellow warna badan

green long

green short

Tabel 3.8. Pembobotan ekor dan warna rekomendasi beli

Nilai warna yellow dan nilai panjang ekor candlestick long, maka dari tabel dapat dilihat

bahwa bobotnya adalah 14.

Nilai bobot * nilai persentase final ekor dan warna

Nilai persentase final ekor dan warna = 50 %

Bobot akhir = 14 * 50 % = 7

4. Nilai volume

Nilai volume dari data tanggal 10 desember = 64690 (volume per satuan)

Kemudian dari periode 20 hari tersebut akan didapat 20 nilai volume, yang kemudian

setelah dirata-rata hasilnya = 67662,3

Volume kosong < 20% * Volume rata-rata(volume perbandingan)

Nilai semua volume dalam 20 hari dibandingkan dengan nilai perbandingan(13532,46)

Dari 20 data ada 19 volume yang lebih dari volume perbadingan,artinya ada 19 saham

liquid.

Nilai volume = ((jumlah saham liquid/periode)*100%) = ((19/20) * 100%) = 86,36%

Bobot nilai volume = 90-100 % =25 , 70 – 89%=20, 50-69% = 15 , 30 – 49% = 10, 20 -

39% = 5 , 0 – 19% = 0.

Nilai persentase volume = 30 %

Nilai volume akhir = 20 * 30% = 6

0 0

14 4

14 6

15 10

20 8

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

30

5. Nilai akhir % keluar = 2

Nilai akhir panjang ekor candlestick dan warna badan = 7

Nilai akhir Volume = 6

Hasil keseluruhan dari ketiga kriteria adalah 2+7+6 = 15,00

3.4.2 Flowchart Rekomendasi Jual Saham

Gambar 3.11. Flowchart Rekomendasi Jual Saham

Hal pertama yang dilakukan sistem adalah pengambilan data yang dilakukan

secara online. Setelah data diambil kemudian menghitung nilai upper bands. Setelah nilai

upper bands diketahui kemudian dipilih bobot kriteria yang terdiri dari % keluar

Candlestick, Panjang ekor dan warna badan Candlestick, dan Volume. Nilai ketiga bobot

kriteria kemudian dikalikan dengan nilai perhitungan ketiga kriteria. Lalu setelah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

31

perhitungan selesai akan diketahui hasil rekomendasi jual pada saat ini.

3.4.2.1 Menghitung Upper Bands

Proses awal dalam perhitungan upper bands adalah dengan mencari nilai middle

bands terlebih dahulu, yaitu :

Middle Band = n

j Closen

1J∑

= ………...........................................…..( 1 )

Keterangan:

Close j = Harga penutupan pada period ke-j

n = Jumlah jangka waktu yaitu 20 hari (biasanya 20 periode akan digunakan sebagai

default,tetapi angka ini bisa saja disesuaikan dengan keinginan dan tujuan)

Kemudian nilai Middle band tersebut digunakan untuk mencari nilai upper band.

Upper band = Middle Band + ( Faktor Pengali x Standar Deviasi )

Faktor Pengali di default dengan nilai 2 yaitu upper band dan lower band.

Standar Deviasi merupakan perhitungan statistik biasa yang digunakan untuk mengukur

besarnya penyimpangan pada tiap-tiap data

Standar Deviasi = ( )

n

∑=

n

1J

2Band Middle-j Close....................................................( 2 )

Keterangan :

Close j = Harga penutupan pada periode ke-j

N = Periode

3.4.2.2 Menghitung % keluar Candlestick Rekomendasi Jual

Setelah nilai upper bands diketahui, kemudian mencari Nilai % Keluar yaitu dengan

membandingkan nilai open,close,high,low, pada tanggal itu dengan nilai upper bands

.Jika nilai open,high, low, close lebih kecil daripada nilai upper bands, maka nilai 0, tapi

jika lebih besar dari lower bands maka akan dihitung :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

32

Open = ((Ot

uOt − ) ∗ 100% )

High = ((Ht

uHt − ) ∗ 100% )

Low = ((Lt

uLt − ) ∗ 100% )

Close = ((Ct

uCt − ) ∗ 100% )

Nilai % Keluar : Open + High + Low + Close

Hasil total dari nilai open,high, low, close lalu di klasifikasikan dalam pembobotan nilai

yaitu :

� > 6 % =20

� 3 - 6 % = 15

� 1 – 3 % = 10

� 0 – 1 % = 5

Keterangan :

Ot : Harga pembukaan (open price) pada hari data terakhir

Ht : Harga tertinggi (high price) pada hari data terakhir

Lt : Harga terendah (low price) pada hari data terakhir

Ct : Harga penutupan (close price) pada hari data terakhir

u : Nilai upper bands pada hari data terakhir

3.4.2.3 Menghitung Panjang Ekor dan Warna Badan Candlestick

Hitung Warna Badan

Mencari warna badan = jika open > close, maka ((Ot

CtOt − ) ∗ 100% )

Mencari warna badan = jika close > open, maka ((Ct

OtCt − ) ∗ 100% )

Mencari warna badan = jika close = open, maka warna candlestick yellow

Keterangan :

Ct : Harga penutupan (close price) pada hari data terakhir

Ot : Harga pembukaan (open price) pada hari data terakhir

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

33

Hitung Panjang ekor candlestick

Panjang ekor candlestick = jika close > open, maka ((Ht

CtHt − ) ∗ 100% )

Panjang ekor candlestick = jika open > close, maka ((Ht

OtHt − ) ∗ 100% )

Keterangan :

Ot : Harga pembukaan (open price) pada hari data terakhir

Ht : Harga tertinggi (high price) pada hari data terakhir

Ct : Harga penutupan (close price) pada hari data terakhir

Pembobotan =

Nilai panjang ekor candlestick < 3 % (dari nilai panjang ekor atas candlestick) = short

Nilai panjang ekor candlestick > 3 % (dari nilai panjang ekor atas candlestick) = long

Nilai Warna badan < 2 % (Nilai Warna badan Candlestick) = short

Nilai Warna badan > 2 % (Nilai Warna badan Candlestick) = long

Matrik Ekor Atas dan Warna Candlestick

Rekomendasi jual menggunakan ekor atas, semakin panjang ekor atas yang keluar

dari garis upper bands menunjukan rekomendasi jual yang kuat. Hal tersebut dikarenakan

ekor atas yang panjang berarti pembeli berupaya masuk ke pasar dan membuat harga

sempat naik jauh, semakin naik harga dan ekor atas naik jauh dari garis Upper Bands,

menunjukan rekomendasi jual yang kuat, namun kemudian diimbangi oleh aktivitas

penjual sehingga harga kembali ke level pembukaan.

Ekor Atas

Long short

Red long

Red short

Yellow warna badan

green long

green short

Tabel 3.9. Pembobotan ekor dan warna rekomendasi jual

15 10

20 8

14 6

0 0

14 4

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

34

3.4.2.4 Menghitung Volume

Volume Rata-rata (Volume perbandingan) :

Volume Rata-rata = n

j Volumen

1J∑

=

Keterangan:

Volume j = Nilai Volume pada period ke-j

n = Jumlah jangka waktu yaitu 20 hari (biasanya 20 periode akan digunakan

sebagai default,tetapi angka ini bisa saja disesuaikan dengan keinginan

dan tujuan)

Setelah diketahui nilai Volume perbandingan kemudian dicari jumlah volume yang

kosong dan volume yang liquid yaitu :

Volume kosong < 20% * Volume rata-rata(Volume perbandingan)

Setelah diketahui volume yang liquid dan volume koson kemudian tahap akhir adalah

perhitungan volume liquid dengan rumus :

Nilai volume = n

j Liquid1J∑

=

Keterangan:

Liquid j = nilai volume liquid pada periode ke-j

n = Jumlah jangka waktu yaitu 20 hari (biasanya 20 periode akan digunakan

sebagai default,tetapi angka ini bisa saja disesuaikan dengan keinginan

dan tujuan)

Pembobotan Nilai Volume :

90% - 100 % =25

70% – 89%=20

50% - 69% = 15

30% – 49% = 10

20% - 39% = 5

0% – 19% = 0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

35

3.4.2.5 Contoh Tahapan dalam penentuan urutan rekomendasi Jual

Rekomendasi Jual pada tanggal 11 desember 2010

Tabel 3.10 Hasil Rekomendasi jual tanggal 11 desember 2010

Kode

Perusahaan

Nilai % Keluar Nilai panjang

Ekor dan warna

Badan

Nilai Volume Hasil

Keseluruhan

ADRO 1,0 4,0 7,5 12,5

BIPI 3,0 4,0 7,5 14,5

BMTR 4,0 7,0 6,0 17,0

ELSA 4,0 5,0 7,5 16,5

TRUB 3,0 0,0 7,5 10,5

Contoh perhitungan untuk BMTR :

1. Mencari nilai upper band dari BMTR = 571

2. Setelah nilai upper bands diketahui, kemudian mencari Nilai % Keluar yaitu

dengan membandingkan nilai open, close, high, low, pada tanggal itu dengan

nilai upper bands .Jika nilai open,high, low, close lebih kecil daripada nilai

upper,maka nilai 0, tapi jika lebih besar maka akan dihitung :

Perhitungan mencari nilai % keluar pada BMTR

Open = 600 (((600-571)/600)* 100%) = 4,83%

High = 650 (((650-571)/650)*100%)= 12,15%

Low = 580(((580-571)/580)*100%)= 1,55%

Close = 600(((600-571)/600)*100%=4,83%

Total = 4,83% + 12,15% + 1,55 %+ 4,83% = 23,36 %

Hasil total dari nilai open,high, low, close lalu di klasifikasikan dalam

pembobotan nilai yaitu :

� > 6 % =20

� 3 - 6 % = 15

� 1 – 3 % = 10

� 0 – 1 % = 5

Nilai total 23,36 % > 6 %, jadi bobotnya = 20.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

36

Nilai persentase final untuk % keluar dipilih 20 %

Hasil akhir = Nilai total * Nilai persentase final = 20 * 20 % = 4

3. Langkah selanjutnya adalah mencari nilai panjang ekor dan warna badan yaitu

Perhitungan Nilai warna badan Candlestick pada BMTR

Open = 600, high = 650, low = 580, close = 600

Hitung nilai Warna = yellow (karena nilai close = open)

Hitung Panjang ekor candlestick pada BMTR

Nilai panjang ekor candlestick = (((600-580)/600)*100%) = 3,34

Nilai warna dan nilai panjang ekor candlestick kemudian digabung

Nilai warna = yellow

Nilai panjang ekor candlestick = 3,34 (long)

Pembobotan =

Nilai panjang ekor candlestick < 3 % (dari nilai panjang ekor atas candlestick) = short

Nilai panjang ekor candlestick > 3 % (dari nilai panjang ekor atas candlestick) = long

Nilai Warna badan < 2 % (Nilai Warna badan Candlestick) = short

Nilai Warna badan > 2 % (Nilai Warna badan Candlestick) = long

Matrik Ekor Atas dan Warna Candlestick

Ekor Atas

Long short

Red long

Red short

Yellow warna badan

green long

green short

Tabel 3.11. Pembobotan ekor dan warna rekomendasi jual

Nilai warna yellow dan nilai panjang ekor candlestick long, maka dari tabel dapat dilihat

bahwa bobotnya adalah 14.

Nilai bobot * nilai persentase final ekor dan warna

Nilai persentase final ekor dan warna = 50 %

15 10

20 8

14 6

0 0

14 4

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

37

Bobot akhir = 14 * 50 % = 7

4. Nilai volume

Nilai volume dari data tanggal 10 desember = 301609 (volume per satuan)

Kemudian dari periode 20 hari tersebut akan didapat 20 nilai volume, yang kemudian

setelah dirata-rata hasilnya = 39338,65

Volume kosong < 20% * Volume rata-rata(volume perbandingan)

Nilai semua volume dalam 20 hari dibandingkan dengan nilai perbandingan(7867,73)

Dari 20 data ada 16 volume yang lebih dari volume perbadingan,artinya ada 16 saham

liquid.

Nilai volume = ((jumlah saham liquid/periode)*100%) = ((16/20) * 100%) = 80%

Bobot nilai volume = 90-100 % =25 , 70 – 89%=20, 50-69% = 15 , 30 – 49% = 10, 20 -

39% = 5 , 0 – 19% = 0.

Nilai persentase volume = 30 %

Nilai volume akhir = 20 * 30% = 6

5. Nilai akhir % keluar = 4

Nilai akhir panjang ekor candlestick dan warna badan = 7

Nilai akhir Volume = 6

Hasil keseluruhan dari ketiga criteria adalah 4+7+6 = 17,00

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

38

BAB IV

IMPLEMENTASI DAN HASIL

4.1 Implementasi program dan Pembuatan Database

Pada proses ini dilakukan pembuatan database pada MySQL menggunakan SQL

yog. Database yang dibuat bernama sahambollinger. Database ini akan berisi tabel-tabel

yang akan diperlukan oleh program bantu pemilihan saham dengan Indikator Bollinger

Bands. Berikut sintaks pembuatan database sahambollinger dan tabel-tabel, stored

procedure, dan view pada database sahambollinger :

4.1.1 Tabel saham

CREATE TABLE `saham` ( `No_saham` int(11) NOT NULL auto_increment, `kode_perusahaan` varchar(50) default NULL, `nm_perusahaan` varchar(100) NOT NULL, `Prev` double default NULL, `High` double default NULL, `Low` double default NULL, `Close` double default NULL, `Volume` double default NULL, `Tanggal` date default NULL, PRIMARY KEY (`No_saham`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

4.1.2 View temp

View temp berisi query untuk menghitung nilai garis middle bands

/*!50001 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@ `localhost` SQL SECURITY DEFINER VIEW `temp` AS (select (sum(`saham `.`Close`) / count(`saham`.`kode_perusahaan`)) AS `middle`,`saha m`.`kode_perusahaan` AS `kode`,`saham`.`Tanggal` AS `Tanggal` from `saha m` where (`saham`.`kode_perusahaan` like _latin1'%%') group by `saham`.`kode_perusahaan` order by `saham`.`kode_perusahaan`,`saham`.`Tanggal`) */;

4.1.3 View cleaningbeli

View cleaningbeli berisi query untuk menghitung nilai garis lower bands, dimana nilai

lower bands merupakan hasil perhitungan yang menggunakan middle bands yang diambil

dari view temp.

/*!50001 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@ `localhost` SQL SECURITY DEFINER VIEW `cleaningbeli` AS (select `sh `.`kode_perusahaan` AS `kode_perusahaan`,`sh`.`Low` AS `Low`,round((`su b`.`middle` - (2 * sqrt(avg(((`sh`.`Close` - `sub`.`middle`) * (`sh`.`Close` -

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

39

`sub`.`middle`)))))),0) AS `lower_bands` from (`tem p` `sub` join `saham` `sh`) where (`sub`.`kode` = `sh`.`kode_peru sahaan`) group by `sh`.`kode_perusahaan` order by `sh`.`kode_perusaha an`,`sh`.`Tanggal`) */;

4.1.4 View cleaningjual

View cleaningbeli berisi query untuk menghitung nilai garis upper bands, dimana nilai

upper bands merupakan hasil perhitungan yang menggunakan middle bands yang diambil

dari view temp.

/*!50001 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@ `localhost` SQL SECURITY DEFINER VIEW `cleaningjual` AS (select `sh `.`kode_perusahaan` AS `kode_perusahaan`,`sh`.`High` AS `High`,round((` sub`.`middle` + (2 * sqrt(avg(((`sh`.`Close` - `sub`.`middle`) * (`sh`.` Close` - `sub`.`middle`)))))),0) AS `upper_bands` from (`tem p` `sub` join `saham` `sh`) where (`sub`.`kode` = `sh`.`kode_peru sahaan`) group by `sh`.`kode_perusahaan` order by `sh`.`kode_perusaha an`,`sh`.`Tanggal`) */;

4.1.5 View vdata

View vdata berisi query untuk menghitung ‘sinyalwarna’,

`sinyalekor`,`bobot_ekor`, `warna`, `warna_badan`.

/*!50001 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@ `localhost` SQL SECURITY DEFINER VIEW `vdata` AS (select `saham`.`k ode_perusahaan` AS `kode_perusahaan`,`saham`.`Tanggal` AS `Tanggal`,`s aham`.`Prev` AS `Prev`,`saham`.`High` AS `High`,`saham`.`Low` AS `L ow`,`saham`.`Close` AS `Close`,if((`saham`.`Close` > `saham`.`Prev`),round((((`saham`.`Close` - `saham`. `Prev`) / `saham`.`Close`) * 100),0),round((((`saham`.`Prev` - `saham`.`Close`) / `saham`.`Prev`) * 100),0)) AS `sinyalwarna`,if((`sa ham`.`Close` > `saham`.`Prev`),round((((`saham`.`Prev` - `saham`.` Low`) / `saham`.`Prev`) * 100),0),round((((`saham`.`Close` - `saham`.`Low`) / `saham`.`Close`) * 100),0)) AS `sinyalekor`,if((if( (`saham`.`Close` > `saham`.`Prev`),round((((`saham`.`Prev` - `saham`.` Low`) / `saham`.`Prev`) * 100),0),round((((`saham`.`Close` - `saham`.`Low`) / `saham`.`Close`) * 100),0)) > 3),_utf8'long',_utf8' short') AS `bobot_ekor`,(case when (`saham`.`Close` > `saham`. `Prev`) then _utf8'green' when (`saham`.`Prev` > `saham`.`Close` ) then _utf8'red' else _utf8'yellow' end) AS `warna`,if((if((`saham`. `Close` > `saham`.`Prev`),round((((`saham`.`Close` - `saham`. `Prev`) / `saham`.`Close`) * 100),0),round((((`saham`.`Prev` - `saham`.`Close`) / `saham`.`Prev`) * 100),0)) > 2),_utf8'long',_utf8's hort') AS `warna_badan` from `saham` where (`saham`.`kode_per usahaan` like _latin1'%%') group by `saham`.`kode_perusahaan` ord er by `saham`.`kode_perusahaan`,`saham`.`Tanggal`) */;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

40

4.1.6 View ekorwarnabeli

View ekorwarnabeli merupakan query untuk memberikan bobot terhadap gabungan

antara hasil kolom warna, bobot ekor dan warna badan yang diambil dari view vdata.

Pemberian bobot ini adalah peberian bobot untuk sinyal beli berdasarkan panjang ekor

dan warna candlestick

/*!50001 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@ `localhost` SQL SECURITY DEFINER VIEW `ekorwarnabeli` AS (select `vdata`.`kode_perusahaan` AS `kode_perusahaan`,(if( ((`vdata`.`warna` = _utf8'red') and (`vdata`.`warna_badan` = _utf8'long ') and ((`vdata`.`bobot_ekor` = _utf8'short') or (`vdata`. `bobot_ekor` = _utf8'long'))),0,if(((`vdata`.`warna` = _utf8'red') and (`vdata`.`warna_badan` = _utf8'short') and (`vdata` .`bobot_ekor` = _utf8'long')),14,if(((((`vdata`.`warna` = _utf8'yel low') and (`vdata`.`warna_badan` = _utf8'short')) or (`vdata` .`warna_badan` = _utf8'long')) and (`vdata`.`bobot_ekor` = _utf8'long')),14,if(((`vdata`.`warna` = _utf8'green ') and (`vdata`.`warna_badan` = _utf8'long') and (`vdata`. `bobot_ekor` = _utf8'long')),15,if(((`vdata`.`warna` = _utf8'green ') and (`vdata`.`warna_badan` = _utf8'short') and (`vdata` .`bobot_ekor` = _utf8'long')),20,if(((`vdata`.`warna` = _utf8'red') and (`vdata`.`warna_badan` = _utf8'short') and (`vdata` .`bobot_ekor` = _utf8'short')),4,if(((((`vdata`.`warna` = _utf8'yel low') and (`vdata`.`warna_badan` = _utf8'short')) or (`vdata` .`warna_badan` = _utf8'long')) and (`vdata`.`bobot_ekor` = _utf8'short')),6,if(((`vdata`.`warna` = _utf8'green ') and (`vdata`.`warna_badan` = _utf8'long') and (`vdata`. `bobot_ekor` = _utf8'short')),10,if(((`vdata`.`warna` = _utf8'gree n') and (`vdata`.`warna_badan` = _utf8'short') and (`vdata` .`bobot_ekor` = _utf8'short')),8,1))))))))) * 0.01) AS `hasil_akhir ` from `vdata`) */;

4.1.7 View ekorwarnajual

View ekorwarnajual merupakan query untuk memberikan bobot terhadap gabungan

antara hasil kolom warna, bobot ekor dan warna badan yang diambil dari view vdata.

Pemberian bobot ini adalah peberian bobot untuk sinyal jual berdasarkan panjang ekor

dan warna candlestick

/*!50001 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@ `localhost` SQL SECURITY DEFINER VIEW `ekorwarnajual` AS (select `vdata`.`kode_perusahaan` AS `kode_perusahaan`,(if( ((`vdata`.`warna` = _utf8'red') and (`vdata`.`warna_badan` = _utf8'long ') and (`vdata`.`bobot_ekor` = _utf8'long')),15,if(((`vdat a`.`warna` = _utf8'red') and (`vdata`.`warna_badan` = _utf8'long ') and (`vdata`.`bobot_ekor` = _utf8'short')),10,if(((`vda ta`.`warna` = _utf8'green') and (`vdata`.`warna_badan` = _utf8'lo ng') and ((`vdata`.`bobot_ekor` = _utf8'short') or (`vdata`. `bobot_ekor` = _utf8'long'))),0,if(((`vdata`.`warna` = _utf8'red') and

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

41

(`vdata`.`warna_badan` = _utf8'short') and (`vdata` .`bobot_ekor` = _utf8'long')),20,if(((((`vdata`.`warna` = _utf8'yel low') and (`vdata`.`warna_badan` = _utf8'short')) or (`vdata` .`warna_badan` = _utf8'long')) and (`vdata`.`bobot_ekor` = _utf8'long')),14,if(((`vdata`.`warna` = _utf8'green ') and (`vdata`.`warna_badan` = _utf8'short') and (`vdata` .`bobot_ekor` = _utf8'long')),14,if(((`vdata`.`warna` = _utf8'red') and (`vdata`.`warna_badan` = _utf8'short') and (`vdata` .`bobot_ekor` = _utf8'short')),8,if(((((`vdata`.`warna` = _utf8'yel low') and (`vdata`.`warna_badan` = _utf8'short')) or (`vdata` .`warna_badan` = _utf8'long')) and (`vdata`.`bobot_ekor` = _utf8'short')),6,if(((`vdata`.`warna` = _utf8'green ') and (`vdata`.`warna_badan` = _utf8'short') and (`vdata` .`bobot_ekor` = _utf8'short')),4,1))))))))) * 0.01) AS `hasil_akhir (%)` from `vdata`) */;

4.1.8 Stored Procedured persenKeluar

Potongan stored procedured dibawah adalah query untuk menghitung besar nilai yang

keluar dari garis lower bands.baik itu nilai prev,close, high ataupun low.Keempat nilai

tersebut ditotal maka akan terlihat besar nilai yang keluar dari garis lower bands.

DELIMITER $$ /*!50003 CREATE DEFINER=`root`@`localhost` PROCEDUR E `persenKeluar`(in KD varchar(10)) BEGIN select distinct kode_perusahaan,nm_perusahaan, (case when if (Prev > round(sub.middle-(2* SQ RT(avg((sh.close-sub.middle)*(sh.close-sub.middle))))),0, (((round(sub.middle-(2* SQRT(avg(( sh.close-sub.middle)*(sh.close-sub.middle)))))-Prev)/ round(sub.middle-(2* SQRT(avg((sh. close-sub.middle)*(sh.close-sub.middle))))))*100)) + if (High > round(sub.middle-(2* SQ RT(avg((sh.close-sub.middle)*(sh.close-sub.middle))))),0, (((round(sub.middle-(2* SQRT(avg(( sh.close-sub.middle)*(sh.close-sub.middle)))))-High)/ round(sub.middle-(2* SQRT(avg((sh. close-sub.middle)*(sh.close-sub.middle))))))*100)) + if (Low > round(sub.middle-(2* SQR T(avg((sh.close-sub.middle)*(sh.close-sub.middle))))),0, (((round(sub.middle-(2* SQRT(avg(( sh.close-sub.middle)*(sh.close-sub.middle)))))-Low)/ round(sub.middle-(2* SQRT(avg((sh. close-sub.middle)*(sh.close-sub.middle))))))*100)) + if (Close > round(sub.middle-(2* S QRT(avg((sh.close-sub.middle)*(sh.close-sub.middle))))),0, (((round(sub.middle-(2* SQRT(avg(( sh.close-sub.middle)*(sh.close-sub.middle)))))-Close)/ + round(sub.middle-(2* SQRT(avg((sh. close-

sub.middle)*(sh.close-sub.middle))))))*100)) 'perse n_keluar (%)'

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

42

from (select (SUM(Close)/COUNT(kode_per usahaan)) 'middle',kode_perusahaan 'kode' ,Tanggal from saham WHERE kode_perusahaan LIKE KD group by kode_perusahaan order by kode_perusahaan desc, Tan ggal desc)sub , saham sh where sub.kode = sh.kode_perusahaan group by sh.kode_perusahaan order by sh.kode_perusahaan desc, sh.Tanggal desc,'persen_keluar (%)' desc; END */$$ DELIMITER ;

4.1.9 Stored Procedured persenKeluarJual

Potongan stored procedured dibawah adalah query untuk menghitung besar nilai yang

keluar dari garis upper bands. baik itu nilai prev,close, high ataupun low.Keempat nilai

tersebut ditotal maka akan terlihat besar nilai yang keluar dari garis lower bands.

DELIMITER $$ /*!50003 CREATE DEFINER=`root`@`localhost` PROCEDUR E `persenKeluarJual`(in KDJUAL varchar(10)) BEGIN select kode_perusahaan,nm_perusahaan, (case when if (Prev < round(sub.middle+(2* SQRT(avg((sh.close-sub.middle)*(sh.close-sub.middle))))),0, (((Prev-round(sub.middle+(2* SQRT(avg((sh.close-sub .middle)*(sh.close-sub.middle))))))/Prev)*100)) + if (High < round(sub.middle+(2* SQRT(avg((sh.close-sub.middle)*(sh.close-sub.middle))))),0, (((High-round(sub.middle+(2* SQRT(avg((sh.close-sub .middle)*(sh.close-sub.middle))))))/High)*100)) + if (Low < round(sub.middle+(2* SQRT(avg((sh.close-sub.middle)*(sh.close-sub.middle))))),0, (((Low-round(sub.middle+(2* SQRT(avg((sh.close-sub. middle)*(sh.close-sub.middle))))))/Low)*100)) + if (Close < round(sub.middle+(2* SQRT(avg((sh.close -sub.middle)*(sh.close-sub.middle))))),0, (((Close-round(sub.middle+(2* SQRT(avg((sh.close-su b.middle)*(sh.close-sub.middle))))))/Close)*100)) 'bobot final (%)' from (select (SUM(Close)/COUNT(kode_per usahaan)) 'middle',kode_perusahaan 'kode' ,Tanggal from saham WHERE kode_perusahaan LIKE KDJUAL group by kode_perusahaan order by kode_perusahaan desc, Tan ggal desc)sub , saham sh

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

43

where sub.kode = sh.kode_perusahaan group by sh.kode_perusahaan order by sh.kode_perusahaan desc, sh.Tanggal desc; END */$$ DELIMITER ;

4.1.10 Volume

Potongan program bibawah adalah query untuk menghitung bobot volume.

Select (SUM(Volume/500)/COUNT(kode_perusahaan))'rata_vol', (Volume/500)'VOL_PERSATUAN',(select 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan))'vol_pe rbandingan' from saham where kode_perusahaan like " + temp.get(i) + "' group by kode_perusahaan)'VOL_PERBANDINGAN',kode_pe rusahaan , sum(IF ((Volume/500)>(select 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan)) from saham where kode_perusahaan like " + temp.get(i) + "' group by kode_perusahaan),1,0))'Jumlah_liquid', (sum(IF ((Volume/500)>(select 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan)) from saham where kode_perusahaan like " + temp.get(i) + "' group by kode_perusahaan),1,0))/20*100)'hasil' from saham WHERE kode_perusahaan LIKE " + temp.get(i) + "' GROUP BY kode_perusahaan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

44

4.2 Hasil Implementasi dan Pembahasan

� Halaman Utama

Form halaman utama pada program, pengguna memilih tanggal, periode, indeks saham,

rekomendasi jual atau beli, dan pemilihan bobot kriteria.

o Tanggal : pemilihan tanggal sebaiknya dipilih sesuai dengan tanggal hari ini,

pemilihan tanggal pada saat ini berguna untuk memprediksi rekomendasi saham

beli atau jual pada hari ini.

o Periode : pemilihan periode di jComboBox terdapat dua pilihan yaitu 20 dan 22.

Pemilihan periode berarti data saham yang digunakan yaitu data saham pada saat

pemilihan tanggal saat ini sampai 20 hari kebelakang ataupun 22 hari kebelakang.

o Indeks saham : pemilihan indeks saham di jComboBox terdapat dua pilihan yaitu

LQ45 dan Regular.LQ45 ataupun Regular merupakan pengelompokan jenis

saham.

o Pemilihan rekomendasi : pemilihan rekomendasi di jRadioButton memungkinkan

pengguna untuk memilih rekomendasi yang diinginkan.Apakah pengguna ingin

rekomendasi untuk membeli saham ataupun untuk menjual saham.

o Pemilihan Bobot : Pemilihan bobot kriteria dapat dipilih sesuai dengan keinginan

pengguna. Maksimal jumlah pilihan ketiga kriteria adalah 100. Ketiga kriteria

tersebut untuk menghitung hasil rekomendasi.

Setelah pengguna memilih pilihan dalam program rekomendasi kemudian menekan

tombol proses maka program akan melakukan perhitungan terhadap data yang dipilih

pengguna, kemudian akan mengeluarkan output hasil rekomendasi jual ataupun beli.

Selain memilih pilihan rekomendasi, pada halaman utama program juga terdapat form

“bantuan” dan “about”

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

45

Gambar 4.1 Form Halaman Utama

Program dapat memudahkan pengguna dalam memilih saham menurut kategori indeks.

Jika dalam virtual trading tidak ada pengelompokan saham berdasarkan jenis, dalam

program ini pemilihan saham rekomendasi jual maupun beli dikelompokkan menjadi 2

yaitu Regular dan LQ45

Gambar 4.2. Pilih indeks saham dalam program

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

46

Hasil output program seperti terlampir dibawah ini, jenis saham yang ditampilkan

merupakan jenis indeks saham yang dipilih pengguna.

Gambar 4.3. Output program sesuai dengan jenis indeks saham yang dipilih

Gambar 4.4. Pilih saham didalam virtual trading

Program memberikan fasilitas kepada pengguna untuk bebas menentukan bobot kriteria

dalam penentuan hasil rekomendasi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

47

Gambar 4.5. Pemilihan bobot kriteria pada program

� Form About

Gambar 4.6. Form About

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

48

� Form Bantuan

Form bantuan berisi tentang petunjuk untuk pengguna tentang program bantu tersebut

Gambar 4.7. Form Bantuan

� Message Dialog jika belum memilih Rekomendasi Jual atau Beli

Message Dialog pilih rekomendasi ini akan keluar jika pengguna belum memilih

rekomendasi jual atau beli tetapi sudah menekan tombol proses

Gambar 4.8. Message Dialog Pilih Rekomendasi

� Message Dialog jika proses prediksi selesai

Message Dialog ini akan keluar jika pengguna sudah menekan tombol proses kemudian

sistem akan menghitung pilihan yang dimasukan pengguna, jika proses selesai, sebelum

keluar hasilnya akan muncul message dialog proses selesai terlebih dahulu

Gambar 4.9. Message Dialog Proses Selesai

� Form Hasil Rekomendasi

Hasil rekomendasi yang muncul terdapat dua jenis.Jika pengguna memilih rekomendasi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

49

jual maka akan keluar output rekomendasi jual, tetapi jika pengguna memilih

rekomendasi beli maka akan muncul rekomendasi beli. Ada tujuh kolom yang

dimunculkan dalam output program yaitu kolom kode perusahaan, nama perusahaan,

nilai prev, nilai % keluar, nilai panjang ekor candlestick, nilai volume, dan hasil

rekomendasi.Besar kecilnya hasil dari tiga kriteria (nilai % keluar, nilai panjang ekor

candlestick, nilai volume) tergantung dari pilihan pengguna. Kolom hasil rekomendasi

merupakan jumlah dari ketiga kriteria, kolom hasil rekomendasi juga telah diurutkan dari

bobot yang terbesar ke kecil.Bobot nilai yang besar merupakan saham yang

direkomendasikan.

Gambar 4.10. Form Hasil Rekomendasi

� Form Grafik Bollinger Bands

Form Grafik Bollinger Bands akan muncul jika kolom dalam output diklik.Sebagai

contoh apabila diklik pada baris pertama dengan kode perusahaan PGAS, maka akan

muncul grafik Bollinger Bands untuk PGAS.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

50

Gambar 4.11. Form Grafik Bollinger Bands

4.3 Pengujian dan Analisis

4.3.1 Pengujian Perangkat Lunak

Hasil pengujian perangkat lunak dalam menghasilkan sinyal jual maupun sinyal beli.

• Program dapat menampilkan garis upper bands,middle bands, serta lower bands

yang digunakan dalam perhitungan Indikator Bollinger Bands.Garis upper

bands, middle bands, dan lower bands pada program sama dengan garis yang

terdapat dalam virtual trading.Grafik Bollinger Bands yang ditampilkan adalah

tanggal sinyal beli dan jual tanggal 5 mei 2010.Dalam grafik tersebut terdapat

candlestick didalam program yang tidak sesuai dengan di virtual.Hal tersebut

dikarenakan, nilai open yang di program tidak selalu sama dengan nilai open

pada virtual trading. Sehingga pada program, nilai open yang lebih besar dari

high disamakan nilainya seperti high, dan nilai open yang lebih kecil daripada

low disamakan nilainya seperti low.

� BBCA (Bank Central Asia Tbk)

Gambar 4.12. Grafik Bollinger Bands sinyal beli dari virtual trading

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

51

Gambar 4.13. Grafik Bollinger Bands sinyal beli dari program

4.3.2 Analisis

4.3.2.1 Rata-rata Keuntungan Beli dan Jual Menggunakan Indikator Bollinger

Bands

Analisis ini bertujuan untuk mengetahui keuntungan dan kerugian yang didapat

apabila melakukan pembelian pada saat muncul sinyal beli, dan melakukan penjualan

pada saat muncul sinyal jual berdasarkan Indikator Bollinger Bands.

Parameter yang digunakan untuk perhitungan didalam sistem menggunakan tiga

parameter atau kriteria yaitu perhitungan nilai % keluar,perhitungan nilai panjang ekor

dan warna candlestick dan perhitungan nilai volume.Perhitungan nilai % keluar adalah

menghitung berapa % candlestick yang keluar dari gari Bollinger Bands, Perhitungan

nilai panjang ekor dan warna candlestick adalah menggabungkan perhitungan antara

berapa % panjang ekor dan warna badan, sedangkan perhitungan volume adalah

penghitungan rata-rata volume selama 20 hari kebelakang.

Dalam analisis ini digunakan empat perusahaan yang termasuk dalam LQ45,yaitu

: Adaro Energy Tbk (ADRO), Perusahaan Gas Negara (PGAS), Indika Energy (INDY),

dan Lippo Karawaci (LPKR). Data saham yang digunakan adalah data saham harian

antara bulan April sampai Desember.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

52

Berikut ini sinyal-sinyal Bollinger Bands yang menunjukan rekomendasi beli dan jual.

� ADRO (Adaro Energy Tbk)

Rekomendasi beli pada tanggal 06/05/2010

Gambar 4.14. Rekomendasi beli ADRO

Gambar 4.15. Grafik sinyal beli ADRO

Rekomendasi Jual pada tanggal 23/06/2010

Gambar 4.16. Rekomendasi jual ADRO

Gambar 4.17. Grafik sinyal jual ADRO

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

53

Gambar 4.18. Grafik sinyal beli ADRO

Rekomendasi Beli perusahaan Adro pada tanggal 6 mei 2010, lalu dijual pada

tanggal 23 juni 2010. Tapi pada tanggal 24 ,23, dan 22 mei Indikator Bollinger Bands

merekomendasikan Beli. Indikator Bollinger Bands merekomendasikan untuk membeli

beberapa kali sebelum akhirnya dijual. Rekomendasi Bollinger Bands tidak terlalu

menguntungkan jika rekomendasi beli harus berpasangan dengan rekomendasi jual.

Dibawah ini merupakan keterangan dari setiap kolom dalam tabel.

� Kolom A = Tanggal yang menunjukan sinyal beli

� Kolom B = Harga tertinggi pada tanggal sinyal beli

� Kolom C = Harga terendah pada tanggal sinyal beli

� Kolom D = Harga tengah sinyal beli ( rata-rata dari kolom B dan kolom C)

� Kolom E = Tanggal yang menunjukkan sinyal jual

� Kolom F = Harga tertinggi pada tanggal sinyal jual

� Kolom G = Harga terendah pada tanggal sinyal jual

� Kolom H = Harga tengah sinyal jual (rata-rata dari kolom F dan kolom G)

� Kolom I = Selisih kolom H dan kolom D

ADRO (Adaro Energy Tbk)

Tgl Beli (A)

Harga Tertinggi (B)

Harga Terendah (C)

Harga Tengah (D)

Tgl Jual (E)

Harga Tertinggi (F)

Harga Terendah (G)

Harga Tengah (H)

Gain (%) (I)

06/05/2010 2025 1930 1977.5 23/06/2010 2025 1990 2007.5 30 (1.5)

02/09/2010 1880 1760 1820 09/12/2010 2650 2575 2612.5 792.5 (43.5)

Rata-rata 411.3 (22.5)

Tabel 4.1. Rata-rata Beli – Jual ADRO

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

54

� PGAS (Perusahaan Gas Negara Tbk)

Rekomendasi Beli pada tanggal 06/09/2010

Gambar 4.19. Rekomendasi beli PGAS

Gambar 4.20 Grafik sinyal beli PGAS

Rekomendasi jual pada tanggal 04/11/2010

Gambar 4.21 Rekomendasi jual PGAS

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

55

Gambar 4.22 Grafik sinyal jual PGAS

PGAS (Perusahaan Gas Negara Tbk)

Tgl Beli (A)

Harga Tertinggi (B)

Harga Terendah (C)

Harga Tengah (D)

Tgl Jual (E)

Harga Tertinggi (F)

Harga Terendah (G)

Harga Tengah (H)

Gain(%) (I)

12/04/2010 4025 3925 3975 08/07/2010 4125 4050 4087.5 112.5 (2.8)

06/09/2010 3900 3750 3837.5 04/11/2010 4350 4200 4275 437.5 (11.4)

Rata-rata 275 (7.1)

Tabel 4.2 Rata-rata Beli – Jual PGAS

� INDY (Indika Energy Tbk)

Rekomendasi Beli pada tanggal 06/05/2010

Gambar 4.23 Rekomendasi beli INDY

Gambar 4.24 Grafik sinyal beli INDY

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

56

Rekomendasi Jual pada tanggal 27/07/2010

Gambar 4.25 Rekomendasi jual INDY

Gambar 4.26 Grafik sinyal jual INDY

INDY (Indika Energy Tbk)

Tgl Beli (A)

Harga Tertinggi (B)

Harga Terendah (C)

Harga Tengah (D)

Tgl Jual (E)

Harga Tertinggi (F)

Harga Terendah (G)

Harga Tengah (H)

Gain(%) (I)

06/05/2010 2825 2650 2737.5 27/07/2010 3325 3200 3262.5 525 (19.2)

27/09/2010 3275 3175 3225 04/11/2010 3750 3675 3712.5 487.5 (15.1)

Rata-rata 506.3 (17.2)

Tabel 4.3 Rata-rata Beli – Jual INDY

� LPKR (Lippo Karawaci Tbk)

Rekomendasi Beli pada tanggal 03/05/2010

Gambar 4.27 Rekomendasi beli LPKR

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 75: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

57

Gambar 4.28 Grafik sinyal beli LPKR

Rekomendasi Jual pada tanggal 21/06/2010

Gambar 4.29 Rekomendasi jual LPKR

Gambar 4.30 Grafik sinyal jual LPKR

Gambar 4.31 Grafik sinyal beli LPKR

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 76: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

58

Rekomendasi beli LPKR pada tanggal 3 mei 2010, rekomendasi jual pada

tanggal 21 juni 2010. Pada tanggal 4 mei sampai tanggal 1 juni ada beberapa kali

rekomendasi beli. Sebelum melakukan penjualan, Indikator Bollinger Bands

merekomendasikan untuk melakukan pembelian beberapa kali, hal trsebut

menunjukkan kalau Indikator Bollinger tidak terlalu untung jika rekomendasi beli dan

jual selalu berpasangan.

LPKR (Lippo Karawaci Tbk)

Tgl Beli (A)

Harga Tertinggi (B)

Harga Terendah (C)

Harga Tengah (D)

Tgl Jual (E)

Harga Tertinggi (F)

Harga Terendah (G)

Harga Tengah (H)

Gain (%) (I)

03/05/2010 580 560 570 21/06/2010 560 520 540 -30 (-5.3)

03/09/2010 500 485 492.5 08/10/2010 700 670 685 192.5(39.1)

Rata-rata 81.25 (16.9)

Tabel 4.4 Rata-rata Beli – Jual LPKR

SAHAM FREKUENSI BELI/JUAL

LAMA HARI KEUNTUNGAN RATA-RATA

ADRO 2 32 63

22.5%

PGAS 2 61 38

7.1%

INDY 2 56 29

17.2%

LPKR 2 33 20

16.9%

Rata-rata 15.9% Tabel 4.5 Frekuensi Beli – Jual dan Keuntungan

Indikator Bollinger Bands sebagian besar akan memberikan keuntungan jika

pembelian dan penjualan dilakukan sesuai dengan rekomendasi Indikator Bollinger

Bands, namun rentang waktu yang digunakan antara rekomendasi beli dan jual cukup

lama.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 77: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

59

4.3.2.2 Perubahan Harga 1-2 Hari Setelah Sinyal Beli

Untuk mengetahui berapa persen perubahan harga 1-2 hari setelah munculnya

sinyal beli. Dibawah ini terdapat keterangan kolom pada tabel.

� Kolom S = Harga tengah (rata-rata harga terendah dan tertinggi pada t +1)

� Kolom X = Harga tengah (rata-rata harga terendah dan tertinggi pada t +2)

• ADRO t = Tgl Beli

(A) Harga Tengah t

(D) Harga Tengah t +1(Gain / %)

(S)

Harga Tengah t +2(Gain / %)

(X) 06/05/2010 1977.5 1935(-42.5 / -2.1%) 1987.5 (+10 / 0.5%)

02/09/2010 1820 1830(+10 / 0.5%) 1900 (+80 / 4.4%)

Rata-rata (-16.25 / -0.8%) (+45 / 2.5%)

Tabel 4.6 Rata-rata Beli ADRO

• PGAS

t = Tgl Beli (A)

Harga Tengah t (D)

Harga Tengah t +1(Gain / %)

(S)

Harga Tengah t +2(Gain / %)

(X) 12/04/2010 3975 4012.5(+37.9/0.9%) 4112.5 (+137.5 / 3.5%)

02/09/2010 3837.5 3837.5(+0.0 / 0.0%) 4000 (+162.5 / 4.2%)

Rata-rata (+18.75 / 0.45%) (+150 / 3.9%)

Tabel 4.7 Rata-rata Beli PGAS

• INDY

t = Tgl Beli (A)

Harga Tengah t (D)

Harga Tengah t +1(Gain / %)

(S)

Harga Tengah t +2(Gain / %)

(X) 07/05/2010 2637.5 2700(+62.5 / 2.4%) 2737.5 (+100 / 3.8%)

27/09/2010 3225 3175(-50 / -1.6%) 3200(-25 / -0.8%)

Rata-rata (+6.3 / 0.4%) (+37.3 / 1.5%)

Tabel 4.8 Rata-rata Beli INDY

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

60

• LPKR

t = Tgl Beli (A)

Harga Tengah t (D)

Harga Tengah t +1(Gain / %)

(S)

Harga Tengah t +2(Gain / %)

(X) 11/05/2010 540 540(+0.0 / 0.0%) 540 (+0.0 / 0.0%)

03/09/2010 492.5 495(+2.5 / 0.5%) 495(+2.5 / 0.5%)

Rata-rata (+1.3 / 0.3%) (+1.3 / 0.3%)

Tabel 4.9 Rata-rata Beli LPKR

Saham Perubahan Harga Setelah 1

hari Sinyal Beli (%) Perubahan Harga Setelah 2 hari

Sinyal Beli (%)

ADRO -0.8 2.5

PGAS 0.45 3.9

INDY 0.4 1.5

LPKR 0.3 0.3

Rata-rata 0.1 2.05

Tabel 4.10 Perubahan Harga 1-2 hari Setelah Sinyal Beli

Perubahan harga yang terjadi setelah 1-2 hari sinyal beli menurut Bollinger Bands

yaitu bahwa rata-rata harga mengalami kenaikan sehingga akan memberikan keuntungan

yang meningkat. Perubahan harga semakin besar semakin memberikan keuntungan, dan

perubahan harga yang negatif berarti harga mengalami penurunan dan akan memberikan

kerugian.

4.3.2.3 Perubahan Harga Setelah Satu Hari Sinyal Jual

Analisis ini adalah untuk mengetahui perubahan harga setelah satu hari

munculnya sinyal jual. Analisis dengan Indikator Bollinger Bands ini menggunakan data

dari Indeks saham LQ45, yaitu Adaro Energy Tbk (ADRO), Perusahaan Gas Negara Tbk

(PGAS), Indika Energy Tbk (INDY), Lippo Karawaci Tbk (LPKR). Data saham yang

digunakan adalah data saham harian bulan April sampai Agustus 2010.

Dibawah ini merupakan keterangan dari setiap kolom dalam tabel.

� Kolom N = harga tengah (rata-rata dari harga tertinggi dan terendah

pada hari t + 1 )

� Kolom O = hasil selisih kolom N dan kolom H

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 79: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

61

• ADRO

t = Tgl Sinyal Jual (E)

Harga Tengah t (H)

Harga Tengah t +1 (N)

Gain(%) (O)

23/06/2010 2007.5 2020 12.5 (0.6)

09/12/2010 2612.5 2600 -12.5(-0.5)

Rata-rata 0.0(0.1)

Tabel 4.11 Rata-rata Jual ADRO

• PGAS

t = Tgl Sinyal Jual (E)

Harga Tengah t (H)

Harga Tengah t +1 (N)

Gain(%) (O)

08/07/2010 4087.5 3950 -137.5(-3.4) 04/11/2010 4275 4337.5 62.5(1.5)

Rata-rata -37.5 (-1.0)

Tabel 4.12 Rata-rata Jual PGAS

• INDY

t = Tgl Sinyal Jual (E)

Harga Tengah t (H)

Harga Tengah t +1 (N)

Gain(%) (O)

27/07/2010 3262.5 3287.5 25(0.8) 04/11/2010 3712.5 3787.5 75(2.0)

Rata-rata 50(1.4)

Tabel 4.13 Rata-rata Jual INDY

• LPKR

t = Tgl Sinyal Jual (E)

Harga Tengah t (H)

Harga Tengah t +1 (N)

Gain(%) (O)

21/06/2010 540 550 10(1.9) 08/10/2010 685 695 10(1.5)

Rata-rata 10(1.7)

Tabel 4.14 Rata-rata Jual LPKR

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 80: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

62

SAHAM PERUBAHAN HARGA RATA-RATA 1 HARI SETELAH SINYAL JUAL

ADRO 0.1%

PGAS -1.0%

INDY 1.4%

LPKR 1.7%

Rata-rata 0.55% Tabel 4.15 Perubahan harga setelah 1 hari sinyal jual

Perubahan harga rata-rata 1 hari setelah sinyal jual mengalami kenaikan sebesar

0.55%. Hal tersebut dimungkinkan karena data harga open yang dipakai dalam

penghitungan rekomendasi jual dengan Indikator Bollinger Bands tidak 100% valid.

4.3.2.4 Korelasi Antara Keuntungan dan Lama Hari

Perhitungan tersebut berguna untuk mengetahui korelasi antara lama hari waktu

beli dan waktu jual terhadap pendapatan keuntungan. Perhitungan korelasi menggunakan

Microsoft Office Excel 2003. Rumus yang digunakan

( =CORREL(Lama Hari;Gain)).

SAHAM LAMA HARI (hari)

GAIN (%)

ADRO 32 1.5

63 43.5

PGAS 61 2.8

38 11.4

INDY 56 19.2

29 15.1

LPKR 33 -5.3

20 39.1

Korelasi 0.12

Tabel 4.16 Korelasi Lama Hari dan Keuntungan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 81: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

63

Korelasi Lama Hari dan Keuntungan

32; 1,5

63; 43,5

61; 2,8

38; 11,4

56; 19,229; 15,1

33; -5,3

20; 39,1

-10

0

10

20

30

40

50

0 10 20 30 40 50 60 70

Lama Hari

Gai

n (

%)

Gain

Gambar 4.32 Grafik Korelasi Lama Hari dan Keuntungan

Nilai korelasi antara lama hari waktu beli dan jual dengan keuntungan adalah

0.12, hal tersebut menunjukan bahwa lama hari dan keuntungan tidak berkorelasi.

4.4 Kelebihan Sistem

1. Program dapat menampilkan rekomendasi jual ataupun beli semua saham di

Indeks Regular ataupun LQ45 menurut Indikator Bollinger Bands

2. Hasil rekomendasi penghitungan dengan metode Bollinger Bands ditampilkan

dalam bentuk list, dan tidak semua ditampilkan.Hanya candlestick yang keluar

dari garis Bollinger Bands yang ditampilkan dalam list rekomendasi.Hasil

rekomendasi yang berupa list tersebut diurutkan dari nilai bobot yang besar ke

kecil.

3. Program dapat menampilkan candlestick beserta dengan garis Bollinger Bands

4.5 Kekurangan Sistem

1. Periode pada program hanya mempunyai dua pilihan, yaitu 20 dan 22 hari,

sehingga pengguna tidak bisa melakukan peramalan menggunakan periode lain

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 82: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

64

BAB V

PENUTUP

5.1 Kesimpulan

Kesimpulan yang dapat diperoleh dari penerapan program bantu pemilihan saham

dengan Indikator Bollinger Bands yaitu :

1. Pembelian dan penjualan saham berdasarkan Indikator Bollinger Bands,

terhadap 4 saham sampel selama bulan April sampai Desember akan

mendapatkan rata-rata keuntungan sebesar 15.9%

2. Perubahan harga yang terjadi setelah 1 hari sinyal beli menurut Indikator

Bollinger Bands adalah 0.1 %. Sedangkan perubahan harga 2 hari setelah

sinyal beli adalah 2.05%. Perubahan harga yang terjadi setelah 1-2 hari sinyal

beli menurut Bollinger Bands yaitu rata-rata harga mengalami kenaikan

sehingga akan memberikan keuntungan yang meningkat.

3. Harga saham sehari setelah sinyal jual akan mengalami kenaikan sebesar

0.55%. Hal ini kemungkinan disebabkan karena data yang didapat tidak 100%

valid.

4. Korelasi antara lama hari waktu beli dan jual dengan keuntungan adalah 0.12.

Hal ini berarti tidak ada hubungan antara lama hari dengan keuntungan..

5.2 Saran

Saran untuk pengembangan aplikasi yang akan datang yaitu :

1. Program tidak hanya dapat mengambil data saham harian tetapi dapat

mengambil data harga pada saat itu juga

2. Jenis Indeks saham tidak terbatas hanya indeks regular dan LQ45

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 83: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

65

DAFTAR PUSTAKA

Fakhruddin, M., & Hadianto, Sopian. (2001). Perangkat dan model analisis investasi

dipasar saham. Jakarta:PT.Elex Media Komputindo.

Hendarto, Kusumarsono. (2005), Belajar Trading, Andi Yogyakarta, 87-103.

Salim, Lani. (2003). Analisis teknikal dalam perdagangan saham. Jakarta: PT.Elex

Media Komputindo.

Turban, Efraim. (1995). Decision Support System and Expert System. Pretice Hall,Inc.

Wangsamulya, Fabianto. (2006). Cara membaca candlestick.

http://articles.indobisnis3456.com/wp-content/uploads/2009/01/cara-membaca-

candlestick.pdf. Tanggal akses (12 februari 2009)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 84: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

66

Lampiran

1. Listing Program Ambil Data

public void OpenURL(String URL) { try { System.out.println(URL); URL u = new URL(URL); URLConnection uc = null; uc = u.openConnection(); inputURL = new InputStreamReader(uc.get InputStream()); br = new BufferedReader(inputURL); setStatus(0); } catch (IOException ex) { System.out.println("error"); setStatus(1); } /** Method utk menutup file */ private void CloseURL() { try { inputURL.close(); } catch (IOException ex) { Logger.getLogger(Scanner.class.getName( )).log(Level.SEVERE, null, ex); } } /** Method utk ambil menguraikan string teks ut k dapatkan himpunan kata atau token dengan Scanner. Scanner bisa membedakan tipe primitif dan memil ah nilainya.. Return Vector data*/ public Vector Scanner(String URL, kontrolDB kDB , String nameFile, Calendar ca,int length) { OpenURL(URL); java.util.Vector Nilai = new java.util.Vect or(); if (getStatus() == 0) { System.out.println("------------------- --------------------Scanner-------------------------------------------"); String strLine = " "; //deklarasi variabel no perusahaan, nam a perushaan, nilai prev, nilai high, nilai low, nilai close String namaPer = " "; String nmPer1="",nmPer2="",nmPer3=""; double NoPerush = 0; BigDecimal Prev = null, High = null, Lo w = null, Close = null, Change = null, Volume = null; try { int i = 0; int AkhirDok = 0; while (((strLine = br.readLine()) ! = null)) { //karakter pemisah adalah spasi i++; Scanner scan = new Scanner(strL ine); //scan tiap kata pada file apak ah terdapat token int CountLong = 0;//counter utu k ambil 5 nilai yang akan digunakan u tuk perhitungan int CountKata = 0;//counter amb il kata utk nama //counter utk nilai no perush, prev, high, low, close int CountNo = 0; int countNmPer=0; int CountPrev = 0; int CountHigh = 0; int CountLow = 0; int CountClose = 0;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 85: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

67

int CountChange = 0; int Countvolume = 0; //cek apakah kursor berada pada akhir dokumen if (scan.hasNext("Total")) { System.out.println("Total n eh"); AkhirDok = 1; } while (scan.hasNext() && i > 7 && AkhirDok == 0) { //membaca baris // untuk menscan dan mereplace k oma String Scanned = scan.next( ).replaceAll(",", ""); // untuk men-scan lagi dari ha sil scaned Scanner scaning = new Scann er(Scanned); // untuk membedakan tipe data nu mber if (scaning.hasNextBigDecim al() && CountLong < 7) { // System.out.println("scann ed :" + Scanned); if (CountNo == 0) { NoPerush = Double.p arseDouble(Scanned);//mengubah tipe data scanned jadi double CountNo = 1; } else if (CountPrev == 0) { Prev = BigDecimal.v alueOf(Long.parseLong(Scanned)); CountPrev = 1; } else if (CountHigh == 0) { High = BigDecimal.v alueOf(Long.parseLong(Scanned)); CountHigh = 1; } else if (CountLow == 0) { Low = BigDecimal.va lueOf(Long.parseLong(Scanned)); CountLow = 1; } else if (CountClose = = 0) { Close = BigDecimal. valueOf(Long.parseLong(Scanned)); CountClose = 1; } else if (CountChange == 0) { Change = BigDecimal .valueOf(Long.parseLong(Scanned)); CountChange = 1; } else if (Countvolume == 0) { Volume = BigDecimal .valueOf(Long.parseLong(Scanned)); Countvolume = 1; } CountLong++; } else if (scan.hasNext() & & CountKata <1) {// // mengambil 3 kata(dalam na ma perusahaan) namaPer = Scanned; //nmPer=Scanned; // System.out.println("scann ed :" + Scanned+"Count kata: "+CountKata); // volume = volume+" "+scan. next(); //Nilai.addElement(nama Per); //System.out.println("K ata : "+nmPer); CountKata++; } else if(scan.hasNext() && countNmPer <1) {//scan nama perusahaan kata ke 1 nmPer1 = Scanned; countNmPer++; } else if(scan.hasNext() && countNmPer <2) {//scan nama perusahaan kata ke 2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 86: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

68

nmPer2 = Scanned; countNmPer++; }else if(scan.hasNext() && countNmPer <3) {//scan nama perusahaan kata ke 3 nmPer3 = Scanned; countNmPer++; } /*Scanned.findInLine("(\\d +) fish (\\d+) fish (\\w+) fish (\\w+)"); MatchResult result = s.mat ch(); for (int i=1; i<=result.gr oupCount(); i++) System.out.println(res ult.group(i); s.close(); */ } SimpleDateFormat sdfYear = new SimpleDateFormat("yyyy"); int year = Integer.parseInt(sdf Year.format(ca.getTime())); Date dat = new Date(year, ca.ge tTime().getMonth(), ca.getTime().getDate()); if (CountNo != 0 && CountHigh ! = 0 && CountPrev != 0 && CountLow != 0 && CountClose != 0 && CountChange != 0 && Countvolu me != 0) { //System.out.println(NoPeru sh + " " + namaPer + " " + High + " " + Prev + " " + Low + " " + Close + " " + Change + " " + Volume); String per=nmPer1+" "+nmPer 2+" "+nmPer3; Object[] r = {NoPerush, nam aPer,per, Prev, High, Low, Close, Change, Volume, dat}; Nilai.addElement(r); //System.out.println("no pe r:"+NoPerush+" nama per:"+namaPer+" Length: "+length); //System.out.println("Panja ng "+length); // System.out.println("nmPe r : "+per); if (length==20 || length==2 2){//menyimpan 20/22 data pertama kDB.SimpanSaham(namaPer ,per, dat, Prev, High, Low, Close, Volume); kDB.SimpanGrafik(namaPe r,per, dat, Prev, High, Low, Close, Volume); }else {//menyimpan data ke 21/23-40/44 kDB.SimpanGrafik(namaPe r, per,dat, Prev, High, Low, Close, Volume); } //reset variabel namaPer = " "; per=""; CountNo = 0; CountPrev = 0; CountHigh = 0; CountLow = 0; CountClose = 0; CountChange = 0; Countvolume = 0; } } } catch (IOException ex) { Logger.getLogger(Scanner.class.getN ame()).log(Level.SEVERE, null, ex); } CloseURL(); } //CloseFile(); //System.out.println(Nilai.elementAt(1)); return Nilai; }

2. Listing Class kontrolDB package controler; import com.mysql.jdbc.CallableStatement;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 87: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

69

import java.math.BigDecimal; import java.sql.Date; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; //import javax.swing.JOptionPane; public class kontrolDB { private koneksi konek; private String query; CallableStatement callst; private Object ex; private Object temp; private int batas = 0; public kontrolDB() { konek = new koneksi(); } public int SimpanSaham(String kode,String nmPer , Date tanggal, BigDecimal prev, BigDecimal high, BigDecimal low, BigDecimal close, BigDecimal vol) { int hasil = 0; query = "insert into saham(kode_perusahaan,nm_perusahaan,Tanggal,Prev,Hi gh,Low,Close,Volume) " + "values('" + kode + "','" + nmPer + "','" + tanggal + "'," + pre v + "," + high + "," + low + "," + close + "," + vol + ");"; // System.out.println(query); try { hasil = konek.getStmt().executeUpdate(q uery); } catch (SQLException ex) { Logger.getLogger(kontrolDB.class.getNam e()).log(Level.SEVERE, null, ex); } return hasil; } public int SimpanHasil(String kode,String nmPer ,Double prev, double persenkeluar, double ekorwarna, double volume, double hasil) { int hasilnya = 0; query = "insert into hasil(kode_perusahaan ,nm_perusahaan,Prev,persen_keluar, " +"ekorwarna,volume,hasil) " + "valu es('" + kode + "','" + nmPer + "'," + prev + "," +"'" + persenkeluar + "'," + ekorwa rna + "," + volume + ","+ hasil + ");"; try { hasilnya = konek.getStmt().executeUpdat e(query); } catch (SQLException ex) { Logger.getLogger(kontrolDB.class.getNam e()).log(Level.SEVERE, null, ex); } return hasilnya; } public int SimpanGrafik(String kode,String nmPe r, Date tanggal, BigDecimal prev, BigDecimal high, BigDecimal low, BigDecimal close, BigDecimal vol) { int hasil = 0; query = "insert into datagrafik(kode_perusahaan,nm_perusahaan,Tanggal,Pr ev,High,Low,Close,Volume) " + "values('" + kode + "','" + nmPer + "','" + tanggal + "'," + prev + "," + high + "," + low + "," + close + "," + vol + ");"; // System.out.println(query); try { hasil = konek.getStmt().executeUpdate(q uery); } catch (SQLException ex) { Logger.getLogger(kontrolDB.class.getNam e()).log(Level.SEVERE, null, ex); } return hasil; } public ResultSet CleaningBeli() throws SQLExcep tion {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 88: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

70

String sql = "select * from cleaningbeli wh ere lower_bands > Low order by low desc";//nampilin kode_per,low,lower_bands ResultSet rs = konek.getStmt().executeQuery (sql); return rs; } public ResultSet CleaningJual() throws SQLExcep tion { String sql = "select * from cleaningjual wh ere upper_bands <High order by high desc"; ResultSet rs = konek.getStmt().executeQuery (sql); return rs; } public List getMidle() throws SQLException { List hasil = new ArrayList(); List temp = this.Volume(); int i = 0; while (temp.size() > i) { String sql = "{CALL persenKeluar('" + t emp.get(i) + "')}"; callst = (CallableStatement) konek.getK on().prepareCall(sql); ResultSet rs = null; rs = callst.executeQuery(); while (rs.next()) { List t = new ArrayList(); t.add(rs.getString(1));//kode perus ahaan t.add(rs.getString(2));//nama perus ahaan t.add(rs.getString(3));//prev t.add(rs.getString(4));//persen kel uar hasil.add(t); } i++; } return hasil; } public List getMidleJual() throws SQLException { List hasil = new ArrayList(); List temp = this.VolumeJual(); int i = 0; while (temp.size() > i) { String sql = "{CALL persenKeluarJual('" + temp.get(i) + "')}"; callst = (CallableStatement) konek.getK on().prepareCall(sql); ResultSet rs = null; rs = callst.executeQuery(); while (rs.next()) { List t = new ArrayList(); t.add(rs.getString(1));//kode t.add(rs.getString(2));//nama perus ahaan t.add(rs.getString(3));//persen kel uar t.add(rs.getString(4)); hasil.add(t); } i++; } return hasil; } public List EkorWarnaBeli() throws SQLException { List hasil = new ArrayList(); List temp = this.Volume();//isi kode per yg udah dcleaning int i = 0; while (temp.size() > i) { String sql = "select * from ekorwarnabe li where kode_perusahaan like '" + temp.get(i) + "' order by kode_perusahaan"; ResultSet rs1 = konek.getStmt().execute Query(sql); while (rs1.next()) { hasil.add(rs1.getString(2));//nilai ekor yg tampil sesuai dengan kode perusahaan yg uda dcleaning // System.out.println("ekor: "+ rs1. getString(2));

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 89: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

71

} i++; } return hasil; } public List EkorWarnaJual() throws SQLException { List hasil = new ArrayList(); List temp = this.VolumeJual(); int i = 0; while (temp.size() > i) { String sql = "select * from ekorwarnaju al where kode_perusahaan like '" + temp.get(i) + "' order by kode_perusahaan"; ResultSet rs1 = konek.getStmt().execute Query(sql); while (rs1.next()) { hasil.add(rs1.getString(2)); } i++; } return hasil; } double hasil = 0; public void EmptyTable() { try { query = "truncate saham;"; konek.getStmt().execute(query); query = "truncate datagrafik;"; konek.getStmt().execute(query); } catch (SQLException ex) { ex.printStackTrace(); } } public void createTable(Integer x) { try { query = "drop table if exists batas;"; konek.getStmt().execute(query); query = "create table batas(batas int(2 ));"; konek.getStmt().execute(query); query = "insert into batas values("+x+" );"; konek.getStmt().executeUpdate(query); } catch (SQLException ex) { ex.printStackTrace(); } } public void createTableHasil() { try { query = "drop table if exists hasil;"; konek.getStmt().execute(query); query = "create table hasil(" + "kode_perusahaan varchar(50) DEFAULT NULL," + "nm_perusahaan varchar(100) N OT NULL," + "Prev double DEFAULT NULL," +"persen_keluar double DEFAULT NULL," +"ekorwarna double DEFAULT NULL ," +"volume double DEFAULT NULL," +"hasil double DEFAULT NULL);"; konek.getStmt().execute(query); } catch (SQLException ex) { ex.printStackTrace(); } } public List getHasil() throws SQLException { List hasil = new ArrayList(); String sql = "select * from hasil order by hasil desc"; ResultSet rs = konek.getStmt().executeQuery (sql); while (rs.next()) { List t = new ArrayList();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 90: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

72

t.add(rs.getString(1));//kode perusahaa n t.add(rs.getString(2));//nama perusahaa n t.add(rs.getString(3)); t.add(rs.getString(4));//persen keluar t.add(rs.getString(5));//ekorwarna t.add(rs.getString(6));//volume t.add(rs.getString(7));//hasil rekomend asi hasil.add(t); } return hasil; } public void dropHasil() { try { query = "drop table if exists hasil;"; konek.getStmt().execute(query); } catch (SQLException ex) { ex.printStackTrace(); } } public void dropTable() { try { query = "drop table if exists batas;"; konek.getStmt().execute(query); } catch (SQLException ex) { ex.printStackTrace(); } } public void setBatas(){ try { String sql = "select * from batas"; ResultSet rs = konek.getStmt().executeQ uery(sql); if (this.batas == 0) { while(rs.next()){ this.batas = rs.getInt(1); } } } catch (SQLException e) { e.getMessage(); } } public int getBatas(){ return this.batas; } public void PrevHigh() { try { query = "UPDATE saham " + "SET Prev = High , Prev = Prev " + "WHERE Prev>High;"; konek.getStmt().execute(query); } catch (Exception e) { // ex.printStackTrace(); } } public void PrevLow() { try { query = "UPDATE saham " + "SET Prev = low , Prev = Prev " + "WHERE Prev<Low;"; konek.getStmt().execute(query); } catch (Exception e) { // ex.printStackTrace(); } } public List HVolume() { int i = 0; List hasil = new ArrayList(); List temp = this.Volume();//manggil method bwhnya,yg ad kode per ud dcleaning. // System.out.println("isi vol: "+ this.Volu me());

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 91: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

73

//'"+temp.get(i)+"' while (temp.size() > i) { try { query = "select case when" + " 90< " + "(sum(IF ((Volume/500)>(sel ect 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan)) " + "from saham " + "where kode_perusahaan like '" + temp.get(i) + "' " + "group by kode_perusahaan), 1,0))/22*100) " + "and " + "(sum(IF ((Volume/500)>(sel ect 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan)) " + "from saham " + "where kode_perusahaan like '" + temp.get(i) + "' " + "group by kode_perusahaan), 1,0))/22*1)<100 then '25' " + "when 70< " + "(sum(IF ((Volume/500)>(sel ect 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan)) " + "from saham " + "where kode_perusahaan like '" + temp.get(i) + "' " + "group by kode_perusahaan), 1,0))/22*100) " + "and " + "(sum(IF ((Volume/500)>(sel ect 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan)) " + "from saham " + "where kode_perusahaan like '" + temp.get(i) + "' " + "group by kode_perusahaan), 1,0))/22*1)<89 then '20' " + "when 50< " + "(sum(IF ((Volume/500)>(sel ect 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan)) " + "from saham " + "where kode_perusahaan like '" + temp.get(i) + "' " + "group by kode_perusahaan), 1,0))/22*100) " + "and " + "(sum(IF ((Volume/500)>(sel ect 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan)) " + "from saham " + "where kode_perusahaan like '" + temp.get(i) + "' " + "group by kode_perusahaan), 1,0))/22*1)<69 then '15' " + "when 30< " + "(sum(IF ((Volume/500)>(sel ect 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan)) " + "from saham " + "where kode_perusahaan like '" + temp.get(i) + "' " + "group by kode_perusahaan), 1,0))/22*100) " + "and " + "(sum(IF ((Volume/500)>(sel ect 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan)) " + "from saham " + "where kode_perusahaan like '" + temp.get(i) + "' " + "group by kode_perusahaan), 1,0))/22*1)<49 then '10' " + "when 20< " + "(sum(IF ((Volume/500)>(sel ect 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan)) " + "from saham " + "where kode_perusahaan like '" + temp.get(i) + "' " + "group by kode_perusahaan), 1,0))/22*100) " + "and " + "(sum(IF ((Volume/500)>(sel ect 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan)) " + "from saham " + "where kode_perusahaan like '" + temp.get(i) + "' " + "group by kode_perusahaan), 1,0))/22*1)<39 then '5' " + "else '0' end * 0.01 'bobot _nilai_akhir' " + "from saham " + "WHERE kode_perusahaan LIKE '" + temp.get(i) + "' " + "GROUP BY kode_perusahaan"; ResultSet rs = konek.getStmt().exec uteQuery(query); while (rs.next()) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 92: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

74

hasil.add(rs.getString(1));//ni lai volume yg kode pernya ud dcleaning // System.out.println("volume: " + rs.getString(1)); } i++; } catch (SQLException ex) { Logger.getLogger(kontrolDB.class.ge tName()).log(Level.SEVERE, null, ex); } } return hasil; } public List Volume() { ResultSet rs1 = null; List temp = new ArrayList(); try { rs1 = CleaningBeli(); while (rs1.next()) { temp.add(rs1.getString(1));//kode_p er yg dbwh lower nilainya } } catch (SQLException ex) { Logger.getLogger(kontrolDB.class.getNam e()).log(Level.SEVERE, null, ex); } return temp; } public List HVolumeJual() { int i = 0; List hasil = new ArrayList(); List temp = this.VolumeJual(); while (temp.size() > i) { try { query = "select case when" + " 90< " + "(sum(IF ((Volume/500)>(sel ect 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan)) " + "from saham " + "where kode_perusahaan like '" + temp.get(i) + "' " + "group by kode_perusahaan), 1,0))/22*100) " + "and " + "(sum(IF ((Volume/500)>(sel ect 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan)) " + "from saham " + "where kode_perusahaan like '" + temp.get(i) + "' " + "group by kode_perusahaan), 1,0))/22*1)<100 then '25' " + "when 70< " + "(sum(IF ((Volume/500)>(sel ect 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan)) " + "from saham " + "where kode_perusahaan like '" + temp.get(i) + "' " + "group by kode_perusahaan), 1,0))/22*100) " + "and " + "(sum(IF ((Volume/500)>(sel ect 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan)) " + "from saham " + "where kode_perusahaan like '" + temp.get(i) + "' " + "group by kode_perusahaan), 1,0))/22*1)<89 then '20' " + "when 50< " + "(sum(IF ((Volume/500)>(sel ect 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan)) " + "from saham " + "where kode_perusahaan like '" + temp.get(i) + "' " + "group by kode_perusahaan), 1,0))/22*100) " + "and " + "(sum(IF ((Volume/500)>(sel ect 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan)) " + "from saham " +

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 93: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

75

"where kode_perusahaan like '" + temp.get(i) + "' " + "group by kode_perusahaan), 1,0))/22*1)<69 then '15' " + "when 30< " + "(sum(IF ((Volume/500)>(sel ect 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan)) " + "from saham " + "where kode_perusahaan like '" + temp.get(i) + "' " + "group by kode_perusahaan), 1,0))/22*100) " + "and " + "(sum(IF ((Volume/500)>(sel ect 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan)) " + "from saham " + "where kode_perusahaan like '" + temp.get(i) + "' " + "group by kode_perusahaan), 1,0))/22*1)<49 then '10' " + "when 20< " + "(sum(IF ((Volume/500)>(sel ect 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan)) " + "from saham " + "where kode_perusahaan like '" + temp.get(i) + "' " + "group by kode_perusahaan), 1,0))/22*100) " + "and " + "(sum(IF ((Volume/500)>(sel ect 0.2*(SUM(Volume/500)/COUNT(kode_perusahaan)) " + "from saham " + "where kode_perusahaan like '" + temp.get(i) + "' " + "group by kode_perusahaan), 1,0))/22*1)<39 then '5' " + "else '0' end * 0.01 'bobot _nilai_akhir' " + "from saham " + "WHERE kode_perusahaan LIKE '" + temp.get(i) + "' " + "GROUP BY kode_perusahaan o rder by volume desc"; ResultSet rs = konek.getStmt().exec uteQuery(query); while (rs.next()) { hasil.add(rs.getString(1)); } i++; } catch (SQLException ex) { Logger.getLogger(kontrolDB.class.ge tName()).log(Level.SEVERE, null, ex); } } return hasil; } public List VolumeJual() { ResultSet rs1 = null; List temp = new ArrayList(); try { rs1 = CleaningJual(); while (rs1.next()) { temp.add(rs1.getString(1)); } } catch (SQLException ex) { Logger.getLogger(kontrolDB.class.getNam e()).log(Level.SEVERE, null, ex); } return temp; } public static void main(String[] args) { kontrolDB kdb = new kontrolDB(); } } 3. Listing class VisualChart package visual; //import controler.ControlerAmbilData; import controler.koneksi;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 94: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

76

//import controler.kontrolDB; import org.jfree.chart.ChartFrame; import org.jfree.chart.JFreeChart; import org.jfree.chart.axis.DateAxis; import org.jfree.chart.axis.NumberAxis; import org.jfree.chart.axis.SegmentedTimeline; import org.jfree.chart.labels.HighLowItemLabelGener ator; import org.jfree.chart.plot.XYPlot; import org.jfree.chart.renderer.xy.CandlestickRende rer; import org.jfree.chart.renderer.xy.XYLineAndShapeRe nderer; import org.jfree.data.general.DatasetChangeEvent; import org.jfree.data.general.DatasetChangeListener ; import org.jfree.data.xy.*; import java.awt.*; //import java.sql.SQLException; import java.sql.ResultSet; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; import java.util.Date; //import java.util.List; public class VisualChart{ //private static String kode="ENRG"; //private static int batas=20; public VisualChart(String title,String kode,Int eger batas){ //this.kode=kode; ChartFrame chartFrame = new ChartFrame(title , buildChart(kode,batas)); chartFrame.setSize(700,460); chartFrame.setVisible(true); } /*public static void main(String[] args) { ChartFrame chartFrame = new ChartFrame("Can dlestick & Bollinger Bands "+kode+"", buildChart(kode,batas)); chartFrame.setSize(700,460); chartFrame.setVisible(true); }*/ public static JFreeChart buildChart(String symb ol,int batas) { DateAxis domainAxis = new DateAxis ("Tanggal"); NumberAxis rangeAxis = new NumberAx is("Harga"); CandlestickRenderer priceRenderer = new Can dlestickRenderer(); XYDataset priceDataset = getData Set(symbol); //XYDataset priceDataset2 = getD ataSet2(symbol); XYLineAndShapeRenderer bbRenderer = new XYL ineAndShapeRenderer(true, false); XYDataset bbDataset = new BollingerBandsDataset((OHLCDataset)priceDataset,bat as ); XYPlot mainPlot = new XYPlot(priceDataset, domainAxis, rangeAxis, priceRenderer); //This is the code that adds the line data to the candlestick chart mainPlot.setRenderer(2, bbRenderer); mainPlot.setDataset (2, bbDataset); //Do some setting up, see the API Doc rangeAxis.setAutoRangeIncludesZero(false); domainAxis.setTimeline( SegmentedTimeline.n ewMondayThroughFridayTimeline() ); priceRenderer.setSeriesPaint(0, Color.BLACK ); priceRenderer.setSeriesToolTipGenerator(0, new HighLowItemLabelGenerator()); priceRenderer.setDrawVolume(false); bbRenderer.setSeriesPaint(0, Color.GREEN); bbRenderer.setSeriesPaint(1, Color.BLUE); bbRenderer.setSeriesPaint(2, Color.RED); // bbRenderer.setSeriesVisible(1, false); // Uncomment this line to remove the moving average (center line)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 95: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

77

return new JFreeChart(symbol, null, mainPlo t, false); } //protected static AbstractXYDataset getDataSet (String symbol) { protected static AbstractXYDataset getDataSet(S tring symbol) { java.util.List<OHLCDataItem> dataItems = ne w ArrayList<OHLCDataItem>(); //java.util.List<OHLCDataItem> dataItems2 = new ArrayList<OHLCDataItem>(); try { koneksi k=new koneksi(); String sql = "select * from datagrafik where kode_perusahaan='"+symbol+"'"; System.out.println(sql); ResultSet rs = k.getStmt().executeQuery (sql); DateFormat df = new SimpleDateFormat("y -M-d"); while (rs.next()) { Date date = df.parse(rs.getSt ring(9)); double open = Double.parseDoubl e(rs.getString(4)); double high = Double.parseDoubl e(rs.getString(5)); double low = Double.parseDoubl e(rs.getString(6)); double close = Double.parseDoubl e(rs.getString(7)); double volume = Double.parseDoubl e(rs.getString(8)); //System.out.println(date+" "+open) ; System.out.println( "Tgl: "+date+" Open: "+open+" Hight: "+high+" Low: "+low+" Close: "+close); OHLCDataItem item = new OHLCDataIte m(date, open, high, low, close, volume); // System.out.println("item "+ item ); dataItems.add(item); } } catch (Exception e) { e.printStackTrace(); } Collections.reverse(dataItems); OHLCDataItem[] data = dataItems.toArray(new OHLCDataItem[dataItems.size()]); // System.out.println("Data: "+data[0]); return new DefaultOHLCDataset(symbol, data) ; } private static class BollingerBandsDataset exte nds AbstractXYDataset implements DatasetChangeListener { protected OHLCDataset ohlcDataset; protected int maxLength;//batas protected int upperBandwidth; protected int lowerBandwidth; Double[] upperValues; Double[] lowerValues; Double[] averageValues; public BollingerBandsDataset(OHLCDataset oh lcDataset,int batas) { this(ohlcDataset, batas, 2, 2);// } public BollingerBandsDataset(OHLCDataset oh lcDataset, int maxLength, int upperBandwidth, int lowerbandwidth) { this.maxLength = maxLength;//batas this.upperBandwidth = upperBandwidth; this.lowerBandwidth = lowerbandwidth; System.out.println("maxlength grafik: " + this.maxLength); System.out.println("upper grafik: "+ th is.upperBandwidth); System.out.println("lower grafik: "+ th is.lowerBandwidth); this.setOhlcDataset(ohlcDataset);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 96: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

78

} public OHLCDataset getOhlcDataset() { return ohlcDataset; } public void setOhlcDataset(OHLCDataset ohlc Dataset) { if (this.ohlcDataset != null) this.ohlcDataset.removeChangeListen er(this); this.ohlcDataset = ohlcDataset; this.ohlcDataset.addChangeListener(this ); calculateBollingerBands(); fireDatasetChanged(); } protected void calculateBollingerBands() { int size = ohlcDataset.getItemCount(0); upperValues = new Double[size]; averageValues = new Double[size];//midd le lowerValues = new Double[size]; for(int i=maxLength, n = ohlcDataset.ge tItemCount(0) ; i<n ; i++){//maju per hari double sma = this.calculateSMA( i ) ;//middle double stdDev = this.calculateStdDe v( i, sma); averageValues[i] = sma;//middle upperValues [i] = sma+(stdDev * up perBandwidth);//middle+s lowerValues [i] = sma-(stdDev * lo werBandwidth); System.out.println("middle1: "+ ave rageValues[i]); System.out.println("i : "+ i);//i=2 0,i=21,dll... System.out.println("n : "+ n); } } protected double calculateSMA(int end) { double total = 0.0; for (int i = end-maxLength; i<end; i++ ) {//maxlength 20 terus, end yg tambah 20,hbl loping dr atas bru 21 total += getSourceValue(i);//nilai close selama i(20 ato 22) System.out.println("middle2 : "+ ge tSourceValue(i));//nilai close System.out.println("end : "+ end); } return total / maxLength; } protected double calculateStdDev(int end, double sma) { double stdDev = 0.0; double total = 0.0; for (int i = end-maxLength; i<end; i++ ) { double dev = getSourceValue(i) - sm a; total += (dev * dev); } total = (total / maxLength); stdDev = Math.sqrt(total); return stdDev; } protected double getSourceValue(int item){ return ohlcDataset.getCloseValue(0, ite m); } public int getSeriesCount() { return 3; } public Comparable getSeriesKey(int series) { switch (series) { case 0: return "Bollinger Bands Low er"; case 1: return "Bollinger Bands Ave rage";

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 97: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIrepository.usd.ac.id/32525/2/065314064_Full.pdf · dibeli pada saat ini. Rekomendasi didasarkan atas % candlestick yang keluar dari bibir pita

79

case 2: return "Bollinger Bands Upp er"; default : return null; } } public int getItemCount(int series) { return ohlcDataset.getItemCount(0); } public Number getX(int series, int item) { return ohlcDataset.getX(0, item); } public Number getY(int series, int item) { switch (series) { case 0: return lowerValues[item]; case 1: return averageValues[item]; case 2: return upperValues[item]; default : return null; } } public void datasetChanged(DatasetChangeEve nt event) { calculateBollingerBands(); fireDatasetChanged(); } } }

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI