BAB 2 LANDASAN TEORI
2.1
Saham Saham adalah tanda penyertaan atau kepemilikan seseorang atau badan, dalam
suatu perusahaan yang akan memberikan keuntungan dalam bentuk deviden dan capital gain. Artinya jika seseorang membeli selembar saham, maka dia telah menjadi salah satu pemilik perusahaan sekian persen yang tertulis di dalam kertas saham tersebut. Terdapat beberapa jenis saham, yaitu : Saham biasa Saham biasa sesuai dengan namanya, adalah jenis saham yang paling mudah ditemukan dalam pasar modal. Pemegang saham biasa memiliki hak voting dalam pengambilan keputusan dalam perusahaan. Saham biasa atau common stock antara lain : 1.
Blue Chip-Stock (Saham Unggulan)
Adalah saham dengan tingkat imbal investasi paling stabil dan memiliki reputasi yang baik dan dalam sejarahnya mampu membayar deviden secara konsisten. Biasanya perusahaan tersebut merupakan leader dari perusahaan sejenis dan industrinya memiliki stabilitas usaha yang tinggi dan merupakan standar untuk mengukur perusahaan lain. 2.
Growth Stock
Adalah saham dengan tingkat imbal investasinya yang lebih tinggi dari saham sejenis, Contoh growth company : perusahaan penyedia jasa internet.
6
3.
Defensive Stock
Adalah saham yang penurunan imbal investasinya tidak sebesar penurunan imbal investasi pasar secara keseluruhan. Saham jenis ini memiliki systematic risk (beta) yang rendah. Contoh defensive company adalah perusahaan penyedia kebutuhan pokok (missal distributor makanan pokok seperti beras atau gula). 4.
Cyclical Stock
Adalah saham yang memiliki tingkat imbal investasi yang berfluktuatif dibandingkan dengan imbal investasi pasar secara keseluruhan. Saham ini memiliki systematic risk (beta) yang tinggi. Contoh cyclical company adalah perusahaan property. 5.
Seasonal Stock
Adalah saham yang memiliki tingkat imbal investasi yang sangat fluktuatif sesuai dengan periode (musim) tertentu. Contoh seasional company adalah perusahaan kartu ucapan. 6.
Speculative Stock
Adalah saham yang memiliki tingkat imbal investasi yang rendah atau negative dan memiliki kemungkinan kecil untuk memberikan imbal investasi yang normal atau tinggi. contoh spekulative stock adalah saham pengeboran minyak. 7.
Saham preferen
Saham preferen memiliki prioritas utama disbanding saham biasa dalam pembagian deviden dan asset. Jika perusahaan dilikuidasi, pemegang saham jenis ini diutamakan. Pemegang saham preferen tidak memiliki hak voting dalam pengambilan keputusan perusahaan, walaupun ada juga saham preferen yang memiliki hak voting untuk hal-hal tertentu seperti pemilihan direktur. 7
Index saham Index saham adalah kumpulan dari saham-saham dan merupakan indikator pasar untuk mengukur dan mencatat rata-rata tingkat perubahan harga saham baik sebagian maupun keseluruhan harga saham biasa yang ditransaksikan di bursa. Fluktuasi harga saham selayaknya ekonomi biasa ditentukan oleh banyaknya permintaan dan penawaran. Penawaran yang tinggi akan menyebabkan penurunan harga saham dan permintaan yang tinggi akan menyebabkan kenaikan harga saham. Penawaran dan permintaan dipicu oleh berbagai faktor baik secara langsung maupun tidak langsung. Berbagai faktor tersebut dapat dijadikan indikator apakah harga saham naik atau turun. Untuk menganalisa faktor-faktor tersebut digunakan metode analisa fundamental dan analisa tehnikal. Analisa fundamental adalah suatu metode analisis yang menggunakan data ekonomi, seperti data produksi, konsumsi dan pendapatan rumah tangga untuk meramalkan pergerakan harga. Analisa tehnikal adalah analisa yang dilakukan terhadap pola pergerakan harga di masa lampau dengan tujuan untuk meramalkan pergerakan harga di masa yang akan dating. Analisa ini sering juga disebut chartist karena para analisisnya melakukan studi dengan menggunakan grafik untuk menemukan pola pergerakan harga di masa mendatang.
Tiga buah prinsip yang digunakan sebagai dasar dalam melakukan analisis teknikal, yaitu : 1. Market Price Discounts Everything Yaitu segala kejadian-kejadian yang dapat mengakibatkan gejolak pada bursa saham secara keseluruhan atau harga saham suatu perusahaan seperti faktor ekonomi, politik 8
fundamental dan termasuk juga kejadian-kejadian yang tidak dapat diprediksikan sebelumnya seperti adanya peperangan, gempa bumi dan lain sebagainya akan tercermin pada harga pasar.
2. Price Moves in Trend Yaitu harga suatu saham akan tetap bergerak dalam suatu trend. Harga mulai bergerak ke satu arah, turun atau naik. Trend ini akan berkelanjutan sampai pergerakan harga melambat dan memberikan peringatan sebelum berbalik dan bergerak kea rah yang berlawanan.
3. History Repeats It Self Karena analisis teknikal juga menggambarkan faktor psikologis para pelaku pasar, maka pergerakan historis dapat dijadikan acuan untuk memprediksi pergerakan harga di masa yang akan datang.
Pola historis ini dapat terlihat dari waktu ke waktu di grafik. Pola-pola ini mempunyai makna yang dapat diinterprestasikan untuk memprediksikan pergerakan harga.
2.2
ANN Backpropagation Pembelajaran pada ANN secara umum terbagi menjadi dua yaitu pembelajaran
terawasi (supervised learning) dan pembelajaran tak terawasi (unsupervised learning). Pada supervised learning, output yang diharapkan sudah diketahui dan dijadikan acuan bagi proses pembelajaran. Sedangkan pada unsupervised learning tidak ada hasil yang 9
dijadikan acuan. Masalah-masalah yang diselesaikan dengan metode pembelajaran ini adalah masalah-masalah yang tidak memiliki suatu nilai output harapan, misalnya untuk proses klasifikasi. ANN Backpropagation merupakan metode pembelajaran yang temasuk ke dalam kategori supervised learning, metode ini diperkenalkan oleh David Rumelhart dan James McClelland pada tahun 1986 [Fausett, 1994, p289]. Pada dasarnya, apabila pada proses pembelajaran dihasilkan output yang tidak sesuai dengan hasil yang diharapkan, maka harus ada nilai bobot yang disesuaikan. Penyesuaian ini dilakukan mulai secara mundur dari satu neuron ke neuron-neuron sebelumnya. Sistem ini dibagi menjadi dua bagian yaitu tahap pelatihan (training) dan tahap pengujian (testing). Dalam tahap pelatihan ini data dibaca dari suatu file berupa urutan masukan (input) dan keluaran (output) atau yang diberi nama Training pairs. Hasil dari proses pelatihan ini adalah menentukan bobot (weight) dari input neuron sebelumnya. Sedangkan pada tahap pengujian diberi sejumlah data masukan untuk diuji berdasarkan hasil dari pelatihan jaringan tersebut, data yang diuji dapat berasal dari data yang telah dilatih atau di luar data pelatihan (out of sample data). Pada saat proses langkah maju (feedforward), neuron-neuron diaktifkan dengan menggunakan fungsi aktivasi sigmoid, bisa berupa sigmoid biner maupun bipolar sesuai dengan kebutuhan penggunaan input atau output. Berikut jenis-jenis fungsi aktivasi yang dapat digunakan dalam jaringan syaraf tiruan :
10
Fungsi Undak Biner (hard limit) Jaringan dengan lapisan tunggal yang sering menggunakan fungsi undak untuk mengkonversikan input dari suatu variable yang bernilai kontinu ke suatu output biner. Fungsi undak biner dirumuskan sebagai :
Gambar 2.1 Fungsi Undak Biner (Hard Limit)
Fungsi Undak Biner (threeshold) Fungsi undak biner yang menggunakan nilai ambang sering disebut dengan nama fungsi ambang atau fungsi heaviside. fungsi undak biner dengan threeshold dirumuskan sebagai berikut.
11
Gambar 2.2 Fungsi Undak Biner (Threeshold)
Fungsi Bipolar (symetric hard limit) Fungsi bipolar sebenarnya hampir sama dengan fungsi undak biner hanya saja output yang dihasilkan berupa 1,0,-1. Fungsi ini dirumuskan sebagai berikut.
Gambar 2.3 Fungsi Bipolar (Symetric Hard Limit)
12
Fungsi Bipolar dengan Threeshold Fungsi bipolar threeshold sebenarnya hampir sama dengan fungsi undak biner dengan threeshold hanya saja output yang dihasilkan berupa 1,-1. Fungsi ini dirumuskan sebagai berikut.
Gambar 2.4 Fungsi Bipolar (Threeshold)
Fungsi Identitas Fungsi liniear yang memiliki nilai output sama dengan nilai inputnya. Fungsi linear dirumuskan sebagai berikut. y = x
Gambar 2.5 Fungsi Identitas 13
Fungsi Saturating Linear Fungsi ini akan bernilai 0 jika inputnya kurang dari – ½ , dan akan bernilai 1 jika inputnya lebih dari ½. Sedangkan jika nilai input terletak antara -½ dan ½ , maka outputnya akan bernilai sama dengan nilai input + ½. Fungsi ini dirumuskan sebagai berikut.
Gambar 2.6 Fungsi Saturating Linear
Fungsi Symetric Saturating Linear Fungsi ini akan bernilai -1 jika inputnya kurang dari – 1 , dan akan bernilai 1 jika inputnya lebih dari 1. Sedangkan jika nilai input terletak antara -1 dan 1 , maka outputnya akan bernilai sama dengan nilai inputnya. Fungsi ini dirumuskan sebagai berikut.
14
Gambar 2.7 Fungsi Symetric Saturating Linear
Fungsi Sigmoid Biner Fungsi ini digunakan untuk jaringan syaraf yang dilatih dengan menggunakan metode Backpropagation. Fungsi ini memiliki nilai pada range 0 sampai 1. oleh karena itu, fungsi ini sering digunakan untuk jaringan syaraf yang membutuhkan nilai output yang terletak pada interval 0 sampai 1. Namun, fungsi ini bisa juga digunakan oleh jaringan syaraf yang nilai outputnya 0 atau 1. fungsi ini dirumuskan sebagai berikut.
dengan f`(x) = σf(x)[1-f(x)]
Gambar 2.8 Fungsi Sigmoid Biner
15
Fungsi Sigmoid Bipolar Fungsi ini hampir sama dengan fungsi sigmoid biner,hanya saja outputnya memiliki range antara 1 sampei -1. fungsi ini dirumuskan sebagai berikut.
dengan f`(x) = σ/2 [1+f(x)][1-f(x)]
Gambar 2.9 Fungsi Sigmoid Bipolar
2.3
Arsitektur Jaringan Contoh arsitektur jaringan backpropagation dapat dilihat pada gambar berikut:
Gambar 2.10 Arsitektur Jaringan Backpropagation (Kusumadewi, 2003, p236) 16
Seperti telah dijelaskan sebelumnya bahwa neuron neuron dikelompokan dalam lapisan lapisan. Umumnya, neuron neuron yang terletak pada lapisan yang sama memiliki karakteristik yang sama. Faktor terpenting dalam menentukan karakteristik suatu neuron adalah fungsi aktifasinya dan pola bobotnya. Pada setiap lapisan yang sama, neuron neuron akan memiliki fungsi aktivasi yang sama. Apabila neuron neuron dalam suatu lapisan akan dihubungkan dengan neuron neuron lapisan yang lain, maka setiap neuron pada lapisan tersebut juga harus dihubungkan dengan setiap neuron lainnya pada lapisan yang dituju. Pada gambar 2.10, tidak terdapat node khusus yang dinamakan node bias. Bias adalah node tambahan selain node- node yang telah dirancang pada arsitektur jaringan syaraf tiruan.Bias ini berperan untuk menambah keragaman dari nilai bobot jaringan, dimana bila nilai bias ditingkatkan maka akan meningkatkan nilai input jaringan ke dalam unit lapisan berikutnya dan biasanya node bias diberi nilai aktivasi 1. Umumnya setiap lapisan selain output layer diberi satu buah node bias, dalam gambar 2.10 seharusnya diletakkan pada layer X dan layer Z. Ada beberapa arsitektur jaringan syaraf, antara lain : Jaringan dengan Lapisan Tunggal Jaringan dengan lapisan tunggal hanya memiliki satu lapisan dengan bobot terhubung. Jaringan ini hanya menerima input kemudian secara langsung mengolahnya menjadi output tanpa harus melalui lapisan tersembunyi.
17
Gambar 2.11 Jaringan Syaraf Tiruan dengan Lapisan Tunggal
Jaringan dengan Banyak Lapisan Jaringan dengan banyak lapisan memiliki 1 atau lebih lapisan yang terletak diantara lapisan input dan lapisan output. Seperti terlihat gambar dibawah ada lapisan lapisan yang terletak diantara 2 lapisan yang bersebelahan. Jaringan dengan banyak lapisan ini dapat menyelesaikan permasalahan lebih sulit dari pada jaringan lapisan tunggal, tentu saja dengan pembelajaran yang lebih rumit. Namun demikian, pada banyak kasus, pembelajaran pada jaringan dengan banyak lapisan ini lebih sukses dalam menyelesaikan masalah. 18
Gambar 2.12 Jaringan dengan Banyak Lapisan
Pada algoritma pelatihan backpropagation terdiri atas dua tahap, yaitu tahap feedforward dan tahap backward dimana pada tahap feedforward merupakan proses perhitungan nilai input ke dalam jaringan, sedangkan pada tahap backward merupakan penyesuaian bobot di dalam jaringan yang berdasarkan hasil perhitungan pada feedforward. Pelatihan ini dilakukan untuk menyesuaikan nilai-nilai bobot interkoneksi jaringan dengan target output / referensi sebagai acuan hasilnya. Proses penyesuaian
19
bobot ini mempunyai batasan / kriteria untuk berhenti, dimana batasan tersebut diatur oleh target error yang diinginkan. Pada tahap feedforward jaringan menghasilkan nilai hasil perhitungan yang kemudian dibandingkan dengan target outputnya sehingga menghasilkan selisih error untuk kemudian dilakukan penyesuaian bobot pada tahap backward dengan mengirimkan informasi selisih error tersebut.
Algoritma pelatihan ANN backpropagation adalah sebagai berikut: Langkah 0 : Inisialisasi bobot (bangkitkan nilai bilangan acak yang kecil) Langkah 1 : Selama kondisi berhenti false, lakukan langkah 2-9 Langkah 2 : Untuk setiap pasangan data pelatihan, lakukan langkah 3-8 Feedforward (langkah maju): Langkah 3 : Setiap unit input (Xi, i = 1, ..., n) menerima sinyal input xi dan meneruskan sinyal tersebut ke semua unit pada lapisan diatasnya (hidden layer). Langkah 4 : Setiap unit tersembunyi (Zj, j = 1, ..., p) Menjumlahkan sinyal-sinyal input terbobot, n
z_inj = v0j + Σ xivij i=1
gunakan fungsi aktivasi untuk menghitung sinyal outputnya, zj = f(z_inj) dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output). Langkah 5 : Setiap unit output (Yk, k = 1, ..., m) menjumlahkan sinyal-sinyal input terbobot, 20
p
y_ink = w0k + Σ zjwjk j=1
Gunakan fungsi aktivasi untuk menghitung sinyal outputnya, yk = f(y_ink) Backward (langkah mundur): Langkah 6 : Tiap-tiap unit output (Yk, k = 1, ..., m) menerima pola target yang berhubungan dengan pola input pembelajaran, hitung informasi errornya, δk = (tk - yk) f’(y_ink) hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai wjk), Δwjk = α δkzj Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai w0k), Δw0k = αδk Dan kirimkan nilai δk ke unit-unit yang ada di lapisan bawahnya. Langkah 7 : Tiap-tiap hidden unit (Zj, j = 1, ..., p) menjumlahkan delta inputnya (dari unit yang berbeda pada lapisan atasnya), m
δ_inj = Σ δkwjk k=1
kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi errornya, δj = δ_inj f’(z_inj) kemudian hitung koreksi bobot (yang nantinya digunakan untuk memperbaiki nilai vij), Δvij = α δjxi 21
Hitung juga koreksi bias (yang nantinya digunakan untuk memperbaiki nilai v0j), Δv0j = αδj Perbaikan bobot dan bias : Langkah 8 : Setiap unit output (Yk, k = 1, ..., m) memperbaiki bobot dan biasnya (j = 0, …, p), wjk(baru) = wjk(lama) + Δwjk Setiap unit tersembunyi (Zj, j = 1, ..., p) memperbaiki bobot dan biasnya (i= 0, …, n), vij(baru) = vij(lama) + Δvij Langkah 9 : Tes kondisi berhenti
Untuk lebih jelasnya, proses pelatihan pada algoritma backpropagation digambarkan dalam diagram alir berikut:
22
Gambar 2.13 Diagram Alir pada Algoritma Pelatihan Backpropagation 23
Epoch adalah satu iterasi/putaran sampai semua vektor data pelatihan telah dilatih. Biasanya diperlukan banyak epoch dalam proses pembelajaran ANN backpropagation. Dasar matematis untuk algoritma backpropagation adalah teknik optimasi yang dikenal sebagai gradient descent (kecuraman penurunan). Kecuraman dari fungsi (dalam hal ini, fungsi adalah error dan variabel adalah bobot dari jaringan) memberikan arah yang mana fungsi tersebut akan meningkat dengan cepat [Fausett, 1994, p296]. Pada algoritma pengujian ANN hanya terdapat satu tahap, yaitu tahap feedforward. Tahap ini sama seperti tahap feedforward pada algoritma pelatihan di mana tahap tersebut memberikan nilai input ke dalam jaringan. Yang membedakan adalah pada algoritma pengujian tidak ada tahap backward sebab jaringan pada algoritma pengujian ini merupakan jaringan yang sudah melalui tahap pelatihan. Bobot interkoneksi jaringan merupakan nilai akhir bobot setelah melakukan tahap pelatihan sehingga jaringan untuk pengujian mempunyai arsitektur yang tetap seperti pada tahap pelatihan dengan nilai bobot akhir hasil pelatihan tersebut.
Algoritma pengujian ANN backpropagation adalah sebagai berikut Feedforward (langkah maju): Langkah 1 : Setiap unit input (Xi, i = 1, ..., n) menerima sinyal input xi dan meneruskan sinyal tersebut ke semua unit pada lapisan di atasnya (hidden layer). Langkah 2 : Setiap unit tersembunyi (Zj, j = 1, ..., p) menjumlahkan sinyal-sinyal input terbobot,
24
n
z_inj = v0j + Σ xivij i=1
gunakan fungsi aktivasi untuk menghitung sinyal outputnya, zj = f(z_inj) dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output). Langkah 3 : Setiap unit output (Yk, k = 1, ..., m) menjumlahkan sinyal-sinyal input terbobot, p
y_ink = w0k + Σ zjwjk j=1
gunakan fungsi aktivasi untuk menghitung sinyal outputnya, yk = f(y_ink)
2.4
Pengaruh Parameter terhadap Unjuk Kerja Backpropagation Algoritma Backpropagation terdiri dari banyak parameter yang sangat
mempengaruhi unjuk kerja prosesnya. Kesalahan dalam menentukan nilai dari parameternya akan menyebabkan lambatnya atau gagalnya proses training. Berikut hal yang perlu diperhatikan untuk pemanfaatan algoritma pelatihan Error Backpropagation, antara lain (Saludin Muis, hal. 181): a. Bobot (w atau v) : Nilai bobot yang terlalu kecil akan menghasilkan nilai keluaran jaringan syaraf baik ke neuron tersembunyi maupun ke neuron keluaran mendekati nol, ini menyebabkan waktu panjang untuk proses pelatihan / pembelajaran.
25
Sebaliknya nilai bobot yang terlalu besar akan menghasilkan nilai keluaran jaringan syaraf baik ke neuron tersembunyi maupun ke neuron keluaran mendekati daerah kejenuhan fungsi sigmoid sehingga turunan fungsi sigmoid memberikan nilai sangat kecil. Nilai inisialisasi bobot awal pada umumnya antara -0.5 sampai 0.5. di samping itu inisialisasi bobot secara dinamis selama proses pelatihan akan sangat menentukan kecepatan belajar neuron lapisan tersembunyi.
b. Lama proses pelatihan Pelatihan jaringan syaraf error Back-propagation ditujukan untuk memperoleh hasil keluaran(untuk tiap pola masukan) sama dengan pola asli yang dijadikan sebagai acuan pelatihan. Dengan demikian selama ada perbaikan nilai kesalahan(kemelesetan antara hasil keluaran jaringan syaraf dengan nilai target) proses pelatihan dilanjutkan, sebaliknya bila nilai kemelesetan membesar maka pelatihan dihentikan. Dalam kasus tertentu yang tidak menuntut tingkat ketelitian tinggi, lama proses pelatihan ditentukan dati awal misalnya k kali proses pelatihan (k = 1, 2… max)
c. Banyaknya pola masukan Ada hubungan antara banyakan pola masukan P yang tersedia untuk pelatihan dengan banyaknya bobot W yang hendak dilatih dan ketelitian e yang diharapkan. Misalnya tingkat ketelitian yang diharapkan e = 0,1 (kesalahan 10%) dan banyaknya bobot yang hendak dilatih 80, maka banyaknya data pola masukan yang diperlukan adalah 800. 26
d. Presentasi data Pada umumnya jaringan syaraf tiruan dapat dilatih dengan data masukan berupa kontinu atau diskrit (berupa nilai 1 atau 0). Misalnya parameter suhu, suhu dapat dipresentasikan dalam bentuk nilai kontinu untuk mencakup seluruh jangkauan dengan satu neuron masukan, tapi dapat juga dipresentasikan 1-0 untuk mencakup jangkauan kategori suhu yaitu panas, suhu ruang, sejuk dan dingin dengan empat neuron. Jaringan syaraf tiruan lebih mudah dilatih dengan data diskrit daripada data kontinu, di samping itu perlu menghindari data kontinu dipakai untuk membedakan jangkauan parameter masukan secara kualitatif seperti kategori ya-tidak-mendekati.
e. Banyaknya neuron lapisan yang tersembunyi Banyaknya lapisan neuron yang tersembunyi berkaitan dengan ‘jumlah’ lapisan neuron tersembunyi. Pada umumnya, jaringan syaraf dengan tiga lapisan neuron yaitu lapisan masukan, laspisan tersembunyi , dan lapisan keluaran sudah mampu memberikan tingkat ketelitian yang cukup memadai. Memperbanyak lapisan neuron tersembunyi diharapkan mampu meningkatkan ketelitian, akan tetapi tingkat ketelitian juga dipengaruhi oleh faktor lain seperti banyaknya pola masukan yang akan dipakai untuk melatih jaringan syaraf dan fungsi aktivasi. Untuk jumlah neuron pada setiap lapisan, bila jumlah neuron masukan dimisalkan n, neuron tersembunyi akan berjumlah 2n+1, sedangkan untuk lapisan keluaran berjumlah m.
27
2.5
Tahapan - Tahapan Proses Estimasi Sistem estimasi penting untuk mengambil langkah yang menguntungkan investor
dalam melakukan aksinya seperti kapan waktu yang baik untuk menjual ataupun membeli saham, dengan cara melihat patokan harga high dan low ataupun dengan cara lainnya. Walaupun hasil estimasi dengan kenyataan tidak selalu tepat, namun sistem ini tetap sangat penting dan sangat diperlukan sebagai pembantu dalam proses pengambilan keputusan. Banyak perusahaan, distributor, organisasi yang terbaik di dunia menggunakan sistem estimasi yang canggih dalam melakukan rencana proses kerjanya [DeLurgio, 1998, p5]. Berikut merupakan tahapan-tahapan dalam proses estimasi yang digambarkan dalam diagram alir
28
Gambar 2.14 Diagram Alir Metode Ilmiah dalam Proses Estimasi Sumber : De Lurgio, 1998, p27
29
Namun secara keseluruhan proses estimasi, untuk mendapatkan estimasi yang aktual dibutuhkan data lalu / histori data yang aktual juga. Sistem mempelajari model pola data yang lalu (backcast) untuk menentukan pola tersebut kedepan (forecast), dan menurut DeLurgio [1998, p17] “A good forecast requires a good backcast”.
2.6
Estimasi dengan Metode ANN Backpropagation Keunggulan yang utama dari ANN adalah kemampuan untuk belajar dari contoh
yang diberikan. Algoritma belajar yang digunakan adalah algoritma backpropagation. Pada algoritma ini digunakan data referensi dari luar (sebagai pengajar) dibandingkan dengan data keluaran ANN, hasilnya berupa sinyal kesalahan/selisih error yang kemudian dilakukan proses perbaikan error untuk mengubah nilai bobot di setiap interkoneksi pada ANN.
Gambar 2.15 Urutan Data dalam Proses Pembelajaran Backpropagation Keterangan: x
vektor input pelatihan
x = (x1,.., xi) 30
o
vektor output pelatihan
o = (o1,.., oj) Y vektor output target (referensi) Y = (Y1, ..., Yr) δj porsi koreksi kesalahan untuk pengaturan bobot wij α
konstanta laju belajar (learning rate)
μ konstanta momentum wij bobot koneksi antara neuron i ke neuron j Gambar 2.13 di atas merupakan urutan data dalam proses pembelajaran backpropagation pada ANN. Di bawah ini merupakan contoh langkah dalam membangun sistem estimasi dengan metode backpropagation.
Gambar 2.16 ANN Sederhana 2x1x1 (Sumber : DeLurgio, 1998, p678)
31
a. Tentukan struktur jaringan ANN berdasarkan teori pendukung tentang apa yang mempengaruhi variabel dependen. Sebagai contoh, struktur jaringan pada gambar Gambar 2.14. Pada umumnya, hal ini menyangkut pemilihan variabel input, jumlah node input, jumlah hidden layer dan nodenya,fungsi aktivasi, dan jumlah output node. b. Bagi data input dan data output menjadi dua bagian, yang pertama digunakan untuk melatih ANN, dan yang kedua digunakan untuk menguji jaringan dengan contoh percobaan di luar sampel atau estimasi. c. Memberi skala semua variabel input dan output yang diharapkan dalam rentang 0 sampai 1. Karena struktur matematis dari jaringan, maka penting untuk memberi skala variabel antara 0 sampai 1. Hal ini tidak mempengaruhi pola aslinya atau nilainya. d. Inisialisasi bobot dan mulai epoch pembelajaran menggunakan pasangan data pelatihan (pada gambar 2.14 terdapat 3 data) dengan mengulangi langkah (e) sampai (m). Satu epoch merupakan perhitungan dari error atau kesalahan dan perubahan penyesuaian bobot dengan memproses pada semua pasangan data pelatihan. Pada langkah ini nilai inisialisasi juga diberikan pada semua bobot wij dalam ANN. Nilai ini mempengaruhi kecepatan dan hasil RMS dari proses pelatihan. Kebanyakan percobaan menggunakan inisialisasi bobot dengan semua 0, bilangan acak dengan rentang -1 sampai 1 atau dari -0,5 sampai 0,5. e. Input dari pasangan data pelatihan yang sudah diskalakan diberkan ke node 1 dan 0 pada contoh gambar 2.14. f. Distribusikan input-input terskala ke setiap node tersembunyi (dalam contoh ini hanya terdapat satu hidden node). Pada umumnya, tiap node tersembunyi 32
menerima semua variabel input terskala, yang menyebabkan pengolahan semua input pada beberapa node. Pada layer input, output Oj sama dengan nilai input Ij. O0 = I0 O1 = I1 g. Hitung dan jumlahkan input pada node penerima. Pada tiap node tersembunyi (pada contoh node 3), output dari input node (node 0 dan 1 ) akan dikalikan dengan bobot lalu dijumlahkan, maka input ke node 3: I3 = w03O0 + w13O1 h. Ubah input pada hidden node menjadi output. Pada setiap hidden node, input terbobot diubah dengan fungsi aktivasi dalam rentang 0 sampai 1.
i. Hitung dan jumlahkan output pada hidden node sebagai input untuk output node. Output pada hidden node O3, dan pada bias (pada contoh node 2) dikalikan dengan bobot dan dijumlahkan.
j. Ubah input pada output node. Pada node output 4, input terbobot I4 diubah menjadi output O4 dalam rentang 0 sampai 1. Ini adalah hasil akhir dari ANN.
k. Hitung error output. Nilai output terskala O4 dibandingkan dengan nilai output yang diharapkan D4, dan error dihitung :
33
Dimana i adalah nomor data pada pasangan data pelatihan (training set)
l. Backpropagation error untuk pengaturan bobot. Berdasarkan error pada langkah (k), bobot pada keseluruhan jaringan disesuaikan untuk mengecilkan / meminimalisasi nilai error RMS (Root Mean Square). Ini merupakan proses backpropagation yang akan lebih diuraikan pada bab 3. m. Lanjutkan epoch. Ulangi langkah (e) sampai (l) untuk semua pengamatan pada data pasangan input (pada gambar 2.14 hanya ada 3). Setiap data pengamatan yang sudah dilalui dinamakan epoch. Saat semua data pengamatan telah di proses (contoh : satu epoch selesai), lanjut ke langkah (n). n. Hitung nilai error RMS tiap epoch. Jika nilai RMS ini sudah cukup rendah, berhenti dan lanjut ke langkah (o). Jika RMS tidak cukup rendah, ulangi langkah (e) ke (n) sampai kondisi berhenti tercapai.
dimana : RMS = perkiraan sisa error ei = error yang terjadi setiap pengamatan pada epoch terakhir nt = jumlah data pelatihan / training set o. Tentukan keabsahan data out-of-sample. Setelah melatih ANN menggunakan satu set data input / pelatihan, sekarang ANN diuji dengan menggunakan data pengujian (validate). Pada contoh, gunakan ANN yang telah dilatih dengan langkah (a) sampai (n) untuk mendapatkan output. Jika RMS pada contoh out-of-
34
sample konsisten dengan RMS pada pelatihan, maka model tersebut valid. Jika model tidak valid, ulangi percobaan setelah : 1. Mencoba nilai inisial yang lain untuk bobot 2. Desain ulang ANN ( seperti melebihkan/mengurangi layer / node) 3. Mencoba metode ANN yang lain 4. Jangan gunakan ANN sebagai metode untuk peramalan
2.7
Teknik penarikan contoh Pengambilan contoh secara acak sederhana tidak mungkin dilakukan pada
percobaan-percobaan tertentu dikarenakan faktor efisien dan memberikan informasi yang lebih banyak mengenai populasi tersebut tanpa biaya tambahan, atau memberikan sejumlah informasi yang sama dengan biaya yang lebih rendah. Salah satu prosedur penarikan contoh yang banyak digunakan adalah pengambilan unsur-unsur secara sistematik dari populasi tersebut, misalnya saja setiap barang yang ke 10 diambil sebagai contoh untuk diperiksa atau setiap orang yang ke 25 dalam buku telepon diwawancarai, dan lain sebagainya. Definisi penarikan contoh sistematik : Penarikan contoh sistematik mengambil setiap unsur ke k dalam populasi untuk dijadikan contoh dengan titik awal ditentukan secara acak di antara k unsur yang pertama.Contoh sistematik sangat mudah diperoleh dan banyak digunakan dengan mengganggap seolah-olah merupakan contoh acak. Sesungguhnya, contoh sistematik dapat menghasilkan kesimpulan yang lebih tepat mengenai parameter populasi, karena nilai-nilai pengamatan contoh menyebar secara merata di seluruh populasi. Tetapi, bahaya yang sesungguhnya dalam penarikan contoh sistematik ini adalah bila selang contoh yang kita pilih sama dengan periodisitas yang 35
tersembunyi dalam populasi tersebut. Misalnya dalam pengambilan contoh untuk menentukan rata-rata penjualan bensin per bulan. Kita hendaknya tidak memilih setiap bulan yang ke 12, karena ini berarti contoh tersebut hanya mengandung hasil penjualan untuk bulan-bulan yang sama, yang mungkin saja adalah bulan di musim panas yang seperti biasanya terjadi peningkatan konsumsi bensin.
36