Sistematika Penelitian Portofolio Analisis Portofolio Valuta Asing Menggunakan Algoritma Genetika Berbasis Multi Agent

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