• Tidak ada hasil yang ditemukan

ALGORITMA GENETIKA PADA PENYELESAIAN AKAR PERSAMAAN SEBUAH FUNGSI

N/A
N/A
Protected

Academic year: 2021

Membagikan "ALGORITMA GENETIKA PADA PENYELESAIAN AKAR PERSAMAAN SEBUAH FUNGSI"

Copied!
10
0
0

Teks penuh

(1)

47 ALGORITMA GENETIKA PADA

PENYELESAIAN AKAR PERSAMAAN SEBUAH FUNGSI Akhmad Yusuf dan Oni Soesanto

Program Studi Matematika Universitas Lambung Mangkurat Jl. Jend. A. Yani km 35, 8 Banjarbaru

ABSTRAK

Algoritma Genetika adalah salah satu pendekatan untuk menentukan global optimum yang didasari oleh Teori Evolusi. Secara garis besar langkah dalam prosedur ini dimulai dengan menetapkan suatu set solusi potensial dan melakukan perubahan dengan beberapa iterasi dengan algoritma genetika untuk mencapat solusi terbaik. Perhitungan akar suatu fungsi sebenarnya merupakan masalah yang klasik dalam matematika. Untuk itu, berbagai metode secara numerik telah dikembangkan.

Dari hasil implementasi algoritma genetika untuk mencari akar persamaan dari sebuah fungsi h(x1, x2) = 1000(x1-2x2)2+(1-x1)2 di dapat bahwa FitMax (genom 9)=10,

FitMin (genom 107)=0, FitAvr = 0.153, FitTot = 30.6, Best Genom : 10011001001000110010, x1=1 dan x2=0.5 dan hal ini sama dengan nilai eksak atau nilai

sebenarnya dari akar persamaan tersebut.

Kata Kunci : Algoritma genetika, Numerik, Akar Persamaan. 1. PENDAHULUAN

Artificial Intelligence atau kecerdasan buatan merupakan cabang dari ilmu komputer yang konsern dengan pengautomatisasi tingkah laku cerdas (Desiani dan Arhami, 2006). Artificial Intelligence membuat agar mesin/komputer dapat melakukan pekerjaan seperti layaknya dan sebaik yang dilakukan oleh manusia. Teknologi Komputer diharapkan dapat diberdayakan untuk mengerjakan segala sesuatu seperti yang dapat dikerjakan oleh manusia. Manusia memiliki pengetahuan dan pengalaman dalam menyelesaikan masalah yang dihadapinya.Semakin banyak pengalaman dan pengetahuan manusia semakin cepat pula masalah itu dapat diselesaikan. Demikian juga tekonologi komputer akan dapat menyelesaikan masalah jika memiliki pengetahuan dan pengalaman seperti yang dimiliki oleh manusia.

Banyak persoalan dalam kehidupan manusia yang merupakan masalah “search”, yaitu mencari satu pilihan yang paling baik (paling memuaskan) diantara beberapa kemungkinan yang ada. Suatu contoh sederhana, misalnya seseorang ingin pergi berlibur ke suatu tempat. Banyak pilihan jenis pesawat, mobil hotel atau restoran yang tersedia. Ia tentu saja harus memutuskan satu kombinasi, dari beberapa kombinasi yang tersedia, untuk memuaskan keinginannya. Kadang-kadang masalah makin dipersulit karena adanya pertimbangan lain yang perlu diperhatikan. Contohnya, pada satu sisi ia ingin menghemat uang, sedangkan pada sisi lain ia ingin penerbangan yang nyaman (Yandra, 2010).

Artificial Intelligence (AI) merupakan salah satu solusi untuk menyelesaikan permasalahan teknologi informasi yang sekarang ini berkembang. Sampai saat ini ada 4 teknik baru yang dikembangkan dalam bidang Artificial Intelligence, yaitu : Sistem Pakar, Fuzzy Logic, Jaringan Syaraf Buatan, dan Algoritma Genetik.

Algoritma Genetika (Genetic Algorithm, GA) salah satu cabang dari AI. Penemu algoritma genetika, John Holland mengatakan bahwa setiap masalah yang berbentuk adaptasi (alami maupun buatan) dapat diformulasikan dalam terminologi genetika. GA juga sering digunakan pada penyelesaian masalah optimasi, seperti pada kasus Pencarian Nilai Akar dari suatu Fungsi.

(2)

48 Perhitungan akar suatu fungsi sebenarnya merupakan masalah yang klasik dalam matematika. Untuk itu, berbagai metode secara numerik telah dikembangkan. Secara garis besarnya, metode yang digunakan dapat dikelompokkan menjadi dua bagian. Yang pertama adalah metode perhitungan tanpa menggunakan turunan (derivatif), sedangkan metode kedua merupakan metode yang memanfaatkan derivatif.

2. TINJAUAN PUSTAKA 2.1 AKAR PERSAMAAN

Dalam komputasi, berbagai masalah sering sekali muncul di dalamnya perhitungan akar dari suatu fungsi. Di sini apabila diketahui fungsi y=f(x), kita hendak mencari suatu nilai x=p, sedemikian sehingga f(p)=0. Secara analitik berarti mencari absis titik potong grafik fungsi tersebut dengan sumbu x.

Untuk f(x) yang merupakan polinom berderajat satu (garis lurus), ataupun fungsi kuadrat, masalah ini dapat dengan mudah diselesaikan. Untuk menghitung akar persamaan kuadrat, kita dapat menggunakan rumus pq ataupun rumus abc. Untuk persamaan polinomial derajat 2, persamaannya dapat diselesaikan dengan rumus persamaan kuadrat yang sangat sederhana.

Contoh persamaan polinomial derajat 2 adalah sebagai berikut : f (x)= ax2+bx + c

dari persamaan di atas, penyelesaian agar f(x)=0, atau untuk mendapatkan akar-persamaannya, secara analitis dapat diselesaikan dengan rumus berikut :

Untuk persamaan polinomial derajat 3 atau yang lebih tinggi, rumus-rumus di atas tidak dapat digunakan atau rumus-rumus penyelesaian untuk persamaan polinomial tersebut menjadi sangat kompleks.

Perhitungan akar suatu fungsi sebenarnya merupakan masalah yang klasik dalam matematika. Untuk itu, berbagai metode secara numerik telah dikembangkan. Penyelesaian numerik untuk persamaan polinomial derajat 3 atau lebih dan persamaan-persamaan polinomial yang kompleks dilakukan dengan metode pendekatan. Proses perhitungan metode pendekatan ini dilakukan dengan cara iterasi. Dengan melakukan prosedur perhitungan yang berulang-ulang nilai pendekatan penyelesaian persamaan tersebut didapat. Semakin banyak prosedur iterasi yang dilakukan maka nilai pendekatan penyelesaian semakin mendekati hasil eksak.

Metode-metode yang dapat digunakan untuk menyelesaikan persamaan polinomial derajat 3 dan persamaan polinomial yang lebih kompleks adalah sebagai berikut : Cara coba-coba, Metode Bagi Dua (Bisection), Metode Newton-Raphson dan Metode Secant. 2.1.1 Cara coba-coba

Cara ini adalah salah satu cara yang paling sederhana dan paling banyak dipergunakan untuk menyelesaikan akar-akar persamaan polinomial yang kompleks. Langkah pertama dari penyelesaian ini adalah dengan menggambarkan kurva dari persamaan atau fungsi tersebut. Dari kurva persamaan ini dapat dilihat posisi nilai x untuk fungsi f(x)=0 (lihat Gambar 1.).

Dengan memasukkan nilai x dengan cara coba-coba kita dapat menghitung pendekatan untuk nilai fungsi f(x)=0. Dengan metode ini lama waktu perhitungan dan akurasi pendekatan nilai tidak dapat diprediksi.

(3)

49 Gambar1 : akar persamaan dari kurva fungsi f(x) = 0

2.1.2 Metoda Bagi Dua (Bisection )

Misalkan f suatu fungsi kontinu yang nilainya berbeda tanda pada kedua ujung selangtertutup [a, b] dengan a < b. Dengan kata lain, f (a) f (b) < 0.Maka f mempunyai suatuakar pada selang (a, b). Jadi, ada bilangan r dengan a < r < b sehingga f (r) = 0.

Algoritma Metoda Bagi dua adalah sebagai berikut

1. Tentukan selang lokasi akar [a, b], dengan f(a), f(b) 0.

2. Tentukan titik tengah selang, yakni c0 = (a+b)/2. Bagi menjadi dua subselang [a, c0]dan

[c0, b].

3. Periksa nilai dari f(a).f (c0). Jika nilainya negatif, maka selang [a, c0] adalah selang

lokasi akar yang baru. Sebaliknya jika nilainya positif maka selang lokasi akar yangbaru adalah [c0, b]. Jika f(c0) = 0, maka c0 adalah akar dari persamaan.

4. Ulangi langkah 1 dan seterusnya untuk c1 dan seterusnya. Iterasi dihentikan jika telah

didapat ci dengan error yang dikehendaki.

Algoritma tersebut diilustrasikan sebagai berikut :

Gambar 2 :metode bagi dua

Kriteria untuk penghentian iterasi adalah banyaknya iterasi yang dibatasi, misalkan se-banyak 4 kali. Iterasi dapat pula dihentikan berdasarkan error, misalkan dibatasi bahwa errornya tidak boleh lebih dari 0.05.

2.1.3 Metoda Newton-Raphson

Jika f adalah fungsi kontinu dan memiliki turunan f′ pada selang tertutup [a, b], maka untuk mencari akar persamaan fungsi yang terletak pada selang tersebut dapat digunakan metoda Newton. Algoritma metoda Newton adalah sebagai berikut.

1. Ambilah suatu titik tebakan awal x0 yang dekat dengan posisi akar.

2. Dari titik tersebut, hitunglah nilai f(x0) dan f′(x0). Tarik garis singgung dengan

kemiringan f′(x0) sampai memotong sumbu x.Titik perpotongan garis singgung dengan

sumbu x ini akan menjadi titik tebakan yang baru, sebutlah x1.

3. Ulangi langkah 1 dan seterusnya hingga diperoleh titik xi yang menghasilkan f(ai)

dengan error yang diinginkan. Titik xi yang demikian adalah akar persamaan yang

(4)

50 Gambar 3 : metode newton-raphson

2.2 ALGORITMA GENETIKA

Sejak algortima genetika (AG) pertama kali dirintis oleh John Holland dari Universitas Michigan pada tahun 1960-an, AG telah diaplikasikan secara luas pada berbagai bidang. AG banyak digunakan untuk memecahkan masalah optimasi, walaupun pada kenyataannya juga memiliki kemampuan yang baik untuk masalah- masalah selain optimasi. John Holland menyatakan bahwa setiap masalah yang berbentuk adaptasi (alami maupun buatan) dapat diformulasikan dalam terminologi genetika. Algoritma genetika adalah simulasi dari proses evolusi dan operasi genetika atas kromosom.

Pada algoritma genetika, teknik pencarian dilakukan sekaligus atas sejumlah solusi yang mungkin dikenal dengan istilah populasi. Individu yang terdapat dalam satu populasi disebut dengan istilah kromosom. Kromosom ini merupakan suatu solusi yang masih berbentuk simbol.Populasi awal dibangun secara acak, sedangkan populasi berikutnya merupakan hasil evolusi kromosom-kromosom melalui iterasi yang disebut dengan generasi. Pada setiap generasi, kromosom akan melalui proses evaluasi dengan menggunakan alat ukur yang disebut dengan fungsi fitness. Nilai fitness dari suatu kromosom akan menunjukkan kualitas dari kromosom dalam populasi tersebut. Generasi berikutnya dikenal dengan istilah anak (offspring) terbentuk dari gabungan dua kromosom generasi sekarang yang bertindak sebagai induk (parent) dengan menggunakan operator penyilangan (crossover).Selain operator penyilangan, suatu kromosom dapat juga dimodifikasi dengan menggunakan operator mutasi. Populasi generasi yang baru dibentuk dengan cara menyeleksi nilai fitness dari kromosom induk (parent) dan nilai fitness dari kromosom anak (offspring), serta menolak kromosom-kromosom yang lainnya sehingga ukuran populasi (jumlah kromosom dalam suatu populasi) konstan. Setelah melalui beberapa generasi, maka algoritma ini akankonvergen ke kromosom terbaik.

Ada tiga keunggulan dari aplikasi Algoritma Genetika dalam proses optimasi, yaitu : (a) Algoritma Genetika tidak terlalu banyak memerlukan persyaratan matematika dalam penyelesaian proses optimasi. Algoritma Genetika dapat diaplikasikan pada beberapa jenis fungsi obyektif dengan beberapa fungsi pembatas baik berbentuk linier maupun non-linier; (b) Operasi evolusi dari Algoritma Genetika sangat efektif untuk mengobservasi posisi global secara acak; dan (c) Algoritma Genetika mempunyai fleksibilitas untuk diimplementasikan secara efisien pada problematika tertentu. Berikut ini penjelasan sistim operasi algoritma genetika yang sumber utamanya berasal dari Suyanto, Yingsong Zheng dan Sumio Kiyooka serta catatan kuliah ekonometrik 3, sebagai berikut:

(5)

51 Nilai Fitness

Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran performannya. Di dalam evolusi alam, individu yang bernilai fitnes tinggi yang akan bertahan hidup. Sedangkan individu yang bernilai fitness rendah akan mati.

Seleksi Orang Tua

Pemilihan dua buah kromosom sebagai orang tua, yang akan dipindahsilangkan, biasanya dilakukan secara proporsional sesuai dengan dengan nilai fitness-nya. Suatu metoda seleksi yang umumnya digunakan adalah roulette wheel (roda raoulette). Sesuai dengan namanya, metoda ini menirukan permainan roulette wheel di mana masing-masing kromosom menempati potongan lingkaran pada roda raulette secara proporsional sesuai dengan nilai fitnessnya. Kromosom yang memiliki nilai fitness lebih besar menempati potongan lingkaran yang lebih besar dibandingkan dengan kromosom bernilai fitness rendah.

Gambar 4 : Contoh penggunaan metoda roulette wheel selection.

Metoda raulette-wheel selection sangat mudah diimplementasikan dalam pemprograman. Pertama, dibuat interval nilai kumulatif dari nilai fitness masing-masing kromosom. Sebuah kromosom akan terpilih jika bilangan random yang dibangkitkan berada dalam interval kumulatifnya. Pada Gambar 2 di atas, K1 menempati interval kumulatif [0;0,25], K2 beradadalam interval (0,25;0,74], K3 dalam interval (0,75;0,875] dan K4 berada dalam interval (0,875;1]. Misalkan, jika bilangan random yang dibangkitkan adalah 0,6 maka kromosom K2 terpilih sebagai orang tua. Tetapi jika bilangan random yang dibangkitkan adalah 0,9 maka kromosom K4 yang terpilih.

Pindah Silang (Crossover)

Salah satu komponen yang paling penting dalam algoritma genetik adalah crossover atau pindah silang. Sebuah kromosom yang mengarah pada solusi yang baik dapat diperoleh dari proses memindah-silangkan dua buah kromosom.

Gambar 5 : Contoh Proses Pindah Silang

Pindah silang juga dapat berakibat buruk jika ukuran populasinya sangat kecil. Dalam suatu populasi yang sangat kecil, suatu kromosom dengan gen-gen yang mengarah ke solusi akan sangat cepat menyebar ke kromosom-kromosom lainnya. Untuk mengatasi masalah ini digunakan suatu aturan bahwa pindah silang hanya bisa dilakukan dengan suatu probabilitas tertentu, artinya pindah silang bisa dilakukan hanya jika suatu bilangan random yang dibangkitkan kurang dari probabilitas yang ditentukan tersebut. Pada umumnya probabilita tersebut diset mendekati 1. Pindah silang yang paling sederhana adalah pindah silang satu titik potong (one-point crossover). Suatu titik potong dipilih secara random, kemudian bagian pertama dari orang tua 1 digabungkan dengan bagian kedua dari orang tua 2 (terlihat pada gambar 5).

(6)

52 Crossover adalah operator Algoritma Genetika yang utama karena beroperasi pada dua kromosom pada suatu waktu dan membentuk offspring dengan mengkombinasikan dua bentuk kromosom. Cara sederhana untuk memperoleh crossover adalah dengan memilih suatu titik yang dipisahkan secara random dan kemudian membentuk offspring dengan cara mengkombinasikan segmen dari satu induk ke sebelah kiri dari titik yang dipisahkan dengan segmen dari induk yang lain ke sebelah kanan dari titik yang dipisahkan. Metode ini akan berjalan normal dengan representasi bit string. Performa dari Algoritma Genetika bergantung pada performa dari operator crossover yang digunakan.

Crossover rate merupakan rasio antara jumlah offspring yang dihasilkan pada setiap generasi terhadap luas populasinya. Semakin tinggi crossover rate akan memungkinkan eksplorasi ruang solusi yang lebih luas dan mereduksi kemungkinan jatuh pada kondisi optimum yang salah. Namun memberikan rate yang memberikan konsekuensi makin lamanya waktu perhitungan yang diperlukan sebagai akibat eksplorasi pada luas populasi yang ada.

Mutasi

Mutasi dapat dilakukan dari semua gen yang ada dengan probabilitas mutasi tertentu. Jika bilangan random yang dibangkitkan kurang dari probabilitas mutasi yang ditentukan maka ubah gen tersebut menjadi nilai kebalikan yang dalam hal ini, binary encoding, 0 diubah 1, dan 1 diubah 0. Bila mana probabilitas mutasi adalah ( 1/12 ) maka sebanyak 1 gen akan dimutasi dari kromosom yang terdiri dari 12 gen (bits). Pada algoritma genetika yang sederhana, nilai probabilitas mutasi adalah tetap selama evolusi. Gambar 4 menunjukan proses mutasi yang terjadi pada gen 5.

Gambar 6: Contoh Proses Mutasi

Mutasi dapat dikatakan sebagai operasi pendukung yang menghasilkan perubahan secara acak dan seketika pada berbagai jenis kromosom.Cara mudah untuk mendapatkan mutasi dengan mengubah satu atau lebih genes. Pada Algoritma Genetika, mutasi memainkan peran penting, yaitu pertama, menggantikan genes yang hilang dari populasi selama proses seleksi, sehingga dapat diujikan pada suatu kondisi yang baru. Kedua, menyediakangenes yang tidak ditampilkan pada populasi awal.

Mutation rate menyatakan presentase dari total jumlah genes dalam populasi. Mutation rate ini melakukan kontrol dimana genes baru dalam populasi dapat diuji seleksi. Jika rate terlalu kecil akan banyak genes yang sebenarnya bermanfaat tetapi tidak pernah diuji seleksi. Namun jika rate terlalu tinggi akan terjadi random pertubation, yang berakibat offspring mulai kehilangan kemiripan dengan induknya dan Algoritma Genetika akan kehilangan kemampuan untuk melihat urutan langkah observasinya.

3. HASIL DAN PEMBAHASAN

Algoritma Genetika adalah salah satu pendekatan untuk menentukan global optimum yang didasari oleh Teori Evolusi. Secara garis besar langkah dalam prosedur ini dimulai dengan menetapkan suatu set solusi potensial dan melakukan perubahan dengan beberapa iterasi dengan algoritma genetika untuk mencapat solusi terbaik. Set solusi potensial ini ditetapkan diawal dan disebut dengan kromosom. Kromosom ini dibentuk secara random berupa susunan angka binary yang di-generate dan dipilih. Keseluruhan set dari kromosom yang diobservasi mewakili suatu populasi.

(7)

53 Kemudian, kromosom-kromosom tersebut akan berevolusi dalam beberapa tahap iterasi yang disebut dengan generasi. Generasi baru (offsprings) di-generate dengan teknik kawin silang (crossover) dan mutasi (mutation). Crossover meliputi pemecahan (splitting) dua kromosom dan kemudian mengkombinasikan setengah bagian dari masing-masing kromosom dengan pasangan-pasangan lainnya. Sedangkan mutasi meliputi penggantian (flipping) satu bit (bagian) dari kromosom dengan satu bagian lain dari kromosom lain yang menjadi pasangannya. Kromosom-kromosom ini selanjutnya berevolusi dengan suatu kriteria kesesuaian (fitness) yang ditetapkan dan hasil terbaik akan dipilih sementara yang lainnya diabaikan.

Selanjutnya, proses dilakukan berulang-ulang sampai dengan suatu kromosom yang mempunyai kesesuaian terbaik (best fitness) akan diambil sebagai solusi terbaik dari permasalahan.

Permasalahan : Akan dicari akar dari suatu persamaan fungsi h(x1, x2) = 1000(x1

-2x2)2+(1-x1)2 dengan menggunakan algoritma genetika dan dengan menggunakan metode

coba-coba telah diketahui nilai eksak atau nilai sebenarnya yaitu x1=1 dan x2=0.5.

Berikut merupakan output yang dihasilkan untuk mencari akar dari suatu persamaan fungsi h(x1, x2) = 1000(x1-2x2)2+(1-x1)2 menggunakan algoritma genetika:

Gambar 7. Genom 1 sd 28

(8)

54 Gambar 9. Genom 67 sd 104

(9)

55 Gambar 11. Genom 143 sd 180

Gambar 12. Genom 165 sd 200

Dari hasil implementasi program algoritma genetika yang dilakukan, diperoleh bahwa x1=1 dan x2=0.5 dan hal ini sama (mendekati) dengan nilai eksak dari akar

persamaan h(x1, x2) = 1000(x1-2x2)2+(1-x1)2

4. KESIMPULAN

Dari hasil implementasi menjalankan program algoritma genetika untuk mencari nilai dari akar persamaan h(x1, x2) = 1000(x1-2x2)2+(1-x1)2 di dapat bahwa FitMax (genom

9)=10, FitMin (genom 107)=0, FitAvr = 0.153, FitTot = 30.6, Best Genom : 10011001001000110010, x1=1 dan x2=0.5 dan hal ini sama dengan nilai eksak atau nilai

(10)

56 5. DAFTAR PUSTAKA

[1] Arkeman, Y., 2010, Algoritma Genetika, Bogor

[2] Berlianty, Intan dan Miftahol Arifin, 2010, Teknik-Teknik Optimasi Heuristik, Penerbit Graha Ilmu, Yogyakarta.

[3] Desiani, Anita dan Arhami, Muhammad, 2006, Konsep Kecerdasan Buatan, Penerbit Andi, Yogyakarta.

[4] Kalyanmoy Deb. 1995. Simulated Binary Crossover for Continuous Search Space. Complex System, 9:115 -148

[5] Suyanto, 2005, Algoritma Genetika dalam MATLAB, Penerbit ANDI, Yogyakarta. [6] Suyanto, 2005, Algoritma Optimasi, Penerbit Graha Ilmu, Yogyakarta.

Referensi

Dokumen terkait

Terdapat hubungan yang signifikan antara Obesitas dengan Derajat Osteoartritis Genu pada lansia di RSUD Prof.. Bagi lansia penderita OA Genu dengan masalah

Waroeng keroncong merupakan sebuah wadah yang dibuat untuk melestarikan musik keroncong yang ada di Kota Semarang. Pentas waroeng keroncong diadakan setiap hari Rabu di

Hal ini merupakan jawaban pemerintah terkait dengan kesetaraan gender dianggap perlu, untuk mendukung pembangunan baik di bidang ekonomi, politik, sosial, hukum

Kitosan mikrokristalin yang telah diproduksi kemudian dilakukan analisis mutu berupa analisis kadar air, kadar mineral, kadar nitrogen, derajat deasitilasi (DD)

prasyarat terselenggaranya proses pembangunan nasional dalam rangka tercapainya tujuan nasional yang ditandai oleh terjaminnya keamanan, ketertiban, dan tegaknya

sebagai HazOp merupakan suatu teknik identifikasi dan analisis bahaya yang digunakan untuk meninjau suatu proses atau operasi pada sebuah sistem secara sistematis.. Selain itu

Gejala penyakit pada tanaman cabai disebabkan virus gemini yang termasuk dalarn kelompok virus tanaman dengan genom berukuran 2,6-2,8 kb berupa utas tunggal DNA yang melingkar,

Prinsip dari Metode cincin du Nouy bergantung pada kenyataan bahwa gaya yang diperlukan untuk melepaskan suatu cincin platina-iridium yang dicelupkan pada permukaan adalah