IMPLEMENTASI ALGORITMA GENETIKA DALAM PENENTUAN KANDIDAT MODEL

  

IMPLEMENTASI ALGORITMA GENETIKA

DALAM PENENTUAN KANDIDAT MODEL

SKRIPSI

  Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Sains Program Studi Ilmu Komputer

  

Oleh :

Yavandy Hosea

NIM : 033124051

  

PROGRAM STUDI ILMU KOMPUTER

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2007

  

Perjalanan Hidup

Permulaan

Setiap hari adalah saat yang tepat untuk mengatakan pada diri kita sendiri,

  "Biarkan petualangan baru dimulai"

Antusiasme

Sikap antusiasme tidak hanya menolong kita untuk meraih impian, namun juga membuat perjalanan kita menjadi lebih menyenangkan

  

Keseimbangan

Setiap putaran pada jalan memerintahkan kita untuk menjaga keseimbangan kita pada perjalanan selanjutnya

Keberanian

Keberanian bertumbuh semakin kuat bila kita mau menghadapi semua tantangan hidup

  

Sukses

Kesuksesan terletak pada mereka yang meraih sesuatu lebih dari diri mereka sendiri

  Skripsi ini kupersembahkan kepada bos besar saya di surga ; Lord Jesus, keluargaku tersayang (mama ; Lilian H, papa ; Yap Cu Leng, ce Ningsih, ce Vinny, adikku Fanny H, keponakanku Elgina, Michael, Baby) kalian adalah semangat dalam hidupku, terima kasih atas segala doa, kasih sayang, serta semangat yang telah diberikan selama ini. Almamaterku tercinta

  

IMPLEMENTASI ALGORITMA GENETIKA

DALAM PENENTUAN KANDIDAT MODEL

  

INTISARI

  Salah satu cara untuk mengefisiensikan pemakaian energi untuk pengkondisian temperatur di dalam rumah adalah dengan mengenali perilaku dan karakter perubahan temperaturnya. Pengenalan karakter dapat dilakukan dengan mencari model perubahan temperatur di dalam rumah tersebut. Ada berbagai cara untuk melakukan pemodelan, diantaranya adalah dengan teknik identifikasi berdasarkan hasil pengukuran masukan-keluarannya.

  Pada penulisan tugas akhir ini disajikan hasil penelitian yaitu pengembangan teknik identifikasi sistem dengan menggunakan algoritma genetika. Algoritma genetika yang dikembangkan dalam penelitian ini menggunakan fungsi fitness yang didasarkan pada residual antara keluaran sistem dan keluaran model. Pengukuran masukan-keluaran dalam penelitian ini dilakukan pada suatu rumah model yang temperaturnya dapat divariasikan.

  Dengan teknik identifikasi menggunakan algoritma genetika, karakter perubahan temperatur dalam rumah model dapat didekati menggunakan model

  

Auto Regressive Moving Average with Exogenous Input (ARMAX). Hasil yang

  diperoleh untuk proses pemanasan dan pendinginan dalam rumah model adalah model dengan struktur ARMAX orde 3. Model tersebut diperoleh dengan nilai fitness terbaik 0,89 untuk proses pemanasan dan 0,98 untuk proses pendinginan.

  Kata Kunci : Algoritma Genetika, ARMAX, Pemodelan, Sistem Identifikasi.

  

IMPLEMENTATION OF GENETIC ALGORITHM IN

DETERMINING MODEL CANDIDATE

ABSTRACT

  One method for decreasing energy consumption to control the temperature in a house is to identify it’s characteristics first. To identify the characteristics we have to find the model of the temperature changes in that house. There are many methods to build a model. One of them is based on input-output measurement.

  This undergraduate thesis presents the result of a research about system identification technique using genetic algorithm. The fitness function is the residue of the output of the system and the model. The measurement of input- output in this research was applied in ‘model house representing heating/cooling system’ with varying temperature.

  By using genetic algorithm and ARMAX (Auto Regressive Moving Average

  

with Exogenous Input ) approach we can identify the characteristic of the model

rd

  house. The result is 3 order ARMAX structure model , with the fitness 0,89 for heating process and 0.98 for cooling process.

  Keyword : Genetic Algorithm, ARMAX, Modeling, Identification System.

KATA PENGANTAR

  Puji syukur kepada Allah Bapa yang maha baik sehingga penulis dapat menyelesaikan skripsi ini dengan lancar. Atas segala kekuatan dan kesehatan yang diberikan-Nya, baik sebelum ataupun selama penulis mengerjakan skripsi ini.

  Penulisan skripsi ini disusun sebagai salah satu syarat untuk memperoleh gelar Sarjana Sains (S.Si) Program Studi Ilmu Komputer di Fakultas Sains dan Teknologi Universitas Sanata Dharma .

  Pada kesempatan ini, tidak lupa penulis menyampaikan ucapan terima kasih yang sebesar-besarnya kepada : Bapak Haris Sriwindono selaku dosen pembimbing penulisan skripsi dan dosen pembimbing akademik. Terima kasih atas segala bantuan, kesabaran serta waktu yang telah disediakan kepada penulis selama penulisan skripsi ini.

  Romo Gregorius Heliarko selaku Dekan Fakultas Sains dan Teknologi. Seluruh dosen-dosen di Fakultas Sains dan Teknologi. Terima kasih atas semua bimbingan, kesabaran, pengetahuan dan kesempatan yang saya terima sejak menjadi mahasiswa di Fakultas Sains dan Teknologi.

  Pejabat Struktural di Fakultas Sains dan Teknologi. Terima kasih atas segala kemudahan dan fasilitas yang diberikan kepada penulis selama belajar di Fakultas Sains dan Teknologi.

  Seluruh karyawan Fakultas Sains dan Teknologi. Terima kasih atas kemudahan-kemudahan yang selama ini saya terima.

  Bapak Purwanta selaku kepala PPKKN, yang telah memberikan kemudahan dalam menjalankan KKN, serta ibu Santi selaku koordinator pelaksanaan KKN. Terima kasih atas segala kesempatan dan pembelajaran yang diberikan.

  Temen spesialku ATA. Hidup ini jadi hampa tanpamu. Sahabatku Clara, terima kasih atas semangat yang telah diberikan selama ini. Teman-teman kos Patria : Sugi, Henry, Edo, Andis, Bendot, Omen, Willy,

  Gompis, Dedek, Dadit, Yossi, Yandi, dan Seul. Terima kasih atas kebersamaannya selama ini Teman – teman ku angkatan 2003. Terima kasih atas kebersamaannya. Sahabatku Ronald, terima kasih atas kebersamaan dan pengalaman berharga yang saya dapat dari kamu.

  Buat my little friends ; Miki, pak gendut, bu gendut, si gendut, si redcap, si putih, si merah, si pesolek dan si alien.

  Semua pihak yang tidak dapat disebutkan satu persatu yang telah membantu dalam penyelesaian skripsi ini Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan. Walaupun demikian penulis berharap semoga skripsi ini dapat bermanfaat bagi masyarakat dan perkembangan ilmu pengetahuan alam.

  Penulis

  sangkomandan@yahoo.com

  DAFTAR ISI

  20 A. Pendahuluan…………………………………………………………….

  24 5. Operasi Persilangan atau Crossover ..................................................

  24 4. Pemilihan kromosom untuk dijadikan orangtua.................................

  24 3. Penentuan nilai fitness untuk masing-masing kromosom...................

  23 2. Pembangkitan Kromosom..................................................................

  23 1. Representasi Kromosom.....................................................................

  23 C. Perancangan……………………………………………………………..

  5. Proses Reproduksi untuk Mendapatkan kromosom-kromosom yang Baru............................................................................................

  22

  22 4. Pemilihan Kromosom untuk dijadikan Orangtua...............................

  22 3. Penentuan Nilai Fitnes untuk masing-masing Kromosom………….

  21 2. Pembangkitan Kromosom…………………………………………..

  20 1. Representasi Masalah……………………………………………….

  20 B. Analisis Sistem………………………………………………………….

  19 BAB III ANALISIS DAN PERANCANGAN SISTEM…………………....

  Halaman HALAMAN JUDUL...................................................................................... i HALAMAN PERSETUJUAN PEMBIMBING............................................. ii HALAMAN PENGESAHAN........................................................................ iii HALAMAN PERSEMBAHAN..................................................................... iv PERNYATAAN KEASLIAN KARYA......................................................... v PERNYATAAN PERSETUJUAN PUBLIKASI........................................... vi ABSTRAK...................................................................................................... vii ABSTRACT.................................................................................................... viii KATA PENGANTAR.................................................................................... ix DAFTAR ISI................................................................................................... xi BAB I PENDAHULUAN...............................................................................

  17 C. Deskripsi Implementasi AG dalam Penentuan Kandidat Model………..

  14 3. Operator dan fungsi evaluasi..............................................................

  12 2. Struktur Umum Algoritma genetika...................................................

  11 1. Deskripsi Algoritma Genetika............................................................

  9 B. Algoritma Genetika..................................................................................

  9 A. Latar Belakang Biologi.............................................................................

  8 BAB II DASAR TEORI.................................................................................

  7 F. Sistematika Penulisan...............................................................................

  6 E. Metodologi Penelitian...............................................................................

  5 D. Tujuan Penelitian......................................................................................

  5 C. Batasan Masalah.......................................................................................

  1 B. Rumusan Masalah.....................................................................................

  1 A. Latar Belakang..........................................................................................

  25

  Halaman 7. Ilustrasi Masalah Penentuan Kandidat Model....................................

  43 4. Implementasi Pembacaan String Berkas Menjadi Numerik...............

  60 B. Saran......................................................................................................... 60 DAFTAR PUSTAKA.....................................................................................

  60 A. Kesimpulan...............................................................................................

  55 BAB V PENUTUP........................................................................................

  50 D. Hasil dan Pembahasan..............................................................................

  48 C. Implementasi Antar Muka........................................................................

  47 7. Implementasi Operasi Mutasi.............................................................

  46 6. Implementasi Operasi Persilangan atau Crossover............................

  45 5. Implementasi Pemilihan Kromosom untuk dijadikan Orangtua........

  42 3. Implementasi Penginputan Data Masukan Tegangan.........................

  28 8. Perancangan Menu.............................................................................

  42 2. Implementasi Pembangkitan Populasi Awal.......................................

  42 1. Implementasi Reperesentasi Kromosom.............................................

  41 B. Implementasi Program..............................................................................

  41 A. Flowchart..................................................................................................

  39 BAB IV IMPLEMENTASI DAN ANALISA HASIL PROGRAM..............

  39 11. Perancangan Bantuan.........................................................................

  33 10. Perancangan Tentang Algoritma Genetika........................................

  32 9. Perancangan Pemrosesan Algoritma Genetika..................................

  61

BAB I PENDAHULUAN A. Latar Belakang Sejak tahun 1960, terdapat perhatian untuk menirukan kehidupan

  makhluk hidup. Hal tersebut bertujuan untuk menyelesaikan berbagai macam masalah optimasi yang mempunyai kompleksitas tinggi. Algoritma Evolusioner adalah simulasi evolusioner proses alam makhluk hidup pada teknik optimasi stokastik. Saat ini, terdapat tiga topik utama dalam penelitian yaitu : genetic algorithms (GA), evolutionary programming (EP), dan

  evolution strategies (ES). Diantara ketiga topik tersebut, algoritma genetika merupakan algoritma evolusioner yang paling banyak digunakan.

  Algoritma genetika pertama kali dikenalkan oleh John Holland dan murid-muridnya di Universitas Michigan pada tahun 1960. Algoritma genetika adalah algoritma yang berdasarkan konsep teori evolusi alam dan genetika. Teori evolusi alam dan genetika pertama kali ditemukan oleh Charles Darwin. Dalam teori genetika disebutkan bahwa sifat tertentu dari suatu makhluk hidup ditentukan oleh susunan gen dalam kromosom makhluk hidup tersebut. Teori genetika dalam algoritma genetika digunakan untuk merepresentasikan setiap solusi dari masalah yang ada, karena setiap solusi diandaikan mempunyai kromosom yang berbeda dengan solusi lainnya. Sedangkan evolusi alam adalah proses seleksi terhadap anggota dari berbagai proses dalam evolusi alam yang digunakan dalam algoritma genetika adalah seleksi alam dan reproduksi. Proses seleksi alam digunakan untuk memilih suatu solusi yang baik, sedangkan proses reproduksi digunakan untuk menghasilkan solusi baru yang diharapkan mempunyai kromosom lebih baik dari solusi sebelumnya.

  Algoritma genetika diawali dengan himpunan solusi yang disebut populasi. Setiap individu pada populasi disebut kromosom yang menggambarkan sebuah solusi dari masalah yang akan diselesaikan. Sebuah kromosom dapat dinyatakan dalam simbol string misalnya kumpulan string bit. Kromosom-kromosom dapat berubah terus-menerus yang disebut juga regenerasi. Pada setiap generasi, kromosom dievaluasi dengan menggunakan alat ukur yang disebut fitness (tingkat kesesuaian). Untuk membuat generasi berikutnya, kromosom-kromosom baru yang disebut offspring (keturunan) terbentuk dengan cara menggabungkan dua kromosom dari generasi sekarang dengan menggunakan operator crossover (persilangan) atau mengubah sebuah kromosom dengan menggunakan operator mutasi. Generasi baru dibentuk dengan cara seleksi yang dilakukan terhadap parent dan offspring berdasarkan nilai fitness. Kromosom dengan nilai fitness yang tinggi ini akan memberikan probabilitas yang tinggi untuk bereproduksi pada generasi selanjutnya.

  Sehingga untuk setiap generasi pada proses evolusi, fungsi fitness yang mensimulasikan seleksi alam, akan menekan populasi kearah fitness yang meningkat. Setelah beberapa generasi, algoritma ini akan konvergen kearah bentuk kromosom yang lebih baik, dengan harapan dapat menyatakan solusi optimal dari masalah yang diselesaikan.

  Algoritma genetika sangat tepat digunakan untuk penyelesaian masalah optimasi yang kompleks dan sukar diselesaikan dengan menggunakan metode yang konvensional. Sebagaimana halnya proses evolusi di alam, suatu algoritma genetika yang sederhana umumnya terdiri dari tiga operator yaitu : operator reproduksi, operator crossover (persilangan) dan operator mutasi. Struktur umum dari suatu algoritma genetika dapat didefinisikan dengan langkah-langkah sebagai berikut :

  1. Membangkitkan populasi awal, populasi awal ini dibangkitkan secara random sehingga didapatkan solusi awal. Populasi itu sendiri terdiri dari sejumlah kromosom yang merepresentasikan solusi yang diinginkan.

  2. Membentuk generasi baru, dalam membentuk generasi baru digunakan tiga operator yang telah di sebutkan di atas yakni operator reproduksi/seleksi, crossover, dan mutasi. Proses ini dilakukan berulang-ulang sehingga didapatkan jumlah kromosom yang cukup untuk membentuk generasi baru dimana generasi baru ini merupakan representasi dari solusi baru.

  3. Evaluasi solusi, proses ini akan mengevaluasi setiap populasi dengan menghitung nilai fitness setiap kromosom dan mengevaluasinya sampai terpenuhi kriteria berhenti. Bila kriteria berhenti belum terpenuhi maka akan dibentuk lagi generasi baru dengan mengulangi langkah 2. Beberapa kriteria berhenti yang sering digunakan antara lain :

  • Berhenti pada generasi tertentu.
  • Berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai fitness tertinggi tidak berubah.
  • Berhenti bila dalam n generasi berikut tidak didapatkan nilai fitness yang lebih tinggi.

  Masalah Pengaturan kondisi ruangan dalam sebuah gedung atau rumah dilakukan dengan memperhatikan beberapa hal yang diantaranya adalah konsumsi energi. Konsumsi energi juga dipengaruhi oleh beberapa hal yaitu temperatur luar ruangan, aliran udara, pengkondisian udara yaitu pendinginan atau pemanasan. Pengaturan temperatur suatu rumah untuk mengatur keadaan udara agar tetap memenuhi kondisi dan persyaratan tertentu telah banyak dilakukan. Salah satu cara agar pemakaian energi dapat efisen, maka perilaku dan karakter sistem yaitu perubahan dari panas ke dingin dan sebaliknya harus dikenali terlebih dahulu. Salah satu cara untuk mengenali karakter sistem adalah dengan melakukan pemodelan sistem. Untuk keperluan tersebut biasanya pengamatan dilakukan pada suatu rumah model. Ada beberapa metode yang dapat digunakan untuk melakukan pemodelan, yang diantaranya adalah dengan teknik identifikasi sistem dengan mencari hubungan antara masukan dan keluaran. Beberapa algoritma dapat diterapkan untuk melakukan teknik identifikasi. Dalam penulisan ini digunakan teknik identifikasi dengan menggunakan algoritma genetika. Pemodelan dengan metode ini harus ditentukan terlebih dahulu kandidat model dengan struktur

  B. Rumusan Masalah

  

(t 3) b

1 u

  3. Untuk tiap kromosom dalam populasi digunakan data simulasi, yakni dengan mengenerate secara random. Struktur kromosom yang dipakai dalam pemrosesan algoritma genetika mengikuti persamaan diatas yakni : { [ a1 a2 a3 ] [ b1 b2] [ c1 c2 ] }.

  2. y(t) dan u(t) merupakan data masukan tegangan yang diinputkan melalui file, sedangkan e(t) merupakan nilai random yang berkisar antara 3%-5% dari nilai rata-rata y(t).

  (t 1)

  (t) c 2 e

  (t 2) c 1 e

  (t 1) b 2 u

  (t 2) a 3 y

  Berdasarkan latar belakang permasalahan yang terjadi maka rumusan masalahnya adalah : “Bagaimana teknik identifikasi dengan menggunakan

  (t 1) a 2 y

  Y (t) a 1 y

  sedangkan untuk proses pendinginan :

  Y (t) a 1 y (t 1) a 2 y (t 2) a 3

y (t 3) b

1 u (t 2) b 2 u (t 3) c 1 e (t) c 2 e (t 1)

  1. Struktur kandidat model dibentuk dengan orde yang telah ditetapkan yakni na=3, nb=2, nc=2. Untuk proses pemanasan strukturnya adalah :

  Dalam pembahasan topik tersebut, akan dilakukan pembatasan masalah sebagai berikut :

  Algoritma Genetika menentukan karakteristik rumah model yang optimum pada proses pemanasan atau pendinginan ? .” C. Batasan Masalah

  4. Kriteria berhenti dalam proses evolusi adalah berhenti pada generasi

  5. Fungsi fitness yang digunakan dalam pencarian kandidat model terbaik dinyatakan pada persamaan berikut :

  f  1

1E

  dengan n 2

  e (i)

  



i

1

  E  n 6. Implementasi sistem menggunakan Matlab 6.5.1 dari MathWork.

  7. Pembuatan aplikasi sebatas prototype.

D. Tujuan Penelitian

  Tujuan yang diharapkan dengan terselesaikannya tugas akhir ini adalah membuat perangkat lunak yang dapat menentukan kandidat model optimum pada sebuah sistem yang dikenai proses pemanasan atau pendinginan dengan teknik identifikasi menggunakan algoritma genetika.

E. Metodologi Penelitian

  Metode yang digunakan untuk menyelesaikan masalah tersebut adalah dengan menggunakan metode Waterfall, dengan langkah-langkah sebagai berikut:

  1. Pengumpulan Kebutuhan Sistem Pada tahap ini yang dilakukan adalah mengumpulkan data-data yang terkait dengan sistem antara lain : data inputan yang merupakan hasil ujicoba penelitian, perangkat keras serta perangkat lunak yang dibutuhkan.

  2. Rancangan Sistem Pada tahap ini digunakan untuk menyusun modul-modul yang dibutuhkan dalam sistem, antara lain : struktur data dan algoritma yang digunakan, prosedur detail, karakteristik antar muka dan keterkaitan antar modul (model kerja sistem).

  3. Penulisan Program Penulisan sistem merupakan tahap untuk merepresentasikan rancangan sistem ke dalam program.

  4. Pengujian Terhadap Sistem Tahap ini dilakukan untuk mengetahui apakah sistem sesuai dengan yang diinginkan, juga digunakan untuk mengetahui kesalahan yang masih mungkin terjadi.

F. Sistematika Penulisan

  a. Bab I Pendahuluan

  Bab ini berisi pendahuluan yang akan membahas tentang latar belakang masalah, rumusan masalah, batasan masalah, tujuan, metodologi dan sistematika penulisan.

  b. Bab II Dasar Teori

  Bab ini berisi landasan teori. Dalam landasan teori akan menjelaskan tentang beberapa konsep yang digunakan dalam memecahkan masalah tersebut. Dalam konsep tersebut akan dibahas teori yang mendasari dalam pembuatan aplikasi. Diantaranya pengertian algoritma genetika, seleksi (reproduksi), crossover, mutasi, probabilitas crossover, probabilitas mutasi.

  c. Bab III Analisis dan Perancangan Sistem

  Bab ini berisi analisis dan perancangan aplikasi. Dalam analisis ini akan dibahas tentang kebutuhan aplikasi sedangkan untuk perancangan aplikasi akan dibahas tentang rancangan bentuk aplikasi (user interface).

  d. Bab IV Implementasi dan Analisa Hasil Program Berisi tentang hasil pembuatan program dan penjelasan atau analisis program, serta beberapa contoh keluaran dari data yang dimasukkan serta pembahasan program.

  e. Bab V Penutup Berisi beberapa kesimpulan dan saran berdasarkan hasil pembuatan program dan pembahasan program.

BAB II DASAR TEORI A. Latar Belakang Biologi Algoritma genetika adalah algoritma yang dikembangkan berdasarkan

  konsep genetika dan teori evolusi alam. Adapun konsep genetika dan teori evolusi alam tersebut dikemukakan oleh Charles Darwin yang merupakan seorang ahli biologi. Algoritma genetika sendiri diperkenalkan oleh John Holland dan teman-temannya di Universitas Michigan pada tahun 1960. Dari konsep genetika disebutkan bahwa setiap organisme merupakan suatu sistem yang terdiri dari organ-organ, sedangkan dalam setiap organ terdapat sekumpulan sel yang membentuk organ. Setiap sel dibagi lagi menjadi sejumlah kromosom. Setiap kromosom terdiri dari gen-gen yang merupakan blok DNA. Blok DNA berperan menghasilkan suatu kharakteristik / sifat tertentu dari makhluk hidup. Karakteristik antara makhluk hidup yang satu dengan yang lain berbeda. Contohnya : warna kulit, bentuk rambut, dan sebagainya. Setiap gen terdiri dari sekumpulan kemungkinan allele ( sifat yang mungkin dibawa gen ) yang masing-masing membawa berbagai variasi dari karakteristik tertentu. Setiap gen memiliki posisi pada kromosom yang disebut locus.

  Sedangkan evolusi alam adalah proses seleksi terhadap anggota dari berbagai populasi di bumi berdasar tingkat ketahanan hidup suatu organisme. karena ia mempunyai tingkat ketahanan hidup yang lebih tinggi dibandingkan dengan yang lainnya, dan pihak yang tidak bisa bertahan hidup (mati) karena mempunyai tingkat ketahanan hidup yang rendah. Jadi dengan kata lain seleksi alam adalah suatu proses pencarian terhadap anggota populasi yang dapat bertahan hidup yang sifatnya diturunkan dari genotif (kumpulan gen-gen tertentu dalam kromosom) untuk mendapatkan struktur yang efisien yang berguna untuk melaksanakan kegiatan yang diperlukan untuk dapat bertahan hidup. Proses-proses yang terjadi dalam evolusi alam menjadi konsep dasar dalam algoritma genetika adalah :

  1. Seleksi Alam Seleksi alam adalah proses pencarian terhadap anggota populasi yang dapat bertahan hidup karena mereka dapat menyesuaikan diri dengan lingkungannya.

  2. Reproduksi Reproduksi adalah salah satu proses biologi untuk mempertahankan kelestarian suatu spesies karena dengan melakukan reproduksi akan didapatkan keturunan yang sifatnya diturunkan dari induknya. Proses reproduksi ini dapat dilakukan oleh dua individu ataupun satu individu.

  Contoh-contoh proses reproduksi adalah :

  a. Crossover (perkawinan silang) Perkawinan silang adalah suatu proses pertukaran gen dari dua individu yang mempunyai karakteristik yang berbeda dari induknya b. Mutation (Mutasi) Mutasi adalah proses perubahan materi genetik dari suatu species (satu individu) dikarenakan individu tersebut melakukan penyesuaian terhadap lingkungannya(adaptasi) untuk dapat bertahan hidup. Contoh metode mutasi yang digunakan dalam algoritma genetika adalah inversion, insertion dan dispalement.

  Ruang Pencarian

  Ketika mencari penyelesaian suatu masalah, maka dicari solusi yang terbaik dari semua kemungkinan solusi yang ada. Kumpulan semua kemungkinan solusi tersebut berada dalam ruang pencarian (search space). Setiap titik pada ruang pencarian merupakan satu solusi yang mungkin (feasible solution) dan dapat diberi pengenal dalam bentuk nilai atau fitness- nya terhadap masalah yang akan diselesaikan. Proses pencarian solusi menjadi rumit karena tidak diketahui dimana harus mencari atau pencarian dimulai dari mana. Banyak metode yang dikenal untuk menemukan solusi yang layak, diantaranya adalah algoritma genetika, yang dibuat berdasarkan analogi mekanisme yang terjadi terhadap proses evolusi.

B. Algoritma Genetika

  Algoritma genetika merupakan suatu metode penyelesaian yang tergolong heuristic dimana algoritma genetika menganalogikan evolusi biologi yang mempunyai sifat dan cara kerja meniru proses evolusi alam. Ciri-ciri belum tentu merupakan solusi yang optimal atau terbaik dan lebih cepat serta mudah untuk diimplementasikan daripada algoritma terperinci (eksak) yang diketahui menjamin memberikan solusi optimal. Sedangkan untuk ciri-ciri dari algoritma genetika adalah bekerja dengan sebuah himpunan pengkodean solusi, mencari solusi dari suatu populasi dengan menggunakan informasi fungsi fitness, serta menggunakan operasi random dengan aturan perubahan probabilitas, bukan operasi dengan aturan tertentu dalam setiap iterasi.

  Algoritma genetika dapat menyelesaikan masalah optimasi yang kompleks. Beberapa aplikasi algoritma genetika yaitu job-shop scheduling problem, sistem dinamikal nonlinear, perancangan jaringan syaraf tiruan, lintasan robot, program LISP, strategi perencanaan, penemuan bentuk molekul-molekul protein, dan fungsi untuk pembuatan gambar-gambar.

1. Deskripsi Algoritma Genetika

  Algoritma genetika adalah teknik pencarian stokastik yang mendasarkan pada mekanisme seleksi alam dan sifat genetika. Dalam implementasinya algoritma genetika meniru beberapa proses yang terdapat pada evolusi alam. Evolusi tersebut terjadi pada kromosom. Individu- individu yang ada pada saat tertentu dalam suatu populasi merupakan individu yang berhasil mempertahankan hidupnya, sedangkan yang lemah akan punah. Individu-individu yang bertahan akan membentuk individu- individu baru.

  Teori dasar evolusi tersebut bila diimplementasikan dalam bentuk mempunyai kompleksitas tinggi dengan cara yang sama seperti yang dilakukan oleh makhluk hidup melalui evolusi.

  Istilah-istilah yang digunakan algorima genetika, dijelaskan pada tabel dibawah ini :

Tabel 2.1 Penjelasan istilah-istilah yang digunakan dalam algoritma genetika

  Istilah dalam algoritma Keterangan genetika Populasi Himpunan solusi Kromosom Solusi Gen Bagian dari solusi

  

Parent Solusi yang akan dikenakan proses

  peersilangan atau mutasi

  

Offspring Solusi baru yang akan dihasilkan

melalui proses persilangan atau mutasi.

  Persilangan Proses yang melibatkan dua solusi untuk mendapatkan solusi baru Mutasi Proses yang melibatkan satu solusi untuk mendapatkan solusi baru.

2. Struktur Umum Algoritma Genetika

  Bila P(t) dan C(t) adalah induk dan keturunan pada generasi t, struktur umum algoritma genetikanya adalah sebagai berikut : Procedure Algoritma Genetika begin t  0 initialize P(t); evaluate P(t); while (not terminate condition) do recombine P(t) to yield C(t); evaluate C(t); select P(t+1) from P(t) and C(t); t  t + 1; end end

  Struktur umum algoritma genetika dapat pula dideskripsikan seperti pada

gambar 2.1 :

  Ilustrasi Algoritma Genetika

  crossover

  110010 1010

  101110 1110 cromosomes 1100101010 110010 1110 encoding 1011101110 101110 1010 solutions 0011011001 1100110001 mutation

  0011011001 0011001001 new population offspring

  1100101110 selection 1011101010 0011001001 decoding solutions

  Fitness computation

Gambar 2.1 . Struktur Umum Algoritma Genetika

  Keterangan gambar 2.1

  Dalam menyelesaikan suatu masalah , algoritma genetika diawali dengan menginisialisasi himpunan solusi yang dibangkitkan secara

  

random . Himpunan solusi ini disebut populasi. Setiap individu pada

  populasi disebut kromosom yang menggambarkan sebuah solusi dari masalah yang akan diselesaikan. Sebuah kromosom dapat dinyatakan dalam simbol string misalnya kumpulan string bilangan pecahan. Kromosom-kromosom dapat berubah terus-menerus yang disebut juga regenerasi. Pada setiap generasi, kromosom dievaluasi dengan menggunakan alat ukur yang disebut fitness (tingkat kesesuaian). Untuk membuat generasi berikutnya, kromosom-kromosom baru yang disebut

  offspring

  (keturunan) terbentuk dengan caramenggabungkan dua kromosom dari generasi sekarang dengan menggunakan operator

  crossover

  (persilangan) atau mengubah sebuah kromosom dengan menggunakan operator mutasi. Generasi baru terbentuk dengan cara seleksi yang dilakukan terhadap parents dan offspring berdasarkan nilai

  

fitness -nya dan menghilangkan yang lainnya. Kromosom-kromosom yang

  lebih sesuai memiliki probabilitas untuk diplih. Setelah beberapa generasi, algoritma ini akan konvergen ke arah bentuk kromosom yang lebih baik, dengan harapan dapat menyatakan solusi optimal dari permasalahan yang diselesaikan.

3. Operator dan Fungsi Evaluasi

  Biasanya, inisialisasi diasumsikan secara random. Rekombinasi melibatkan crossover dan mutasi untuk menghasilkan offspring. Pada kenyataannya, hanya ada dua jenis operasi pada algoritma genetika, yaitu operasi genetik (crossover/persilangan dan mutasi) dan operasi evolusi (seleksi). Persilangan berfungsi menggabungkan dua string induk yang berbeda menjadi dua string keturunan yang berbeda dengan induknya.

  Mutasi berperan dalam melakukan perubahan yang bukan disebabkan oleh persilangan. Pada teori evolusi, mutasi ini merupakan operator kromosom yang memungkinkan makhluk hidup melakukan penyesuaian dengan lingkungannya walaupun lingkungan barunya tidak sesuai dengan lingkungan induknya semula.

  Faktor terbesar dalam teori evolusi yang menyebabkan suatu kromosom bertahan, punah, melakukan persilangan atau mutasi adalah lingkungan. Pada algoritma genetika, faktor lingkungan diperankan oleh fungsi evaluasi. Fungsi evaluasi menggunakan kromosom sebagai masukan dan menghasilkan angka tertentu yang menunjukkan kinerja pada masalah yang diselesaikan. Pada masalah optimasi, fungsi evaluasi adalah fungsi tujuan (objective function). Nilai fungsi evaluasi ini disebut nilai kesesuaian (fitness value). Nilai inilah yang akan menentukan apakah suatu string akan muncul pada generasi berikutnya atau tidak. Dalam menyelesaikan masalah dengan menggunakan algoritma genetika perlu di definisikan terlebih dahulu beberapa parameter yang diperlukan, antara lain : a. Probabilitas Crossover

  Probabilitas crossover ini juga dapat menunjukkan peluang terjadi proses crossover (persilangan) dalam populasi pada setiap generasi.

  Biasanya besarnya probabilitas crossover berkisar antara 10 – 90 %

  b. Probabilitas Mutasi Probabilitas mutasi menunjukkan peluang terjadinya proses mutasi dari jumlah tertentu proses crossover yang tejadi pada populasi.

  c. Population size

  Population size menunjukkan jumlah kromosom yang ada dalam

  populasi. Pada umumnya besarnya population size yang digunakan adalah 3 – 20 kromosom.

C. Deskripsi Implementasi Algoritma genetika dalam Penentuan Kandidat

  Model

  Masalah penentuan Kandidat Model merupakan persoalan pencarian model matematika dalam hal ini adalah struktur kromosom yang memiliki nilai fitness yang optimum. Diketahui struktur dari model yang akan dicari nilai variabelnya, misalnya untuk proses pemanasan dinyatakan dengan :

  Y (t) a y (t 1) a y (t 2) a y (t 3) b u (t 2) b u (t 3) c e (t) c e (t 1) 1 2 3 1 2 1 2 Dari struktur diatas terlihat bahwa orde untuk a = 3 dan b = c = 2, maka

  algoritma genetika dapat diimplementasikan untuk menentukan model terbaik dengan menentukan nilai parameter-parameter a, b dan c. Kromosom yang akan diproses dengan algoritma genetika adalah {[a1 a2 a3]; [b1 b2 ]; [ c1 c2]} dan {[a1 a2 a3]; [b1 b2 ]; [ c2 c2]}masing-masing untuk proses pemanasan dan pendinginan.

  Nilai parameter a, b dan c dibangkitkan (generate) secara random dan diolah dengan data masukan tegangan menghasilkan sebuah nilai yang disimpan pada variabel E, nilai tersebut kemudian dimasukkan pada fungsi fitness untuk mencari nilai fitness dari parameter sebuah kromosom. Untuk populasi awal kromosom dicari semua nilai fitness awalnya. Setelah itu menggunakan operator seleksi, operator crossover dan operator mutasi dalam proses evolusi/pencarian nilai fitness yang tinggi. Nilai fitness tertinggi dalam n generasi tertentu akan menjadi kandidat model terpilih.

BAB III ANALISIS DAN PERANCANGAN SISTEM A. Pendahuluan Dalam menyelesaikan masalah penentuan kandidat model dengan

  menggunakan Algoritma Genetika, metode yang digunakan untuk membuat perangkat lunak adalah metode waterfall. Tahap-tahap dalam metode ini adalah analisis kebutuhan, perancangan, pengkodean, dan pengujian. Bahasa pemrograman yang akan digunakan adalah Matlab 6.5.1.

B. Analisis Sistem

  Masalah penentuan kandidat model merupakan masalah optimasi dalam pencarian model matematika. Dalam masalah penentuan kandidat

  model ini terdapat m kromosom, dimana setiap setiap kromosom terdiri dari

  tujuh gen (parameter). Tujuan yang ingin dicapai pada masalah penentuan

  kandidat model

  yaitu mencari nilai parameter yang mengakibatkan nilai fitness struktur model menjadi optimum Algoritma genetika merupakan algoritma yang berguna untuk memecahkan masalah optimasi yang kompleks, dengan menggunakan prinsip teori genetika dan seleksi alam. Oleh sebab itu, algoritma genetika dapat digunakan untuk menyelesaikan masalah penentuan kandidat model walaupun ada kemungkinan tidak dapat menemukan penyelesaian yang terbaik, tetapi setidaknya mendekati penyelesaian yang terbaik. Langkah pertama yang diambil untuk menyelesaikan penentuan

  

kandidat model dengan menggunakan algoritma genetika adalah membuat

  populasi awal dan menghitung nilai fitness awal untuk masing-masing kromosom. Langkah kedua yaitu memilih secara acak dua anggota populasi, kedua anggota populasi tersebut dikombinasikan dengan menggunakan operasi persilangan untuk menghasilkan dua individu baru yang berbeda yang diharapkan mempunyai nilai fitness yang tinggi. Jika dengan menggunakan operasi persilangan belum menemukan penyelesaian yang terbaik, maka akan dipilih salah satu anggota populasi yang memiliki nilai fitness terjelek dan anggota populasi yang terpilih ini akan dikenakan operasi mutasi. Kadang- kadang operasi mutasi dapat menemukan solusi yang lebih baik dari pada operasi persilangan.

  Di bawah ini akan dituliskan secara rinci penggunaan algoritma genetika untuk menyelesaikan Implementasi Algoritma Genetika dalam

  Penentuan Kandidat Model .

  1. Representasi Masalah Hal terpenting dalam menyelesaikan masalah optimasi adalah pemodelan masalah atau representasi masalah ke dalam suatu model yang sesuai dengan algoritma yang digunakan. Untuk menyelesaikan penentuan

  kandidat model

  dengan algoritma genetika, permasalahan harus direpresentasikan atau dimodelkan terlebih dahulu melalui pengkodean.

  Jenis pengkodean yang digunakan pada penentuan kandidat model adalah

  operation based representation adalah semua gen (parameter) dalam satu

  kromosom akan dikodekan dengan simbol yang sama, kemudian diinterpretasikan menurut indeksnya.

  2. Pembangkitan Kromosom Jika representasi masalah telah selesai dilakukan, maka akan dibangkitkan kromosom. Pembangkitan kromosom dalam penentuan kandidat model akan dilakukan secara acak atau random.

  3. Penentuan Nilai Fitness untuk masing-masing Kromosom Dalam masalah optimasi, fungsi fitness yang digunakan adalah fungsi

  fitness dari masalah optimasi itu sendiri. Untuk, penentuan kandidat model

  pencarian nilai fitness dapat diketahui dari nilai E (error) dalam satu siklus pemrosesan kromosom dengan data masukan tegangan. Kromosom yang mempunyai nilai fitness terbaik adalah kromosom yang mempunyai nilai E (error) minimum.

  4. Pemilihan Kromosom untuk dijadikan Orangtua Pemilihan kromosom untuk dijadikan orangtua dilakukan secara random.

  Orang tua dipilih melalui proses seleksi. Seleksi yang digunakan untuk pemilihan orangtua adalah dengan memilih dua buah kromosom.

  Kromosom yang dipilih untuk operasi mutasi adalah kromosom yang mempunyai nilai fitnes terjelek. Dari individu yang jelek, jika dikenai perubahan pada gennya diharapkan dapat memperoleh individu yang unggul.

  5. Proses Reproduksi untuk Mendapatkan kromosom-kromosom yang Baru Untuk mendapatkan kromosom dengang nilai fitness terbaik, maka perlu dilakukan modifikasi terhadap kromosom-kromosom. Modifikasi yang dilakukan adalah operasi persilangan dan operasi mutasi. Operasi persilangan merupakan proses penggabungan dua kromosom (dua orangtua yang terpilih) untuk menghasilkan dua individu yang baru, sedangkan operasi mutasi merupakan proses pengubahan sebuah kromosom yang terpilih untuk menghasilkan sebuah individu yang baru. Pada proses persilangan akan didapat hasildua kromosom orang tua dan dua kromosom anak dengan masing-masing mempunyai nilai fitness, akan tetapi hanya dua kromosom dengan nilai fitness tertinggi yang akan kembali dimasukkan kedalam populasi awal. Sedangkan pada proses mutasi apabila nilai fitness kromosom anak tidak lebih baik dari pada nilai fitness kromosom orang tua, maka kromosom orang tua yang akan dikembalikan ke populasi.

C. Perancangan

  1. Representasi Kromosom Cara merepresentasikan permasalahan dalam kromosom merupakan suatu hal yang penting dalam algoritma genetika. Ada beberapa model representasi kromosom yang dapat dipergunakan untuk menyelesaikan suatu masalah, salah satunya adalah operation based representation. dalam satu kromosom akan dikodekan dengan simbol yang sama, kemudian diinterpretasikan menurut indeksnya. Sehingga untuk satu kromosom adalah :

  Kromosom 1 = { [ a1 a2 a3 ] [ b1 b2 ] [ c1 c2 ] } Contoh :

  Kromosom 1 = {[ 0,1343 1,31 -0,3898 ] [ -0,02347 0,1826 ] [ 0,7612 0,1653 ]}

  2. Pembangkitan Kromosom Pada populasi awal akan dibangkitkan kromosom secara acak. Setiap kromosom terdiri dari tujuh gen.

  3. Penentuan nilai fitness untuk masing-masing kromosom Penentuan nilai fitness untuk masing-masing kromosom dilakukan untuk memilih kromosom yang akan dijadikan orangtua. Nilai fitness adalah fungsi dari masalah optimasi itu sendiri. Untuk masalah penentuan

  kandidat model pencarian nilai fitness dapat dilakukan dengan menghitung