BAB II LANDASAN TEORI 2.1 Perdagangan Saham Belajar

advertisement
BAB II
LANDASAN TEORI
2.1 Perdagangan Saham
Belajar menginvestasikan uang adalah pengalaman yang sangat berharga, meskipun
kadang-kadang proses di dalamnya begitu rumit. Begitu juga dengan pasar saham, saham pada
dasarnya adalah kepemilikan individu dalam perusahaan itu sendiri. Saham adalah surat berharga
yang merupakan instrument bukti kepemilikan atau penyertaan dari individu atau instansi dalam
suatu perusahaan (Sapto Rahardjo, 2006). Harga saham dapat berfluktuasi tergantung pada
faktor-faktor seperti nilai kinerja perusahaan tersebut dan prospek di masa depannya. Selain
faktor tersebut, kestabilan secara keseluruhan dan integritas pasar saham juga dapat sangat
mempengaruhi harga saham. Tujuan dari Perdagangan saham adalah membeli saham dalam
sebuah perusahaan dengan harga rendah dan menjualnya ketika harga saham telah meningkatkan
untuk mendapatkan keuntungan.
Perdagangan saham memungkinkan investor untuk berpartisipasi dalam cara kerja
perekonomian itu sendiri, membantu pertumbuhan bisnis dan idealnya menghasilkan keuntungan
bagi semua orang (Yeo Keong, 2011). Ketika perusahaan menjual saham itu sendiri dan
memungkinkan investor untuk menjadi pemilik parsial (merupakan bagian dari keseluruhan), itu
menghasilkan modal yang kemudian dapat digunakan untuk memperluas dan mendanai usaha
bisnisnya. Membeli saham pada dasarnya adalah membeli bagian dari bisnis, dan kapan saja,
investor dapat menjual saham kembali ke perusahaan itu sendiri. Namun, jika perusahaan telah
jatuh pada masa sulit investor akan menerima jumlah lebih rendah dari awalnya membeli. Oleh
karena itu, sangatlah penting bagi investor untuk berbuat cerdas, yaitu teliti dalam mengambil
keputusan apakah akan membeli atau menjual saham.
Dengan adanya perdagangan saham dan dibutuhkannya ketelitian dalam mengambil
suatu keputusan untuk membeli atau menjual saham, diperlukannya suatu pengetahuan
perdagangan (trading) untuk melakukan aktivitas tersebut dalam mencari keuntungan. Salah
satunya dengan mengetahui teknik-teknik perdagangan saham dengan baik.
7 8 2.2 Analisis Saham
Saham merupakan pilihan investasi yang cepat mengalami perubahan dan rentan terhadap
berbagai isu yang berkembang. Bagi pemodal tentu saja hal tersebut penting untuk diketahui dan
dipantau sehingga pemodal dapat mengambil posisi atas saham yang dipegangnya.
Analisis saham sangat diperlukan bagi para trader dalam melakukan aksi perdagangan
saham, berbagai macam instrumen telah disediakan bagi para trader dalam melakukan
pengambilan keputusan. Bagi investor yang ingin melakukan investasi terhadap saham
khususnya untuk investasi jangka menengah harus mengetahui tentang tipe-tipe analisa dalam
saham baik dalam analisa saham fundamental baik dalam analisa saham teknikal.
Media untuk melihat arah dari pergerakan saham salah satunya adalah melalui grafik.
Didalam grafik tersebut terdapat candlestick dan indikator yang digunakan untuk melihat arah
dari setiap pergerakan saham. Didalam analisa saham pada grafik atau chart terdiri dari High,
low, open dan closing price. Perhatikan Gambar 2.1 berikut ini,
H
H
C
Tekanan Penjual
O
O
 Dorongan Pembeli
C
L
L
Gambar 2.1 Candlestick pada grafik saham
Keterangan: H = Highest Price
L = Lowest Price
O = Opening Price
C = Closing Price
a. Tren naik
C
O
nilai open kurang dari close (O < C)
9 O
b. Tren turun
nilai close kurang dari open (C < O)
C
Pada lilin (candle) yang berwarna putih menunjukkan menunjukkan tren harga yang naik
atau closing price lebih tinggi nilainya dibandingkan dengan opening price. Sebaliknya, lilin
berwarna hitam menunjukkan menunjukkan harga bergerak turun atau closing price lebih rendah
nilainya dibandingkan dengan opening price. Garis vertikal diatas dan dibawah itu adalah
highest price dan lowest price selama periode yang telah ditentukan, misalnya dalam per-jam,
harian, bulanan, bahkan tahunan. Jika menggunakan istilah Bearish dan Bullish, warna putih
dikatakan sebagai bullish pattern dan yang berwarna hitam adalah bearish pattern. Pattern disini
adalah interpretasi dari candlestick yang ada.
Ketika banyak pembeli yang melakukan pembelian saham, harga pasar semakin
meningkat sehingga pada akhir periode pasar ditutup diatas harga pembukaan, akhirnya
terbentuklah candle naik (putih). Besarnya dorongan beli bisa diukur dari pergerakan pasar dari
low sampai close. Semakin besar dorongannya, maka semakin besar tubuh lilin (body candle)
yang terbentuk. Sehingga besarnya tubuh lilin putih ini menunjukan dominasi pembeli. Ketika
banyak trader atau pemain saham yang melakukan penjualan, harga pasar semakin menurun,
sehingga pada akhir periode biasanya nilai penutupan pasar dibawah harga pembukaan. Kondisi
inilah yang menyebabkan lilin yang terbentuk berwarna hitam (turun). Pada lilin turun atau
berwarna hitam tekanan penjual diukur dari high sampai close. Semakin besar tekanan penjualan,
maka harga akan semakin jatuh dan semakin membentuk tubuh lilin hitam yang panjang.
Sehingga besarnya tubuh lilin hitam ini menunjukan besarnya dominasi penjual.
2.2.1 Indeks Saham
Keberadaan indeks saham pada umumnya lebih di ketahui masyarakat baik AS, Eropa
maupun Asia, karena seringnya indeks saham tersebut muncul dalam laporan berita. Sebagian
kecil kalangan trader dan mayoritas orang belum sepenuhnya memahami bagaimana indeks ini
diperdagangkan. Pada umumnya anggapan yang muncul adalah indeks diperdagangkan persis
10 seperti saham atau hanya dianggap sebagai informasi yang dapat dijadikan indikator pergerakan
harga saham di suatu sektor.
Padahal kenyataannya, indeks saham berbeda dengan saham. Indeks saham tidak
diperdagangkan di bursa saham (stock exchange) karena indeks bukanlah saham. Indeks saham
atau stock indexes (STODEX) adalah harga atau nilai dari sekelompok saham yang dikumpukan
berdasarkan kategori tertentu. Indeks ini merupakan indikator pergerakan harga dari seluruh
saham yang diwakilinya. Misalnya Indeks Harga Saham Gabungan (IHSG) yang mewakili
seluruh pergerakan harga saham yang diperdagangkan di Bursa Efek Indonesia atau Jakarta
Industrial Classification (JASICA) yang mewakili pergerakan harga dari sektor industri tertentu
(http://www.mifx.com).
2.2.2 Macam-macam Analisis Saham
Ada beberapa cara yang dapat digunakan untuk menganalisis saham. Tetapi pada garis
besarnya cara-cara tersebut dapat dikelompokkan menjadi dua, yaitu analisis teknikal dan
analisis fundamental.
Banyak cara yang dilakukan para trader atau pemain saham untuk menganalisa grafik
baik secara fundamental maupun teknikal, di mana hasil analisa inilah nanti yang digunakannya
untuk melakukan transaksi dengan membuka posisi Buy atau Sell atau mungkin menahan diri
untuk tidak melakukan transaksi terlebih dahulu.
2.3 Analisis Teknikal (Technical Analysis)
Menganalisis pasar saham menggunakan analisis teknikal merupakan suatu pengalaman
berdasarkan kemungkinan, karena pasar bukanlah mesin yang bisa menggunakan sebuah formula
dengan sempurna. Analisis teknikal merupakan suatu teknik analisis yang menggunakan data
catatan mengenai pasar itu sendiri untuk berusaha mengakses permintaan dan penawaran suatu
saham tertentu maupun pasar secara keseluruhan (Yeo Keong, 2011). Pendekatan analisis ini
menggunakan data pasar yang dipublikasikan, seperti: harga saham, volume perdagangan ,
indeks harga saham gabungan dan individu, serta faktor-faktor lain yang bersifat teknis. Oleh
11 sebab itu pendekatan ini juga disebut pendekatan analisis pasar (market analisis) atau analisis
internal (internal analisis).
Beberapa kesimpulan menyangkut pendekatan analisis teknikal adalah sebagai berikut:
1. Analisis teknikal didasarkan pada data pasar yang dipublikasikan.
2. Fokus analisis teknikal adalah ketepatan waktu, penekanannya hanya pada perubahan
harga.
3. Teknik analisa berfokus pada faktor-faktor internal melalui analisis pergerakan di dalam
pasar dan atau saham.
4. Para analisis teknikal cenderung lebih berkonsentrasi pada jangka pendek, karena teknikteknik analisa teknikal dirancang untuk mendeteksi pergerakan harga dalam jangka waktu
yang relatif pendek.
Pada intinya, analisis teknikal adalah benar-benar menggunakan suatu kombinasi tertentu
dari indikator-indikator untuk meraih tujuan perdagangan yaitu mengenali awal dari suatu tren
(tren kenaikan atau tren penurunan) yang bisa dipercaya.
2.3.1 Beberapa Contoh Analisis Teknikal
Ada beberapa teknik analisis yang dapat digunakan dalam pendekatan teknikal, antara
lain adalah tren analisis, ini mengasumsikan bahwa perilaku harga dimasa lalu bisa direfleksikan
dalam harga di masa yang akan datang.
Berikut beberapa Technical Analysis:
1. Moving Average (MA)
Indikator rata-rata pergerakan (Moving Average) memperlihatkan nilai harga rata-rata
selama suatu periode waktu di dalam pergerakan harga terakhir.
2. Bollinger Bands
Bollinger bands merupakan salah satu dari beberapa indikator yang popular bagi
kalangan trader dunia. Bollinger bands adalah indiKator teknikal yang memiliki tiga garis
utama yang bergerak mengikuti rata-rata pergerakan harga sepanjang periode tertentu.
3. Moving Average Convergence Divergence (MACD)
Moving Average Konvergensi atau Divergensi (Moving Average Convergence
Divergence /MACD) telah terbukti menjadi suatu indicator yang dapat dipercaya dan
12 mudah digunakan. MACD memiliki karakterisitik mengikuti tren tertentu dengan
menggunakan moving average (Yeo Keong, 2011).
4. Relative Strentgh Index (RSI)
RSI adalah suatu ukuran momentum harga di dalam tren yang terakhir. Jika indikator
yang lain diperhatikan sebagai eksistensi dari suatu tren, maka RSI melakukan konfirmasi
apakah momentum (kecepatan dan kekuatan) dari tren masih kuat.
5. Stochastic Oscillator
Stochastic oscillator adalah indikator yang menunjukkan lokasi harga penutupan terakhir
dibandingkan dengan range harga terendah atau tertinggi selama periode waktu tertentu.
2.4 Algoritma Semut
Algortima semut atau biasa dikenal dengan Ant Colony Optimazation (ACO) adalah
teknik probabilistik yang bertujuan untuk menyelesaikan masalah optimasi untuk menemukan
jalur yang terbaik melalui graf. Sesuai dengan nama algoritmanya, ACO terinspirasi oleh prilaku
semut dalam mencari makanan dengan mengikuti jejak bau yang ditinggalkanya atau di kenal
dengan nama feromon. Koloni semut dapat menemukan jalan terpendek antara sumber makanan
dan sarang mereka berdasarkan jejak kaki pada lintasan yang telah mereka lalui. Semut dibilang
sebagai serangga sosial yang hidup berkoloni karena kolaborasi bersama mereka mampu
menampilkan perilaku yang kompleks dan menyelesaikan tugas-tugas yang sulit dari sudut
pandang seekor semut. Mereka didasarkan pada prinsip bahwa menggunakan mekanisme
komunikasi sederhana, sebuah kelompok semut dapat menemukan jalur terpendek antara dua
titik (Tehrani dan Khodyar, 2010). ACO merupakan salah satu metode metaheuristik yang
menerapkan semut sebagai agen dengan update feromon-nya untuk dapat melakukan proses
pencarian solusi yang efektif dan efisien (Leksono, 2009).
Secara realita, semut berjalan secara acak dalam menemukan sumber makanan dan
kembali lagi ke sarang dengan meninggalkan jejak feromon. Jika semut lain menemukan jalur
tersebut, maka mereka tidak akan berjalan secara acak lagi tetapi mulai mengikuti jejak feromon
yang ditinggalkan oleh jejak semut sebelumnya. Kemudian mereka kembali meninggalkan jejak
feromon dan menguatkan jejak tersebut. Jejak feromon akan memudar seiring dengan
berjalannya waktu. Untuk jalur-jalur yang panjang, jalur tersebut akan jarang dilalui oleh semut,
13 sedangkan untuk jalur-jalur yang pendek, jejak tersebut akan mempunyai ketebalan feromon
yang tinggi sehingga membuat jalur tersebut yang akan dipilih dan jalur yang panjang akan
ditinggalkan.
Gambar 2.2 Semut membangun solusi, yaitu, jalur dari sumber ke node tujuan
(Marco Dorigo, 2004)
Gambar di atas menerangkan urutan dari kinerja semut dalam menemukan jalur
terpendek dari sumber makanan menuju ke sarang. Destination adalah tempat terakhir yang
dikunjungi semut yang di anggap sebagai sarang makanan. Dari sumber atau tempat pertama
semut melakukan perjalanan (tour), semut akan dengan sendirinya menemukan jalur terpendek
dari jalur yang sudah ada. Semut akan memilih jalur dimana jalur tesebut sering dilalui semut
dengan di tandai dengan ketebalan feromon di setiap jalurnya.
2.4.1 Sejarah Algoritma Semut
Pada tahun 1996, dunia ilmu pengetahuan pun ikut belajar dari semut dengan
diperkenalkannya algoritma semut, atau ACO, sebagai sebuah simulasi multi agen yang
menggunakan metafora alami semut untuk menyelesaikan problem ruang fisik. Algoritma semut
diperkenalkan oleh Moyson dan Manderick dan secara meluas dikembangkan oleh Marco
Dorigo, merupakan teknik probabilistik untuk menyelesaikan masalah komputasi dengan
14 menemukan jalur terbaik. Algoritma ini diambil dengan analogi oleh perilaku semut dalam
menemukan jalur dari koloninya menuju makanan (www.scribd.com)
2.4.2 Cara Kerja Semut Mencari Jalur Optimal
Agar semut mendapatkan jalur optimal, diperlukan beberapa proses:
1. Pada awalnya, semut berkeliling secara acak, hingga menemukan makanan. Lihat Gambar2.3.
2. Ketika menemukan makanan mereka kembali ke koloninya sambil memberikan tanda dengan
jejak feromon.
3. Jika semut-semut lain menemukan jalur tersebut, mereka tidak akan bepergian dengan acak
lagi, melainkan akan mengikuti jejak tersebut.
4. Kembali dan menguatkannya jika pada akhirnya mereka pun menemukan makanan.
5. Seekor semut yang secara tidak sengaja menemukan jalur optimal akan menempuh jalur ini
lebih cepat dari rekan-rekannya, dan dengan sendirinya meninggalkan feromon dari jalurjalur yang lebih lambat ditempuh.
6. Feromon yang berkonsentrasi tinggi pada akhirnya akan menarik semut-semut lain untuk
berpindah jalur, menuju jalur paling optimal, sedangkan jalur lainnya akan ditinggalkan.
7. Pada akhirnya semua semut yang tadinya menempuh jalur yang berbeda-beda akan beralih ke
sebuah jalur tunggal yang ternyata paling optimal dari sarang menuju ke tempat makanan.
Lihat Gambar 2.3.
Gambar 2.3 Lintasan awal semut menuju tempat makanan (www.scribd.com)
Keterangan Gambar 1:
A: Tempat Awal Koloni (sarang)
B: Tujuan Koloni Semut (makanan)
15 Jalur 1 (biru): Lintasan yang ditempuh oleh semut 1
Jalur 2 (hitam) : Lintasan yang ditempuh oleh semut 2
Gambar 2.4 Lintasan optimal semut menuju tempat makanan (www.scribd.com)
Keterangan Gambar 2:
A: Tempat awal koloni (sarang)
B: Tujuan koloni semut (makanan)
Jalur optimal: Jalur yang dilewati semut setelah beberapa iterasi.
Gambar 2.5 adalah diagram alur dari algoritma semut atau ant colony optimization.
16 Mulai
Inisialisasi feromon,
array data
Perbaharui
feromon untuk
setiap edge yang
dilalui semut
i=0
i < IterasiMax
Tidak
Tidak
Ya
Jika solusi lokal lebih
baik dari global
Jika Semut ?
Tidak
Ya
Ya
Tentukan
edge/lintasan
selanjutnya
Simpan solusi
lokal sebagai
solusi global
Tambahkan langkah
tersebut ke dalam
langkah yang sudah
dilakukan
i=i+1
Ada Solusi?
Catat Hasil
Lintasan Semut
Ya
Tidak
Semut berhasil
membangun tour?
Tidak
Ya
Selesai
Gambar 2.5 Diagram alur algortima semut dalam membangun tour
Pada awalnya semut menginisialisasi variable seperti feromon sebagai awal untuk
membentuk suatu tour dari sarang menuju ke sumber makanan. Jika hasil inisialisasi tidak
diketahui maka semut harus melakukan inisialisasi ulang. Kemudian semut menentukan lintasan
selanjutnya yang akan dikunjungi, jika sudah menemukan titik optimasi pada suatu lintasan,
17 maka semut berhasil melakukan tournya. Untuk mempertegas jalur semut yang telah diketahui
telah memecahkan masalah optimasi dengan membangun jalur terpendek oleh semut
sebelumnya, semut yang lain memperbarui feromon dengan menulusuri jalur yang sama dengan
semut sebelumnya. Setelah jalur telah dipertegas, catat hasil lintasan semut, dan semut di anggap
selesai dalam memecahkan solusi dalam pencarian jalur terpendek pada suatu tour yang telah
dibangun. Dengan kata lain jalur tersebut menjadi jalur yang akhirnya dipilih oleh semua semut
untuk melakukan tour dari sarang menuju ke sumber makanan.
Berikut adalah skema dari ACO:
1. Semut membangun solusi.
2. Menentukan daya tarik (feromon) berdasarkan pengalaman dari solusi sebelumnya.
3. Tentukan fungsi visibilitas yang spesifik, η, untuk soal yang diberikan (misalnya jarak).
Hal yang dilakukan semut pada saat melakukan perjalanan (tour):
1. Inisialisasi semut dan simpul (node).
2. Pilih kemungkinan tepi (edge) berikutnya sesuai dengan feromon dan visibilitas.
Prob (choose available edge e) =
.
.
∑
3. Setiap semut menyimpan daftar tabu transisi yang tidak layak untuk iterasi.
4. Perbarui feromon sesuai dengan jumlah semut yang melintas.
Memperbarui feromon (Pheromone update):
(e) :=
1
1
Parameter 0
.
.
e ,
jika tepi tidak dilalui
e
feromon baru,
jika tepi dilalui
1 adalah disebut sebagai laju penguapan (evaporation rate).
Feromon = memori jangka panjang dari koloni semut
1.
kecil menandakan penguapan yang rendah kemudian mengakibatkan adaptasi yang
lambat.
2.
besar menandakan penguapan yang tinggi kemudian mengakibatkan adaptasi yang
cepat.
Adanya aturan probabilistik adalah agar kesalahan dapat ditemukan karena terdapat
beberapa kemungkinan pada solusi yang ditimbulkan. Pembaruan feromon atau ∆ biasanya
berisi dasar tarik konstan Q dan factor yang akan di optimalkan.
18 2.4.3 Menelusuri Jalur dan Pembaruan Feromon
Teknik komunikasi yang dilakukan semut adalah mengikuti jejak yang ditinggalkan oleh
semut-semut sebelumnya. Ketika mencapai node tujuan (sumber makanan), semut kembali lagi
menuju ke sarangnya. Tujuan dari pembaruan feromon adalah untuk meningkatkan nilai feromon
yang memiliki solusi yang terbaik dan meninggalkan solusi yang terburuk. Menurut Alfred
Bruckstein yang membuktikan bahwa secara matematis semut-semut yang datang selanjutnya
memang meluruskan jejak yang berkelok. Kesimpulan yang didapatnya sama yaitu setelah
beberapa ekor semut, panjang jejak dapat diminimalkan menjadi jarak terpendek antara dua titik
dengan kata lain, membentuk garis lurus.
Jika setiap semut telah mengunjungi semua simpul dan kembali lagi ke simpul asal, maka
akan diperoleh lebih dari satu kemungkinan solusi jarak tempuh karena ada lebih dari satu semut
yang melintasi setiap jalur dalam graf. Yang dimaksud dengan iterasi adalah dimana setiap semut
yang telah mengunjungi setiap simpul dalam graf dan kembali lagi ke simpul asal. Pada akhir
setiap iterasi akan ditemukan beberapa kemungkinan solusi. Langkah berikutnya adalah memilih
solusi yang terbaik yaitu dengan jarak tempuh minimum. Kemudian menambahkan feromon
pada lintasan terpendek yang dihasilkan oleh solusi terbaik tersebut. Fungsi untuk menambahkan
feromon ini disebutkan didalam Aturan Pembaruan feromon Global (Global Pheromone
Updating Rule). Tujuan adanya penambahan feromon global ini adalah untuk mendorong semutsemut pada iterasi berikutnya agar memilih lintasan terpendek yang telah dicapai.
Setiap jejak feromon yang ditinggalkan oleh semut akan terjadinya suatu penguapan,
adanya suatu penguapan mengakibatkan tidak semua semut mengikuti jalur semut sebelumnya.
Ini menimbulkan solusi yang dihasilkan akan lebih banyak.
2.5 Optimasi
Optimisasi ialah suatu proses untuk mencapai hasil yang ideal atau optimal (nilai efektif
yang dapat dicapai). Dalam disiplin matematika optimisasi merujuk pada studi permasalahan
yang mencoba untuk mencari nilai minimal atau maksimal dari suatu fungsi nyata. Untuk dapat
mencapai nilai optimal baik minimal atau maksimal tersebut, secara sistematis dilakukan
pemilihan nilai variabel integer atau nyata yang akan memberikan solusi optimal.
19 Nilai optimal adalah nilai yang didapat melalui suatu proses yang dianggap menjadi
jawaban yang terbaik dari semua solusi yang ada. Nilai optimal dapat dicari dengan dua cara,
yaitu:
1. Cara konvensional, yaitu mencoba semua kemungkinan yang ada dengan mencatat nilai
yang didapat. Cara ini kurang efektif, karena optimasi akan berjalan secara lambat.
2. Cara kedua adalah dengan menggunakan suatu rumus sehingga nilai optimal dapat
diperkirakan dengan cepat dan tepat.
2.6 AmiBroker
AmiBroker adalah perangkat lunak untuk Analisis Teknikal yang lengkap agar
para trader/investor mengetahui saat terbaik dalam membeli dan menjual saham. Amibroker
dilengkapi dengan berbagai macam indikator yang dapat disesuaikan dengan kebutuhan,
sehingga memiliki peluang untuk mengoptimalkan profit.
Saat laporan ini di tulis amiBroker telah sampai di versi 5.50 dan dapat digunakan di
semua versi Windows. Amibroker memiliki banyak manfaat, yaitu:
1. Dapat terkoneksi secara real time dengan data saham BEI (untuk versi Professional dan
bila berlangganan data real time).
2. Bisa juga digunakan untuk memantau saham-saham di bursa AS atau indeks saham
global atau saham-saham di negara lainnya dengan data Yahoo Finance.
3. Dengan indikator yang tertentu bisa memunculkan sinyal jual atau beli yang jelas. Jadi
tidak akan ketinggalan momen untuk membeli atau menjual saham.
4. Dapat digunakan untuk memfilter saham (stock filter / screener). Misalnya untuk
memilih saham yang sedang uptrend.
5. Membuat sistem perdagangan sendiri dan mengetesnya (Backtesting).
6. Bisa menjadi sekretaris pribadi, kalau ada sinyal jual / beli bisa dikirim ke email.
7. Memiliki puluhan tools gambar dan indikator yang sudah terinstall dan ribuan indikator
lainnya gratis didownload dari internet.
8. Dapat
membuat
indikator
sendiri
menggunakan
AFL
programming.
Programmingnya mudah dipelajari.
9. Harganya relatif terjangkau dibandingkan dengan software lain sejenis.
Bahasa
20 10. Lisensinya adalah lifetime seumur hidup.
Untuk tampilan amiBroker screenshot-nya dapat dilihat pada Gambar 2.6. Gambar
dibawah ini menggambarkan tentang grafik MA yang terdapat pada amiBroker. Dibawah grafik
MA terdapat grafik MACD dan RSI. Masing-masing mempunyai gaya tersendiri dalam
menampilkan arah dari pergerakan saham. Di dalam grafik tampak candlestick yang berwarna
hitam dan putih, sedangkan merah biru hijau adalah indikator yang memperlihatkan arah dari
pergerakan saham (arah tren saham).
Gambar 2.6 Tampilan AmiBroker versi 5.50 (Screenshot)
2.6.1 AFL (Amibroker Formula Language)
AFL merupakan bahasa pemrograman khusus yang digunakan untuk mendefinisikan dan
membuat indikator kustom, scan, eksplorasi, back-tes dan komentar. AmiBroker dilengkapi
dengan bahasa pemrograman yang memungkinkan untuk menulis aturan sistem perdagangan,
menentukan indikator sendiri dan komentar kustom. AFL adalah alat seperti analisa otomatis dan
editor formula. AFL digunakan untuk mendefinisikan aturan perdagangan dan eksplorasi di
21 jendela analisis Otomatis, komentar kustom di jendela Komentar dan formula indikator di
jendela Formula Editor.
Gambar dibawah ini adalah screenshot dari AFL MA (Moving Average) pada amiBroker
5.50.
Gambar 2.7 Tampilan formula AFL (Screenshot)
2.6.2 AmiBroker Development Kit (ADK)
AmiBroker Developlent Kit (ADK) adalah paket untuk C / C + + yang memungkinkan
pengembang untuk mengembangkan indikator sendiri atau plugin Data DLL. Saat ini ada tiga
jenis plugin yang didukung oleh antarmuka AmiBroker plugin yaitu:
1. AFL plugin
2. Data pluginss
3. Optimizer plugin
22 AFL plugin dapat mengekspos jumlah fungsi tak terbatas untuk mesin AFL. Fungsi yang
disediakan oleh plugin yang terintegrasi erat dengan AFL pada amiBroker.
Data plugins memungkinkan untuk menghubungkan sumber data eksternal. Antarmuka
memungkinkan untuk menggunakan sumber data lokal seperti file berbasis database (Metastock
files, ASCII files, FastTrack, Quotes Plus) serta internet berbasis feeds (eSignal, myTrack,
QuoteTracker). Data plugins juga mendukung pemberitahuan informasi bahwa data baru saja
tiba pada amiBroker dan amiBroker pun dapat memberitahu plugin tentang perubahan
pengaturan atau tindakan pengguna (user). Plugin dapat dibuat dalam bahasa apapun yang
memenuhi persyaratan berikut:
1. Kemampuan untuk membangun reguler API-seperti 32bit atau 64 bit Windows DLL (non
ActiveX / COM).
2. Dukungan untuk tipe data / struktur ditentukan oleh pengguna.
3. Dukungan untuk jenis pointer data, pointer ke fungsi, fungsi memanggil dengan pointer
4. Dukungan untuk panggilan konvensi _cdecl.
2.7 Indikator
Di dalam analisis teknikal, pada umumnya menggunakan beberapa indikator teknis pada
grafik harga untuk menentukan apakah ada suatu kesempatan perdagangan yang bagus. Apakah
indikator-indikator teknikal itu? Indikator-indikator teknikal adalah garis atau batang lurus atau
titik atau grafik yang diperoleh dari rumusan dengan melibatkan harga di dalam suatu periode
historis yang telah ditentukan. Indikator bisa dikatakan sebagai pointer atau indeks, atau
instrument yang digunakan untuk memonitor operasi, kondisi mesin, data yang memberikan
informasi tentang atau memprediksi kesehatan keseluruhan dari ekonomi atau pasar keuangan,
contohnya adalah inflasi, suku bunga, pekerjaan, volume, dan insider trading.
AmiBroker memberikan gaya dan warna disesuaikan grafik dalam indikator kustom.
Fitur-fitur ini memungkinkan lebih banyak fleksibilitas dalam merancang indikator. Indikator
pada
amiBroker
adalah
garis
grafik
untuk
menghasilkan
sinyal
perdagangan
dan
mengidentifikasi level support dan resistance, memprediksi arah pergerakan saham entah itu
turun atau naik. Lihat Gambar 2.7.
23 Gambar 2.8 Indikator (garis berwarna biru, merah, hijau, abu-abu) pada amiBroker
2.8 Grafik Lilin (Candlestick Chart)
Salah satu cara untuk menganalisis teknikal adalah dengan membaca grafik lilin. Dengan
data yang diberikan candlestick yang telah terbentuk, maka pengguna bisa memprediksi seperti
apa candle yang selanjutnya akan terbentuk. Apakah candle akan turun atau naik. Sehingga jika
sudah memiliki gambaran lilin apa yang nantinya akan terbentuk, pengguna bisa mengambil
keputusan apakah akan membeli atau menjual.
2.8.1 Definisi Grafik Lilin
Grafik lilin (candlestick chart) adalah gaya grafik batang (chart bar) digunakan
terutama untuk menggambarkan pergerakan harga dari turunan, keamanan, atau mata uang dari
waktu ke waktu. Grafik candlestick merupakan kombinasi dari sebuah baris tabel dan grafik
batang, dalam setiap batang mewakili rentang pergerakan harga selama suatu interval waktu
tertentu. Hal ini paling sering digunakan dalam analisis teknis ekuitas dan harga mata uang pola.
Untuk lebih menyoroti pergerakan harga, grafik lilin sering mengganti hitam atau putih
dari tubuh lilin dengan warna seperti merah (untuk penutupan lebih rendah) dan biru atau hijau
(untuk penutupan lebih tinggi). Pada Gambar 2.8 batang lilin yang digunakan adalah
menggunakan warna hitam untuk bear candle (harga open di atas) dan putih untuk bull candle
(harga open dibawah).
24 Ketika jika saham ditutup di atas jangkauan, maka itu berarti pembeli lebih agresif dan
bersedia untuk membeli dengan harga sebesar apapun, dan penjual menjual dengan harga yang
tinggi. Hal ini menyebabkan saham naik. Sebaliknya, jka saham ditutup dibawah jangkauan atau
kisaran maka penjual lebih agresif dan menjual dengan harga sesuai permintaan atau murah.
Pembeli hanya bisa membeli murah. Hal ini menyebabkan saham menjadi turun.
Gambar 2.9 batang lilin menunjukkan naik dan turunya saham pada grafik (sumber: http://www.swing-tradestocks.com/ )
2.8.2 Grafik Lilin Pada AmiBroker
Candlestick Identification berasal dari AFL Candlestick Commentary yang sudah di
modifikasi menjadi lilin warna-warni. Formula indikator yang memungkinkan untuk memilih
pola batang lilin, menandai terjadinya lilin pada tabel, menampilkan frekuensi, dan menguji nilai
prediksi saham. Batang lilin juga termasuk dalam indikator, lihat Gambar 2.9. Pada gambar
dibawah ini batang lilin berwarna hitam dan putih, tetapi jika pengguna ingin mengatur sendiri
dengan merubah tampilan dengan warna yang berbeda, itu bisa dilakukan hanya tinggal
mengatur tampilan batang lilin di dalam amiBrokernya saja.
25 Gambar 2.10 Contoh bentuk candlestick pada amiBroker
2.9 Dynamic Link Library (DLL)
Dalam menjalankan suatu aplikasi terdapat banyak file pendukung untuk menampilkan
data-data dan fungsi sesuai kebutuhan user sebagai pemakai aplikasi. Dan salah satu cara untuk
menjalankan aplikasi adalah menggunakan DLL (Dynamic Link Library) agar aplikasi yang kita
buat akan lebih bersifat modular atau terancang sehingga lebih mudah untuk dikembangkan.
Karena pada prinsipnya data dan fungsi yang terdapat pada file DLL dapat diperbaharui dan
digunakan kembali tanpa membongkar aplikasi. DLL adalah file yang berisi kumpulan data dan
fungsi yang digunakan dalam menjalankan aplikasi atau suatu fungsi program.
File DLL merupakan bagian penting dari sistem operasi Windows, sebab file
ini menentukan apakah suatu program aplikasi (file.exe) dapat berjalan atau tidak. Walaupun
keberadaan nya tersebar di banyak tempat dalam sistem operasi, kebanyakan pengguna PC tidak
tahu atau tidak peduli apa yang di lakukan file-file ini. DLL biasanya ditulis dengan bahasa
C/C++, Delphi atau bahasa lainnya yang mendukung sistem operasi windows.
Konsep asli di balik file DLL adalah untuk menyederhanakan suatu program. Hal ini
diakui bahwa ada banyak fungsi umum untuk berbagai perangkat lunak. Sebagai contoh,
kebanyakan program perlu menciptakan antarmuka grafis yang muncul di layar. Oleh karena itu,
harus membuat kode program sendiri untuk membuat interface nya, program yang bersangkutan
26 akan memanggil sebuah
DLL
yang
memuat
fungsi
tersebut.
Idenya
adalah
untuk
memiliki central library, di mana setiap orang (program) dapat memperoleh fungsi yang umum
digunakan, atau yang diperlukan. Tujuannya adalah untuk menghemat kode program,
meningkatkan kecepatan, lebih efisien, dan lain-lain. Mereka disebut tautan dinamis (dynamic
link) karena mereka dimanfaatkan hanya ketika sebuah program memanggil mereka, dan
merekapun juga berjalan di ruang memori (memory area) tersendiri. Lebih dari satu program
dapat menggunakan fungsi DLL tertentu, bahkan pada waktu yang sama. Sehingga struktur
program (aplikasi) menjadi lebih sederhana.
Amibroker menyediakan sebuah bahasa pemrograman turunan dari bahasa C yang
disebut dengan AFL, kemudian dari formula tersebut dapat memanggil file DLL yang dibuat
menggunakan bahasa C. Sesuai dengan tujuan dari penulisan tugas akhir ini, penulis akan
membuat file DLL tersebut yang berisikan algoritma semut yang akan digunakan untuk
menganalisa pergerakan saham. 2.10 Jaringan Syaraf Tiruan (Artificial Neural Network (ANN))
Jaringan syaraf adalah merupakan salah satu representasi buatan dari otak manusia yang
selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia tersebut. Istilah
buatan disini digunakan karena jaringan syaraf ini diimplementasikan dengan menggunakan
program komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses
pembelajaran.
Jaringan saraf tiruan (JST) atau dikenal sebagai artificial neural netwok adalah suatu
metode komputasi yang meniru sistem jaringan saraf biologis. Metode ini menggunakan elemen
perhitungan non-linier dasar yang disebut neuron dan diorganisasikan sebagai jaringan yang
saling berhubungan, sehingga mirip dengan jaringan saraf manusia. JST dibentuk untuk
memecahkan suatu masalah tertentu seperti pengenalan pola atau klasifikasi karena proses
pembelajaran.
JST belajar dari suatu contoh karena mempunyai karakteristik yang adaptif, yaitu dapat
belajar dari data-data sebelumnya dan mengenal pola data yang selalu berubah. Selain itu, JST
merupakan suatu sistem yang tak terprogram, artinya semua keluaran atau kesimpulan yang
27 ditarik oleh jaringan didasarkan pada pengalamannya selama mengikuti proses pembelajaran
atau pelatihan.
JST ditentukan oleh 3 hal, yaitu:
1. Pola hubungan antar neuron (disebut arsitektur jaringan).
2. Metode
untuk
menentukan
bobot
penghubung
(disebut
sebagai
metode
training/learning)
3. Fungsi aktivasi, yaitu fungsi yang digunakan untuk menentukan keluaran suatu neuron
2.10.1 Model Neuron
Satu sel syaraf terdiri dari tiga bagian, yaitu: fungsi penjumlah (summing function), fungsi
aktivasi (activation function), dan keluaran (output). Perhatikan Gambar 2.11.
Gambar 2.11 Model Neuron (Sri Kusumadewi, 2003)
Pada gambar neuron diatas lebih mirip dengan sel neuron biologis. Informasi (input) akan
dikirim ke neuron dengan bobot tertentu. Input ini akan diproses oleh suatu fungsi yang akan
menjumlahkan nilai-nilai bobot yang ada. Hasil penjumlahan kemudian akan dibandingkan
dengan suatu nilai ambang (threshold) tertentu melalui fungsi aktivasi setiap neuron. Apabila
input tersebut melewati suatu nilai ambang tertentu, maka neuron tersebut akan diaktifkan, jika
tidak, maka neuron tidak akan diaktifkan. Apabila neuron tersebut diaktifkan , maka neuron
tersebut akan mengirimkan output melalui bobot-bobot outputnya ke semua neuron yang
berhubungan dengannya.
28 2.10.2 Konsep Jaringan Syaraf Tiruan
Pada setiap pola-pola informasu input dan output yang diberikan kedalam JST diproses
dalam neuron. Neuron-neuron tersebut terkumpul di dalam lapisan-lapisan yang disebut neuron
layers. Lapisan-lapisan penyusun JST tersebut dapat dibagi menjadi 3, yaitu:
1. Lapisan Input (Input layer)
Unit-unit di dalam lapisan input disebut unit-unit input. Unit-unit input tersebut
menerima pola inputan data dari luar yang menggambarkna suatu permasalahan.
2. Lapisan tersembunyi (Hidden Layer)
Unit-unit di dalam lapisan tersembunyi disebut unit-unit tersembunyi. Dimana outputnya
tidak dapat secara langsung diamati.
3. Lapisan Keluaran (Output Layer)
Unit-unit di dalam lapisan output disebut unit-unit output. Output dari lapisan ini
merupakan solusi JST terhadap suatu permasalahan.
2.10.3 Arsitektur Jaringan
JST memiliki tiga struktur jaringan yang sering digunakan dalam berbagai aplikasi, yaitu
sebagai berikut.
1. Jaringan layar tunggal (Single layer network)
Jaringan dengan lapisan tunggal terdiri dari satu layer input dan satu layer output.
Setiap neuron/unit yang terdapat di dalam layer/lapisan input selalu terhubung dengan
setiap neuron yang terdapat di layer output. Jaringan ini hanya menerima input
kemudian secara langsung akan mengolahnya menjadi output tanpa harus melalui
lapisan tersembunyi. Contoh algoritma JST yang menggunakan metode ini adalah
perceptron, Hopfield.
2. Jaringan layar jamak (Multi layer network)
Jaringan layar jamak memiliki tiga jenis layer yaitu layer input, layer output, dan layer
hidden (tersembunyi). Jaringan dengan banyak lapisan ini dapat menyelesaikan
permasalahan yang lebih kompleks dibandingkan jaringan dengan lapisan tunggal.
Contoh
algoritma
backpropagation.
JST
yang
menggunakan
metode
ini
adalah
Madaline,
29 3. Jaringan dengan lapisan kompetitif ( Competitive layer network)
Pada jaringan ini sekumpulan neuron bersaing untuk mendapatkan hak menjadi aktif.
2.10.4 Fungsi Aktivasi
Fungsi aktivasi digunakan untuk menentukan keluaran suatu neuron. Beberapa fungsi
aktivasi yang digunakan adalah:
1. Threshold (batas ambang)
1,
0,
0
0
Fungsi threshold merupakan fungsi threshold biner. Dalam kasus bilangan bipolar, maka
angka 0 diganti menjadi -1. Sehingga persamaannya diganti menjadi:
1,
1,
0
0
2. Fungsi Sigmoid
f(x) = 1/1+
Fungsi ini sering digunakan karena nilai fungsinya yang sangat mudah untuk
didiferensiasikan.
f(x) = f(x)(1-f(x))
3. Fungsi Bipolar
Fungsi bipolar menghasilkan output berupa 1, 0, atau -1.
Fungsi bipolar dirumuskan sebagai:
1
0
1
Keterangan: - Jika x > 0
- Jika x = 0
- Jika x < 0
2.10.5 Metode Pelatihan
Metode pelatihan JST dikelompokkan menjadi tiga yaitu:
1. Supervised Learning
30 Supervised learning menggunakan metode bahwa setiap pola yang diberikan kepada JST
telah diketahui outputnya. Selisih antara pola output aktual (output yang dihasilkan)
dengan output yang dikehendaki (output target) yang disebut error digunakan untuk
mengoreksi bobot JST sehingga JST mampu menghasilkan output sedekat mungkin
dengan pola target yang telah diketahui oleh JST. Contoh algortima yang menggunakan
metode ini adalah perceptron, backpropagation.
2. Unsupervised Learning
Unsupervised learning adalah metode yang tidak memerlukan target output. Pada metode
ini tidak dapat ditentukan hasil seperti apakah yang diharapkan selama proses
pembelajaran. Selama proses pembelajaran, nilai bobot disusun dalam suatu range
tertentu tergantung pada nilai input yang diberikan. Contoh algortima yang menggunakan
metode ini adalah Hebbian.
3. Hybrid Learning
Hybrid learning merupakan gabungan metode antara supervised learning dan
unsupervised learning. Contoh algortimanya yaitu RBF.
2.11 Bahasa Pemrograman C (C Programming Language)
Bahasa C merupakan bahasa pemrograman sederhana yang mempunyai pengaruh besar
terhadap bahasa pemrograman lainnya, terutama C ++ yang merupakan extensi dari C. Bahasa C,
saat ini menjadi bahasa pengantar bagi pemula untuk memasuki dunia pemrograman.
2.11.1 Sejarah dan Standar C
Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richards pada
tahun 1967. Bahasa ini memberikan ide kepada Ken Thompson yang kemudian mengembangkan
bahasa yang disebut dengan B pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah
bahasa C oleh Dennis Ritchie sekitar tahun 1970-an di Bell Telephone Laboratories Inc.
(sekarang adalah AT&T Bell Laboratories). Bahasa C pertama kali digunakan di computer
Digital Equipment Corporation PDP-11 yang menggunakan sistem operasi UNIX.
31 C adalah bahasa standar, artinya suatu program yang ditulis dengan versi bahasa C
tertentu yang akan dapat dikompilasi dengan versi bahasa C yang lain dengan sedikit modifikasi.
Standar bahasa C yang asli adalah standar dari UNIX. Patokan dari standar UNIX ini diambilkan
dari buku yang ditulis oleh Brian Kerninghan dan Dennis Ritchie berjudul “The C Programming
Language”, diterbitkan oleh Prentice-Hall tahun 1978. Deskripsi C dari Kerninghan dan Ritchie
ini kemudian dikenal secara umum sebagai “K&R C”.
2.11.2 Struktur Program C
Untuk dapat memahami bagaimana suatu program ditulis, maka struktur dari program
harus dimengerti terlebih dahulu. Struktur dari program C dapat dilihat sebagai kumpulan dari
sebuah atau lebih fungsi-fungsi. Fungsi pertama yang harus ada di program C sudah ditentukan
namanya, yaitu bernama main(). Suatu fungsi di program C dibuka dengan kurung kurawal ({)
dan ditutup dengan kurung kurawal tutup (}). Di antara kurung-kurung kurawal dapat dituliskan
statement-statement program C. Berikut ini adalah struktur dari program C.
<preprosesor directive>
{
<statement>;
<statement>;
}
Perhatikan Program sederhana berikut ini:
#include <stdio.h>
void main ()
{
printf (“Hello ^^”);
}
Penjelasan:
1. Header File
Header file adalah berkas yang berisi prototype fungsi. definisi konstanta. dan definisi
variable. Fungsi adalah kumpulan code C yang diberi nama dan ketika nama tersebut
dipanggil
32 maka kumpulan kode tersebut dijalankan.
Contoh :
stdio.h
math.h
conio.h
2. Preprosesor Directive (#include)
Preprosesor directive adalah bagian yang berisi pengikut sertaan file atau berkas-berkas
fungsi maupun pendefinisian konstanta.
Contoh:
#include <stdio.h>
#include phi 3.14
3. Void
Void artinya fungsi yang mengikutinya tidak memiliki nilai kembalian (return).
4. Main ( )
Fungsi main ( ) adalah fungsi yang pertama kali dijalankan ketika program dieksekusi.
tanpa fungsi main suatu program tidak dapat dieksekusi namun dapat dikompilasi.
5. Statement
Statement adalah instruksi atau perintah kepada suatu program ketika program itu
dieksekusi untuk menjalankan suatu aksi. Setiap statement diakhiri dengan titik-koma
(;).
2.12 Rapid Application Development (RAD)
Rapid application development (RAD) adalah sebuah model proses perkembangan
perangkat lunak sekuensial linier yang menekankan siklus pengembangan yang sangat
pendek. Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model
sekuensial linier di mana perkembangan cepat dicapai dengan menggunakan pendekatan
konstruksi berbasis komponen. Jika kebutuhan dipahami dengan baik, proses RAD
33 memungkinkan tim pengembangan menciptakan “sistem fungsional yang utuh” dalam
peeriode waktu yang sangat pendek (kira-kira 60 sampai 90 hari). Perhatikan gambar di
bawah ini, Gambar 2.11 adalah model dari RAD.
Karena dipakai terutama pada aplikasi sistem konstruksi, pendekatan RAD melingkupi
fase-fase sebagai berikut:
1. Pemodelan Bisnis. Aliran informasi diantara funsi-fungsi bisnis dimodelkan dengan
suatu cara untuk menjawab pertanyaan-pertanyaan berikut: Informasi apa yg
mengendalikan proses bisnis? Informasi apa yg dimunculkan? Siapa yg memunculkan?
Ke mana informasi itu pergi? Siapa yg memprosesnya?
2. Pemodelan Data. Aliran informasi yg di definisikan sebagai bagian dari fase bussiness
modelling di saring ke dalam serangkaian objek data yg dibutuhkan untuk menopang
bisnis tersebut. Karakteristik (disebut atribut) masing-masing objek diidentifikasi dan
hubungan antara objek-objek tersebut didefinisikan.
3. Pemodelan Proses. Aliran informasi yg didefinisikan di dalam fase data modelling
ditransformasikan untuk mencapai aliran informasi yg perlu bagi implementasi sebuah
fungsi bisnis. Gambaran pemrosesan digunakan untuk menambah, memodifikasi,
menghapus, atau mendapatkan kembali sebuah objek data.
4. Pembuatan Aplikasi. RAD mengasumsikan pemakaian teknik generasi ke-empat. Selain
menciptakan perangkat lunak dengan menggunakan bahasa pemrograman generasi ketiga yg konvensional, RAD lebih banyak memproses kerja untuk memakai lagi
komponen program yg ada (pada saat memungkinkan) atau menciptakan komponen yg
bisa dipakai lagi (bila perlu). Pada semua kasus, alat-alat bantu otomatis dipakai untuk
memfasilitasi konstruksi perangkat lunak.
5. Pengujian dan turnover. Karena proses RAD menekankan pada pemakaian kembali,
banyak komponen program telah diuji. Hal ini mengurangi keseluruhan waktu pengujian.
Tetapi komponen baru harus diuji dan semua interface harus dilatih secara penuh.
2.13 White Box
White box merupakan teknik pengujian dengan melihat ke dalam modul untuk meneliti
kode-kode program yang ada, dan menganalisis terjadi kesalahan atau tidak. Jika terdapat modul
34 yang menghasilkan output tidak sesuai dengan proses bisnis yang dilakukan, maka harus
dilakukannya perbaikan kemudian di compile ulang sampai berhasil.
Pengujian white box, yang kadang-kadang disebut pengujian glass-box, disebut sebagai
metode desain test case yang menggunakan struktur control desain procedural untuk
memperoleh test case. Dengan menggunakan metode pengujian white box, perekayasa sistem
dapat melakukan test case berupa:
1. Memberikan jaminan bahwa semua jalur independen pada suatu modul telah
digunakan paling tidak satu kali.
2. Menggunakan semua keputusan logis pada sisi true dan false.
3. Mengeksekusi semua loop pada batasan mereka dan pada batas operasional mereka.
4. Menggunakan struktur data internal untuk menjamin validitasnya.
2.13.1 Pengujian Basis Path
Pengujian basis path memungkinkan perancang test case mendapatkan ukuran kompleks
logical dari perancang procedural dan menggunakan ukuran ini sebagai petunjuk untuk
mendefinisikan himpunan jalur yang akan diuji. Basis Path menggunakan notasi graphatau flow
graph untuk menggambarkan aliran kontrolnya.
Pada pengujian basis path terdapat teknik untuk menguji program yaitu cyclomatic
complexity. Cyclomatic complexity merupakan merupakan suatu sistem pengukuran yang
menyediakan ukuran kuantitatif dari kompleksitas logika suatu program. Pada Basis Path
Testing, hasil daricyclomatic complexity digunakan untuk menentukan banyaknya independent
paths.Independent path adalah sebuah kondisi pada program yang menghubungkan node awal
dengan node akhir. Terdapat 2 persamaan yang digunakan, yaitu:
V(G)= E - N + 2 atau V(G)= P + 1
Keterangan:
V(G)= cyclomatic complexity untuk flow graph G
E=Jumlah edge(panah)
N=Jumlah node(lingkaran)
P=Jumlah predicate node
35 Gambar 2.12 RAD Modeling (sumber: Software Engineering: A Practitioner’s Approach, 6/e by R.S. Pressman &
Associates, Inc.)
2.14 Diagram Alur
Diagram alur atau flowchart merupakan sebuah diagram dengan simbol-simbol grafis yang
menyatakan aliran algoritma atau proses yang menampilkan langkah-langkah yang disimbolkan
dalam bentuk kotak, beserta urutannya dengan menghubungkan masing masing langkah tersebut
menggunakan tanda panah. Diagram ini bisa memberi solusi selangkah demi selangkah untuk
penyelesaian masalah yang ada di dalam proses atau algoritma tersebut.
Dalam penulisan diagram alur dikenal dengan dua model yaitu sistem diagram alur dan
program diagram alur. Di dalam penulisan tugas akhir ini adalah menggunakan program diagram
alur, yaitu bagian yang memperlihatkan urutan dan hubungan proses dalam suatu program.
Dua jenis metode penggambaran program diagram alur:
1. Diagram alur secara konseptual, menggambarkan alur pemecahan masalah secara global.
2. Diagram alur secara detail, menggambarkan alur pemecahan masalah secara rinci.
Tabel 2.1 dibawah ini adalah simbol-simbol dari diagram alur yang umum digunakan.
36 Gambar
Penjelasan
Simbol arus (flow), yaitu menjelaskan tentang jalanya arus suatu
proses.
Simbol penghubung (connector), berfungsi sebagai sambungan
dari proses ke proses lainnya dalam halaman yang sama.
Simbol Proses (process), yaitu menyatakan suatu tindakan
(proses) yang dilakukan oleh computer.
Simbol keputusan (decision), yaitu menunjukkan suatu kondisi
tertentu yang akan menghasilkan dua kemungkinan jawaban:
ya/tidak.
Simbol terminal, yaitu menyatakan permulaan dan akhir dari
suatu program.
Simbol input/output, yaitu menyatakan input atau output tanpa
tergantung jenis peralatannya.
Simbol display, yaitu mencetak keluaran dalam layar monitor.
Tabel 2.1 Tabel Diagram Alur
Download