Analisis Portofolio Valuta Asing Menggunakan Algoritma Genetika Berbasis Multi Agent

(1)

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

MEDAN 2013


(2)

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,

Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001


(3)

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

NASAN MARTUA SIREGAR 081401068


(4)

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.

8. Dan teristimewa orang tua yang penulis sayangi, ibunda Rasmian Samosir, SKM dan ayahanda AKP. H. M. Jungjung Siregar, SH, MH yang telah mendukung penulis dengan penuh kasih sayang dan kesabaran yang tak terhingga, juga kepada adik-adik kesayangan penulis Novika Marashanti Siregar, S.Ked, Nindia Marlina Siregar, Nikmat Wira Cendekia Siregar, dan Nuraisyah Mehulina Siregar yang selalu menyayangi penulis sampai saat ini.


(5)

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


(6)

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.


(7)

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.


(8)

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


(9)

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

Lampiran B: Kurs IDR-USD Tahun 2010 Lampiran C: Kurs Hasil Percobaan Prediksi


(10)

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


(11)

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


(12)

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.


(13)

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.


(14)

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.

Analisis mata uang dibutuhkan untuk menentukan kelas risiko dan perolehan surat berharga sebagai dasar keputusan trading. Analisis tersebut dilakukan dengan dasar sejumlah informasi yang diterima trader atas suatu jenis mata uang tertentu. Strategi dari pemilihan portofolio adalah bagaimana kemampuan trader tersebut dalam mengukur tingkat risiko dan tingkat keuntungan yang diterimanya dalam memilih portofolio tersebut. Di dalam dunia trading terdapat portofolio yang jumlahnya tidak terbatas dan di dalam pembentukan portofolio itu trader akan


(15)

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.

Pada dasarnya trader mengharapkan trading yang dilakukan akan menghasilkan tingkat pengembalian yang maksimal dengan risiko yang seminimal mungkin. Terbukti bahwa semakin banyak jenis efek yang dikumpulkan dalam keranjang portofolio, maka risiko kerugian trading satu mata uang dapat dinetralisir


(16)

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.

4. Hanya memberikan alternatif prediksi kapan portofolio dijual, beli atau bertahan. Tidak membahas berapa modal yang diinvestasikan disetiap transaksi.


(17)

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

Mempelajari teori tentang portofolio, multi agent, algoritma genetika. Dalam tahap ini juga dikumpulkan teori-teori mengenai investasi mata unag dan prediksi pasar.


(18)

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.


(19)

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.


(20)

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.


(21)

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


(22)

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


(23)

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

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


(24)

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


(25)

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)


(26)

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 Pc*N 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 Pm*N*L.


(27)

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


(28)

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


(29)

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.

Kurs m enunjukkan harga suatu mata uang, jika dipertukarkan dengan mata uang lain. Sebagai contoh, nilai kurs Rp/USD sebesar 8000, berarti bahwa untuk membeli 1 USD diperlukan Rp.8000 [10]. Penurunan kurs antara Rupiah dan USD (misalnya, dari Rp.8000/USD menjadi Rp.9000/USD) berarti Dollar menjadi lebih mahal dalam nilai Rupiah. Ini mencerminkan bahwa nilai Dollar naik karena jumlah Rupiah yang diperlukan untuk membeli Dollar meningkat. Dengan kata lain, Dollar mengalami apresiasi terhadap Rupiah. Dari sisi lain, Rupiah menjadi lebih murah dinilai dalam Dollar, artinya Rupiah mengalami depresiasi terhadap Dollar.


(30)

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.

Segala informasi yang kadang-kadang juga hingga hal-hal yang tidak rasional harus dikumpulkan, guna dijadikan alat untuk memprediksi pergerakan index saham. Pada intinya, informasi tersebut akan mempengaruhi supply dan demand atas index saham suatu negara.Analisis fundamental diantara nya adalah :


(31)

2.5.1 Fluktuasi Nilai Mata Uang Dolar Amerika terhadap Rupiah pada krisis Ekonomi Indonesia tahun 1997/1998

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]

Berdasarkan pada gambar di atas dapat dijelaskan bahwa periode sebelum krisis 1997/ 1998 nilai tukar mata uang relatif stabil pada kisaran Rp.2.000/US$-Rp.3.000/US$. Kestabilan nilai tukar ini salah satunya diakibatkan oleh sistem nilai tukar yang dianut yakni sistem Managed floating dengan crawling band system yang diterapkan sejak 1992-1997. Namun setelah periode krisis ekonomi tersebut sistem nilai tukar menganut sistem mengambang bebas (free floating exchange rate system). Dampak dari naik turunnya nila tukar tersebut dapat menyebabkan perekonomian mengalami fluktuasi output yang dihasilkannya. Selain itu pula fluktuasi yang terjadi tersebut mengharuskan otoritas moneter untuk melakukan intervensi pasar yang ditujukan untuk menjaga nilai tukar mata uang Rp/US$ agar tidak keluar dari interval kurs yang telah ditetapkannya. Berdasarkan pada uraian di atas, maka penelitian ini bertujuan untuk menganalisis volatilitas nilai tukar mata uang Rp/US$ selama periode 1980-2005.


(32)

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 Perkembangan Nilai Tukar Rupiah terhadap dolar AS dapat dilihat pada Gambar 2.2.


(33)

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 seperti pada Gambar 2.3.


(34)

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


(35)

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.

Kata “Basic” merujuk kepada bahasa BASIC (Beginners All-Purpose Symbolic Instruction Code), sebuah bahasa yang digunakan oleh banyak programmer dibandingkan dengan bahasa lainnya dalam sejarah komputer. Visual Basic telah berubah dari bahasa asli BASIC dan sekarang memiliki ratusan pernyataan


(36)

(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.

Bahasa pemrograman Visual Basic tidaklah hanya identik dengan Visual Basic saja. Sistem Pemrograman Visual Basic dalam bentuk Edisi Aplikasi, telah dimasukkan ke dalam Microsoft Excel, Microsoft Access, dan banyak aplikasi Windows lainnya juga menggunakan bahasa yang sama. Visual Basic Scripting Edition (VBScript) adalah sebuah bahasa skrip yang digunakan secara lebih umum dan merupakan bagian dari bahasa Visual Basic.


(37)

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

akan berlangsung lama. Dan apabila data yang dinputkan tidak akurat (data harus dari Bank Indonesia) maka hasil prediksi yang dihasilkan juga berbeda.


(38)

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.

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

requirement) dan persyaratan nonfungsional (nonfunctional requirement). Dimana persyaratan fungsional adalah aktifitas dan layanan yang harus diberikan atau disediakan oleh sebuah sistem, dan persyaratan nonfungsional berkaitan denga fitur, karakterisitik, dan batasan lainnya yang menetukan apakah sistem memuaskan atau tidak.


(39)

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

Perancangan perangkat lunak dibuat menggunakan bahasa pemrograman Microsoft Visual Studio 2010 yang pada dasar nya penulis tidak membuat tampilan GUI, tetapi penulis menyajikan dalam kode program tersebut. Perancangan aplikasi yang dibuat pada dasarnya mengikuti metode algoritma genetika yang disajikan oleh penulis. Program yang dibuat berdasarkan langkah demi langkah untuk menyelesaikan


(40)

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)

Tahap ini kita akan memilih dua kromosom induk yang akan mengalami proses perkawinan silang secara acak,kemudian menentukan titik potongnya. Setelah titik potongnya terpilih, maka dilakukan penukaran informasi dari kedua kromosom tersebut berdasarkan titik potong yang telah ditentukan. Pada proses ini akan dihasilkan kromosom anak dari hasil perkawinan silang dua induknya, dimana kromosom anak ini berisi gen-gen gabungan dari bagian kromosom bapak dan kromosom ibu.


(41)

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.

Berikut ini adalah diagram use case yang dirancang sebagai pemodelan persyaratan sistem berdasarkan informasi kebutuhan sistem dan aktor yang berperan didalamnya.


(42)

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


(43)

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

Sistem memperlihatkan hasil nilaifitness Masi- masing kromosom


(44)

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


(45)

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


(46)

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


(47)

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

untuk proses pengkodean kromosom digambarkan dibawah ini:

Gambar 3.7 Sequence Diagram Pengkodean Kromosom[11]

Setelah proses pengkodean kromosomselesai dilakukan, kemudian sistem

User menginput nilai hasil seleksi. Kemudian sistem akan melakukan proses rekombinasi dan menampilkan hasilnya.


(48)

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


(49)

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

prediksi valuta asing


(50)

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

Nama Nim Judul


(51)

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

Home About Help Exit

Gambar 3.12 Rancangan Form Prediksi Valas

Komponen – komponen yang digunakan adalah

-Input Data : Untuk menginput data yang akan diproses -Populasi Awal : Menginput Populasi Awal yang akan diproses -Nilai Fitness : Menginput nilai fitness yang akan dihitung -Roulette Wheel : Button untuk proses Roulette Wheel


(52)

-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

Description Company Copyright Version


(53)

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

System Description


(54)

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


(55)

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

min m = nilai min data kurs kurs x = nlai kurs kromosom


(56)

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

c. Kromosom krisis ekonomi global 8844 nilai biner gen nya 10001010001100 d. Kromosom krisis moneter Indonesia 9326 nilai biner gen nya 10010001101110


(57)

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

crossover, button proses mutasi,dan listbox grafik. Form prediksi valas diperlihatkan oleh Gambar 4.2.


(58)

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)

�� ) untuk pencarian nilai fitness nya. Dimana: n= 200 (banyak data yang ditentukan penulis)


(59)

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

Setelah didapat nilai fitness nya maka selanjutnya dilakukan proses Roulette Wheel yaitu memilih nilai fitness yang terbaik. Proses nya sebagai berikut :


(60)

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

global, 0.251 krisis mineter, 0.264


(61)

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

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

Form help berisi panduan untuk memudahkan user menjalankan sistem ini. Form Help diperlihatkan oleh Gambar 4.5.


(62)

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.

3. Jika nilai kurs prediksi berada diantara 0- 20% dari nilai asli kurs awal maka agent memberikan rekomendasi bertahan.


(63)

4.4 Pengujian 4.4.1 Hasil Prediksi

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


(64)

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


(1)

2 Aug 2010 8893.00

30-Jul-10 8907.00

29-Jul-10 8957.00

28-Jul-10 8978.00

27-Jul-10 8969.00

26-Jul-10 8995.00

23-Jul-10 9010.00

22-Jul-10 9024.00

21-Jul-10 9007.00

20-Jul-10 9013.00

19-Jul-10 9031.00

16-Jul-10 9003.00

15-Jul-10 9002.00

14-Jul-10 9003.00

13-Jul-10 9011.00

12-Jul-10 9005.00

09-Jul-10 9019.00

08-Jul-10 9025.00

07-Jul-10 9029.00

06-Jul-10 9043.00

05-Jul-10 9015.00

02-Jul-10 9003.00

01-Jul-10 9049.00

30-Jun-10 9038.00

29-Jun-10 8988.00

28-Jun-10 8995.00

25-Jun-10 9005.00

24-Jun-10 8998.00

23-Jun-10 9010.00

22-Jun-10 8988.00

21-Jun-10 8970.00

18-Jun-10 9089.00

17-Jun-10 9121.00

16-Jun-10 9114.00

15-Jun-10 9133.00

14-Jun-10 9138.00

11-Jun-10 9154.00

10-Jun-10 9204.00

09-Jun-10 9192.00

08-Jun-10 9219.00

07-Jun-10 9249.00

04-Jun-10 9158.00

03-Jun-10 9144.00

02-Jun-10 9189.00

01-Jun-10 9164.00

31 May 2010 9134.00

27 May 2010 9291.00

26 May 2010 9326.00

25 May 2010 9288.00

24 May 2010 9223.00

21 May 2010 9288.00

20 May 2010 9159.00


(2)

18 May 2010 9087.00

17 May 2010 9099.00

14 May 2010 9049.00

12 May 2010 9069.00

11 May 2010 9028.00

10 May 2010 9074.00

7 May 2010 9247.00

6 May 2010 9159.00

5 May 2010 9008.00

4 May 2010 8972.00

3 May 2010 8985.00

30-Apr-10 8967.00

29-Apr-10 8977.00

28-Apr-10 8978.00

27-Apr-10 8968.00

26-Apr-10 8956.00

23-Apr-10 8971.00

22-Apr-10 8982.00

21-Apr-10 8962.00

20-Apr-10 8983.00

19-Apr-10 9001.00

16-Apr-10 8973.00

15-Apr-10 8959.00

14-Apr-10 8964.00

13-Apr-10 8975.00

12-Apr-10 8958.00

09-Apr-10 9004.00

08-Apr-10 9019.00

07-Apr-10 8992.00

06-Apr-10 9000.00

05-Apr-10 9010.00

01-Apr-10 9030.00

31-Mar-10 9069.00

30-Mar-10 9025.00

29-Mar-10 9045.00

26-Mar-10 9090.00

25-Mar-10 9092.00

24-Mar-10 9074.00

23-Mar-10 9073.00

22-Mar-10 9070.00

19-Mar-10 9079.00

18-Mar-10 9074.00

17-Mar-10 9103.00

15-Mar-10 9129.00

12-Mar-10 9137.00


(3)

Kurs Hasil Percobaan Prediksi

Bulan Kurs Asli

2011

Kurs Hasil Prediksi 2011 (Percobaan II)

Pembuktian (Percobaan II)

Kurs Hasil Prediksi 2011 (Percobaan III)

Pembuktian (Percobaan III)

Kurs Hasil Prediksi 2011 (Percobaan IV)

Pembuktian (Percobaan IV)

Desember 9023 9302 9023 7792

9114 9538 TRUE 9114 TRUE 9278 TRUE

9119 9550 TRUE 9119 TRUE 9282 TRUE

9045 8876 TRUE 9045 TRUE 7536 TRUE

8970 8940 FALSE 8970 TRUE 9774 TRUE

9028 8270 TRUE 9028 FALSE 10030 TRUE

9059 9230 FALSE 9059 TRUE 9278 FALSE

9069 8876 TRUE 9069 TRUE 9792 TRUE

9043 9294 TRUE 9043 TRUE 9646 TRUE

8990 9132 FALSE 8990 TRUE 5744 TRUE

9089 8270 TRUE 9089 TRUE 9262 TRUE

9045 9900 FALSE 9045 FALSE 6768 TRUE

9045 9358 TRUE 9045 TRUE 7792 TRUE

9040 9310 TRUE 9040 TRUE 9326 TRUE

8995 8620 TRUE 8995 TRUE 11310 TRUE

9040 9310 TRUE 9040 TRUE 7792 FALSE

9038 9294 FALSE 9038 TRUE 7760 TRUE

9038 8876 TRUE 9038 TRUE 7260 TRUE

9020 9900 FALSE 9020 FALSE 11310 FALSE

9057 8844 TRUE 9057 TRUE 9518 FALSE

November 9040 9294 TRUE 9040 TRUE 9254 FALSE

9124 9388 FALSE 9124 FALSE 9346 TRUE

9139 8868 TRUE 9139 TRUE 9362 TRUE

9054 9290 TRUE 9054 TRUE 9646 TRUE

8960 8812 TRUE 8960 TRUE 9270 TRUE

9053 9358 TRUE 9053 TRUE 7280 FALSE

8990 8748 TRUE 8990 FALSE 9390 TRUE

8990 9302 FALSE 8990 FALSE 7536 FALSE

9025 9294 TRUE 9025 TRUE 10030 TRUE

9010 9132 TRUE 9010 FALSE 7792 TRUE

8995 9230 TRUE 8995 TRUE 9230 TRUE

8985 9262 TRUE 8985 TRUE 7920 TRUE

8950 10924 TRUE 8950 TRUE 9774 TRUE

8910 9132 TRUE 8910 FALSE 9262 TRUE

8960 9230 TRUE 8960 TRUE 9278 TRUE

8930 9550 TRUE 8930 TRUE 11310 TRUE

8851 8364 TRUE 8851 FALSE 7696 TRUE

8888 8940 FALSE 8888 TRUE 7792 TRUE

8895 8620 TRUE 8895 FALSE 7795 TRUE

8917 8940 TRUE 8917 TRUE 8048 TRUE

8938 9294 TRUE 8938 TRUE 7796 FALSE

8930 8876 TRUE 8930 TRUE 9260 TRUE

8849 9806 TRUE 8849 TRUE 7796 TRUE

8791 9388 TRUE 8791 TRUE 7280 TRUE

Oktober 8784 8270 TRUE 8784 FALSE 9518 TRUE

8846 9294 FALSE 8846 TRUE 9254 FALSE


(4)

8831 8876 TRUE 8831 TRUE 9782 TRUE

8839 8882 TRUE 8839 TRUE 7792 FALSE

8824 10924 TRUE 8824 TRUE 9774 TRUE

8796 8748 TRUE 8796 TRUE 9263 TRUE

8711 8876 FALSE 8711 TRUE 9258 TRUE

8816 8748 TRUE 8816 TRUE 9646 TRUE

8801 9286 FALSE 8801 FALSE 7760 TRUE

8849 8940 TRUE 8849 TRUE 7792 TRUE

8865 11342 FALSE 8865 TRUE 11310 TRUE

8900 9294 TRUE 8900 TRUE 9250 FALSE

8895 9282 TRUE 8895 FALSE 7796 TRUE

8910 9286 FALSE 8910 TRUE 7792 FALSE

8923 8892 TRUE 8923 TRUE 9646 TRUE

8880 10924 TRUE 8880 TRUE 7536 TRUE

8875 9286 TRUE 8875 TRUE 9262 TRUE

8915 9302 TRUE 8915 TRUE 8238 FALSE

8880 8876 TRUE 8880 TRUE 9390 TRUE

8779 9422 TRUE 8779 TRUE 7798 TRUE

September 8880 9550 FALSE 8880 FALSE 7776 FALSE

8930 9342 TRUE 8930 TRUE 9262 TRUE

8870 8876 FALSE 8870 TRUE 9774 TRUE

8930 8876 TRUE 8930 TRUE 9782 TRUE

8691 9230 FALSE 8691 TRUE 7792 TRUE

8943 8844 TRUE 8943 TRUE 7792 FALSE

8831 13390 FALSE 8831 FALSE 7770 TRUE

8935 9004 TRUE 8935 TRUE 13358 TRUE

8761 13390 TRUE 8761 TRUE 1648 TRUE

8728 9900 TRUE 8728 TRUE 7280 TRUE

8715 9294 TRUE 8715 TRUE 7792 TRUE

8686 9326 TRUE 8686 TRUE 9262 TRUE

8579 8782 TRUE 8579 TRUE 9256 TRUE

8560 9294 TRUE 8560 TRUE 11310 TRUE

8528 8270 TRUE 8528 FALSE 7804 TRUE

8528 8884 TRUE 8528 TRUE 9774 TRUE

8521 9132 FALSE 8521 TRUE 7800 TRUE

8530 8864 TRUE 8530 TRUE 9774 TRUE

8496 9282 TRUE 8496 TRUE 9262 TRUE

8535 9294 TRUE 8535 TRUE 9270 TRUE

Agustus 8534 8864 TRUE 8534 TRUE 9262 TRUE

8503 9230 TRUE 8503 TRUE 7920 TRUE

8501 8876 TRUE 8501 FALSE 9230 TRUE

8509 10924 FALSE 8509 FALSE 9262 TRUE

8515 8876 TRUE 8515 TRUE 9518 TRUE

8490 8864 TRUE 8490 TRUE 9262 TRUE

8483 13390 FALSE 8483 FALSE 5744 TRUE

8498 9294 TRUE 8498 TRUE 7792 TRUE

8498 9302 FALSE 8498 TRUE 9230 TRUE

8402 8748 TRUE 8402 TRUE 7792 TRUE

8487 9358 FALSE 8487 TRUE 5744 FALSE

8512 8908 TRUE 8512 TRUE 9262 TRUE

8490 9302 FALSE 8490 FALSE 9262 FALSE

8495 9132 TRUE 8495 TRUE 9278 TRUE


(5)

8445 10924 TRUE 8445 TRUE 10286 TRUE

8418 9422 FALSE 8418 FALSE 9278 TRUE

8439 8748 TRUE 8439 FALSE 7793 FALSE

8465 8876 TRUE 8465 TRUE 9262 TRUE

Juli 8466 9294 TRUE 8466 TRUE 7804 FALSE

8447 9358 TRUE 8447 TRUE 9260 TRUE

8478 9422 TRUE 8478 FALSE 7536 FALSE

8485 11342 TRUE 8485 TRUE 7776 TRUE

8484 9294 FALSE 8484 TRUE 9454 TRUE

8496 9004 TRUE 8496 TRUE 9254 FALSE

8497 9326 TRUE 8497 FALSE 11310 TRUE

8515 9422 TRUE 8515 TRUE 15406 TRUE

8512 8876 TRUE 8512 TRUE 7744 TRUE

8494 12972 FALSE 8494 TRUE 9262 TRUE

8495 10062 FALSE 8495 FALSE 7696 FALSE

8519 8892 TRUE 8519 TRUE 9256 TRUE

8506 9678 TRUE 8506 TRUE 7793 TRUE

8479 8940 TRUE 8479 TRUE 9518 TRUE

8481 10924 FALSE 8481 TRUE 5744 FALSE

8492 8876 TRUE 8492 TRUE 7798 TRUE

8489 8776 TRUE 8489 TRUE 7920 TRUE

8497 8876 FALSE 8497 TRUE 9254 TRUE

8479 8876 TRUE 8479 TRUE 9646 TRUE

8520 12972 TRUE 8520 TRUE 9262 FALSE

8554 15438 FALSE 8554 FALSE 8048 FALSE

Juni 8580 8868 TRUE 8580 TRUE 7744 FALSE

8576 8364 TRUE 8576 TRUE 7792 TRUE

8559 8860 TRUE 8559 TRUE 7795 TRUE

8558 11342 TRUE 8558 TRUE 7536 TRUE

8557 9004 FALSE 8557 TRUE 8048 TRUE

8560 8876 TRUE 8560 FALSE 7280 FALSE

8535 11342 TRUE 8535 FALSE 8750 TRUE

8552 15020 TRUE 8552 TRUE 1648 TRUE

8541 9294 TRUE 8541 TRUE 8238 TRUE

8492 11948 FALSE 8492 TRUE 9230 TRUE

8495 8868 TRUE 8495 TRUE 8238 FALSE

8488 9282 TRUE 8488 TRUE 10286 TRUE

8495 9294 FALSE 8495 TRUE 7280 FALSE

8480 8782 TRUE 8480 FALSE 8048 TRUE

8478 8940 TRUE 8478 TRUE 9262 TRUE

8486 9132 TRUE 8486 TRUE 3696 FALSE

8463 9230 TRUE 8463 FALSE 9278 TRUE

8494 9294 TRUE 8494 TRUE 9262 FALSE

8497 15020 FALSE 8497 TRUE 9390 TRUE

8494 8364 TRUE 8494 TRUE 7280 TRUE

Mei 8505 11948 FALSE 8505 FALSE 9646 TRUE

8522 8864 TRUE 8522 TRUE 5744 FALSE

8533 9294 TRUE 8533 TRUE 9262 TRUE

8541 13390 FALSE 8541 TRUE 9262 FALSE

8525 9678 TRUE 8525 TRUE 9326 TRUE

8518 8876 TRUE 8518 TRUE 13358 TRUE

8492 8776 TRUE 8492 FALSE 8238 TRUE


(6)

8510 9326 FALSE 8510 TRUE 7796 FALSE

8512 8364 TRUE 8512 TRUE 8238 TRUE

8493 9550 FALSE 8493 FALSE 9254 TRUE

8503 8876 TRUE 8503 FALSE 8238 FALSE

8510 13390 TRUE 8510 TRUE 4720 FALSE

8505 8892 TRUE 8505 TRUE 9258 TRUE

8534 9132 TRUE 8534 TRUE 9262 TRUE

8523 9294 TRUE 8523 TRUE 6768 FALSE

8516 9284 TRUE 8516 TRUE 8750 TRUE

8511 9806 TRUE 8511 TRUE 9263 TRUE

8508 9294 FALSE 8508 FALSE 9278 TRUE

8531 8940 TRUE 8531 TRUE 7744 FALSE

April 8550 9286 TRUE 8550 FALSE 9262 TRUE

8582 9302 FALSE 8582 TRUE 7792 FALSE

8613 8872 TRUE 8613 TRUE 9262 TRUE

8585 9294 TRUE 8585 FALSE 7796 TRUE

8586 10924 FALSE 8586 TRUE 8750 TRUE

8614 8892 TRUE 8614 TRUE 9390 TRUE

8643 11342 TRUE 8643 TRUE 9518 TRUE

8627 9550 TRUE 8627 TRUE 9263 TRUE

8618 8884 TRUE 8618 FALSE 9262 TRUE

8618 8892 TRUE 8618 TRUE 7744 FALSE

8629 8894 TRUE 8629 TRUE 7792 TRUE

8623 9310 TRUE 8623 TRUE 7792 FALSE

8598 8876 TRUE 8598 TRUE 9294 TRUE

8613 9294 TRUE 8613 TRUE 9390 TRUE

8611 8782 TRUE 8611 TRUE 10030 TRUE

8608 10924 FALSE 8608 TRUE 9260 TRUE

8628 9422 FALSE 8628 TRUE 8176 FALSE

8633 8844 TRUE 8633 FALSE 1648 FALSE

8656 9326 TRUE 8656 FALSE 5744 TRUE

8665 12972 FALSE 8665 TRUE 7792 TRUE

Maret

8671 8872 TRUE 8671 TRUE 9326 TRUE

8668 9290 TRUE 8668 TRUE 8750 TRUE

8674 15020 TRUE 8674 TRUE 9254 TRUE

8664 9294 FALSE 8664 TRUE 7792 TRUE

8678 8782 TRUE 8678 TRUE 7856 TRUE

8677 9294 TRUE 8677 TRUE 9262 TRUE

8666 15020 FALSE 8666 TRUE 9774 TRUE

8707 10924 FALSE 8707 TRUE 10286 TRUE

8729 9100 TRUE 8729 FALSE 9326 FALSE

8749 9230 TRUE 8749 TRUE 9263 FALSE

8736 11948 TRUE 8736 FALSE 11310 TRUE

8729 9302 TRUE 8729 TRUE 9262 TRUE

8727 8892 FALSE 8727 TRUE 9390 TRUE