Pencarian solusi pada permasalahan sistem persamaan nonlinier menggunakan metode bat algorithm

(1)

PENCARIAN SOLUSI PADA PERMASALAHAN SISTEM

PERSAMAAN NONLINIER MENGGUNAKAN METODE

BAT ALGORITHM

SKRIPSI

TEDY NOVIAN

108094000042

PROGRAM STUDI MATEMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA


(2)

(3)

iii

PERNYATAAN

DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-BENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN.

Jakarta, 06 Juli 2015

Tedy Novian 108094000042


(4)

iv

PERSEMBAHAN

Alhamdulillahirobbil’alamin, segala puji bagi Allah, Tuhan Semesta Alam. Skripsi ini saya persembahkan untuk Papa Mamaku tercinta, Adik-adikKu dan Istri serta AnakKu, dan seluru Keluarga besarku, dan juga Keluarga

besar Prodi Matematika, serta semua pihak yang terlibat di dalamnya. Semoga selalu diridhoi Allah SWT, selalu dalam lindungan-Nya, serta

selalu dibukakan pintu rahmat, kasih sayang, dan hidayah-Nya Amin

MOTTO

Menuntut Ilmu Adalah Takwa, Menyampaikan Ilmu Adalah

Ibadah, Mengulang Ilmu Adalah Zikir dan Mencari Ilmu Adalah

Jihad

(Al-Ghazali)

”Janganlah kemiskinanmu menyebabkan Kekufuran dan janganlah kekayaanmu membuahkan Kesombongan”


(5)

v

ABSTRAK

Tedy Novian, Pencarian Solusi Pada Permasalahan Sistem Persamaan Nonlinier Menggunakan Bat Algorithm. Di bawah bimbingan Irma Fauziah, M.Sc dan

Muhaza Liebenlito, M.Si.

Persamaan nonlinier ataupun sistem persamaan nonlinier dapat diselesaikan secara analitik dan numerik. Namun pada perkembangannya ada persamaan nonlinier ataupun sistem persamaan nonlinier tertentu, yang sulit diselesaikan dengan penghitungan analitik, sehingga penghitungan numerik dapat menjadi solusi. Salah satu solusi numerik untuk persamaan nonlinier ataupun sistem persamaan nonlinier adalah metode Steepest Descent yang juga termasuk ke dalam metode optimisasi klasik. Metode Steepest Descent merupakan metode untuk mencari akar persamaan, hal ini dikarenakan optimisasi ekivalen dengan mencari akar pada turunan pertama suatu fungsi [2]. Jadi metode Steepest Descent merupakan prosedur paling mendasar untuk meminimasikan suatu fungsi yang mempunyai turunan. Namun metode ini memiliki kekurangan, yaitu tidak bisa menyelesaikan permasalahan optimisasi apabila fungsi tersebut tidak memiliki turunan. Oleh karena itu, dibutuhkan sebuah metode yang mampu mengatasi permasalahan tersebut.

Untuk mengatasi permasalahan tersebut para peneliti menemukan algoritma optimisasi yang terinspirasi dari alam, yaitu Bat Algorithm (BA). Bat Algorithm merupakan teknik optimisasi yang terinspirasi oleh kemampuan ekolokasi kelelawar, yang dapat membuat kelelawar dapat mengetahui keadaan sekitar dalam keadaan gelap tanpa cahaya sedikitpun.

Jenis penelitian ini merupakan penelitian kepustakaan atau penelitian literatur yang bertujuan untuk mengumpulkan data dan informasi terkait persamaan nonlinier dan sistem persamaan nonlinier, metode optimasi Bat Algorithm, serta dilengkapi simulasi numerik terhadap beberapa contoh penggunaaan metode ini pada beberapa contoh kasus yang diberikan dengan bantuan software.

Beberapa contoh kasus sistem persamaan nonlinier telah diselesaikan dengan menggunakan metode optimisasi Bat Algorithm. Hasil penelitian menunjukkan bahwa metode optimisasi Bat Algorithm selalu konvergen terhadap sembarang nilai. Namun, merode Steepest Descent lebih baik dibandingkan metode Bat Algorithm, akan tetapi hasil yang didapat baik akar-akar persamaan ataupun nilai fungsinya dari kedua metode tidak signifikan.

Kata kunci: Sistem Persamaan Nonlinier, Optimisasi, Bat Algorithm, Steepest Descent, Metaheuristik Algorithm.


(6)

vi

ABSTRACT

Tedy Novian, Search for Solutions On Nonlinear Equations System Problems Using Bat Algorithm. Under guidance Irma Fauziah, M.Sc dan Muhaza Liebenlito, M.Si.

Nonlinear equations or systems of nonlinear equations can be solved analytically and numerically. But in its development there is a system of nonlinear equations or certain nonlinear equations, which is difficult to be solved by analytical calculation, so the numerical calculation may be the solution. One of the numerical solution for nonlinear equations or systems of nonlinear equations is Steepest Descent method that also belong to the classical optimization methods. Steepest Descent method is a method to find the root of the equation, this is because optimization is equivalent to searching for the roots of the first derivative of a function [2]. So Steepest Descent method is the most basic procedure for meminimasikan a function that has a derivative. But this method has its drawbacks, ie can not solve optimization problems if the function has no derivative. Therefore, we need a method that is able to overcome these problems.

To overcome these problems, the researchers found that optimization algorithms inspired by nature, the Bat Algorithm (BA). Bat Algorithm is an optimization technique inspired by bat echolocation ability, which can make a bat can determine the circumstances around in the dark with no light at all.

This research is research literature or literature study that aims to collect data and information related to nonlinear equations and systems of nonlinear equations, optimization methods Bat Algorithm, and equipped with numerical simulations on some examples of the use of this method in some case examples are given with the help of software.

Some examples of cases of systems of nonlinear equations has been solved using optimization methods Bat Algorithm. The results showed that the Bat Algorithm optimization method always converges to any value. However, Merode Steepest Descent better than Bat Algorithm methods, but the results are both roots of the equation or the value of the function of these two methods are not significant.

Keywords: Nonlinear Equations Systems, Optimization, Bat Algorithm, Steepest Descent, Metaheuristic Algorithm.


(7)

vii

KATA PENGANTAR

ميح راا نمح راا ها مسب

Assalamu’alaikum Warahmatullahi Wabarakatuh

Alhamdulillah, Segala puji bagi Allah, Tuhan Semesta Alam, yang senantiasa melimpahkan rahmat dan nikmat-Nya kepada kita semua, tak terkecuali pada penulis, hingga penulis dapat menyelesaikan skripsi “Pencarian Solusi Pada Permasalahan Sistem Persamaan Nonlinier Menggunakan Metode Bat Algorithm”. Shalawat serta salam senantiasa tercurah kepada Nabi Muhammad SAW, manusia luar biasa karena kecerdasannya, kemuliaan akhlaqnya, keluhuran budi pekertinya, dan sunnah-sunnah Rasulullah yang tetap subur.

Dalam penyusunan skripsi ini, penulis banyak mendapat dorongan, semangat, dan bimbingan serta kritikan dan sara dari berbagai pihak. Oleh karena itu, pada kesempatan ini penulis ingin mengucapkan terima kasih kepada:

1. Kedua orang tuaku (Margono dan Anna Noviana), adik-adikku (Jauhari Ian Novian, Ajeng Permata Fajrina, dan Marwah Noer Fitriana), dan istri (Aprilia Rahmawati) serta anakku (Malika Destian Arrahma) tercinta, beserta seluruh keluarga besar penulis yang selalu memberikan kasih sayang dan selalu mendoakan penulis sehingga dapat menyelesaikan skripsi ini,

2. Dr. Agus Salim, M.Si, selaku Dekan Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta,


(8)

viii

3. Ibu Dr. Nina Fitriyati, M.Kom, selaku Ketua Program Studi Matematika Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta,

4. Ibu Irma Fauziah, M.Sc, selaku Pembimbing I dan Pak Muhaza Liebenlito, M.Si, selaku Pembimbing II. Mohon maaf atas semua kesalahan penulis selama ini, serta terima kasih banyak atas waktu dan kesabarannya dalam membimbing penulis dalam menyelesaikan penelitian ini,

5. Ibu Yanne Irene, M.Si, selaku Penguji I dan Pak Mahmudi, M.Si, selaku Penguji II. Terima kasih atas segala masukan dalam penulisan ini.

6. Seluruh dosen dan karyawan Program Studi Matematika, yang telah mengajarkan banyak hal yang sangat bermanfaat bagi penulis.

7. Sahabat-sahabat terbaikku selama mengenyam pendidikan di UIN Jakarta khususnya Math’08, Putra, Deny, Munir, Rosyid, Ucok Lah, Azmi, Rizha, Nizar, Sopyan, Derry, Ridho, alm.Mukhlis, Ustad Luqman, dll,

8. Teman-teman Himatika UIN Jakarta.

9. Teman-teman Kosan Antalaklai (Mas Kiki dan Mbak Desi, Ka Ucal, bos Rengki, Furqon, Kochar, Dolay, Ega, Angga, Mukmin, Cahyadi, Hanip, Mali, Yopy, Azom, Zul, Onay, Awan) Bu Kosan Antalaklai, serta semua pihak yang telah membantu penulis.

Penulis menyadari bahwa masih banyak kelemahan dan kekurangan yang terdapat pada skripsi ini. Atas dasar itulah penulis memohon maaf yang


(9)

sebesar-ix

besarnya kepada semua pihak jika terdapat kesalahan yang kurang berkenan. Namun, saran dan kritik selalu penulis harapkan demi perbaikan pada penelitian selanjutnya.

Akhir kata, harapan yang besar bahwa skripsi ini dapat bemanfaat dan memberikan kontribusi yang berarti, baik bagi penulis khususnya dan bagi pembaca umumnya.

Wassalamu’alaikum Warahmatullahi Wabarakatuh

Jakarta, 6 Juli 2015


(10)

x

DAFTAR ISI

HALAMAN JUDUL ... i

PENGESAHAN UJIAN ... ii

PERNYATAAN ... iii

PERSEMBAHAN DAN MOTTO ... iv

ABSTRAK ... v

ABSTRACT ... vi

KATA PENGANTAR ... vii

DAFTAR ISI ... x

DAFTAR TABEL ... xii

DAFTAR GAMBAR ... xiii

BAB I PENDAHULUAN 1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 3

1.3 Batasan Masalah ... 3

1.4 Tujuan Penelitian ... 3

1.5 Manfaat Penelitian ... 4

BAB II LANDASAN TEORI 2.1 Optimisasi ... 5

2.2 Sistem Persamaan Nonlinier ... 8

2.3 Metode Steepest Descent ... 9


(11)

xi

BAB III METODE PENELITIAN

3.1 Studi Literatur ... 14

3.2 Perilaku Kelelawar ... 14

3.3 Ekolokasi Kelelawar ... 15

3.4 Karakteristik Bat Algorithm ... 17

3.5 Gerakan Kelelawar Virtual ... 19

3.6 Kenyaringan Dan Gelombang Suara Kelelawar ... 20

3.7 Benchmark Functions ... 21

BAB IV PEMBAHASAN 4.1 Sistem Persamaan Nonlinier ... 24

4.2 Contoh Kasus 1 ... 25

4.3 Contoh Kasus 2 ... 26

BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan ... 28

5.2 Saran ... 28

DAFTAR PUSTAKA ... 30


(12)

xii

DAFTAR TABEL

Tabel 3.1 Perbandingan Hasil Uji dan Nilai Eksak Fungsi Rosenbrock’s ... 21 Tabel 3.2 Perbandingan Hasil Uji dan Nilai Eksak Fungsi Price 1... 22 Tabel 4.1 Nilai Akar-akar Persamaan Yang Dihasilkan Oleh Bat Algorithm

Pada Contoh Kasus 1 ... 32 Tabel 4.2 Nilai Akar-akar Persamaan Yang Dihasilkan Oleh Bat Algorithm


(13)

xiii

DAFTAR GAMBAR

Gambar 2.1 Arah Steepest Descent ... 12 Gambar 3.1 Flowchart Bat Algorithm ... 18 Gambar 4.1 Plot Sistem Persamaan Nonlinier 4.3 ... 25


(14)

1

BAB I PENDAHULUAN

1.1 Latar Belakang

Pada dasarnya setiap permasalahan optimisasi dapat dinyatakan dalam bentuk persamaan. Namun dalam perkembangannya, tidak semua persamaan dapat diselesaikan dengan mudah. Persamaan mempunyai bentuk sederhana mungkin dapat diselesaikan secara analitik, sedangkan permasalahan yang muncul dalam dunia nyata seringkali nonlinier dengan proses yang relatif lebih rumit, dan akibatnya penyelesaian secara analitik menjadi terbatas. Bila metode analitik tidak dapat diterapkan lagi, maka solusinya masih dapat dicari dengan metode numerik. Metode numerik adalah metode yang digunakan untuk memformulasikan persoalan matematik sehinggga dapat dipecahkan dengan operasi perhitungan biasa (tambah, kurang, kali dan bagi) [1].

Salah satu solusi numerik untuk sistem persamaan nonlinier adalah metode Steepest Descent yang juga termasuk ke dalam metode optimisasi klasik. Metode Steepest Descent merupakan metode untuk mencari akar persamaan, hal ini dikarenakan optimisasi ekivalen dengan mencari akar pada turunan pertama suatu fungsi [2]. Jadi metode Steepest Descent merupakan prosedur paling mendasar untuk meminimasikan suatu fungsi yang mempunyai turunan. Namun metode ini memiliki kekurangan, yaitu tidak bisa menyelesaikan permasalahan optimisasi apabila fungsi


(15)

2

tersebut tidak memiliki turunan. Oleh karena itu, dibutuhkan sebuah metode yang mampu mengatasi permasalahan tersebut.

Dari permasalah optimisasi diatas para peneliti menemukan algoritma optimisasi yang terinspirasi dari alam, hal ini didasarkan pada kecerdasan berkelompok makhluk hidup. Misalnya algoritma genetika terinspirasi oleh karakteristik evolusi Darwin, atau particle swarm optimisation (PSO) didasarkan pada perilaku sekelompok burung dan ikan [2]. Dan ada algoritma yang di inspirasi dari cara kerja ekolokasi kelelawar yaitu Bat Algorithm (BA) atau Algoritma Kelelawar [3]. Kemampuan ekolokasi kelelawar sangat menarik, membuat kelelawar seperti dapat menemukan mangsanya dan dapat membedakan berbagai jenis serangga ataupun rintangan keadaan gelap tanpa cahaya sedikitpun.

Bat Algorithm merupakan teknik optimisasi yang didasarkan dari populasi yang terinspirasi oleh kemampuan ekolokasi kelelawar. Pada awalnya Xin-She Yang

dalam “ A New Metaheuristic Bat-Inspired Algorithm “ menemukan Bat Algorithm

yang terinspirasi oleh kemampuan ekolokasi kelelawar untuk diaplikasikan pada permasalahan optimisasi. Tujuan tulisan ini adalah untuk mengaplikasikan Bat Algorithm untuk mencari solusi persamaan nonlinier, dengan judul “ Pencarian Solusi Pada Permasalahan Sistem Persamaan Nonlinier Menggunakan Metode Bat


(16)

3

1.2 Rumusan Masalah

Berdasarkan latar belakang yang telah dikemukakan, rumusan masalah dalam penulisan ini antara lain:

a. Bagaimana hasil uji Benchmark terhadap Bat Algorithm ?

b. Bagaimana aplikasi dari Bat Algorithm pada sistem persamaan nonlinier? c. Bagaimana nilai akar-akar (solusi) dari sistem persamaan nonlinier

menggunakan Bat Algorithm ?

1.3 Batasan Masalah

Pembatasan masalah pada penulisan ini adalah penulis membahas perilaku kelelawar berdasarkan kemampuan ekolokasi dan perilaku terkait.

1.4 Tujuan Penelitian

Tujuan penelitian ini adalah :

1. Dapat mengetahui hasil uji fungsi Benchmark terhadap Bat Algorithm. 2. Dapat mengaplikasikan Bat Algorithm pada sistem persamaan nonlinier.

3. Dapat menemukan nilai akar-akar dari persamaan nonlinier dengan mengunakan Bat Algorithm.

1.5 Manfaat Penelitian


(17)

4

1. Dapat mengetahui kelayakan Bat Algoritma dalam mencari solusi sistem persamaan nonlinier.

2. Dapat mengetahui nilai akar-akar persamaan yang dihasilkan oleh Bat Algorithm dan membandingkannya dengan nilai solusi numeriknya.


(18)

5 BAB II

LANDASAN TEORI

2.1 Optimisasi

Permasalahan optimisasi dapat dinyatakan sebagai permasalahan optimisasi nonlinier dengan kendala, didefinisikan sebagai :

memaksimalkan / meminimalkan.

Dengan syarat :

(2.1) di mana , dan adalah fungsi skalar dari vektor kolom . Oleh karena itu komponen dari disebut variabel desain atau lebih sering disebut variabel keputusan, dan variabel tersebut bisa kontinu atau diskrit ataupun keduanya. Vektor sering disebut vektor keputusan yang bervariasi dalam dimensi pada ruang . Fungsi disebut fungsi objektif atau fungsi yang akan dimaksimum atau diminimumkan. Selain itu, ada yang merupakan kendala dalam bentuk sejumlah M persamaan, dan merupakan kendala yang ditulis dalam sejumlah N pertidaksamaan. sehingga total terdapat sejumlah M + N kendala. Masalah optimisasi yang dirumuskan di sini adalah permasalan nonlinier dengan kendala.


(19)

6 Ruang yang direntang oleh variabel keputusan disebut ruang pencarian , sedangkan ruang yang dibentuk oleh nilai-nilai fungsi objektif disebut ruang solusi. Perasalahan optimisasi pada dasarnya memetakan domain atau ruang variabel keputusan ke ruang solusi (atau sumbu real pada umumnya).

Fungsi objektif dapat berupa linier atau nonlinier. Jika kendala dan semua linier, maka disebut permasalahan linier dengan kendala. Selanjutnya, , dan fungsi objektif adalah semua linier, maka disebut permasalahan pemrograman linier. Jika fungsi objektifnya berupa fungsi kuadrat dengan kendala linier, maka disebut pemrograman kuadratik. Jika semua nilai-nilai variabel keputusan berupa bilangan bulat, maka jenis pemrograman linier ini disebut integer programming atau integer linier programming.

Pemrograman linier sangat penting dalam aplikasinya dan telah dipelajari dengan baik, namun masih belum ada metode umum untuk menyelesaikan pemrograman nonlinier secara umumnya, meskipun beberapa kemajuan penting telah tercapai dalam beberapa dekade terakhir. Perlu diingat bahwa kata pemprograman disini berarti perencanaan, itu tidak ada hubungannya dengan pemrograman pada komputer. Di sisi lain, jika tidak ada kendala yang dinyatakan sehingga dapat mengambil nilai dalam sumbu real (atau bilangan bulat), permasalahan optimisasi disebut sebagai masalah optimisasi tanpa kendala [4].


(20)

7 Optimisasi yang paling sederhana tanpa kendala mungkin adalah pencarian dari nilai maksimum atau minimum dari suatu fungsi. Sebagai contoh, menemukan maksimum dari fungsi satu variabel :

adalah merupakan permasalahan dibatasi sederhana. Sementara masalah berikut ini adalah fungsi dua variabel :

Dengan syarat

Contoh 2.1 :

Mencari minimum dari fungsi objektif , dengan kondisi stasioner

, maka didapat

Diberikan , maka didapat

atau . Dengan turunan kedua

Jika dimasukan dengan nilai-nilai diatas, pada , maka

dan pada , maka


(21)

8 karena , maka nilai maksimum dari , pada . Dan , maka nilai minimum pada saat .

2.2 Sistem Persamaan Nonlinier

Pencarian solusi pada persamaan non linier adalah penentuan akar-akar dari persamaan nonlinier, dimana akar sebuah persamaan adalah nilai-nilai yang menyebabkan sama dengan nol. Dan akar persamaan adalah titik potong antara kurva dan sumbu X [5].

Persamaan nonlinier yang melibatkan funsi transenden, diantaranya sinus, cosinus, eksponensial, dan logaritma. Selain itu, persamaan nonlinier juga melibatkan fungsi non transenden, yaitu persamaan polinomial. Bentuk umum persamaan polinomial satu variabel dapat didefinisikan sebagai :

Contoh 2.2

Persamaan polinomial :

a. Dengan satu variabel, , ,

b. Dengan dua variabel, dan , .

Sistem persamaan nonlinier adalah kumpulan dari beberapa persamaan nonlinier yang dicari penyelesaiannya. Dan pencarian solusi sistem persamaan nonlinier diaplikasikan dalam mencari titik potong antara dua kurva, misalnya kurva parabola


(22)

9 solusi (-0.2, 1) dan (1.9, 0.3) yang memenuhi 2 kurva tersebut [6]. Bentuk umum sistem persamaan nonlinier dapat didefinisikan sebagai :

[

]

(2.2)

dimana setiap fungsi dapat memetakan vektor dari ruang dimensional ke . Salah satu metode untuk mencari solusi pada sistem persamaan nonlinier adalah menggunakan metode Steepest Descent.

2.3 Metode Steepest Descent

Metode steepest descent adalah metode untuk menentukan minimum lokal untuk fungsi multivariabel dari bentuk . Metode optimisasi ini cukup bisa diandalkan, selain untuk mengatasi permasalahan sistem persamaan nonlinier.

Hubungan antara mencari solusi optimasi minimum dan solusi sistem persamaan nonlinier adalah disebakan oleh kenyataan bahwa suatu sistem yang didefinisikan sebagai

(2.3)


(23)

10

∑[

dengan nilai minimum 0 [7].

Metode Steepest Descent untuk mencari nilai minimum untuk fungsi dapat digambarkan secara intuitif sebagai berikut :

1. Mengevaluasi pada perkiraan awal . 2. Menentukan arah dari yang menghasilkan penurunan pada nilai .

3. Bergerak ke arah yang tepat dan didapat nilai baru .

4. Ulangi langkah 1 sampai 3 dengan diganti oleh .

2.3.1 Fungsi Gradien

Fungsi dengan variabel tunggal yang terdiferensiasi dapat memiliki nilai minimum relatif hanya bila turunannya adalah nol. Dalam mengembangkan hasil ini untuk fungsi multivariabel, kita perlu definisi berikut :

Untuk , gradien dari pada dinotasikan dan didefinisikan sebagai

( )

Gradien untuk fungsi multivariabel dapat disamakan dengan turunan dari fungsi variabel tunggal dalam arti bahwa fungsi multivariabel terdiferensiasi dapat memiliki minimum relatif di x hanya ketika gradien di x adalah vektor nol. Gradien memiliki


(24)

11 sifat penting lain yang terhubung dengan minimalisasi fungsi multivariabel. Misalkan v = adalah vektor satuan dalam dapat didefinisikan sebagai

‖ ‖ ∑

Turunan berarah dari di ke arah mengukur perubahan nilai fungsi relatif terhadap perubahan variabel dalam arah . Hal ini didefinisikan sebagai

[

Ketika terdiferensialkan, arah yang menghasilkan nilai maksimum untuk arah turunan terjadi ketika dipilih untuk menjadi sejajar dengan , asalkan

. Akibatnya, arah penurunan terbesar nilai pada adalah arah yang diberikan oleh . Gambar 2.2 adalah ilustrasi ketika adalah fungsi dari dua variabel.


(25)

12 Gambar 2.1 Arah Steepest Descent

Tujuannya adalah untuk mengurangi untuk nilai minimal nol, sehingga pilihan yang tepat untuk adalah untuk menjauh dari ke arah yang

memberikan penurunan terbesar dalam nilai . Oleh karena itu, didefinisikan sebagai

untuk konstanta

Masalahnya sekarang adalah mengurangi untuk memilih nilai yang sesuai dari sehingga akan secara signifikan kurang dari .

Dalam menentukan pilihan yang tepat untuk nilai , kita mempertimbangkan fungsi satu variabel

( )

Nilai yang meminimalkan adalah nilai yang diperlukan untuk persamaan diatas. Menemukan nilai minimal untuk secara langsung akan memerlukan pembedaan dan kemudian memecahkan masalah pencarian akar untuk menentukan titik-titik kritis . Prosedur ini umumnya terlalu rumit. Sehingga kami memilih tiga nomor dengan harapan, dekat dengan nilai minimum yang terjadi. Kami kemudian membangun kuadrat polinomial yang dapat menginterpolasi pada dan .


(26)

13 Kami mendefinisikan ̂ pada [ sehingga ̂ adalah minimum di [ dan menggunakan ̂ untuk memperkirakan nilai minimum . Kemudian ̂ digunakan untuk menentukan iterasi baru untuk mendekati nilai minimal :

̂ ( )

Karena ( ) ada untuk meminimalkan perhitungan pertama kita memilih . Berikutnya ditemukan dengan . (Karena tidak meminimumkan


(27)

14 BAB III

METODOLOGI PENELITIAN

Secara umum metodologi penelitian yang akan dilakukan adalah studi literatur dengan mempelajari buku dan artikel terkait dan kemudian melakukan simulasi menggunakan software Matlab. Sebelum melakukan simulasi akan dibahas mengenai perilaku kelelawar dan karakteristik dari kemampuan ekolokasi kelelawar, yang menjadi inspirasi dari Bat Algorithm.

3.1 Studi Literatur

Tahap pertama yang dilakukan penulis adalah mempelajari teori dasar seperti : persamaan nonlinier, sistem persamaan nonlinier, solusi numerik untuk sistem persamaan nonlinier menggunakan metode steepest descent untuk mencari akar pada turunan pertama suatu fungsi. Setelah memahami teori dasar, penulis akan mengkaji lebih dalam tentang Bat Algorithm untuk mencari solusi sistem persamaan nonlinier. Artikel utama yang dikaji adalah artikel Xin-She Yang [3] dan artikel Muhaza Liebenlito [10].

3.2 Perilaku Kelelawar

Kelelawar merupakan hewan yang menarik, karena kelelawar merupakan satu-satunya mamalia yang memiliki sayap, serta memiliki kemampuan canggih yang disebut ekolokasi. Diperkirakan ada sekitar 996 spesies berbeda, yang mencangkup


(28)

15 hingga 20% dari semua spesies mamalia [8]. Ukuran mereka berkisar dari kelelawar kecil dengan berat sekitar 1,5 gr sampai 2 gr, sedangkan kelelawar besar dengan lebar sayap 2 m dan berat 1 kg. Kelelawar kecil biasanya memiliki panjang lengan antara 2,2 cm sampai 11 cm. Kebanyakan kelelawar menggunakan ekolokasi pada tingkat tertentu, diantara semua spesies kelelawar, kelelawar kecil merupakan yang paling sering menggunakan ekolokasi ekstensif sementara kelelawar besar tidak. Manfaat ekolokasi pada kelelawar antara lain berguna untuk mendeteksi mangsa, menghindari rintangan, dan menemukan celah- celah dalam keadaan gelap tanpa cahaya sedikitpun. Prinsip kerja ekolokasi kelelawar adalah dengan memancarkan frekuensi suara yang sangat keras dan mendengarkan gema yang memantul kembali dari objek disekitarnya. Frekuensi yang dipancarkan bisa bervariasi dalam sifat dan dapat dikorelasikan dengan strategi berburu mereka, tergantung pada spesies kelelawar tersebut. Kebanyakan kelelawar menggunakan gelombang pendek dan menggunakan frekuensi konstan untuk sinyal ekolokasi.

3.3 Ekolokasi Kelelawar

Meskipun setiap frekuensi suara yang dipancarkan oleh kelelawar hanya berlangsung sangat singkat yaitu sekitar seperseribu detik, namun ia memiliki frekuensi konstan diantara 25 kHz sampai 150 kHz. Kisaran frekuensi untuk sebagian besar spesies kelelawar biasanya memang berada diantara 25 kHz dan 100 kHz, akan tetapi beberapa spesies kelelawar dapat memancarkan frekuensi yang lebih tinggi hingga mencapai 150 kHz. Setiap suara yang dipancarkan oleh kelelawar hanya


(29)

16 berlangsung antara 5 sampai 20 ms, dan kelelawar kecil dapat memancarkan sekitar 10 sampai 20 gelombang suara tersebut setiap detiknya. Namun ketika berburu tingkat gelombang suara yang dipancarkan dapat melesat hingga sekitar 200 gelombang suara per detik ketika mereka terbang di dekat mangsanya. Gelombang suara tersebut menyiratkan kemampuan fantastis kekuatan pemprosesan sinyal kelelawar. Bahkan, studi menunjukkan waktu integrasi telinga kelelawar biasanya sekitar 300 hingga 400 mikro detik.

Sebagai kecepatan suara di udara biasanya , panjang gelombang dari gelombang suara ultrasonik dengan frekuensi konstan didefinisikan sebagai :

dengan kisaran antara 2mm sampai 14mm, dan untuk rentang frekuensi antara 25 kHz sampai 150 kHz.

Memang beberapa kelelawar memiliki penglihatan yang baik, dan sebagian besar kelelawar juga memiliki indra penciuman yang sangat sensitif. Pada kenyataannya, mereka akan menggunakan semua indra sebagai kombinasi untuk memaksimalkan deteksi efisien navigasi mangsa dan lebih tenang. Namun, di sini kita hanya tertarik pada ekolokasi dan perilaku yang terkait. Dari perilaku ekolokasi kelelawar dapat dirumuskan sehingga dapat dikaitkan dengan fungsi tujuan yang akan dioptimalkan, dan ini memungkinkan untuk merumuskan algoritma optimasi.


(30)

17 3.4 Karakteristik Bat Algorithm

Bat Algorithm adalah algoritma optimasi berdasarkan dari perilaku ekolokasi kelelawar. Dari beberapa karakteristik ekolokasi kelelawar, dapat dikembangkan menjadi algoritma kelelawar. Untuk menyederhanakan perilaku dari kelelawar ,maka aturan dari perilaku kelelawar dapat diasumsikan sebagai berikut [3]:

1. Semua kelelawar menggunakan ekolokasi untuk merasakan jarak, dan mereka juga mengetahui perbedaan antara makanan / mangsa dan keadaan sekitar.

2. Kelelawar terbang secara acak dengan kecepatan dan pada posisi dengan frekuensi tetap, panjang gelombang dan kenyaringan untuk mencari

mangsa. Mereka secara otomatis dapat menyesuaikan panjang gelombang (atau frekuensi) suara yang mereka pancarkan dan menyesuaikan tingkat emisi pulse

[ , tergantung pada jarak target mereka.

3. Meskipun kenyaringan dapat bervariasi dalam berbagai hal, kita asumsikan bahwa kenyaringan bervariasi dari besar (positif) ke nilai konstan minimum

.

Selain asumsi sederhana diatas, dapat juga digunakan penyesuaian untuk lebih kesederhanaannya. Secara umum frekuensi berada dalam range [ , dan panjang gelombang menyesuaikan dalam range [ . Misalnya frekuensi berada pada kisaran [20kHz, 500kHz], maka panjang gelombangnya antara 0.7 mm sampai 17 mm.


(31)

18 Berdasarkan aturan dari perilaku kelelawar diatas, langkah-langkah dasar dari Bat Algorithm dapat dilihat pada gambar 3.1 .

Gambar 3.1 Flowchart Bat Algorithm dan ( ) f(

Selesai

Inisialisasi populasi , &

Definiskan pulse frekuensi ( pada ), max iterasi

max iterasi

Membangkitkan solusi baru

Pilih sebagai solusi terbaik dan Membangkitkan solusi di sekitar

Pilih sebagai solusi baru

Menemukan solusi terbaik Mulai


(32)

19 3.5 Gerakan Kelelawar Virtual

Dalam simulasi Bat Algorithm ini digunakan kelelawar virtual. Serta harus menentukan aturan bagaimana posisi dan kecepatan dalam ruang pencarian dimensi . Solusi baru adalah posisi kelelawar ke pada iterasi ke dan kecepatan

kecepatan kelelawar ke pada iterasi ke , dapat didefinisikan sebagai berikut :

(3.2)

(3.3)

(3.4) dimana β [0, 1] adalah vektor acak yang diambil dari distribusi uniform. Berikut adalah solusi terbaik global yang didapat setelah membandingkan semua solusi di antara semua kelelawar . Dalam pelaksanaannya, kami menggunakan dan

. Pada awalnya, setiap kelelawar disebar secara acak dengan frekuensi

yang diambil dari distribusi uniform [ , ].

Pada bagian pencarian lokal, setelah solusi yang dipilih dengan cara membandingkan di antara solusi terbaik pada saat , maka solusi baru untuk setiap kelelawar yang dihasilkan secara local menggunakan random walk, didefinisikan sebagai

(3.5)

dimana [-1, 1] adalah bilangan random, sedangkan adalah kenyaringan rata-rata dari semua kelelawar pada waktu . Jadi update dari kecepatan dan posisi


(33)

20 kelelawar dipengaruhi oleh kenyaringan dan gelonbang suara pada setiap iterasinya

.

3.6 Kenyaringan Dan Gelombang Suara Kelelawar

Pada prosesnya kenyaringan dan tingkat gelombang suara harus diperbarui sesuai dengan iterasinya. Kenyaringan suara kelelawar biasanya akan berkurang setelah kelelawar telah menemukan mangsanya, sedangkan tingkat gelombang suara meningkat, kenyaringan dapat dipilih sebagai setiap nilai kenyamanan. Misalnya menggunakan dan . Untuk mempermudah juga bisa menggunakan dan , dengan asumsi bahwa berarti kelelawar baru saja menemukan mangsa dan untuk sementara berhenti memancarkan suara. Maka dapat didefinisikan sebagai

[ (3.6)

dimana dan adalah konstanta. Untuk setiap dan , maka dapat didefinisikan

(3.7) Dalam kasus kesederhanaan, kita dapat menggunakan , dan kami menggunakan dalam simulasi. Pilihan parameter memerlukan beberapa percobaan. Awalnya, setiap kelelawar harus memiliki nilai yang berbeda dari kenyaringan dan tingkat gelombang suara, dan ini dapat dicapai dengan melakukan pengacakan. Misalnya, kenyaringan awal biasanya bisa [1, 2], sedangkan tingkat


(34)

21 gelombang suara awal dapat nol, atau nilai [ jika menggunakan persamaan (3.6). Tingkat kenyaringan dan tingkat gelombang suara mereka akan diperbarui hanya jika solusi baru ditingkatkan, yang berarti bahwa kelelawar ini bergerak menuju solusi optimal.

3.7 Benchmark Functions

Berdasarkan flowchart Bat Algorithm dapat diaplikasikan kedalam bahasa pemprograman. Ada beberapa fungsi test standar untuk memvalidasi suatu algoritma yang disebut dengan Benchmark Functions, diantaranya fungsi Rosenbrocks dan fungsi Price 1 [9]. Untuk mempermudah, penerapkan fungsi test Rosenbrocks dan Price 1 menggunakan software Matlab.

Tabel 3.1 Perbandingan Hasil Uji dan Nilai Eksak Fungsi Rosenbrock’s

Hasil Uji Test Nilai eksak

1 1

1 1

2.9672E-10 0

Tabel 3.1 merupakan hasil simulasi perhitungan algoritma bat, dengan fungsi Rosenbrock pada Matlab.


(35)

22

Menggunkan parameter loudness dan pulse , dengan domain

dan frekuensi untuk setiap . Fungsi Rosenbrock diatas menggunakan 200 bat virual ( ) dan perulangan sebanyak 1000 kali. Dari 200 virtual bat yang bergerak secara random dengan batasan yang telah ditentukan, dapat dilihat bahwa virtual bat tersebut bertemu pada titik optimum global (nilai best ) = (1,1) dan mendapatkan hasil

pada d=2.

function z=Fun(u)

% Rosenbrock function with fmin=0 at (1,1,...,1)

d=length(u);

sum=0;

for j=1:(d-1);

new=(100*(((u(j+1))-(u(j))^2)^2))+(((u(j))-1)^2);

sum=sum+new;

end

z=sum;

Tabel 3.2 Perbandingan Hasil Uji dan Nilai Eksak Fungsi Price 1

Hasil Uji Test Nilai eksak

5 atau -5 5 atau -5 5 atau -5 5 atau -5

1.1943E-11 0

Tabel 3.2 merupakan hasil simulasi perhitungan algoritma bat, dengan fungsi Price 1 pada Matlab.


(36)

23 | | | | (3.9) Menggunkan parameter loudness dan pulse , dengan domain

dan frekuensi untuk setiap . Fungsi Price 1 diatas menggunakan 200 bat virual ( ) dan perulangan sebanyak 1000 kali, untuk d=2. Dari banyaknya virtual bat yang bergerak secara random dengan batasan yang telah ditentukan, dapat dilihat bahwa virtual bat tersebut bertemu pada titik optimum global (nilai best ) = (5,-5), (-5,5) dan

dan yang mendekati 0.

function z=Fun(xx)

% Price 1 function with fmin=0 at x*={-5.-5},{-5.5},{5.-5},{5.5}

x1=xx(1);

x2=xx(2);

sum=((abs(xx(1)))-5)^2+((abs(xx(2)))-5)^2;

z=sum;

Dengan demikian berdasarkan hasil test fungsi Rosenbrocks dan Price 1, terlihat bahwa nilai eksak memiliki nilai yang hampir sama dengan hasil uji coba dengan Bat Algorithm. Oleh karena itu dapat disimpulkan bahwa Bat Algorithm memiliki kinerja yang baik dan dapat digunakan dalam mencari solusi optimal.


(37)

24 BAB IV

APLIKASI BAT ALGORITHM PADA SISTEM PERSAMAAN NONLINIER

Pada bab ini akan dibahas mengenai penerapan Bat Algorithm yang dimodifikasikan dengan metode Steepest Descent untuk menyelesaikan contoh kasus sistem persamaan nonlinier. Langkah awal adalah merubah sistem persamaan nonlinier menjadi permasalahan optimisasi.

4.1 Sistem Persamaan Nonlinier

Sistem persamaan nonlinier dapat didefinisikan sebagai :

[

]

(4.1)

dimana setiap fungsi dapat memetakan vektor dari ruang dimensional ke . Permasalahan mencari akar-akar dari suatu sistem persamaan nonlinier dapat diubah ke dalam permasalahan optimasi. Agar dapat menggunakan metode optimasi, persamaan (4.1) dapat diubah menjadi fungsi kuadratik dan untuk menyelesaikan sistem persamaan nonlinier sama dengan meminimalkan fungsi. Maka dapat didefinisikan sebagai :


(38)

25 Untuk menyelesaikan persamaan diatas (4.2) digunakan Bat Algorithm (BA) dengan parameter : , , dan .

4.2 Contoh Kasus 1

Misal sistem persamaan nonlinier :

[ ]

dengan dan . Dari sistem persamaan (4.3) akan dicari solusi dari sistem persamaan tersebut yaitu titik potong antara kedua kurva yang dihasilkan. Hasil plot dari persamaan (4.3) dapat dilihat pada gambar 4.1. Berdasarkan gambar tersebut terlihat bahwa terdapat 4 titik perpotongan yang merupakan nilai akar-akar persamaan (4.3). Untuk mencari nilai akar-akar dari kasus ini menggunakan (4.2).


(39)

26 Nilai akar-akar yang dihasilakan oleh Bat Algorithm dengan melakukan 30 kali percobaan pada metode (4.2) dapat dilihat pada tabel 4.1. Dengan demikian nilai akar-akar persamaan (4.3) adalah {(0.517638, 1.931852), (1.931852, 0.517638), (-0.517638, -1.931852), (-1.931852, -0.517638)}.

4.3 Contoh Kasus 2

Diberikan sistem persamaan nonlinier :

[

]

(4.4)

dengan . Dari sistem persamaan (4.4) akan dicari solusi dari sistem persamaan tersebut yaitu titik potong antara ketiga kurva yang dihasilkan. Pada persamaan (4.4) terdapat 1 titik perpotongan yang merupakan nilai akar-akarnya. Untuk mencari akar-akar tersebut menggunakan persamaan (4.2) dilakukan iterasi sebanyak 1000. Nilai akar-akar yang dihasilkan oleh Bat Algorithm dengan melakukan 10 kali percobaan dapat dilihat pada tabel 4.2.


(40)

27 Tabel 4.2 Nilai akar-akar persamaan yang dihasilkan oleh BA pada contoh kasus 2.

Percobaan t F(x1, x2, x3)

1 0.4981 -0.1996 -0.5288 2.7921E-09 2 0.4981 -0.1996 -0.5288 1.8373E-07 3 0.4981 -0.1996 -0.5288 8.1285E-08 4 0.4981 -0.1996 -0.5288 1.0846E-07

5 0.5001 0 -0.5236 3.0502E-07

6 0.5002 0 -0.5236 3.6432E-07

7 0.4983 -0.1996 -0.5288 1.4155E-07 8 0.4982 -0.1996 -0.5288 7.3036E-08 9 0.4983 -0.1996 -0.5288 1.9187E-07

10 0.5001 0 -0.5236 1.518E-08

Berdasarkan nilai akar-akar persamaan pada tabel 4.2 yang dihasilkan oleh Bat Algorithm akan dibandingkan dengan solusi numerik yang dihasilakan oleh metode steepest descent. Dimana solusi numerik untuk persamaan (4.4) adalah (0.5 , 0 , -0,5235988) [7], dengan . Sedangkan solusi yang dihasilkan oleh Bat Algorithm adalah (0.4981, -0.1996, -0.5288) dengan

. Dari hasil tersebut menunjukan bahwa kedua solusi sama-sama mendekati nol (0) dengan eror sangat kecil dan Bat Algorithm lebih baik karena menghasilkan error yang lebih kecil.


(41)

28 BAB V KESIMPULAN

5.1 Kesimpulan

Kesimpulan yang dapat diambil berdasarkan bab sebelumnya adalah sebagai berikut :

1. Dari hasil uji funsi Rosenbrock dan fungsi Price 1 dapat disimpulkan bahwa Bat Algoritma dapat digunakan dalam mencari solusi optimum.

2. Metode pencarian solusi sistem persamaan nonlinier dapat menggunakan metode Bat Algorithm.

3. Pada contoh kasus 1, nilai akar-akar yang dihasilkan oleh Bat Agorithm dengan melakukan 30 kali percobaan adalah {(0.517638, 1.931852), (1.931852, 0.517638), (-0.517638, -1.931852), (-1.931852, -0.517638)}. 4. Pada contoh kasus 2, nilai akar-akar yang dihasilkan oleh Bat Algorithm

adalah ( , , ) = (0.4981 , -0.1996 , -0.5288)

5.2 Saran

Dalam penelitian ini, peneliti hanya melakukan analisis penentuan solusi untuk mendapatkan akar-akar dari persamaan nonlinier dengan metode Bat Algorithm. Oleh sebab itu, penulis mempunyai saran untuk peneliti lain yang juga tertarik dengan materi ini:


(42)

29 1. Pada penelitian selanjutnya, dapat mengaplikasikan metode Bat Algorithm dalam

masalah sehari-hari seperti pencarian jalur terpendek, dan lain-lain.

2. Penelitian ini dapat dilanjutkan kembali untuk mencari solusi dari akar-akar persamaan nonlinier dengan variabel yang lebih bnayak.


(43)

30

DAFTAR PUSTAKA

[1] Munir, Rinaldi. 2008, Metode Numerik, Bandung: Informatika.

[2] Yang, Xin – She. 2010, Engineering Optimization An Introduction with Metaheuristic Applications, United Kingdom: University of Cambridge.

[3] Yang, Xin – She. 2010, A New Metaheuristic Bat Inspired Algorithm, University of Cambridge : Department of Engineering.

[4] Yang, Xin She. 2008, Introduction to Mathematical Optimization, United Kingdom: University of Cambridge.

[5] Soelaiman, Rully. and Chasiani, Nur. Penerapan Optimasi Chaos dan Metode BFGS (Broyden, Fletcher, Goldfarb, and Shanno) Pada Penyelesaian Permasalahan Sistem Persamaan Nonlinier, Surabaya : Institut Teknologi Sepuluh November, Fakultas Teknologi Informasi.

[6] Marta Devi, Faradila. 2011, Penyelesaian Sistem Persamaan Nonlinier Dengan Metode Jaringan Syaraf Tiruan Hopfield, Jakarta: Universitas Islam Negeri. [7] Burden, Richard L. Faires, J Douglas. 2010, Numerical Analysis, Ninth Edition, . [8] Altringhan, J. D. 1996, Bats : Biology and Behavior, Oxford University Press. [9] Jamil, Momin. Yang, Xin – She. 2013, A Literature Survey of Benchmark

Functions For Global Optimization Problem, Sweden : Blekinge Institute of Technology SE-37179, Karlskrona.


(44)

31 [10] Liebenlito, Muhaza. 2014, Pencarian Akar-akar Sistem Persamaan Nonlinier


(45)

32 Lampiran

Tabel 4.1 Nilai akar-akar persamaan yang dihasilkan oleh BA pada contoh kasus 1.

Percobaan x y F(x,y)

1 0,517638 1,931852 1,9037E-10 2 -1,931852 -0,517638 1,0681E-10 3 -0,517638 -1,931852 2,6354E-10 4 -0,517638 -1,931852 6,1013E-10 5 -1,931852 -0,517638 5,8368E-11 6 1,931852 0,517638 4,6018E-06 7 1,931852 0,517638 2,9347E-10 8 1,931852 0,517638 2,8414E-10 9 0,517638 1,931852 2,3093E-11 10 0,517638 1,931852 2,9303E-11 11 0,517638 1,931852 2,4338E-10 12 -1,931852 -0,517638 2,2361E-11 13 -1,931852 -0,517638 1,4437E-10 14 0,517638 1,931852 1,5504E-10 15 -1,931852 -0,517638 2,2794E-11 16 0,517638 1,931852 3,6941E-10 17 0,517638 1,931852 1,8827E-10 18 0,517638 1,931852 2,1418E-10 19 -1,931852 -0,517638 1,9838E-11 20 1,931852 0,517638 2,8969E-10 21 -1,931852 -0,517638 6,7118E-11 22 -0,517638 -1,931852 5,8826E-11 23 0,517638 1,931852 1,3939E-10 24 -0,517638 -1,931852 2,6172E-10 25 1,931852 0,517638 1,2647E-10 26 -0,517638 -1,931852 2,2305E-10 27 -1,931852 -0,517638 5,1517E-10 28 -1,931852 -0,517638 4,605E-11 29 -1,931852 -0,517638 6,1025E-11 30 0,517638 1,931852 4,7372E-11


(46)

33

Kode Komputasi Software Matlab 2010 untuk Bat Algorithm. % Main programs starts here

function [best,fmin,N_iter]=bat_algorithm(para)

% Default parameters

if nargin<1, para=[80 1000 0.5 0.5]; end

n=para(1); % Population size, typically 10 to 40

N_gen=para(2); % Number of generations

A=para(3); % Loudness (constant or decreasing)

r=para(4); % Pulse rate (constant or decreasing)

% This frequency range determines the scalings % You should change these values if necessary

Qmin=0; % Frequency minimum

Qmax=100; % Frequency maximum

% Iteration parameters

N_iter=0; % Total number of function evaluations

% Dimension of the search variables

d=3; % Number of dimensions

% Lower limit/bounds/ a vector

Lb=-1*ones(1,d);

% Upper limit/bounds/ a vector

Ub=1*ones(1,d);

% Initializing arrays

Q=zeros(n,1); % Frequency

v=zeros(n,d); % Velocities

% Initialize the population/solutions

for i=1:n,

Sol(i,:)=Lb+(Ub-Lb).*rand(1,d); Fitness(i)=Fun(Sol(i,:));

end

% Find the initial best solution

[fmin,I]=min(Fitness); best=Sol(I,:);

% Start the iterations -- Bat Algorithm (essential part) %

for t=1:N_gen,

%while fmin <= 0,

% Loop over all bats/solutions

for i=1:n,

Q(i)=Qmin+(Qmin-Qmax)*rand;

v(i,:)=v(i,:)+(Sol(i,:)-best)*Q(i); S(i,:)=Sol(i,:)+v(i,:);

% Apply simple bounds/limits

Sol(i,:)=simplebounds(Sol(i,:),Lb,Ub);

% Pulse rate

if rand>r

% The factor 0.001 limits the step sizes of random walks

S(i,:)=best+0.001*randn(1,d);

end

% Evaluate new solutions

Fnew=Fun(S(i,:));

% Update if the solution improves, or not too loud

if (Fnew<=Fitness(i)) & (rand<A) , Sol(i,:)=S(i,:);

Fitness(i)=Fnew;


(47)

34

% Update the current best solution

if Fnew<=fmin, best=S(i,:); fmin=Fnew;

end

end

A=A*0.9;

r=r*(1-exp(-0.9*t)); N_iter=N_iter+n;

end

% Output/display

% disp(['Number of evaluations: ',num2str(N_iter)]);

disp(['Best =',num2str(best),' fmin=',num2str(fmin)]);

% Application of simple limits/bounds

function s=simplebounds(s,Lb,Ub)

% Apply the lower bound vector

ns_tmp=s; I=ns_tmp<Lb; ns_tmp(I)=Lb(I);

% Apply the upper bound vector

J=ns_tmp>Ub; ns_tmp(J)=Ub(J);

% Update this new move


(1)

1. Pada penelitian selanjutnya, dapat mengaplikasikan metode Bat Algorithm dalam masalah sehari-hari seperti pencarian jalur terpendek, dan lain-lain.

2. Penelitian ini dapat dilanjutkan kembali untuk mencari solusi dari akar-akar persamaan nonlinier dengan variabel yang lebih bnayak.


(2)

30

DAFTAR PUSTAKA

[1] Munir, Rinaldi. 2008, Metode Numerik, Bandung: Informatika.

[2] Yang, Xin – She. 2010, Engineering Optimization An Introduction with Metaheuristic Applications, United Kingdom: University of Cambridge.

[3] Yang, Xin – She. 2010, A New Metaheuristic Bat Inspired Algorithm, University of Cambridge : Department of Engineering.

[4] Yang, Xin She. 2008, Introduction to Mathematical Optimization, United

Kingdom: University of Cambridge.

[5] Soelaiman, Rully. and Chasiani, Nur. Penerapan Optimasi Chaos dan Metode BFGS (Broyden, Fletcher, Goldfarb, and Shanno) Pada Penyelesaian Permasalahan Sistem Persamaan Nonlinier, Surabaya : Institut Teknologi Sepuluh November, Fakultas Teknologi Informasi.

[6] Marta Devi, Faradila. 2011, Penyelesaian Sistem Persamaan Nonlinier Dengan Metode Jaringan Syaraf Tiruan Hopfield, Jakarta: Universitas Islam Negeri. [7] Burden, Richard L. Faires, J Douglas. 2010, Numerical Analysis, Ninth Edition, . [8] Altringhan, J. D. 1996, Bats : Biology and Behavior, Oxford University Press. [9] Jamil, Momin. Yang, Xin – She. 2013, A Literature Survey of Benchmark

Functions For Global Optimization Problem, Sweden : Blekinge Institute of Technology SE-37179, Karlskrona.


(3)

[10] Liebenlito, Muhaza. 2014, Pencarian Akar-akar Sistem Persamaan Nonlinier Dengan Firefly Algorithm, Jakarta :


(4)

32 Lampiran

Tabel 4.1 Nilai akar-akar persamaan yang dihasilkan oleh BA pada contoh kasus 1.

Percobaan x y F(x,y)

1 0,517638 1,931852 1,9037E-10 2 -1,931852 -0,517638 1,0681E-10 3 -0,517638 -1,931852 2,6354E-10 4 -0,517638 -1,931852 6,1013E-10 5 -1,931852 -0,517638 5,8368E-11 6 1,931852 0,517638 4,6018E-06 7 1,931852 0,517638 2,9347E-10 8 1,931852 0,517638 2,8414E-10 9 0,517638 1,931852 2,3093E-11 10 0,517638 1,931852 2,9303E-11 11 0,517638 1,931852 2,4338E-10 12 -1,931852 -0,517638 2,2361E-11 13 -1,931852 -0,517638 1,4437E-10 14 0,517638 1,931852 1,5504E-10 15 -1,931852 -0,517638 2,2794E-11 16 0,517638 1,931852 3,6941E-10 17 0,517638 1,931852 1,8827E-10 18 0,517638 1,931852 2,1418E-10 19 -1,931852 -0,517638 1,9838E-11 20 1,931852 0,517638 2,8969E-10 21 -1,931852 -0,517638 6,7118E-11 22 -0,517638 -1,931852 5,8826E-11 23 0,517638 1,931852 1,3939E-10 24 -0,517638 -1,931852 2,6172E-10 25 1,931852 0,517638 1,2647E-10 26 -0,517638 -1,931852 2,2305E-10 27 -1,931852 -0,517638 5,1517E-10 28 -1,931852 -0,517638 4,605E-11 29 -1,931852 -0,517638 6,1025E-11 30 0,517638 1,931852 4,7372E-11


(5)

Kode Komputasi Software Matlab 2010 untuk Bat Algorithm. % Main programs starts here

function [best,fmin,N_iter]=bat_algorithm(para)

% Default parameters

if nargin<1, para=[80 1000 0.5 0.5]; end

n=para(1); % Population size, typically 10 to 40

N_gen=para(2); % Number of generations

A=para(3); % Loudness (constant or decreasing)

r=para(4); % Pulse rate (constant or decreasing)

% This frequency range determines the scalings % You should change these values if necessary

Qmin=0; % Frequency minimum

Qmax=100; % Frequency maximum

% Iteration parameters

N_iter=0; % Total number of function evaluations

% Dimension of the search variables

d=3; % Number of dimensions

% Lower limit/bounds/ a vector

Lb=-1*ones(1,d);

% Upper limit/bounds/ a vector

Ub=1*ones(1,d);

% Initializing arrays

Q=zeros(n,1); % Frequency

v=zeros(n,d); % Velocities

% Initialize the population/solutions

for i=1:n,

Sol(i,:)=Lb+(Ub-Lb).*rand(1,d); Fitness(i)=Fun(Sol(i,:));

end

% Find the initial best solution

[fmin,I]=min(Fitness); best=Sol(I,:);

% Start the iterations -- Bat Algorithm (essential part) %

for t=1:N_gen,

%while fmin <= 0,

% Loop over all bats/solutions

for i=1:n,

Q(i)=Qmin+(Qmin-Qmax)*rand;

v(i,:)=v(i,:)+(Sol(i,:)-best)*Q(i); S(i,:)=Sol(i,:)+v(i,:);

% Apply simple bounds/limits

Sol(i,:)=simplebounds(Sol(i,:),Lb,Ub);

% Pulse rate

if rand>r

% The factor 0.001 limits the step sizes of random walks

S(i,:)=best+0.001*randn(1,d); end

% Evaluate new solutions

Fnew=Fun(S(i,:));

% Update if the solution improves, or not too loud

if (Fnew<=Fitness(i)) & (rand<A) , Sol(i,:)=S(i,:);

Fitness(i)=Fnew; end


(6)

34

% Update the current best solution

if Fnew<=fmin, best=S(i,:); fmin=Fnew; end

end A=A*0.9;

r=r*(1-exp(-0.9*t)); N_iter=N_iter+n; end

% Output/display

% disp(['Number of evaluations: ',num2str(N_iter)]);

disp(['Best =',num2str(best),' fmin=',num2str(fmin)]);

% Application of simple limits/bounds

function s=simplebounds(s,Lb,Ub) % Apply the lower bound vector

ns_tmp=s; I=ns_tmp<Lb; ns_tmp(I)=Lb(I);

% Apply the upper bound vector

J=ns_tmp>Ub; ns_tmp(J)=Ub(J);

% Update this new move