ANALISIS PORTOFOLIO VALUTA ASING MENGGUNAKAN ALGORITMA GENETIKA BERBASIS MULTI AGENT
SKRIPSI
NASAN MARTUA SIREGAR 081401068
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : ANALISIS PORTOFOLIO VALUTA ASING MENGGUNAKAN ALGORITMA GENETIKA BERBASIS MULTI AGENT
Kategori : SKRIPSI
Nama : NASAN MARTUA SIREGAR
Nomor Induk Mahasiswa : 081401068
Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN
TEKNOLOGI INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, 23 April 2013
Komisi Pembimbing :
Pembimbing II, Pembimbing I,
Syahriol Sitorus, SSi, MIT Prof.Dr.Iryanto,M.Si NIP. 197103101996021001 NIP. 194604041971071001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
ANALISIS PORTOFOLIO VALUTA ASING MENGGUNAKAN ALGORITMA GENETIKA BERBASIS MULTI AGENT
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, April 2013
PENGHARGAAN
Puji dan syukur ke hadirat Allah SWT karena atas segala rahmat dan karunia-Nya penulis dapat menyelesaikan skripsi ini dalam waktu yang telah ditetapkan sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer, Program Studi Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, serta Shalawat dan Salam penulis hadiahkan kepada Nabi Besar Muhammad SAW.
Pada kesempatan ini, penulis menyampaikan ucapan terima kasih, antara lain kepada: 1. Bapak Prof. Dr. Muhammad Zarlis, M.Kom sebagai Dekan Fakultas Ilmu
Komputer dan Teknologi Informasi.
2. Bapak
Komputer.
3. Bapak Prof. Dr. Iryanto, M.Si dan Bapak Syahriol Sitorus, S.Si, MIT selaku pembimbing yang telah meluangkan waktu, tenaga, dan pikiran dalam membimbing, mengarahkan, menasehati, memotivasi, dan menyemangati penulis agar dapat menyelesaikan skripsi ini.
4. Bapak M. Andri Budiman, ST, Mcomp.Sc, MEM dan Bapak Ade Chandra, ST, M.Kom sebagai dosen penguji yang telah memberikan kritik dan saran yang berguna bagi penulis.
5. Ibu Maya Silvi Lydia, B.Sc, M.Sc Sekertaris Program Studi Ilmu Komputer.
6. Terkhusus Sofie Zalitha Hasibuan, S.Ked yang selalu setia mendampingi dan memberikan semangat kepada penulis.
7. Teman-teman seperjuangan mahasiswa S1-Ilmu Komputer stambuk 2008 khususnya PARKIRANGER(Saria Mahdi, Yasin Harahap S.Kom, Mardiansyah Matondang S.Kom, Setyo M, M. Nanang Bhuana, Gustaf Prameswara,S.Kom , Andika Diapari, Khairunnisa Lubis S.kom, Nurul Faradhila S.Kom, Dira, Namira, Rachmad Parmohonan,S.Kom, Martin Feb, Tri Bagus S.Kom, Aditya Rahandi, S.Kom, Bang Zulham Adoel, Bang Jawaher, Didi, Bang Jhon Munawir, Bang Dani, Bang Setyo, Bang Bodi, Pak Husin, Pak Nur, Bang Adi) yang telah menemani hari-hari penulis selama berkuliah di S1 Ilmu Komputer USU.
9. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah membantu menyelesaikan skripsi ini.
Penulis menyadari bahwa skripsi ini masih banyak kekurangan. Oleh karena itu penulis menerima kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini. Semoga skripsi ini dapat bermanfaat bagi penulis dan pembaca, khususnya rekan-rekan mahasiswa lainnya yang mengikuti perkuliahan di Universitas Sumatera Utara.
Medan, April 2013
ABSTRAK
Pengambilan keputusan trader (pialang mata uang) untuk memilih portofolio pada beberapa mata uang selalu mempertimbangkan faktor perolehan dan risiko. Karena banyaknya analisis yang perlu dipertimbangkan dalam proses pemilihan portofolio, maka diperlukan sebuah sistem dimana dalam suatu komunitas sistem terdapat beberapa agent, yang saling berinteraksi, bernegosiasi dan berkoordinasi satu sama lain dalam menjalankan pekerjaan. Sistem tersebut sering disebut dengan Multi Agent System (MAS). Kemudian cara kerja dari sistem multi agent akan digabungkan dengan model genetika. Pada penelitian Algoritma Genetika digunakan sebagai metode untuk melakukan seleksi atas kinerja agent-agent dalam mencari sebuah kemungkinan kejadian baru dari kejadian-kejadian yang sudah diketahui sebelumnya. Kejadian-kejadian yang telah diketahui sebelumnya dipandang sebagai agent-agent pelaku ekonomi yang saling berinteraksi satu sama lain yang menghasilkan fenomena yang dilihat sebagai faktor agregasi dalam analisis yang dibangun.
FOREIGN EXCHANGE PORTFOLIO ANALYSYS USING GENETIC ALGORITMS BASED MULTI AGENT
ABSTRACT
Decision-making traders (brokers currency) to select a portfolio on some currencies are always considering the acquisition and risk factors. Since the number of analyzes that need to be considered in the portfolio selection process, we need a system in a community where there are multiple agent systems, which interact, negotiate and coordinate with each other in carrying out the work. The system is often referred to as the Multi Agent System (MAS). Then the workings of the multi-agent system will be combined with genetic models. In this research, Genetic Algorithm is used as a method for selection on the performance of agents in the search for a possible new occurrence of events that have been previously known. The events that have been known previously seen as agents of economic actors interact with each other resulting in the phenomenon of aggregation is seen as a factor in the analysis is built.
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Tabel x
Daftar Gambar xi
BAB 1 PENDAHULUAN
1.1 Latar Belakang Masalah 1
1.2 Rumusan Masalah 3
1.3 Batasan Masalah 3
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 4
1.6 Metodologi Penelitian 4
1.7 Sistematika Penulisan 5
BAB 2 LANDASAN TEORI
2.1 Algoritma Genetika 6
2.1.1 Teknik Encoding 7
2.1.2 Proses Seleksi 8
2.1.3 Proses Rekombinasi 8
2.1.4 Proses Mutasi 10 2.1.5 Mekanisme Algoritma Genetika 11 2.1.6 Parameter-Parameter Genetika 12
2.1.7 Fungsi Fitnes 12
2.2 Teknik Multi Agent 13
2.2.1 Pengertian Agent dan Multi Agent 13
2.3 Portofolio 14
2.4 Pengertian Valuta Asing 15
2.5 Analisis Fundamental 16 2.5.1 Fluktuasi Nilai Mata Uang Dolar Amerika terhadap
Rupiah pada krisis Ekonomi Indonesia tahun 1997/1998 16 2.5.2 Fluktuasi Nilai Mata Uang Dolar Amerika
terhadap Rupiah Akibat Kenaikan Harga Minyak Dunia 17 2.5.3 Pengaruh Peningkatan Inflasi dan Krisis Ekonomi
Global pada nilai tukar Rupiah terhadap Dollar 18
2.6 Perdagangan Forex 20
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem 23
3.1.1 Analisis Masalah 23
3.1.2 Analisis Persyaratan 24
3.1.2.1 Persyaratan Fungsional 25 3.1.2.2 Persyaratan Non-Fungsional 25
3.2 Perancangan Perangkat Lunak 26
3.2.1 Perancangan Algoritma Genetika Untuk Menyelesaikan
Masalah Prediksi Valas 26 3.2.2 Perancangan Use Case Diagram 27 3.2.3 Perancangan Sequence Diagram 33
3.2.4 Diagram Alir (Flowchart) 35
3.3 Perancangan Antarmuka 36
3.3.1 Perancangan Form Home 36
3.3.2 Perancangan Form Prediksi Valas 37
3.3.3 Perancangan Form About 38
3.3.4 Perancangan Form Help 39
3.3.5 Perancangan Form Output 40
BAB 4 IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi Algoritma Genetika 41
4.1.1 Pengkodean Kromosom 41
4.1.2 Pembangkitan Populasi Awal 41
4.2 Implementasi Sistem 43
4.2.1 Form Home 43
4.2.2 Form Prediksi Valas dan Hasil Prediksi 44
4.2.3 Form About 47
4.2.3 Form Help 48
4.3 Implementasi Multi Agent System (MAS) 48
4.4 Pengujian 49
4.4.1 Hasil Prediksi 49
BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan 55
5.2 Saran 55
DAFTARPUSTAKA 56
Lampiran A: Listing Program
DAFTAR TABEL
Halaman
2.1 Kromosom pada Penjadwalan proyek 7
3.1 Spesifikasi Use Case Pengkodean Kromosom 29 3.2 Spesifikasi Use Case Proses Seleksi 30 3.3 Spesifikasi Use Case Proses Rekombinasi 31 3.4 Spesifikasi Use Case Proses Mutasi 32
DAFTAR GAMBAR
Halaman
2.1 Grafik Fluktuasi Nilai Tukar Rupiah terhadap USD 17 2.2 Grafik Perkembangan Nilai Tukar Rupiah 19 2.3 Grafik Perkembangan Nilai Tukar Rupiah 20 3.1 Digram Ishikawa Untuk Analisis Permasalahan Sistem 24
3.2 Use Case Diagram Sistem 28
3.3 Activity Diagram Pengkodean Kromosom 29 3.4 Activity Diagram Proses Seleksi 30 3.5 Activity Diagram Proses Rekombinasi 31 3.6 Activity Diagram Proses Mutasi 32 3.7 Sequence Diagram Pengkodean Kromosom 33 3.8 Sequence Diagram Proses Rekombinasi 34
3.9 Sequence Diagram Mutasi 34
3.10 Flowchart 35
3.11 Perancangan Form Home 36
3.12 Perancangan Form Prediksi Valas 37
3.13 Perancangan Form About 38
3.14 Rancangan Form Help 39
3.15 Rancangan Form Output 40
4.1 Form Home 43
4.2 Form Prediksi Valas 44
4.3 Form Hasil Prediksi 44
4.4 Pie DiagramRoulette Wheel 46
4.5 Form About 47
4.6 Form Help 48
ABSTRAK
Pengambilan keputusan trader (pialang mata uang) untuk memilih portofolio pada beberapa mata uang selalu mempertimbangkan faktor perolehan dan risiko. Karena banyaknya analisis yang perlu dipertimbangkan dalam proses pemilihan portofolio, maka diperlukan sebuah sistem dimana dalam suatu komunitas sistem terdapat beberapa agent, yang saling berinteraksi, bernegosiasi dan berkoordinasi satu sama lain dalam menjalankan pekerjaan. Sistem tersebut sering disebut dengan Multi Agent System (MAS). Kemudian cara kerja dari sistem multi agent akan digabungkan dengan model genetika. Pada penelitian Algoritma Genetika digunakan sebagai metode untuk melakukan seleksi atas kinerja agent-agent dalam mencari sebuah kemungkinan kejadian baru dari kejadian-kejadian yang sudah diketahui sebelumnya. Kejadian-kejadian yang telah diketahui sebelumnya dipandang sebagai agent-agent pelaku ekonomi yang saling berinteraksi satu sama lain yang menghasilkan fenomena yang dilihat sebagai faktor agregasi dalam analisis yang dibangun.
FOREIGN EXCHANGE PORTFOLIO ANALYSYS USING GENETIC ALGORITMS BASED MULTI AGENT
ABSTRACT
Decision-making traders (brokers currency) to select a portfolio on some currencies are always considering the acquisition and risk factors. Since the number of analyzes that need to be considered in the portfolio selection process, we need a system in a community where there are multiple agent systems, which interact, negotiate and coordinate with each other in carrying out the work. The system is often referred to as the Multi Agent System (MAS). Then the workings of the multi-agent system will be combined with genetic models. In this research, Genetic Algorithm is used as a method for selection on the performance of agents in the search for a possible new occurrence of events that have been previously known. The events that have been known previously seen as agents of economic actors interact with each other resulting in the phenomenon of aggregation is seen as a factor in the analysis is built.
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Pengambilan keputusan trader (pialang mata uang) untuk memilih portofolio pada beberapa mata uang selalu mempertimbangkan faktor perolehan dan risiko. Walaupun pertumbuhan positif dari portofolio diinginkan, tetapi ketidakpastian yang tajam memunculkan risiko tinggi selalu diupayakan untuk ditekan.
Dalam mengambil keputusan trading, para trader mengharapkan hasil yang maksimal dengan risiko tertentu atau hasil tertentu dengan risiko yang minimal terhadap trading yang dilakukan. Keuntungan trading sangat tergantung banyak hal, tapi hal yang utama adalah tergantung pada kemampuan atau strategi penanaman modal oleh trader dalam membaca keadaan dan situasi pasar yang tidak menentu. Bila kurs mata uang naik maka keuntungan yang dimiliki trader akan meningkat. Para
trader mengambil return (hasil) yang maksimal pada risiko tertentu untuk memperoleh hasil tertentu pada risiko yang minimal.
memilih mana portofolio yang tepat dari sekian banyak portofolio yang ada. Untuk dapat memilih portofolio yang tepat diperlukan analisis yang tepat dan cukup rumit.
Salah satu pendekatan yang digunakan untuk memecahkan permasalahan yang rumit adalah pendekatan berbasis agent. Pendekatan berbasis agent dapat mempermudah analisis 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.
Karena banyaknya analisis yang perlu dipertimbangkan dalam proses pemilihan portofolio maka diperlukan sebuah sistem dimana dalam suatu komunitas sistem terdapat beberapa agent, yang saling berinteraksi, bernegosiasi dan berkoordinasi satu sama lain dalam menjalankan pekerjaan. Sistem tersebut sering disebut dengan Multi Agent System (MAS). Kemudian cara kerja dari sistem multi agent akan digabungkan dengan model genetika.
Algoritma Genetika adalah sebuah metode untuk melakukan seleksi atas kinerja agent-agent dalam mencari sebuah kemungkinan kejadian baru dari kejadian-kejadian yang sudah diketahui sebelumnya. Kejadian-kejadian-kejadian yang telah diketahui sebelumnya dipandang sebagai agent-agent pelaku ekonomi yang saling berinteraksi satu sama lain yang menghasilkan fenomena yang dilihat sebagai faktor agregasi dalam analisis yang dibangun.
oleh keuntungan dari mata uang lainnya. Trader melakukan trading dalam berbagai portofolio dikarenakan hasil yang diharapkan dari tiap jenis sekuritas dapat saling menutup.
Berdasarkan uraian sebelumnya, maka penulis bermaksud untuk melakukan Analisis Portofolio Valuta Asing Menggunakan Algoritma Genetika Berbasis Multi Agent.
1.2 Rumusan Masalah
Rumusan masalah dalam penelitian ini adalah :
Bagaimana memanfaatkan model multi agent dalam algoritma genetikauntuk memilih dan menentukan portofolio yang terbaik.
1.3 Batasan Masalah
Adapun yang menjadi batasan masalah dalam penelitian ini adalah: 1. Model yang digunakan dalam algoritma genetika adalah multi agent.
2. Indikator yang digunakan sebagai agent yaitu indikator fundamental.
Dimana indikator fundamental adalah krisis moneter Indonesia, kenaikan harga minyak mentah dunia, inflasi, krisis ekonomi global dan suku bunga perbankan yang digunakan untuk memberi masukan kapan portofolio tersebut dijual, dibeli atau bertahan.
3. Portofolio yang digunakan sebagai sampel dalam menyelesaikan masalah investasi portofolio ini hanya mata uang USD-IDR.
5. Perangkat lunak yang dibangun sebagai hasil penerapan atau implementasi dari model multi agent dan algoritma genetika menggunakan Microsoft Visual Studio 2010.
1.4 Tujuan Penelitian
Adapun tujuan dari penelitian ini adalah :
1. Menerapkan model multi agent dalam algoritma genetika untuk dapat memprediksi fluktuasi portofolio.
2. Mengetahui kapan sebaiknya melakukan transaksi jual, beli atau bertahan.
1.5 Manfaat Penelitian
Sedangkan manfaat yang diharapkan dari penelitian ini adalah :
1. Memberikan informasi dan pengetahuan tentang pemilihan portofolio yang terbaik.
2. Sebagai bahan masukan bagi para trader kapan melakukan jual beli mata uang. 3. Dengan adanya analisis pemilihan portofolio, diharapkan para pengguna atau
trader dapat mengurangi tingkat resiko yang akan diperoleh.
1.6 Metode Penelitian
Adapun tahapan-tahapan yang dilakukan dalam merancang dan mengembangkan perangkat lunak ini adalah sebagai berikut:
a. Studi Literatur
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.
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 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.
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
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
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, uniformcrossover 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
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].
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)
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).
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].
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
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
Pertukaran suatu mata uang dengan mata uang lainnya disebut transaksi valas, foreign exchange transaction. Harga suatu mata uang terhadap mata uang lainnya disebut kurs atau nilai tukar mata uang/exchange rate. Kurs valuta asing juga dapat didefinisikan sebagai harga mata uang suatu negara dalam suatu negara dalam unit komoditas (seperti mata uang dapat diartikan sebagai perbandingan nilai mata uang.
Untuk menghindari kebingungan, harus diingat bahwa kurs antara mata uang domestik dan mata uang asing diartikan sebagai jumlah mata uang domestik yang diperlukan untuk membeli mata uang asing. Bila kurs meningkat berarti mata uang domestik mengalami depresiasi dan mata uang [6].
2.5 Analisis Fundamental
Analisis fundamental adalah analisis yang didasarkan pada situasi dan kondisi ekonomi, politik dan keamanan secara global dan juga tiap-tiap negara yang mengeluarkan Index Saham. Analisa fundamental membutuhkan kelihaian seni tersendiri untuk memperhitungkan penting tidaknya suatu informasi menjadi faktor yang akan berpengaruh terhadap fluktuasi nilai tukar suatu mata uang. Berikut adalah prinsip-prinsip analisis fundamental:
1. Reaksi berantai.Semakin besar dampak berantai suatu informasi, semakin besar pengaruhnya terhadap nilai index saham.
2. Jarak informasi.Semakin dekat informasi dengan suatu index saham, semakin besar pengaruh informasi tersebut. Misalnya, informasi yang berasal dari dalam negeri Indonesia akan lebih besar pengaruhnya terhadap nilai IHSG dibanding informasi dari luar negeri.
3. Sumber berita. Semakin resmi sumber berita, semakin kuat pengaruhnya terhadap nilai index saham.
4. Jenis berita.Berita ekonomi lebih kuat pengaruhnya terhadap index saham suatu negara dibanding berita lainnya, seperti politik, sosial atau budaya.
2.5.1 Fluktuasi Nilai Mata Uang Dolar Amerika terhadap Rupiah pada krisis Ekonomi Indonesia tahun 1997/1998
[image:31.595.119.516.255.425.2]Indikator fundamental adalah agent-agent yang berperan langsung terhadap fluktuasi nilai tukar mata uang asing khusunya nilai tukar Rupiah terhadap Dolar Amerika (USD). Grafik fluktuasi nilai tukar rupiah terhadap dolar pada periode 1980 s/d 2005 dapat dilihat pada Gambar 2.1.
Gambar 2.1 Grafik Fluktuasi Nilai Tukar Rupiah terhadap USD [5]
2.5.2 Fluktuasi Nilai Mata Uang Dolar Amerika terhadap Rupiah Akibat
Kenaikan Harga Minyak Dunia
Nilai tukar rupiah mengalami tekanan yang cukup berat disertai dengan peningkatan volatilitas. Dalam triwulan II-2004, rupiah melemah 6,3% hingga secara rata-rata kurs rupiah mencapai Rp 9.005 per dolar AS. Pelemahan rupiah tersebut dimulai pada awal Mei 2004 sebagai dampak rambatan penguatan dolar AS secara global dan kenaikan harga minyak dunia. Perkembangan tersebut telah mendorong sentimen untuk melepas portofolio dalam bentuk rupiah (capital outflows) terutama yang berjangka waktu pendek oleh pelaku asing. Tekanan depresiasi rupiah semakin meningkat karena dari sisi domestik terjadi peningkatan permintaan valas oleh korporasi dan BUMN (bandwagon effect). Namun, sejalan dengan membaiknya ekspektasi pasar yang positif serta cukup efektifnya implementasi Paket Kebijakan Stabilisasi nilai tukar yang ditempuh oleh Bank Indonesia, dalam awal bulan Juli 2004 nilai tukar rupiah mulai bergerak stabil bahkan telah menunjukkan kecenderungan menguat hingga mencapai Rp 8.990 per dolar AS [5].
2.5.3 Pengaruh Peningkatan Inflasi dan Krisis Ekonomi Global pada nilai
tukar Rupiah terhadap Dollar
Pada tahun 2011, penguatan nilai tukar rupiah diwarnai oleh beberapa koreksi terkait
dengan meningkatnya ekspektasi inflasi pada awal tahun dan meningkatnya krisis
ekonomi global yang berlanjut hingga akhir tahun. Pada tahun 2011, rupiah secara
rata-rata menguat sebesar 3,56 % dari Rp 9.080 per dolar AS menjadi Rp 8.768 per
dolar AS. Namun, meningkatnya ketidakpastian ekonomi global berdampak pada
tertahannya penguatan nilai tukar rupiah yang terjadi hingga akhir semester I 2011.
Pada akhir tahun, rupiah ditutup melemah 0,64% menjadi Rp 9.068 per dolar AS
dibandingkan dengan Rp 9.010 per dolar AS pada akhir 2010 [13]. Grafik
Gambar 2.2 Grafik Perkembangan Nilai Tukar Rupiah [13]
Perkembangan serupa juga tercermin pada tingkat volatilitas nilai tukar rupiah
yang terus menurun hingga pertengahan tahun mencapai 0,32%, selanjutnya
meningkat pada semester II menjadi 0,43%. Secara rata-rata tahunan, volati litas pada
tahun 2011 menjadi 0,38% meningkat dibandingkan dengan 0,35% pada tahun 2010
Gambar 2.3 Grafik Perkembangan Nilai Tukar Rupiah [15]
2.6 Perdagangan Forex
Perdagangan forex adalah perdagangan mata uang asi Mata uang dari satu negara dinilai terhadap mata uang negara lain untuk menentukan harga. Nilai mata uang asing dipertimbangkan dalam perdagangan saham di
mata uang atau uang. Mereka yang sering terlibat dalam pasar forex term perusahaan besar, pemerintah dan lembaga keuangan. Perdagangan pasar forex melibatkan setidaknya dua negara dan dapat terjadi di seluruh dunia. Kedua negara menyatu dengan investor dan kebanyakan semua transaksi yang terjadi di pasar forex
pasar forex melakukan perdagangan dalam volume besar dan sejumlah besar uang.
Mereka yang terlibat dalam pasar forex umumnya terlibat dalam atau dalam perdagangan aset likuid yang dapat dijual beli dengan cepat. Anda dapat mempertimbangkan pasar forex akan jauh lebih besar dari pasar saham dalam satu negara secara keseluruhan. Mereka yang terlibat dalam pasar forex dapat melakukan perdagangan harian selama dua puluh empat jam sehari dan kadang-kadang perdagangan selesai pada akhir pekan.
Pasar forex bukan sesuatu yang baru, tetapi telah digunakan selama lebih dari tiga puluh tahun. Dengan diperkenalkannya komputer, dan kemudian internet, perdagangan di pasar forex terus bertumbuh seiring semakin banyak orang dan bisnis serupa menjadi sadar akan peluang dari pasar perdagangan mata uang asing. forex
hanya menyumbang sekitar sepuluh persen dari total perdagangan antar negara tetapi popularitas di pasar ini terus berkembang.
2.7 Microsoft Visual Studio
Visual Basic merupakan cara termudah dan tercepat untuk membuat aplikasi yang dijalankan di sistem operasi Microsoft Windows®. Apakah Anda seorang profesional atau pemula sekalipun di bidang pemrograman Windows, Visual Basic menyediakan kepada Anda sekumpulan perangkat untuk mempermudah dan menyederhanakan pengembangan aplikasi yang tangguh.
(statements), fungsi (functions), dan kata kunci (keywords), dan kebanyakan di antaranya terkait dengan antar muka grafis di Windows. Pengguna tingkat pemula sekalipun dapat membuat aplikasi dengan mempelajari hanya beberapa kata kunci, sementara kekuatan dari bahasanya membolehkan para pengguna tingkat professional mencapai apapun yang dapat dihasilkan dengan menggunakan bahasa pemrograman Windows lainnya.
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Sebelum dilakukan tahap perancangan sebuah sistem, perlu dilakukan analisis sistem yang akan dibangun. Analisis sistem merupakan istilah yang secara kolektif mendeskripsikan fase-fase awal pengembangan sistem. Analisis sistem pada dasarnya merupakan tahapan yang ditujukan untuk menciptakan pemahaman yang menyeluruh terhadap sistem sehingga diperoleh gambaran tentang kebutuhan, cara kerja, dan alur data yang akan dikerjakan sistem. Hal ini akan membantu mempermudah dalam proses implementasi sistem.
3.1.1 Analisis Masalah
Masalah dalam sistem ini adalah bagaimana agar sistem ini dapat membantu pengguna maupun pemilik hak cipta dalam memprediksi nilai kurs beli dari suatu valuta asing.
Dalam sistem ini sebuah data asli dari kurs beli akan disisipkan kedalam sistem yang kemudian akan dilakukan perhitungan nilai fitness berdasarkan parameter yang ada.
Yang menjadi masalah utama pada penelitian ini adalah bagaimana agar pengguna mendapatkan sebuah hasil prediksi kurs beli dari sistem yang akurat atau tidak melesat terlalu jauh dari data asli. Setelah dipilah dan dibagi dalam beberapa kategori, dapat diuraikan sebagai berikut:
1. User (People) : Adalah seseorang yang akan menggunakan sistem, dimana User akan melakukan penginputan data kurs dan tidak dapat dipungkiri jika suatu saat User melakukan kesalahan dalam penginputan seperti menginput data kurs jual dimana user seharusnya menginputkan data kurs beli kedalam sistem. Akibatnya sistem akan menghasilkan nilai prediksi kurs jual juga. 2. Data : Jika jumlah data yang diinput terlalu banyak maka proses prediksi juga
3. Proses : Sistem ini akan melakukan penerapan algoritma Genetika dimana terkadang terjadi proses prediksi yang berlangsung lama serta adanya kemungkinan hasil prediksi yang berbeda-beda.
4. Sistem : Adakalanya apabila proses penentuan nilai fitnes serta mutasi yang dilakukan berulang-ulang akan menyebabkan hasil prediksi yang berbeda-beda.
[image:38.595.92.520.259.488.2]Selanjutnya kategori-kategori diatas diuraikan kedalam bentuk diagram tulang ikan (Ishikawa Diagram) dibawah ini :
Gambar 3.1 Diagram Ishikawa untuk Analisis Permasalahan Sistem
3.1.2 Analisis Persyaratan
Analisis ini ditujukan untuk menganalisis persyaratan yang akan dibutuhkan oleh sistem ini agar dapat berjalan sesuai dengan apa yang rencanakan. Analisis persyaratan terbagi menjadi dua yaitu persyaratan fungsional (functional
3.1.2.1 Persyaratan Fungsional
Persyaratan fungsional yang harus disediakan oleh sistem adalah sebagai berikut: 1. Data yang digunakan adalah data yang sudah di save dengan format *.txt
dimana jumlah data yang tidak ditentukan.
2. Sistem ini dapat menentukan nilai fitnes dari parameter yang telah tersedia kemudian melakukan proses seleksi nilai fitnes dengan menggunakan Roullete wheel.
3. Sistem ini dapat melakukan proses crossover (kawin silang) terhadap kromosom yang didapat.
4. Sistem ini dapat melakukan proses mutasi kromosom yang dihasilkan dari proses crossover dan kemudian menampilkan hasil prediksi dalam bentuk grafik..
3.1.2.2Persyaratan Non-Fungsional
Persyaratan non-fungsional terhadap sistem ini adalah: 1. Performa:
Sistem harus dapat melakukan proses prediksi valas sesuai dengan Algoritma Genetika.
2. Mudah Digunakan:
Sistem yang dibuat sesederhana mungkin agar pengguna dapat cepat mengerti dan dengan mudah menggunakan perangkat lunak ini.
3. Hemat Biaya:
Sistem ini tidak membutuhkan perangkat keras lainnya sebagai Device
pendukung sehingga biaya yang dibutuhkan sangat minim. 4. Dokumentasi:
Sistem dapat menyimpan file data kurs hasil prediksi.
5. Manajemen Kualitas:
Sistem dapat menghasilkan tampilan yang baik dan proses relatif cepat.
3.2 Perancangan Perangkat Lunak
3.2.1 Perancangan Algoritma Genetika Untuk Menyelesaikan Masalah Prediksi
Valas
Proses algoritma genetika terdiri dari beberapa proses, yaitu: 1. Pengkodean Kromosom
Pada tahap ini masalah – masalah ekonomi yang menyebabkan fluktuasi mata uang disebut kromosom. Faktor yang menyebabkan terjadinya masalah ekonomi tersebut direpresentasikan sebagai gen. Masing – masing nilai gen tidak boleh sama satu dengan yang lain dan dibangkitkan secara acak dengan menggunakan perintah yang ada pada Microsoft Visual Basic 2010.
2. Inisialisasi Populasi
Tahap ini bertujuan untuk membangkitkan populasi yang berisi sejumlah kromosom. Setiap kromosom berisi sejumlah gen. Masukan untuk fungsi ini adalah ukuran populasi (jumlah kromosom dalam populasi) dan jumlah gen dalam satu kromosom. 3. Menentukan Nilai Fitness
Tahap ini merupakan proses inti dalam algorutma genetika. Fungsi fitness dari
masing-masing permasalahan berbeda. Jika salah merepresentasikan fungsi fitness nya maka hasil akhir dari predikasi valuta asing akan salah.
4. Seleksi
Seleksi yang digunakan pada permasalahan ini adalah dengan metode roulette wheel
(roda roulette). Pada tahap ini masing- masing kromosom menenpati potongan lingkaran pada roda roulette secara proporsional sesuai dengan nilai fitnees nya. Kromosom yang memiliki nilai fitness yang lebih besar menempati potongan
lingkaran yang lebih besar dibandingkan dengan kromosom yang bernilai fitness lebih kecil. Pertama dibuat interval nilai kumulatif dalam interval [0,1] dari nilai fitness masing-masing kromosom dibagi dengan total nilai fitness dari semua kromosom. Sebuah kromosom akan terpilih jika bilangan random yang dibangkitkan berada dalam interval kumulatifnya.
5. Proses Perkawinan Silang (Crossover)
6. Proses Mutasi
Yaitu penukaran pasangan gen yang telah terpilih secara random dalam satu
kromosom. Penukaran pasangan ini dilakukan pada dua gen dalam satu kromosom. Untuk semua gen dalam sebuah kromosom, jika bilangan random [0,1] yang
dibangkitkan kurang dari probabilitas mutasi, maka nilai gen tersebut akan ditukarkan dengan nilai gen lain yang dipilih secara random.
7. Evaluasi dan Kriteria Penghentian Generasi
Pada tahap ini kita akan menghitung jumlah generasi sampai batas maksimum generasi yang diberikan. Bila dalam jumlah generasi yang ditentukan tidak ada kromosom yang lebih baik, maka proses iterasi akan berhenti.
3.2.2 Perancangan Use Case Diagram
Pemodelan sistem dilakukan untuk memperoleh gambaran yang lebih jelas tentang objek apa saja yang akan berinteraksi dengan sistem serta hal-hal apa saja yang harus dilakukan oleh sebuah sistem.Perancangan fungsionalitas sistem akan dimodelkan menggunakan diagram use case. Aktor yang nantinya akan berinteraksi dengan sistem adalah User yang akan menggunakan sistem yang dibangun. Berdasarkan analisis kebutuhan sistem, secara garis besar yang harus dilakukan sistem adalah memprediksi tren fluktuasi valuta asing yang digunakan.
Gambar 3.2 Use Case Diagram Sistem[11]
Dari diagram Use Case diatas terlihat interaksi User pada sistem beserta proses-proses yang dilakukan. Diharapkan User mengetahui secara garis besar proses-proses yang terjadi pada setiap tahapan. Agar tidak terjadi kesalahan dalam urutan tahapan, maka sistem akan mengevaluasi pilihan-pilihan yang diambil oleh User. Proses rekombinasi hanya bisa dilakukan oleh User apabila telah dilakukan proses pengkodean berdasarkan kromosom yang dimasukkan. Selanjutnya, dilakukan mutasi kromosom yang dipilih secara acak untuk menghasilkan individu baru.
Pengkodean kromosom
Proses Seleksi
Proses Rekombinasi
Proses Mutasii
Admin
Input data
Proses prediksi valas
Sistem
Dibawah ini adalah keterangan Activity Diagram pengkodean kromosom:
Gambar 3.3 Activity Diagram Pengkodean Kromosom[11]
Berikut ini adalah tabel spesifikasi Use Case pengkodean kromosom:
Tabel 3.1 Spesifikasi Use Case Pengkodean Kromosom
Name Pengkodean Kromosom
Actors User
Trigger 1. User telah menginputkan kromosom yang akan diproses 2. User telah mendapatkan gen dari kromosom
Preconditions User menginput nilai fitness
Post Conditions User dapat melihat hasil nilai fitness masing – masing kromosom
Success Scenario
1. User telah menginputkan kromosom..
2. User mengkodekan gen dari masing masing kromosom. 3. User menginput nilai fitness yang telah ditentukan.
4. Sistem akan melakukan penghitungan nilai fitness masing – masing kromosom
5. User mendapatkan hasil nilai fitness masing – masing kromosom
User menginput kromosom
User mengkodekan gen
User menentukan nilai fitness
Sistem melakukan perhitungan nilai fitness
masing- masing kromosom
[image:43.595.105.528.468.767.2]Dan Activity Diagram untuk Proses Seleksi ditunjukkan oleh gambar dibawah ini :
Gambar 3.4 Activity Diagram Proses Seleksi[11]
Berikut tabel spesifikasi untuk Use Case proses seleksi adalah seperti dibawah ini :
Tabel 3.2 Spesifikasi Use Case Proses Seleksi
Name Proses Seleksi
Actors User
Trigger 1. User telah mendapatkan nilai fitness masing- masing
Preconditions User mengakses tombol proses
Post Conditions User dapat melihat nilai fitness dalam bentuk pie diagram
Success Scenario 1. User telah mendapatkan nilai fitness masing- masing. 2. User mengakses tombol proses
3. User dapat melihat nilai fitness dalam bentuk pie diagram User telah mendapatkan nilai fitness masing- masing
User mengakses tombol proses
[image:44.595.106.525.507.700.2]Dan Activity Diagram untuk Proses Rekombinasi ditunjukkan oleh gambar dibawah ini :
Gambar 3.5 Activity Diagram Proses Rekombinasi[11]
Berikut tabel spesifikasi untuk Use Case proses rekombinasi:
Tabel 3.3 Spesifikasi Use Case Proses Rekombinasi
Name Proses rekombinasi
Actors User
Trigger User memasukkan kromosom yang akan di seleksi
Preconditions User mengakses tombol proses
Post Conditions User dapat melihat hasil proses rekombinasi
Success Scenario 1. User memasukkan kromosom yang akan di seleksi. 2. User mengakses tombol proses.
3. User dapat melihat hasil proses rekombinasi. User memasukkan kromosom
Yang akan di seleksi
User menekan tombol seleksi crossover
Sistem melakukan proses seleksi crossover
[image:45.595.106.525.527.730.2]Dan dibawah ini adalah Activity Diagram Proses Mutasi :
Gambar 3.6 Activity Diagram Proses Mutasi[11]
Berikut tabel spesifikasi untuk Use case Proses Mutasi:
Tabel 3.4 Spesifikasi Use Case Proses Mutasi
Name Proses Mutasi
Actors User
Trigger User menginputkan kromosom yang akan di proses
Preconditions User mengakses tombol mutasi
Post Conditions User dapat melihat hasil mutasi kromosom
Success Scenario 1. User menginputkan kromosom yang akan di proses. 2. User mengakses tombol mutasi.
3. Sistem akan melakukan proses mutasi kromosom. 4. User dapat melihat hasil mutasi kromosom.
User memasukkan kromosom Yang telah direkombinasi
User menekan tombol Proses mutasi
Sistem melakukan proses mutasi
[image:46.595.105.527.465.683.2]User Sistem
User menginput nilai kromosom
User menginput nilai kromosom
Menampilkan hasil seleksi 3.2.3 Perancangan Sequence Diagram
Proses pengkodean kromosom dilakukan oleh sistem yaitu dengan memasukkan dan nilai kromosom. Kemudian sistem akan melakukan pencarian nilai fitness, selanjutnya
User menekan tombol seleksi fdan sistem menampilkan hasil nya. Sequence Diagram
[image:47.595.206.390.236.455.2]untuk proses pengkodean kromosom digambarkan dibawah ini:
Gambar 3.7 Sequence Diagram Pengkodean Kromosom[11]
Setelah proses pengkodean kromosomselesai dilakukan, kemudian sistem
Sedangkan Sequence diagram untuk proses rekombinasi ada dibawah ini :
Gambar 3.8 Sequence Diagram Proses Rekombinasi[11]
Selanjutnya User memasukkan hasil rekombinasi dan sistem melakukan proses mutasi, Kemudian sistem akan menampilkan hasil mutasi kromosom. Dibawah ini adalah sequence diagram untuk proses mutasi.
Gambar 3.9 Sequence Diagram Proses Mutasi[11]
User Sistem
input hasil seleksi
Menampilkan hasil rekombinasi
User Sistem
memasukkan hasil rekombinasi
[image:48.595.225.393.412.567.2]3.2.4 Diagram Alir (Flowchart)
Gambar 3.10 Flowchart Algoritma Genetika Mulai
Set Parameter - Popsize
-Pc
-Maks Generasi -Pjg Kromosom
Pengkodean Kromosom
Evaluasi Nilai Fitness
Membangkitkan Populasi Awal
Seleksi Roulette Wheel
Apakah Mencapai Maksimum Generasi?
Crossover
Mutation
Hasil Populasi Akhir
Selesai YA
TIDAK
Chart
3.3 Perancangan Antar Muka
Sistem ini penulis rancang menggunakan tiga form, yaitu Form Home, Form Prediksi Valas , Form Help, Form About.
3.3.1 Perancangan Form Home
Ketika Sistem dijalankan, sistem akan menampilkan form home yang berisi nama penulis, nim, dan judul tugas akhir penulis.
Form ini berisi nama, NIM, dan Judul tugas akhir penulis.
Help About
Prediksi Valas
[image:50.595.110.543.352.674.2]Nama Nim Judul
3.3.2 Perancangan Form Prediksi Valas
Ketika Prediksi Valas dijalankan maka akan menampilkan tab yang berisi proses algoritma genetika untuk memprediksi Valas.
Input Data
Mutation Crossover
Roulette Wheel
Nilai fitness
Populasi Awal
Reset Exit
[image:51.595.108.534.252.547.2]Home About Help Exit
Gambar 3.12 Rancangan Form Prediksi Valas
Komponen – komponen yang digunakan adalah
-Mutation : Button untuk proses mutasi
-Reset : Button untuk menghapus semua data yang diinput -Exit : Button untuk keluar
3.3.3 Perancangan Form About
Form ini berisi penjelasan mengenai nama program, versi, lisensi, deskripsi, dan logo universitas Sumatera utara. Form akan dibuat dengan fasilitas About Form yang telah disediakan oleh IDE Visual Studio.
Help
Prediksi Valas
Home
Logo USU
Name
[image:52.595.111.522.292.601.2]Description Company Copyright Version
3.3.4 Perancangan Form Help
Form ini berisi panduan yang diharapkan akan memberikan bantuan kepada User
yang kebingungan dan kesulitan dalam menjalankan sistem ini.
About
Prediksi Valas
Home
[image:53.595.109.536.184.496.2]System Description
3.3.5 Perancangan Form Output
Setelah semua proses dilakukan,maka sistem akan menampilkan form output. Yang berisi chart prediksi valuta asing dan juga tombol exit untuk keluar dar sistem.
Exit Chart Prediksi
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi Algoritma Genetika
Pada Penelitian ini, penulis menggunakan kurs IDR-USD dari Maret – Desember 2010 sebagai data yang akan diprediksi. Data tersebut penulis ambil dari website Bank Indonesia.
4.1.1 Pengkodean Kromosom
Pada tahap pengkodean kromosom ini, parameter – parameter yang digunakan direpresentasikan sebagai kromosom. Diantara nya adalah :
a. Inflasi sebagai kromosom 1
b. Harga Minyak Dunia sebagai kromosom 2
c. Krisis Ekonomi Global sebagai kromosom ke 3
d. Krisis Moneter Indonesia sebagai kromosom ke 4
4.1.2 Pembangkitan Populasi Awal
Dari kromosom – kromosom sebelumnya, masing - masing diuraikan lagi menjadi gen. Solusi dari permasalahan menentukan nilai maksimal fungsi F(a,b,c,d) adalah nilai kombinasi (a,b,c,d,). Nilai dari a,b,c,d merupakan nilai kurs masing-masing kromosom(inflasi, minyak dunia, krisis ekonomi global, krisis moneter Indonesia).
Untuk nilai inflasi dan krisis moneter Indonesia diambil dari nilai kurs beli IDR-USD tahun 1998 dimana kurs mencapai Rp. 17000/ Dolar AS. Sedangkan Krisis Ekonomi Global 2008 kurs mencapai Rp.11235/Dolar AS dan Minyak Dunia 2010 kurs mencapai Rp.9100/Dolar AS. Bila setiap nilai X=(a,b,c,d) mempunyai range [min(X) max(X)] maka konversinya adalah:
X = (max(m) – min(m)���� (�) 2�−1 ) Dimana, max m = nilai maks data kurs
maka,
X(inflasi) = (9326-8844)(17000 1023) = (482) 16,61 = 8009
X(minyak dunia) = (9326-8844)((9100 1023) = (482) 8,89
= 4287
X(krisis ekonomi global) = (9326-8844)(11235 1023 ) = (482) 10,98
= 5293
X(krisis moneter Indonesia) = (9326-8844)(17000 1023) = (482) 16,61
= 8009
Agar semua nilai X sebelumnya mewakili nilai kurs asli, maka penulis mengumpamakan:
Nilai maks kurs data asli = 9326 mewakili 8009 (nilai inflasi dan krisis moneter Indonesia) dan nilai min kurs data asli = 8844 mewakili 5293 (nilai minyak dunia)
Dan untuk krisis ekonomi global penulis mengunakan persamaan: X1
dimana, maks kurs = 9326
(krisis global) = (maks kurs)+(m*maks kurs)
m = (nilai inflasi- nilai minyak dunia)/(nilai inflasi) = (8009 – 4287)/ 8009 = 0,46
Maka nilai X1
= 7728
(krisis global) = 9326 +(0,46 * 9326)
Maka nilai gen nya adalah:
a. Kromosom inflasi 9326 nilai gen biner nya 10010001101110 b. Kromosom minyak dunia 7728 nilai biner gen nya 1111000110000
4.2 Implementasi Sistem
Tahap implementasi sistem merupakan proses pengubahan spesifikasi sistem menjadi sistem yang dapat dijalankan. Implementasi dari analisis dan perancangan sistem ini menggunakan Microsoft Visual Studio 2010.
4.2.1 Form Home
Form Home merupakan tampilan antarmuka yang pertama muncul ketika sistem ini dijalankan. Pada form home ini terdapat nama, NIM, dan judul tugas akhir penulis.
Gambar 4.1 Form Home
4.2.2 Form Prediksi Valas dan Hasil Prediksi
Form prediksi valas ini berisi button input data, nilai masing-masing kromosom, nilai
fitness masing-masing kromosom, button proses Roulette Wheel, button proses
Gambar 4.2 Form Prediksi Valas
Setelah semua data diinput dan dilakukan proses algoritma genetika maka akan tampil form berikut:
Gambar 4.3 Form Hasil Prediksi
Pada button input data dimasukkan format .txt yang berisi nilai beli kurs IDR-USD taun 2010. Pada button Hitung Nilai Fitness didapat nilai dengan menggunakan rumus F =( �
�+1)*(
(a+b2+cx 2)
[image:58.595.108.561.410.659.2]a = 2,2 ; b= 2 ; c=2,01 ;a,b,c adalah nilai ketetapan yang dibuat penulis. x = nilai desimal dari gen
Maka,
F (inflasi) = (200 201)*(
2,2+22+ 2,01(9326)2 2(9326) ) = (200
201)* 9372,63 = 9326
F (minyak dunia) = (200 201)*(
2,2+22+ 2,01(7728)2 2(7728) ) = (200
201)* 7766,64 = 7728
F (krisis global) = (200 201)*(
2,2+22+ 2,01(8844)2 2(8844) ) = (200
201)* 8888,22 = 8844
F (krisis moneter Indonesia) = (200 201)*(
2,2+22+ 2,01(9326)2 2(9326) ) = (200
201)* 9372,63 = 9326
Hasil yang diperoleh adalah nilai fitness dari setiap kromosom dalam suatu populasi sebagai berikut:
a. Nilai fitness dari kromosom inflasi adalah 9326
b. Nilai fitness dari kromosom minyak dunia adalah 7728
c. Nilai fitness dari kromosom krisis ekonomi global adalah 8844
d. Nilai fitness dari kromosom krisis moneter Indonesia adalah 9326
Sehingga total nilai fitness nya adalah ∆�= 9326 + 7728 + 8844 + 9326 = 35224
Gambar 4.4 Pie Diagram Roulette Wheel[10]
Kemudian dipilih 2 kromosom secara acak untuk dapat diproses ketahap selanjutnya. Misal yang terpilih adalah inflasi dan minyak dunia,sehingga hasil Roulette Wheel nya adalah:
Inflasi = 9326 = 10010001101110 Minyak dunia = 7728 = 01111000110000
Kemudian dilakukan proses Crossover menggunakan metode kawin silang langsung 2 bit dan dipilih secara acak. Misal terpilih r1=8,r2=9 maka proses persilangan nya adalah
Induk 1 10010001101110 Induk 2 01111000110000 Maka hasil persilangan nya adalah: Anak 1 10010000101110 Anak 2 01111001110000
Sehingga anak dari Inflasi 10010000101110 , dan anak dari minyak dunia 01111001110000.
Kemudian Proses selanjutnya adalah Mutasi. Pada kromosom biner, mutasi dilakukan dengan mengubah gen biner 0 menjadi 1 dan 1 menjadi 0. Untuk menentukan posisi gen biner mana yang akan dimutasi ditentukan penulis secara acak. Bilangan biner yang akan dimutasi adalah dari kedua anak hasil crossover tadi.
inflasi, 0.264
minyak dunia, 0.219 krisis
Maka proses mutasi nya adalah,
10010000111110 10001100111110 01111001100000 01100101100000
Sehingga didapat 1 generasi baru dari proses algoritma genetika. Semua proses yang dilakukan tadi adalah satu iterasi. Dan akan terus diulang sampai n iterasi yaitu sebanyak data yang di input. Setelah semua iterasi selesai dilakukan maka didapat hasil prediksi nilai kurs mata uang dan dapat dilihat di lampiran.
4.2.3 Form About
[image:61.595.111.526.367.564.2]Form about berisi judul tugas akhir, nama penulis dan logo Universitas Sumatera Utara. Form about diperlihatkan oleh Gambar 4.5.
Gambar 4.5 Form About
4.2.4 Form Help
Gambar 4.6 Form Help
4.3 Implementasi Multi Agent System (MAS)
Setelah chart hasil prediksi didapat,maka kita dapat menentukan kapan waktu untuk jual, beli, atau bertahan.
Disini penulis membuat skenario untuk agent yaitu :
1. Jika nilai kurs prediksi lebih besar 20% dari nilai asli kurs awal maka agent memberikan rekomendasi untuk jual.
2. Jika nilai kurs prediksi lebih kecil 20% dari nilai asli kurs awal maka agent memberikan rekomendasi untuk beli.
4.4 Pengujian
4.4.1 Hasil Prediksi
[image:63.595.105.534.224.768.2]Setelah dilakukan proses Algoritma Genetika maka akan didapat kurs baru, yang ditunjukkan oleh tabel 4.1 berikut :
Tabel 4.1 Kurs Asli dengan Kurs prediksi
Bulan Kurs Asli 2011
Kurs Hasil Prediksi Untuk 11 Maret
2011
Pembuktian
Desember
9023 9326
9114 9326 FALSE
9119 9582 TRUE
9045 9334 FALSE
8970 9294 TRUE
9028 9325 TRUE
9059 9374 TRUE
9069 8814 FALSE
9043 9326 TRUE
8990 8302 TRUE
9089 9326 TRUE
9045 9294 TRUE
9045 9342 FALSE
9040 9326 TRUE
8995 9318 TRUE
9040 13422 TRUE
9038 9326 TRUE
9038 15470 TRUE
9020 9318 TRUE
9057 9326 TRUE
November
9040 9326 FALSE
9124 9334 TRUE
9139 9230 FALSE
9054 8814 TRUE
8960 9326 FALSE
9053 11374 TRUE
8990 9294 TRUE
8990 9294 FALSE
9025 10094 TRUE
9010 9326 TRUE
8995 9322 TRUE
8985 9226 TRUE
8910 8302 TRUE
8960 9325 TRUE
8930 9310 TRUE
8851 9325 FALSE
8888 9310 FALSE
8895 9327 TRUE
8917 9262 FALSE
8938 9326 TRUE
8930 9322 TRUE
8849 9254 TRUE
Oktober
8791 9262 TRUE
8784 9230 TRUE
8846 9390 TRUE
8826 9326 TRUE
8831 9454 TRUE
8839 9454 FALSE
8824 9382 TRUE
8796 13422 FALSE
8711 9326 TRUE
8816 13422 TRUE
8801 9262 TRUE
8849 9454 TRUE
8865 11374 TRUE
8900 9322 FALSE
8895 9390 FALSE
8910 15470 TRUE
8923 9390 FALSE
8880 10350 FALSE
8875 8302 TRUE
8915 9710 TRUE
8880 9334 TRUE
September
8779 9320 TRUE
8880 9390 TRUE
8930 9494 TRUE
8870 9326 FALSE
8930 9310 FALSE
8691 9326 TRUE
8943 11374 TRUE
8831 10422 TRUE
8935 9262 FALSE
8761 9294 TRUE
8728 10094 TRUE
8715 9326 TRUE
8686 8814 TRUE
8579 11374 FALSE
8560 9294 TRUE
8528 9582 FALSE
8521 9326 TRUE
8530 8302 TRUE
8496 8814 TRUE
Agustus
8535 9326 TRUE
8534 9326 FALSE
8503 9316 TRUE
8501 10350 TRUE
8509 9230 FALSE
8515 9324 TRUE
8490 9324 FALSE
8483 9262 TRUE
8498 9326 TRUE
8498 11374 TRUE
8402 9342 TRUE
8487 9342 FALSE
8512 11374 TRUE
8490 11374 FALSE
8495 9582 FALSE
8441 9294 TRUE
8445 9310 TRUE
8418 9326 TRUE
8439 9454 TRUE
Juli
8465 9326 FALSE
8466 11374 TRUE
8447 9582 TRUE
8478 9326 FALSE
8485 9838 TRUE
8484 9326 TRUE
8496 9324 TRUE
8497 9327 TRUE
8515 9294 FALSE
8512 9710 TRUE
8494 9310 TRUE
8495 11374 TRUE
8519 9230 FALSE
8506 9326 TRUE
8479 9326 FALSE
8481 9462 TRUE
8492 11374 TRUE
8489 9326 TRUE
8497 9326 FALSE
8479 9326 TRUE
8520 9262 FALSE
Juni 8554 8580 9326 9342 TRUE TRUE
8559 9325 TRUE
8558 11374 TRUE
8557 11374 FALSE
8560 9320 FALSE
8535 9324 TRUE
8552 8814 TRUE
8541 9327 TRUE
8492 15470 FALSE
8495 9454 TRUE
8488 9454 FALSE
8495 11374 TRUE
8480 9326 TRUE
8478 9326 FALSE
8486 9344 TRUE
8463 9390 TRUE
8494 9396 TRUE
8497 9326 TRUE
Mei
8494 9230 TRUE
8505 9294 TRUE
8522 9334 TRUE
8533 9326 TRUE
8541 9454 TRUE
8525 9326 TRUE
8518 9334 TRUE
8492 9326 TRUE
8501 9326 FALSE
8510 9322 FALSE
8512 9327 TRUE
8493 9326 TRUE
8503 9454 TRUE
8510 9325 FALSE
8505 9324 TRUE
8534 9262 FALSE
8523 9326 TRUE
8516 9325 TRUE
8511 9582 TRUE
8508 9327 TRUE
April
8531 8302 FALSE
8550 9582 TRUE
8582 9327 FALSE
8613 11374 TRUE
8585 9325 TRUE
8586 9310 TRUE
8614 9394 TRUE
8643 11374 TRUE
8627 9326 TRUE
8618 9326 TRUE
8629 9582 TRUE
8623 9838 TRUE
8598 9327 TRUE
8613 9390 TRUE
8611 9582 TRUE
8608 8814 TRUE
8628 9326 TRUE
8633 9326 FALSE
8656 10350 TRUE
Maret
8665 9327 FALSE
8671 9314 TRUE
8668 9326 TRUE
8674 9334 TRUE
8664 9326 TRUE
8678 9334 TRUE
8677 9314 TRUE
8666 9262 TRUE
8707 9318 TRUE
8729 9582 TRUE
8749 15470 TRUE
8736 9326 TRUE
8729 9326 FALSE
8727 9326 FALSE
Dan Grafik kurs asli dengan hasil prediksi ditunjukkan oleh gambar 4.7 berikut:
Gambar 4.7 Grafik Kurs Asli dan Hasil Prediksi
BAB 5
PENUTUP
5.1 Kesimpulan
Berdasarkan pembahasan dan evaluasi dari bab terdahulu, maka dapat ditarik kesimpulan sebagai berikut:
1. Penerapan Multi Agent System (MAS) pada algoritma genetika dapat digunakan untuk memprediksi fluktuasi suatu valuta asing.
2. Berdasar