b. Analisis dan Perancangan Pada tahap ini dilakukan untuk menganalisis proses kerja algoritma genetika
dengan model multi agent dalam melakukan prediksi fluktuaksi nilai kurs mata uang, dan selanjutnya dilakukan perancangan sistem yang meliputi perancangan
proses kerja sistem, perancangan interface, serta algoritma pemograman. c. Implementasi
Tahap ini digunakan mengimplementasikan hasil analisis pada program Metatrader.
d. Pengujian Tahap ini digunakan untuk menguji coba sistem yang dibuat untuk mengetahui
sudah berjalan sesuai dengan tujuan penelitian atau tidak, serta kelebihan dan kelemahannya.
e. Dokumentasi dan Laporan Akhir Tahap ini dilakukan dokumentasi dari analisa dan implementasi yang digunakan
untuk menyajikan hasil penelitian tersebut ke dalam sebuah skripsi.
1.7 Sistematika Penelitian
BAB 1 : PENDAHULUAN
Bab ini akan menjelaskan mengenai latar belakang penelitian judul,rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan
sistematika penulisan.
BAB 2 : LANDASAN TEORI
Membahas tentang landasan teori portofolio,algoritma Genetika, analisis fundamental, serta flowchart.
BAB 3 : ANALISIS DAN PERANCANGAN SISTEM
UNIVERSITAS SUMATERA UTARA
Membahas mengenai analisis algoritma Genetika, UML, sera perancangan antarmuka sistem.
BAB 4 : PEMBAHASAN DAN IMPLEMENTASI SISTEM
Membahas tentang perhitungan algoritma Genetika dan implementasi sistem yang telah dibuat.
BAB 5 : KESIMPULAN DAN SARAN
Bab terakhir akan memuat kesimpulan isi dari keseluruhan uraian bab-bab sebelumnya dan saran-saran dari hasil yang diperoleh dan diharapkan dapat
bermanfaat dalam pengembangan selanjutnya.
UNIVERSITAS SUMATERA UTARA
BAB 2 LANDASAN TEORI
2.1 Algoritma Genetika
Algoritma genetika merupakan metode pencarian yang disesuaikan dengan proses genetika dari organisme-organisme biologi yang berdasarkan pada teori evolusi
Charles Darwin [9]. Algoritma genetika pertama kali ditemukan oleh John Holland, itu dapat dilihat dalam bukunya yang berjudul Adaption in Natural and Artificial
Systems pada tahun 1960-an dan kemudian dikembangkan bersama murid dan rekan
kerjanya di Universitas Michigan pada tahun 1960-an sampai 1970-an. Tujuan Holland mengembangkan algoritma genetika saat itu bukan untuk mendesain suatu
algoritma yang dapat memecahkan suatu masalah, namun lebih mengarah ke studi mengenai fenomena adaptasi di alam dan mencoba menerapkan mekanisme adaptasi
alam tersebut ke dalam sistem komputer [12].
Algoritma genetika yang dibuat Holland merupakan sebuah metode untuk memisahkan satu populasi kromosom terdiri dari bit-bit 1 dan 0 ke populasi baru
dengan menggunakan “seleksi alam” dan operator genetik seperti crossover, mutation, invertion
. Crossover menukar bagian kecil dari dua kromosom, mutation mengganti secara acak nilai gen di beberapa lokasi pada kromosom, invertion membalikkan
urutan beberapa gen yang berurutan dalam kromosom. Dasar teori inilah yang menjadi
dasar kebanyakan program yang menggunakan algoritma genetika pada saat ini [2].
Hal-hal yang harus dilakukan dalam menggunakan algoritma genetika adalah: 1. Mendefinisikan individu, dimana individu menyatakan salah satu solusi
penyelesaian yang mungkin dari permasalahan yang diangkat. 2. Mendefinisikan nilai fitness, yang merupakan ukuran baik-tidaknya sebuah
individu atau baik-tidaknya solusi yang didapatkan. 3. Menentukan proses pembangkitan populasi awal. Hal ini biasanya dilakukan
UNIVERSITAS SUMATERA UTARA
dengan menggunakan pembangkitan acak seperti random-walk. 4. Menentukan proses seleksi yang akan digunakan.
5. Menentukan proses perkawinan silang cross-over. 6. Mutasi gen yang akan digunakan.
2.1.1 Teknik Encoding
Proses encoding adalah salah satu proses yang sulit dalam algoritma genetika. Hal ini disebabkan karena proses encoding untuk setiap permasalahan berbeda karena tidak
semua teknik encoding cocok untuk setiap permasalahan. Proses encoding menghasilkan string yang kemudian disebut kromosom. String terdiri dari sekumpulan
bit yang dikenal sebagai gen. Jadi satu kromosom terdiri dari sejumlah gen.
Ada bermacam-macam teknik encoding yang dapat dilakukan dalam algoritma genetika. Beberapa teknik encoding itu antara lain adalah binary encoding,
permutation encoding , value encoding serta tree encoding. Teknik encoding yang
digunakan pada penjadwalan proyek adalah permutation encoding. Selain digunakan pada penjadwalan proyek, teknik ini juga dapat digunakan pada Task Ordering
Problem . Pada permutation encoding, kromosom-kromosom adalah kumpulan angka
yang mewakili posisi dalam sebuah rangkaian. Dalam permutation encoding, setiap kromosom adalah sebuah string dari nomor-nomor seperti dibawah ini.
Tabel 2.1 Kromosom Pada Penjadwalan Proyek
Kromosom Urutan Pekerjaan A B C D E F G H I Gen Jumlah Hari
1 5 3 2 6 4 7 9 8
UNIVERSITAS SUMATERA UTARA
Pada penjadwalan proyek, kromosom mengambarkan urutan pekerjaan yang harus dilakukan, sedangkan item pekerjaan menggambarkan gen. Pada contoh diatas
adalah: Kromosom Urutan pekerjaan A-B-C-D-E-F-G-H-I dengan jumlah hari 1, 5, 3, 2, 6,
4, 7, 9, 8.
2.1.2 Proses Seleksi
Proses seleksi adalah proses yang memegang peranan penting dalam algoritma genetika. Proses seleksi ini digunakan agar hanya kromosom-kromosom yang
berkualitas yang dapat melanjutkan peranannya dalam proses algoritma genetika berikutnya. Ada bermacam-macam teknik untuk melakukan proses seleksi pada suatu
permasalahan. Teknik seleksi yang akan digunakan tergantung pada permasalahan yang akan diselesaikan. Ada bermacam-macam teknik seleksi, diantaranya adalah
Roulette Wheel Selection , Rank Base Selection, dan Steady State Selection.
Pada proses penseleksian digunakan suatu parameter yang disebut kesesuaian atau fitness. Fitness digunakan untuk menentukan seberapa baik kromosom akan
bertahan hidup. Makin tinggi nilai 0 ≤ fitness≤ 1, suatu kromosom maka makin baik
kromosom itu akan bertahan hidup. Nilai fitness tertinggi merepresentasikan jawab terbaik atas persoalan itu sendiri. Penentuan berapa besar nilai fitness suatu kromosom
berdasarkan fungsi fitness yang didefinisikan tersendiri [10].
2.1.3 Proses Rekombinasi
Proses rekombinasi atau yang lebih dikenal dengan nama proses crossover adalah menyilangkan dua kromosom sehingga membentuk kromosom baru yang harapannya
lebih baik dari pada induknya. Tidak semua kromosom pada suatu populasi akan mengalami proses rekombinasi. Kemungkinan suatu kromosom mengalami proses
UNIVERSITAS SUMATERA UTARA
rekombinasi didasarkan pada probabilitas crossover yang telah ditentukan terlebih dahulu. Probabilitas crossover menyatakan peluang suatu kromosom akan mengalami
crossover [7].
Kawin silang antara kromosom dilakukan dengan beberapa teknik antara lain: 1. Single point crossover – pemilihan satu titik crossover, string binary dari awal
chromosome untuk titik crossover adalah di-copy dari orang tua pertama dan
sisanya di-copy dari orang tua kedua. 2. Two point crossover – pemilihan dua titik crossover, string binary dari awal dari
chromosome untuk titik pertama crossover di-copy dari orang tua pertama, bagian
dari the first untuk titik crossover yang kedua di-copy dari orang tua kedua dan sisanya di-copy dari orang tua pertama.
3. Uniform crossover – bit-bit secara acak di-copy dari orang tua pertama atau kedua.
4. Arithmetic crossover - beberapa operasi arithmetic adalah ditampilkan untuk membuat offspring yang baru.
Hal yang dapat dilihat dari perpindahan bilangan biner di atas adalah kawin silang crossover dapat dilakukan dengan empat cara yaitu single point crossover,
two point crossover, uniform crossover dan arithmetic crossover. Dari keempat cara
tersebut didapat bahwa arithmetic crossover merupakan cara yang lebih cepat untuk menyelesaikan perkawinan silang crossover [9].
Teknik rekombinasi yang penulis gunakan adalah teknik order crossover. Order crossover
OX diperkenalkan oleh Davis. Teknik ini diawali dengan membangkitkan dua bilangan acak. Kemudian gen yang berada diantara kedua bilangan acak akan
disalin ke offspring dengan posisi yang sama. Langkah berikutnya untuk mendapatkan offspring
pertama adalah mengurutkan gen yang berada pada parent kedua dengan urutan gen yang berada pada posisi setelah bilangan acak kedua diikuti dengan gen
yang berada pada posisi sebelum bilangan acak pertama dan diakhiri dengan gen yang berada pada posisi diantara kedua bilangan acak. Kemudian gen yang telah diurutkan
UNIVERSITAS SUMATERA UTARA
tersebut dibandingkan dengan offspring pertama. Apabila gen tersebut ada pada offspring
kedua maka abaikan gen tersebut dari urutan itu. Kemudian masukkan urutan yang baru saja didapat pada offspring dengan cara memasukkan urutan gen
pada posisi setelah bilangan acak kedua terlebih dahulu dan sisanya dimasukkan pada posisi sebelum bilangan acak pertama. Begitu juga untuk menghasikan offspring
kedua.
2.1.4 Proses Mutasi
Proses mutasi ini dilakukan setelah proses rekombinasi dengan cara memilih kromosom yang akan dimutasi secara acak, dan kemudian menentukan titik mutasi
pada kromosom tersebut secara acak pula. Banyaknya kromosom yang akan mengalami mutasi dihitung berdasarkan probabilitas mutasi yang telah ditentukan
terlebih dahulu. Apabila probabilitas mutasi adalah 100 maka semua kromosom yang ada pada populasi tersebut akan mengalami mutasi. Sebaliknya, jika probabilitas
mutasi yang digunakan adalah 0 maka tidak ada kromosom yang mengalami mutasi pada populasi tersebut.
Ada bermacam-macam teknik mutasi yang dapat digunakan untuk menyelesaikan suatu masalah dengan algoritma genetika. Seperti pada teknik
rekombinasi, teknik mutasi juga dirancang untuk digunakan pada suatu masalah yang spesifik sehingga tidak setiap teknik mutasi dapat diterapkan pada suatu masalah yang
akan diselesaikan. Selain itu, teknik mutasi yang digunakan juga harus sesuai dengan teknik encoding yang digunakan untuk menyelesaikan permasalahan tersebut. Teknik
mutasi yang digunakan dalam penjadwalan proyek ini adalah teknik permutation encoding
. Teknik ini diawali dengan memilih dua bilangan acak kemudian gen yang berada pada posisi bilangan acak pertama ditukar dengan gen yang berada pada
bilangan acak kedua [7].
Algoritma genetika memiliki beberapa karakteristik yang perlu diketahui sehingga dapat terbedakan dari prosedur pencarian atau optimasi yang lainnya. Adapun
UNIVERSITAS SUMATERA UTARA
karakteristik dari algoritma genetika adalah: 1. Bekerja dengan pengkodean dari himpunan solusi permasalahan berdasarkan
parameter yang telah ditetapkan dan bukan parameter itu sendiri. 2. Melakukan pencarian pada sebuah populasi dari sejumlah individu-individu yang
merupakan solusi pemasalahan bukan hanya dari sebuah individu. 3. Merupakan informasi fungsi objektif fitness sebagai cara untuk mengevaluasi
individu yang mempunyai solusi terbaik, bukan turunan dari suatu fungsi. 4. Merupakan aturan peluang dan bukan aturan deterministik.
Kelebihan algoritma genetika adalah : 1. Algoritma genetika tidak terlalu banyak memerlukan persyaratan matematika
dalam penyelesaian proses optimasi dan dapat diaplikasikan pada beberapa jenis fungsi objektif dengan beberapa fungsi pembatas baik berbentuk liner maupun non
liner. 2. Operasi evolusi dari algoritma genetika sangat efektif untuk mengobservasi posisi
global secara acak. 3. Algoritma genetika mempunyai fleksibilitas untuk diimplementasikan secara
efisien pada problematika tertentu.
Dalam proses pengerjaan Algoritma Genetika menggunakan 5 tahapan sebagai berikut:
1. Pengkodean encoding 2. Seleksi selection
3. Persilangan crossover 4. Mutasi mutation
5. Decoding
UNIVERSITAS SUMATERA UTARA
2.1.5 Mekanisme Algoritma Genetika
Algoritma genetika dimulai dengan pembentukan sejumlah solusi yang dilakukan secara acak. Sebuah solusi yang dibangkitkan dalam algoritma genetika disebut
sebagai kromosom, sedangkan kumpulan kromosom tersebut disebut sebagai populasi. Sebuah kromosom dibentuk dari komponen penyusun disebut dengan gen dan nilainya
dapat berupa bilangan numerik, biner, simbol ataupun karakter tergantung dari permasalahan yang ingin diselesaikan.
2.1.6 Parameter – Parameter Genetika
Parameter - parameter genetika berperan dalam pengendalian operatoroperator genetika yang digunakan dalam optimasi menggunakan Algoritma Genetika.
Parameter Genetika yang sering digunakan meliputi ukuran populasi N, probabilitas pindah silang Pc, dan probabilitas mutasi Pm. Pemilihan ukuran populasi yang
digunakan tergantung pada masalah yang akan diselesaikan. Untuk masalah yang lebih kompleks biasanya diperlukan ukuran populasi yang lebih besar guna mencegah
konvergensi prematur yang menghasilkan optimum lokal. Pada tiap generasi, sebanyak PcN individu dalam populasi mengalami pindah
silang. Makin besar nilai Pc yang diberikan, makin cepat struktur individu baru yang diperkenalkan ke dalam populasi. Jika nilaiPc yang diberikan terlalu besar, individu
yang merupakan kandidat solusi terbaik dapat hilang lebih cepat dibanding seleksi untuk peningkatan kinerja. Sebaliknya, nilai Pc yang rendah dapat mengakibatkan
stagnasi karena rendahnya angka eksplorasi. Probabilitas mutasi adalah probabilitas dimana setiap posisi bit pada tiap string dalam populasibaru mengalami perubahan
secara acak setelah proses seleksi. Dalam satu generasi, dengan L panjang struktur, kemungkinan terjadi mutasi sebanyak PmNL.
UNIVERSITAS SUMATERA UTARA
2.1.7 Fungsi Fitnes
Dalam Algoritma Genetika, fungsi fitness merupakan pemetaan fungsi obyektif dari masalah yang akan diselesaikan. Setiap masalah yang berbeda yang akan diselesaikan
memerlukan pendefinisian fungsi fitness yang berbeda. Cmax dapat diambil sebagai koefisien masukan, misalnya nilai g terbesar yang
dapat diamati, nilai g terbesar pada populasi saat ini, atau nilai g terbesar k generasi terakhir.
2.2 Teknik
Multi Agent
Model multi agent untuk melakukan prediksi atau peramalan terhadap sebuah portofolio sehingga dapat memberi masukan untuk dapat memilih dan menentukan
portofolio yang tepat dan paling optimal dengan cara melakukan transaksi jual beli. Hampir setiap saat manusia membuat atau mengambil keputusan dan
melaksanakannya, yang tentu keputusan itu dilandasi asumsi bahwa segala tindakan merupakan pencerminan hasil proses pengambilan keputusan secara sadar atau tidak.
Tidak jarang pula dalam mengambil keputusan sering digunakan konsep peluang untuk pengambilan keputusan dalam kehidupan sehari-hari. Begitu juga halnya dalam
proses pengambil keputusan berinvestasi, para investor mengharapkan hasil yang maksimal dengan risiko tertentu atau hasil tertentu dengan risiko yang minimal
terhadap investasi yang dilakukan. Dalam upaya mengambil keputusan yang tepat tersebut, seorang investor memerlukan analisis yang tepat yang dapat memberikan
masukan [3].
Ketidakpastian yang diidentifikasikan dengan sebuah peluang dalam proses investasi inilah yang nantinya akan ditentukan. Untuk itu penulis menggunakan suatu
metode yang diharapkan mampu dalam menjawab permasalahan tersebut. Berdasarkan masalah yang telah dirumuskan tersebut, maka penulis mengambil dan
UNIVERSITAS SUMATERA UTARA
menggunakan suatu penyelesaian evaluasi terhadap masalah tersebut. Adapun evaluasinya adalah penulis menggunakan model multi agent.
2.2.1 Pengertian Agent dan Multi Agent
Menurut kamus Webster’s New World Dictionary, agent didefinisikan sebagai: A person or thing that acts or is capable of acting or is empowered to act, for another.
Suatu entitas software komputer yang memungkinkan user pengguna untuk mendelegasikan tugas kepadanya secara mandiri autonomously.
Pendekatan berbasis agent dapat mempermudah analisa-analisa yang rumit dengan memecah permasalahan menjadi beberapa bagian dan menugaskan
penyelesaian bagian-bagian permasalahan tersebut kepada beberapa agent sesuai dengan keahlian masing-masing agent. Agent memiliki kecerdasannya sendiri, mampu
bertukar informasi dan bekerja sama dengan agent lain, dan selalu berusaha menyelesaikan tugas yang diberikan kepadanya.
Jika banyak hal yang harus ditangani dalam sebuah sistem, maka dibutuhkan banyak orang yang mengerjakannya. Begitu juga dengan agent, karena banyaknya
analisa yang perlu dipertimbangkan dalam menyelesaikan masalah maka diperlukan sebuah sistem. Dalam perkembangan aplikasi dan penelitian tentang agent,
bagaimanapun juga dalam suatu komunitas sebuah sistem tidak dapat dihindari akan dibutuhkannya lebih dari satu agent, seiring dengan semakin kompleksnya tugas yang
dikerjakan oleh sistem tersebut [8].
2.3 Portofolio
Portofolio merupakan kumpulan suatu aset yang jumlahnya lebih dari satu. Misal, seorang investor memiliki 5 atau 10 investasi mata uang asing, maka investor tersebut
bisa disebut memegang suatu portofolio. Portofolio secara harfiah memiliki sekumpulan surat-surat. Teori ini didasarkan pada kenyataan bahwa pemilik modal
UNIVERSITAS SUMATERA UTARA
akan menginvestasikan uangnya kedalam berbagai jenis surat berharga dengan tujuan meminimalkan resiko kerugian dan memaksimalkan keuntungan [1].
Mengukur retrun atau risiko untuk sekuritas tunggal memang penting, tetapi bagi manajer portofolio, return dan risiko seluruh sekuritas di dalam portofolio lebih
diperlukan. Perhitungan tingkat keuntungan yang diharapkan dari suatu portofolio tidak lain merupakan rata-rata tertimbang dari tingkat keuntungan yang diharapkan
masing-masing mata uang yang membentuk portofolio. Portofolio diartikan sebagai serangkaian kombinasi beberapa aktiva yang
diinvestasi dan dipegang oleh pemodal, baik perorangan maupun lembaga. Pembentukan portofolio berangkat dari usaha diversifikasi investasi guna mengurangi
risiko. Terbukti bahwa semakin banyak jenis efek yang dikumpulkan dalam keranjang portofolio maka risiko kerugian selisih kurs mata uang yang satu dapat dinetralisir
oleh keuntungan yang diperoleh dari selisih kurs mata uang lain [4].
2.4 Pengertian Valuta Asing