SlideShare a Scribd company logo
1 of 11
Download to read offline
1/11
October 13, 2020
Belajar Algoritma Genetika Bagian 1
softscients.com/2020/10/13/belajar-dasar-dasar-algoritma-genetika/
581 Views
Kali ini kita akan belajar mengenai algoritma genetika dimulai dari sejarah awal
pencetusnya, bagaimana algoritma genetika bekerja? langkah-langkah dan hal-hal yang
perlu diperhatikan serta yang paling penting adalah menulis algoritma tersebut
kedalam suatu bahasa pemrograman yaitu Octave!
Sejarah Algoritma Genetika
Contents
1 Sejarah Algoritma Genetika
2 Bagaimana cara kerja algoritma genetika?
3 Fundamental Algoritma Genetika
4 1. Mendefinisikan Individu dalam Algoritma Genetika
4.1 Representasi Kromosom atau teknik pengkodean
5 2. Membangkitkan Populasi Awal
6 3. Fungsi Fitness dan Fungsi Tujuan
6.1 Apa itu Elitisme?
7 4. Seleksi Kromosom
8 5. Penyilangan atau Cross over
9 6. Mutasi
10 Flowchart Algoritma Genetika
2/11
Algoritma genetika ini ditemukan oleh John Holland dan dikembangkan oleh muridnya
David Goldberg Algoritma Genetika memanfaatkan proses seleksi alamiah yang dikenal
dengan proses evolusi yaitu individu secara terus-menerus mengalami perubahan gen
untuk menyesuaikan dengan lingkungan hidupnya. “Hanya individu-individu yang kuat
yang mampu bertahan”.
Proses seleksi alamiah ini melibatkan perubahan gen yang terjadi pada individu melalui
proses perkembangbiakan. Dalam algoritma genetika ini, proses perkembang-biakan ini
menjadi proses dasar yang menjadi perhatian utama, dengan dasar berpikir: “Bagaimana
mendapatkan keturunan yang lebih baik”.
John Holland membangun teori dan dasar-dasar algoritma genetika, dimulai dari teori
schemata, operator-operator genetik, hingga membuat program komputernya. Selama
kurang lebih 3 tahun ( 1962-1965), Holland aktif memberi kuliah tentang algoritma
genetika di Univeristas Michigan, dengan muridnya bernama David Goldberg yang terus
mengembangkannya.
David Goldberg yang merupakan kandidat doktor USA berhasil mengaplikasikannya
algoritma genetika dalam perancangan sistem perpipaan untuk distribusi gas alam.
Goldbreg memahamai bahwa masalah perancangan pipa yang dikajinya itu sangat rumit,
oleh hal tersebut dikembangkan algoritma genetika untuk memecahkan permasalahan
tersebut.
Hasil riset itu dituangkannya dalam buku dengan judul Genetic Alogirthm in Search,
Optimization, and Machine Learning terbitan Addison-Wesley Publishing Company tahun
1989, yang saat ini menjadi buku rujukan utama yang ingin mempelajari konsep-konsep
algoritma genetika.
Untuk saat ini penerapan algoritma genetika sudah banyak diaplikasikan di berbagai
bidang seperti engineering, robotik, manajemen industri (sistem produksi, tata letak
fasilitas, penjadwalan produksi), bidang agroindustri pada sistem penyimpanan dan
pengawetan hasil laut, sistem bioreaktor, dan prediksi permintaan produk agroindustri
Bagaimana cara kerja algoritma genetika?
Algoritma ini bekerja dengan sebuah populasi yang terdiri dari individu individu, yang
masing-masing mempresentasikan sebuah solusi yang mungkin bagi persoalan yang
ada. Dalam kaitan ini, individu dilambangkan dengan sebuah nilai fitness yang akan
digunakan untuk mencari solusi terbaik dari persoalan yang ada.
Pertahanan yang tinggi dari individu memberikan kesempatan untuk melakukan
reproduksi melalui perkawinan silang dengan individu yang lain dalam populasi tersebut.
Individu baru yang dihasilkan dalam hal ini dinamankan keturunan, yang membawa
beberapa sifat dari induknya. sedangkan individu dalam populasi yang tidak terseleksi
dalam reproduksi akan mati dengan sendirinya, melalui cara ini, beberapa generasi
3/11
dengan karakteristik yang bagus akan bermunculan dalam populasi tersebut, untuk
kemudian dicampur dan ditukar dengan karakter lain. Dengan mengawinkan semakin
banyak individu, maka akan semakin banyak kemungkinan terbaik yang dapat diperoleh.
Sebelum Algoritma Genetika dapat dijalankan, maka sebuah kode yang sesuai
(representatif) untuk persoalan hams dirancang. Untuk ini maka titik solusi dalam ruang
permasalahan dikodekan dalam bentuk kromosom/string yang terdiri atas komponen
genetik terkecil yaitu gen. Dengan teori evolusi dan teori genetika, di dalam penerapan
Algoritma Genetika akan melibatkan beberapa operator, yaitu:
1. Operasi Evolusi yang melibatkan proses seleksi (selection) di dalamnya.
2. Operasi Genetika yang melibatkan operator pindah silang (crossover) dan mutasi
(mutation).
Untuk memeriksa hasil optimasi, kita membutuhkan fungsi fitness, yang menandakan
gambaran hasil/solusi yang sudah dikodekan. Selama berjalan, induk harus digunakan
untuk reproduksi, pindah silang dan imitasi untuk menciptakan keturunan. Jika Algoritma
Genetika didesain secara baik, populasi akan mengalami konvergensi dan akan
didapatkan sebuah solusi yang optimum.
Fundamental Algoritma Genetika
Setidaknya ada 6 langkah untuk menggunakan algoritma genetika yaitu
1. Mendefinisikan individu, dimana individu menyatakan salah sate solusi
(penyelesaian) yang mungkin dari permasalahan yang diangkat.
2. Mendefinisikan nilai fitness, yang merupakan ukuran baik-tidakya sebuah individu
atau baik-tidak-nya solusi yang didapatkan.
3. Menentukan proses pembangkitan populasi awal. Hal ini biasanya dilakukan
dengan menggunakan pembangkitan acak seperti random-walk.
4. Menentukan proses seleksi yang akan digunakan.
5. Menentukan proses perkawinan silang (cross-over) dan
6. mutasi gen yang akan digunakan.
See also Menggabungkan 2 tabel - JOIN SQL
1. Mendefinisikan Individu dalam Algoritma Genetika
Individu menyatakan salah satu solusi yang mungkin. Individu bisa dikatakan sama
dengan kromosom, yang merupakan kumpulan gen. Gen ini bisa biner, float, dan
kombinatorial. Beberapa definisi penting yang perlu diperhatikan di mendefinisikan
individu untuk membangun penyelesaian permasalahan dengan algoritma genetika
adalah sebagai berikut:
4/11
Genotype (Gen) adalah sebuah nilai yang menyatakan satuan dasar yang
membentuk suatu anti tertentu dalam saki kesatuan gen yang dinamakan
kromosom. Dalam algoritma genetika. gen ini bisa berupa nilai biner. float, integer
maupun karakter. atau kombinatorial.
Allele adalah nilai dari gen.
Kroxnosom adalah gabungan gen-gen yang membentuk nilai tertentu.
Individu menyatakan suatu nilai atau keadaan yang menyatakan salah satu solusi
yang mungkin dari permasalahan yang diangkat
Populasi merupakan sekumpulan individu yang akan diproses bersama dalam satu
siklus proses evolusi.
Generasi, menyatakan satu siklus proses evolusi atau satu iterasi di dalam
algoritma genetika.
Lebih jelasnya mengenai pengertian diatas dapat diilustrasikan sebagai berikut
5/11
Misalkan didalam kasus traveling sales problem (TSP) dibawah ini, maka individu
dinyatakan sebagai jalur yang ditempuh, dalam penentuan nilai maksimal dari F(x,y)
individu menyatakan nilai (x,y). Gambar dibawah ini ada 2 kemungkinan jalur yang
ditempuh dalam TSP dan cara mempresentasikannya dalam individu
6/11
Lebih lanjut mengenai kromosom
Proses untuk membuat kode atau membentuk struktur kromosom ini disebut sebagai
proses pengkodean (encoding). Sebuah kromosom terdiri atas unit-unit terkecil yang
disebut gen. Sebuah gen menggambarkan sebuah unit informasi yang terkandung dalam
sebuah ruang pencarian (search space). Kumpulan dari gen-gen membentuk sebuah
kromosom yang menggambarkan solusi masalah yang lengkap dan layak. Kromosom
adalah simbol dalam bentuk string yang biasanya (tetapi tidak selalu) berbentuk bilangan
biner, yaitu kombinasi angka 0 dan 1. Angka 0 dan 1 ini merupakan sebuah gen.
Kumpulan dari kromosom-kromosom membentuk sebuah komunitas yang dinamakan
populasi.
Kunci dari kekuatan algoritma genetika terletak pada kromosom itu sendiri di mana
kromosom tidak mengetahui makna yang terkandung di dalamnya. Sehingga untuk
mencari solusi yang paling balk atau paling optimal, digunakanlah fungsi fitness. Fungsi
fitness berfungsi untuk mengukur seberapa bagus atau seberapa fit sebuah kromosom.
Proses pengkodean kromosom dapat dilakukan menggunakan bilangan biner.
Representasi Kromosom atau teknik pengkodean
Untuk dapat mengaplikasikan algoritma genetika, langkah pertama yang harus dilakukan
adalah membuat pengkodean (encoding) calon solusi ke dalam suatu bentuk
representasi kromosom. Representasi kromosom yang pertama kali diperkenalkan oleh
Holland (1975) adalah representasi string biner. Dalam representasi ini, sebuah
kromosom terdiri atas beberapa elemen yang disimbolkan dengan angka nol (0) dan satu
(1). Setiap untaian elemen memiliki arti khusus yang menunjukkan nilai fitness kromosom
yang bersangkutan.
Bentuk representasi biner yang diperkenalkan oleh Holland (1975), kurang cocok dipakai
dalam memecahkan masalah kombinatorial (Gen dan Cheng 1997), seperti masalah
Travelling Salesman Problem (TSP) dan masalah penjadwalan flow-shop. Akhir-akhir ini,
beberapa peneliti telah memperkenalkan beberapa bentuk representasi baru (non-biner)
7/11
sesuai dengan masalah yang akan dipecahkan. Contoh representasi non-biner ini adalah
representasi bilangan integer dan representasi matrix. Penggunaan representasi ini akan
dibahas pada bab selanjutnya.
Dengan demikian kromosom dapat direpresentasikan dengan menggunakan:
String bit : 10011 dst.
Array bilangan real: 65.65. -67.98, 77.34 dst.
Elemen permutasi: E10. E5 dst
Daftar aturan: RI. R2. R3 dst.
Elemen program: pemrograman genetika
2. Membangkitkan Populasi Awal
Membangkitkan populasi awal adalah proses membangkitkan sejumlah individu secara
acak atau melalui prosedur tertentu. Ukuran untuk populasi tergantung pada masalah
yang akan diselesaikan dan jenis operator genetika yang akan diimplementasikan.
Setelah ukuran populasi ditentukan, kemudian dilakukan pembangkitan populasi awal.
Syarat-syarat yang harus dipenuhi untuk menunjukkan suatu solusi hams benar-benar
diperhatikan dalam pembangkitan setiap individunya.
Teknik dalam pembangkitan populasi awal ini ada beberapa cara, diantaranya adalah
sebagai berikut:
1. Random Generator: Inti dari cara ini adalah melibatkan pembangkitan bilangan
random untuk nilai setiap gen sesuai dengan representasi kromosom yang
digunakan.
2. Pendekatan Tertentu (memasukan nilai tertentu ke dalam gen): Cara ini adalah
dengan memasukan nilai tertentu kedalam gen dari populasi awal yang dibentuk
3. Permutasi: salah satu cara permutasi gen dalam pembangkitan populasi awal
adalah permutasi untuk masalah kombinatorial seperti TSP
See also Neural Network Backpropagation
3. Fungsi Fitness dan Fungsi Tujuan
Algoritma genetika bekerja dengan mengukur seberapa baik sebuah kromosom dapat
menyelesaikan suatu masalah. Pengukuran dilakukan dengan menggunakan fungsi
fitness, yaitu fungsi tujuan dari masalah yang hendak diselesaikan. Fungsi fitness hanya
menggunakan satu set parameter masalah dan mengembalikan ukuran kegunaannya
(efisiensi, biaya, dan sebagainya). Semakin besar nilai fitness, semakin besar pula
kromosom dalam populasi sehingga semakin besar kemungkinan kromosom tersebut
untuk tetap survive pada generasi berikutnya.
Suatu fungsi fitness dapat sama atau merupakan hasil modifikasi terhadap fungsi tujuan
masalah yang hendak diselesaikan.
8/11
Jika masalahnya adalah masalah maksimasi, fungsi fitness-nya sama atau
berbanding lurus dengan fungsi tujuan.
Namun jika masalahnya adalah masalah minimasi, fungsi fitness-nya
berbanding terbalik dengan fungsi tujuan. Secara umum, algoritma genetika
mengoperasikan kromosom dengan fitness positif dan mencari untuk
memaksimumkan fitness ini. Proses minimasi dapat dilakukan dengan mudah,
dengan cara membalik fungsi maksimasi.
Apa itu Elitisme?
Proses seleksi yang dilakukan secara random sehingga tidak ada jaminan bahwa suatu
indvidu yang bernilai fitness tertinggi akan selalu terpilih. Walaupun individu bernilai
fitness tertinggi terpilih, mungkin saja individu tersebut akan rusak (nilai fitnessnya
menurun) karena proses pindah silang (crossover). Oleh karena itu, untuk menjaga agar
individu bernilaifitness tertinggi tersebut tidak hilang selama evolusi, maka perlu dibuat
satu atau beberapa copy-nya. Prosedure ini dikenal sebagai elitisme
4. Seleksi Kromosom
Seleksi merupakan salah satu operasi untuk memastikan bahwa jumlah perwakilan dari
sebuah kromosom yang diterima pada generasi selanjutnya akan bergantung pada nilai
fitness-nya yang dibandingkan dengan nilai fitness rata-rata dad populasi yang ada.
Kromosom-kromosom yang telah dievaluasi dengan menggunakan fungsi fitness akan
diseleksi untuk dijadikan induk. Kromosom-kromosom yang memiliki nilai fitness yang
sangat baik akan memiliki peluang yang lebih besar untuk terpilih menjadi induk dan
tetap bertahan pada generasi berikutnya, sedangkan kromosom-kromosom yang lebih
buruk akan tergantikan oleh kromosom baru.
Pada model seleksi alam, kromosom yang memiliki nilai fitness lebih baik akan memiliki
peluang bertahan hidup (survival of the fittest) yang lebih baik pada generasi berikutnya.
Sebaliknya, kromosom yang memiliki nilai fitness buruk akan tergantikan oleh kromosom
baru yang lebih baik. Proses seleksi dalam algoritma genetika juga meniru prinsip seleksi
alam dalam cara kerjanya. Salah satu prinsip umum seleksi adalah peluang masing-
masing kromosom untuk terpilih sebanding dengan nilai fitness-nya. Tipe seleksi ini
disebut fitness proportional selection. Jadi, jika kromosom A dua kali nilainya dari
kromosom B, kromosom A seharusnya memiliki dua kali kesempatan untuk bereproduksi.
Salah satu teknik seleksi dalam algoritma genetika adalah teknik seleksi cakram rolet
(roulette wheel selection) yang dikenalkan oleh Goldberg (1989). Teknik seleksi ini
diilustrasikan sebagai teknik pemutaran cakram rolet. Setiap kromosom dalam populasi
menempati suatu slot pada cakram rolet. Besarnya ukuran slot adalah sama dengan
rasio antara nilai fitness suatu kromosom dengan total nilai fitness semua kromosom.
Untuk menghasilkan sejumlah populasi, rolet tersebut diputar sebanyak ukuran populasi
yang ada.
Seleksi dengan cara Roulette
9/11
Metode seleksi dengan mesin roulette ini merupakan metode yang paling sederhana dan
sering dikenal dengan nama stochastic sampling with replacement. Cara kerja metode ini
adalah sebagai berikut:
1. Dihitung nilai fitness dari masing-masing individu (f. dimana i adalah individu ke-1
s/d ke-n)
2. Dihitung total fitness seinua individu
3. Dihitung probabilitas masing-masing individu
4. dari probabilitas tersebut, dihitung jatah masing-masing individu pada angka 1
sampai 100
5. Dibangkitkan bilangan random antara 1 sampai 100
6. dari bilangan random yang dihasilkan, ditentukan individu main yang terpilih dalam
proses seleksi
seleksi dengan turnamen
Pada metode seleksi dengan turnamen. ditetapkan suatu nilai tour untuk individuindividu
yang dipilih secara random dari suatu populasi. Individu-individu yang terbaik dalam
kelompok ini akan diseleksi sebagai induk. Parameter yang digunakan pada metode ini
adalah ukuran tour yang bernilai antara 2 sampai N (jumlah individu dalam suatu
populasi).
Tujuan utama yang ingin dicapai dalam menggunakan algoritma genetika adalah agar
sekumpulan kromosom (talon solusi) yang dibangkitkan secara acak pada populasi awal
dapat berkembang biak dengan sendirinya (melalui beberapa generasi) hingga
konvergen memberikan suatu nilai fitness yang terbaik (nilai optimal). Kromosom yang
terbentuk path generasi baru disebut kromosom anak (offspring).
See also Penggabungan / Concatenate String
Sebuah kromosom anak dapat terbentuk melalui dua proses utama yaitu dengan
menggabungkan elemen-elemen antara dua kromosom induk (parents) menggunakan
operator penyilangan, atau dengan memodifikasi sebuah kromosom induk menggunakan
operator, mutasi. Dalam satu generasi, kedua proses di atas dapat terjadi secara
berurutan (sequential) maupun paralel. Maksud secara berurutan adalah proses
penyilangan terjadi lebih dahulu pada dua kromosom induk, lalu dilanjutkan dengan
proses mutasi pada kedua kromosom anak yang baru terbentuk. Proses semacam ini
disebut mutation embedded within crossover. Sedangkan maksud secara paralel adalah
proses penyilangan dan mutasi terjadi secara terpisah pada kromosom-kromosom induk
saja, tidak pada kromosom anak yang baru terbentuk.
5. Penyilangan atau Cross over
Penyilangan (crossover) adalah operator utama atau operator primer dalam algoritma
genetika. Operator ini bekerja pada sepasang kromosom induk untuk menghasilkan dua
kromosom anak dengan cara menukarkan beberapa elemen (gen) yang dimiliki masing-
masing kromosom induk. Tingkat penyilangan atau peluang penyilangan (dinotasikan
sebagai Pc) adalah rasio antara jumlah kromosom yang diharapkan mengalami
10/11
penyilangan dalam setiap generasi dengan jumlah kromosom total dalam populasi. Oleh
karena penyilangan adalah operator primer, nilai Pc yang digunakan biasanya cukup
tinggi (0,6-1). Tingkat penyilangan yang tinggi menyebabkan semakin besarnya
kemungkinan algoritma genetika mengeksplorasi ruang pencarian sekaligus
mempercepat ditemukannya solusi optimum. Akan tetapi, apabila tingkat penyilangan
terlalu tinggi, hal ini sama artinya dengan membuang-buang waktu mencari solusi pada
daerah yang mungkin saja kurang menjanjikan (unpromising region). Penentuan nilai Pc
yang tepat sangat bergantung pada permasalahan yang dihadapi.
Holland (1975) telah memperkenalkan operator penyilangan yang disebut penyilangan
satu-titik (one-point crossover). Penyilangan satu-titik ini cocok digunakan untuk
kromosom dengan representasi biner (0 dan 1). Pada beberapa kasus, seperti masalah
TSP (Travelling Salesman Problems), penyilangan satu-titik ini tidak cocok digunakan
karena dapat menghasilkan kromosom ilegal. Atas dasar itulah, beberapa peneliti telah
mengusulkan teknik penyilangan yang baru, seperti partially-mapped crossover (PMX),
order crossover (OX), dan cycle-croossover(CX), position-based crossover, order-based
crossover, dan heuristic crossover(Gen dan Cheng 1997). Teknik PMX pertama kali
diperkenalkan oleh Goldberg dan Lingle (1985). Teknik PMX dapat dipandang sebagai
perbaikan dad teknik penyilangan dua-titik (two- point crossover) yaitu adanya metode
perbaikan (repairing procedure) untuk mencegah munculnya kromosom yang ilegal.
6. Mutasi
Mutasi (mutation) adalah operator sekunder atau operator pendukung dalam algoritma
genetika yang berperan mengubah struktur kromosom secara spontan. Perubahan
spontan ini menyebabkan terbentuknya suatu mutan, yaitu suatu kromosom baru yang
secara genetik berbeda dari kromosom sebelumnya. Operator mutasi bekerja pada satu
kromosom, tidak pada sepasang kromosom seperti halnya yang dilakukan operator
penyilangan. Dalam pencarian solusi optimum, mutasi sangat diperlukan yaitu untuk: (1)
mengembalikan gen-gen yang hilang pada generasi-generasi sebelumnya dan (2)
memunculkan gengen baru yang belum pernah muncul pada generasi-generasi
sebelumnya (Gen dan Cheng 1997).
Tingkat mutasi atau peluang mutasi (dinotasikan sebagai Pm) adalah rasio antara jumlah
gen yang diharapkan mengalami mutasi pada setiap generasi dengan jumlah gen total
dalam populasi. Oleh karena mutasi adalah operator sekunder, nilai Pm yang digunakan
untuk running program biasanya cukup rendah (0,001-0,2). jika tingkat mutasi terlalu
rendah, semakin kecil pula kemungkinan memunculkan gen-gen baru. Padahal, gen yang
baru sebenarnya sangat diperlukan dalam menunjang keberhasilan memperoleh solusi
optimum. Sebaliknya, jika tingkat mutasi terlalu tinggi, akan banyak sekali mutan yang
muncul. Akibatnya, banyak karakteristik kromosom induk yang kemungkinan hilang pada
generasi berikutnya sehingga algoritma genetika akan kehilangan kemampuan
mengingat atau belajar dari proses pencarian sebelumnya(Gen dan Cheng 1997).
11/11
Gen dan Cheng (1997) menyebutkan bahwa dalam beberapa tahun belakangan ini Para
peneliti telah memperkenalkan beberapa jenis operator mutasi. Beberapa operator
mutasi untuk masalah yang menggunakan permutation representation atau order
representation adalah mutasi inversi, mutasi insersi, displacement mutation, dan
reciprocal exchange mutation.
Flowchart Algoritma Genetika
Dasar-dasar algoritma genetika dapat dibuat flowchart berikut
Selanjutnya kalian akan belajar menulis algoritma genetika pada bahasa pemrograman
Ref:
Basuki, Achmad. 2003. Algoritma Genetika : Suatu Alternatif Penyelesaian
Permasalahan Searching, Optimasi dan Machine Learning. Surabaya : Politeknik
Elektronika Negeri Surabaya PENS – ITS.
Kusumadewi, Sri. 2003. Artificial Intellegence – Teknik dan Aplikasinya. Yogyakarta :
Graha Ilmu.

More Related Content

Similar to Algoritma Genetika Dasar

Introduction to genetic algoritms
Introduction to genetic algoritmsIntroduction to genetic algoritms
Introduction to genetic algoritmssuparman unkhair
 
M 2 kb2 silsilah keluarga dan kromosom
M 2 kb2 silsilah keluarga dan kromosomM 2 kb2 silsilah keluarga dan kromosom
M 2 kb2 silsilah keluarga dan kromosompjj_kemenkes
 
Kb2 silsilah keluarga dan kromosom
Kb2 silsilah keluarga dan kromosomKb2 silsilah keluarga dan kromosom
Kb2 silsilah keluarga dan kromosompjj_kemenkes
 
Pengaplikasian kombinatorial pada hukum mendel(seminar mtk)
Pengaplikasian kombinatorial pada hukum mendel(seminar mtk)Pengaplikasian kombinatorial pada hukum mendel(seminar mtk)
Pengaplikasian kombinatorial pada hukum mendel(seminar mtk)Kurosaki_akira
 
Pendekatan kladistik
Pendekatan kladistikPendekatan kladistik
Pendekatan kladistikrihandayana
 
Kecerdasan Komputasional Diskusi 2.pdf
Kecerdasan Komputasional Diskusi 2.pdfKecerdasan Komputasional Diskusi 2.pdf
Kecerdasan Komputasional Diskusi 2.pdfHendroGunawan8
 
Genetika materi kelas_12_biologi
Genetika materi kelas_12_biologiGenetika materi kelas_12_biologi
Genetika materi kelas_12_biologimassonie44
 
Pewarisan Sifat
Pewarisan SifatPewarisan Sifat
Pewarisan SifatIsma Jihan
 
Bab 11 (18 slide)
Bab 11 (18 slide)Bab 11 (18 slide)
Bab 11 (18 slide)gilangbewok
 

Similar to Algoritma Genetika Dasar (20)

TSP Algorithm
TSP Algorithm TSP Algorithm
TSP Algorithm
 
Introduction to genetic algoritms
Introduction to genetic algoritmsIntroduction to genetic algoritms
Introduction to genetic algoritms
 
M 2 kb2 silsilah keluarga dan kromosom
M 2 kb2 silsilah keluarga dan kromosomM 2 kb2 silsilah keluarga dan kromosom
M 2 kb2 silsilah keluarga dan kromosom
 
Kb2 silsilah keluarga dan kromosom
Kb2 silsilah keluarga dan kromosomKb2 silsilah keluarga dan kromosom
Kb2 silsilah keluarga dan kromosom
 
Memetica Algorithm
Memetica AlgorithmMemetica Algorithm
Memetica Algorithm
 
BAB 3.pptx
BAB 3.pptxBAB 3.pptx
BAB 3.pptx
 
Resume algoritma genetika
Resume algoritma genetikaResume algoritma genetika
Resume algoritma genetika
 
Pengaplikasian kombinatorial pada hukum mendel(seminar mtk)
Pengaplikasian kombinatorial pada hukum mendel(seminar mtk)Pengaplikasian kombinatorial pada hukum mendel(seminar mtk)
Pengaplikasian kombinatorial pada hukum mendel(seminar mtk)
 
Pendekatan kladistik
Pendekatan kladistikPendekatan kladistik
Pendekatan kladistik
 
Kecerdasan Komputasional Diskusi 2.pdf
Kecerdasan Komputasional Diskusi 2.pdfKecerdasan Komputasional Diskusi 2.pdf
Kecerdasan Komputasional Diskusi 2.pdf
 
Genetika materi kelas_12_biologi
Genetika materi kelas_12_biologiGenetika materi kelas_12_biologi
Genetika materi kelas_12_biologi
 
Pewarisan Sifat
Pewarisan SifatPewarisan Sifat
Pewarisan Sifat
 
Bab 11
Bab 11Bab 11
Bab 11
 
Bab 11 (18 slide)
Bab 11 (18 slide)Bab 11 (18 slide)
Bab 11 (18 slide)
 
Bab 11
Bab 11Bab 11
Bab 11
 
Bab 11
Bab 11Bab 11
Bab 11
 
Bab 11
Bab 11Bab 11
Bab 11
 
Bab 11
Bab 11Bab 11
Bab 11
 
Bab 11
Bab 11Bab 11
Bab 11
 
Bab 11
Bab 11Bab 11
Bab 11
 

More from softscients

belajar statistik
belajar statistikbelajar statistik
belajar statistiksoftscients
 
neural network training dan particle swarm optimization
neural network training dan particle swarm optimizationneural network training dan particle swarm optimization
neural network training dan particle swarm optimizationsoftscients
 
pengolahan sinyal digital dengan matlab
pengolahan sinyal digital dengan matlabpengolahan sinyal digital dengan matlab
pengolahan sinyal digital dengan matlabsoftscients
 
pengolahan citra digital dengan java
pengolahan citra digital dengan javapengolahan citra digital dengan java
pengolahan citra digital dengan javasoftscients
 
penjelasan konsep oop object oriented programming
penjelasan konsep oop object oriented programmingpenjelasan konsep oop object oriented programming
penjelasan konsep oop object oriented programmingsoftscients
 
cara membuat aplikasi gui di matlab
cara membuat aplikasi gui di matlabcara membuat aplikasi gui di matlab
cara membuat aplikasi gui di matlabsoftscients
 
setup widget dan work directory matlab
setup widget dan work directory matlabsetup widget dan work directory matlab
setup widget dan work directory matlabsoftscients
 
Belajar Pemrograman Matlab
Belajar Pemrograman MatlabBelajar Pemrograman Matlab
Belajar Pemrograman Matlabsoftscients
 
konversi warna dengan matlab
konversi warna dengan matlabkonversi warna dengan matlab
konversi warna dengan matlabsoftscients
 
scikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data sciencescikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data sciencesoftscients
 
kriptografi metode hill cipher
kriptografi metode hill cipherkriptografi metode hill cipher
kriptografi metode hill ciphersoftscients
 
mengapa customer churn rate penting
mengapa customer churn rate pentingmengapa customer churn rate penting
mengapa customer churn rate pentingsoftscients
 
pengantar metode numerik
 pengantar metode numerik pengantar metode numerik
pengantar metode numeriksoftscients
 
cara hitung manual uji normalitas dengan uji kolmogorov-smirnov
 cara hitung manual uji normalitas dengan uji kolmogorov-smirnov cara hitung manual uji normalitas dengan uji kolmogorov-smirnov
cara hitung manual uji normalitas dengan uji kolmogorov-smirnovsoftscients
 
pengenalan huruf dengan pca
 pengenalan huruf dengan pca pengenalan huruf dengan pca
pengenalan huruf dengan pcasoftscients
 
steganografi gambar dan teks
steganografi gambar dan tekssteganografi gambar dan teks
steganografi gambar dan tekssoftscients
 

More from softscients (16)

belajar statistik
belajar statistikbelajar statistik
belajar statistik
 
neural network training dan particle swarm optimization
neural network training dan particle swarm optimizationneural network training dan particle swarm optimization
neural network training dan particle swarm optimization
 
pengolahan sinyal digital dengan matlab
pengolahan sinyal digital dengan matlabpengolahan sinyal digital dengan matlab
pengolahan sinyal digital dengan matlab
 
pengolahan citra digital dengan java
pengolahan citra digital dengan javapengolahan citra digital dengan java
pengolahan citra digital dengan java
 
penjelasan konsep oop object oriented programming
penjelasan konsep oop object oriented programmingpenjelasan konsep oop object oriented programming
penjelasan konsep oop object oriented programming
 
cara membuat aplikasi gui di matlab
cara membuat aplikasi gui di matlabcara membuat aplikasi gui di matlab
cara membuat aplikasi gui di matlab
 
setup widget dan work directory matlab
setup widget dan work directory matlabsetup widget dan work directory matlab
setup widget dan work directory matlab
 
Belajar Pemrograman Matlab
Belajar Pemrograman MatlabBelajar Pemrograman Matlab
Belajar Pemrograman Matlab
 
konversi warna dengan matlab
konversi warna dengan matlabkonversi warna dengan matlab
konversi warna dengan matlab
 
scikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data sciencescikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data science
 
kriptografi metode hill cipher
kriptografi metode hill cipherkriptografi metode hill cipher
kriptografi metode hill cipher
 
mengapa customer churn rate penting
mengapa customer churn rate pentingmengapa customer churn rate penting
mengapa customer churn rate penting
 
pengantar metode numerik
 pengantar metode numerik pengantar metode numerik
pengantar metode numerik
 
cara hitung manual uji normalitas dengan uji kolmogorov-smirnov
 cara hitung manual uji normalitas dengan uji kolmogorov-smirnov cara hitung manual uji normalitas dengan uji kolmogorov-smirnov
cara hitung manual uji normalitas dengan uji kolmogorov-smirnov
 
pengenalan huruf dengan pca
 pengenalan huruf dengan pca pengenalan huruf dengan pca
pengenalan huruf dengan pca
 
steganografi gambar dan teks
steganografi gambar dan tekssteganografi gambar dan teks
steganografi gambar dan teks
 

Recently uploaded

Dinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapDinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapsefrida3
 
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSovyOktavianti
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfCandraMegawati
 
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5ssuserd52993
 
Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5KIKI TRISNA MUKTI
 
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxsukmakarim1998
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxJamhuriIshak
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdfsdn3jatiblora
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxadimulianta1
 
Aksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptxAksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptxsdn3jatiblora
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptArkhaRega1
 
tugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarantugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarankeicapmaniez
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...Kanaidi ken
 
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxmawan5982
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAAndiCoc
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CAbdiera
 
CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7IwanSumantri7
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1udin100
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggeraksupriadi611
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASKurniawan Dirham
 

Recently uploaded (20)

Dinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapDinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genap
 
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
 
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
 
Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5
 
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptx
 
Aksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptxAksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptx
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
 
tugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarantugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajaran
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
 
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
 
CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggerak
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
 

Algoritma Genetika Dasar

  • 1. 1/11 October 13, 2020 Belajar Algoritma Genetika Bagian 1 softscients.com/2020/10/13/belajar-dasar-dasar-algoritma-genetika/ 581 Views Kali ini kita akan belajar mengenai algoritma genetika dimulai dari sejarah awal pencetusnya, bagaimana algoritma genetika bekerja? langkah-langkah dan hal-hal yang perlu diperhatikan serta yang paling penting adalah menulis algoritma tersebut kedalam suatu bahasa pemrograman yaitu Octave! Sejarah Algoritma Genetika Contents 1 Sejarah Algoritma Genetika 2 Bagaimana cara kerja algoritma genetika? 3 Fundamental Algoritma Genetika 4 1. Mendefinisikan Individu dalam Algoritma Genetika 4.1 Representasi Kromosom atau teknik pengkodean 5 2. Membangkitkan Populasi Awal 6 3. Fungsi Fitness dan Fungsi Tujuan 6.1 Apa itu Elitisme? 7 4. Seleksi Kromosom 8 5. Penyilangan atau Cross over 9 6. Mutasi 10 Flowchart Algoritma Genetika
  • 2. 2/11 Algoritma genetika ini ditemukan oleh John Holland dan dikembangkan oleh muridnya David Goldberg Algoritma Genetika memanfaatkan proses seleksi alamiah yang dikenal dengan proses evolusi yaitu individu secara terus-menerus mengalami perubahan gen untuk menyesuaikan dengan lingkungan hidupnya. “Hanya individu-individu yang kuat yang mampu bertahan”. Proses seleksi alamiah ini melibatkan perubahan gen yang terjadi pada individu melalui proses perkembangbiakan. Dalam algoritma genetika ini, proses perkembang-biakan ini menjadi proses dasar yang menjadi perhatian utama, dengan dasar berpikir: “Bagaimana mendapatkan keturunan yang lebih baik”. John Holland membangun teori dan dasar-dasar algoritma genetika, dimulai dari teori schemata, operator-operator genetik, hingga membuat program komputernya. Selama kurang lebih 3 tahun ( 1962-1965), Holland aktif memberi kuliah tentang algoritma genetika di Univeristas Michigan, dengan muridnya bernama David Goldberg yang terus mengembangkannya. David Goldberg yang merupakan kandidat doktor USA berhasil mengaplikasikannya algoritma genetika dalam perancangan sistem perpipaan untuk distribusi gas alam. Goldbreg memahamai bahwa masalah perancangan pipa yang dikajinya itu sangat rumit, oleh hal tersebut dikembangkan algoritma genetika untuk memecahkan permasalahan tersebut. Hasil riset itu dituangkannya dalam buku dengan judul Genetic Alogirthm in Search, Optimization, and Machine Learning terbitan Addison-Wesley Publishing Company tahun 1989, yang saat ini menjadi buku rujukan utama yang ingin mempelajari konsep-konsep algoritma genetika. Untuk saat ini penerapan algoritma genetika sudah banyak diaplikasikan di berbagai bidang seperti engineering, robotik, manajemen industri (sistem produksi, tata letak fasilitas, penjadwalan produksi), bidang agroindustri pada sistem penyimpanan dan pengawetan hasil laut, sistem bioreaktor, dan prediksi permintaan produk agroindustri Bagaimana cara kerja algoritma genetika? Algoritma ini bekerja dengan sebuah populasi yang terdiri dari individu individu, yang masing-masing mempresentasikan sebuah solusi yang mungkin bagi persoalan yang ada. Dalam kaitan ini, individu dilambangkan dengan sebuah nilai fitness yang akan digunakan untuk mencari solusi terbaik dari persoalan yang ada. Pertahanan yang tinggi dari individu memberikan kesempatan untuk melakukan reproduksi melalui perkawinan silang dengan individu yang lain dalam populasi tersebut. Individu baru yang dihasilkan dalam hal ini dinamankan keturunan, yang membawa beberapa sifat dari induknya. sedangkan individu dalam populasi yang tidak terseleksi dalam reproduksi akan mati dengan sendirinya, melalui cara ini, beberapa generasi
  • 3. 3/11 dengan karakteristik yang bagus akan bermunculan dalam populasi tersebut, untuk kemudian dicampur dan ditukar dengan karakter lain. Dengan mengawinkan semakin banyak individu, maka akan semakin banyak kemungkinan terbaik yang dapat diperoleh. Sebelum Algoritma Genetika dapat dijalankan, maka sebuah kode yang sesuai (representatif) untuk persoalan hams dirancang. Untuk ini maka titik solusi dalam ruang permasalahan dikodekan dalam bentuk kromosom/string yang terdiri atas komponen genetik terkecil yaitu gen. Dengan teori evolusi dan teori genetika, di dalam penerapan Algoritma Genetika akan melibatkan beberapa operator, yaitu: 1. Operasi Evolusi yang melibatkan proses seleksi (selection) di dalamnya. 2. Operasi Genetika yang melibatkan operator pindah silang (crossover) dan mutasi (mutation). Untuk memeriksa hasil optimasi, kita membutuhkan fungsi fitness, yang menandakan gambaran hasil/solusi yang sudah dikodekan. Selama berjalan, induk harus digunakan untuk reproduksi, pindah silang dan imitasi untuk menciptakan keturunan. Jika Algoritma Genetika didesain secara baik, populasi akan mengalami konvergensi dan akan didapatkan sebuah solusi yang optimum. Fundamental Algoritma Genetika Setidaknya ada 6 langkah untuk menggunakan algoritma genetika yaitu 1. Mendefinisikan individu, dimana individu menyatakan salah sate solusi (penyelesaian) yang mungkin dari permasalahan yang diangkat. 2. Mendefinisikan nilai fitness, yang merupakan ukuran baik-tidakya sebuah individu atau baik-tidak-nya solusi yang didapatkan. 3. Menentukan proses pembangkitan populasi awal. Hal ini biasanya dilakukan dengan menggunakan pembangkitan acak seperti random-walk. 4. Menentukan proses seleksi yang akan digunakan. 5. Menentukan proses perkawinan silang (cross-over) dan 6. mutasi gen yang akan digunakan. See also Menggabungkan 2 tabel - JOIN SQL 1. Mendefinisikan Individu dalam Algoritma Genetika Individu menyatakan salah satu solusi yang mungkin. Individu bisa dikatakan sama dengan kromosom, yang merupakan kumpulan gen. Gen ini bisa biner, float, dan kombinatorial. Beberapa definisi penting yang perlu diperhatikan di mendefinisikan individu untuk membangun penyelesaian permasalahan dengan algoritma genetika adalah sebagai berikut:
  • 4. 4/11 Genotype (Gen) adalah sebuah nilai yang menyatakan satuan dasar yang membentuk suatu anti tertentu dalam saki kesatuan gen yang dinamakan kromosom. Dalam algoritma genetika. gen ini bisa berupa nilai biner. float, integer maupun karakter. atau kombinatorial. Allele adalah nilai dari gen. Kroxnosom adalah gabungan gen-gen yang membentuk nilai tertentu. Individu menyatakan suatu nilai atau keadaan yang menyatakan salah satu solusi yang mungkin dari permasalahan yang diangkat Populasi merupakan sekumpulan individu yang akan diproses bersama dalam satu siklus proses evolusi. Generasi, menyatakan satu siklus proses evolusi atau satu iterasi di dalam algoritma genetika. Lebih jelasnya mengenai pengertian diatas dapat diilustrasikan sebagai berikut
  • 5. 5/11 Misalkan didalam kasus traveling sales problem (TSP) dibawah ini, maka individu dinyatakan sebagai jalur yang ditempuh, dalam penentuan nilai maksimal dari F(x,y) individu menyatakan nilai (x,y). Gambar dibawah ini ada 2 kemungkinan jalur yang ditempuh dalam TSP dan cara mempresentasikannya dalam individu
  • 6. 6/11 Lebih lanjut mengenai kromosom Proses untuk membuat kode atau membentuk struktur kromosom ini disebut sebagai proses pengkodean (encoding). Sebuah kromosom terdiri atas unit-unit terkecil yang disebut gen. Sebuah gen menggambarkan sebuah unit informasi yang terkandung dalam sebuah ruang pencarian (search space). Kumpulan dari gen-gen membentuk sebuah kromosom yang menggambarkan solusi masalah yang lengkap dan layak. Kromosom adalah simbol dalam bentuk string yang biasanya (tetapi tidak selalu) berbentuk bilangan biner, yaitu kombinasi angka 0 dan 1. Angka 0 dan 1 ini merupakan sebuah gen. Kumpulan dari kromosom-kromosom membentuk sebuah komunitas yang dinamakan populasi. Kunci dari kekuatan algoritma genetika terletak pada kromosom itu sendiri di mana kromosom tidak mengetahui makna yang terkandung di dalamnya. Sehingga untuk mencari solusi yang paling balk atau paling optimal, digunakanlah fungsi fitness. Fungsi fitness berfungsi untuk mengukur seberapa bagus atau seberapa fit sebuah kromosom. Proses pengkodean kromosom dapat dilakukan menggunakan bilangan biner. Representasi Kromosom atau teknik pengkodean Untuk dapat mengaplikasikan algoritma genetika, langkah pertama yang harus dilakukan adalah membuat pengkodean (encoding) calon solusi ke dalam suatu bentuk representasi kromosom. Representasi kromosom yang pertama kali diperkenalkan oleh Holland (1975) adalah representasi string biner. Dalam representasi ini, sebuah kromosom terdiri atas beberapa elemen yang disimbolkan dengan angka nol (0) dan satu (1). Setiap untaian elemen memiliki arti khusus yang menunjukkan nilai fitness kromosom yang bersangkutan. Bentuk representasi biner yang diperkenalkan oleh Holland (1975), kurang cocok dipakai dalam memecahkan masalah kombinatorial (Gen dan Cheng 1997), seperti masalah Travelling Salesman Problem (TSP) dan masalah penjadwalan flow-shop. Akhir-akhir ini, beberapa peneliti telah memperkenalkan beberapa bentuk representasi baru (non-biner)
  • 7. 7/11 sesuai dengan masalah yang akan dipecahkan. Contoh representasi non-biner ini adalah representasi bilangan integer dan representasi matrix. Penggunaan representasi ini akan dibahas pada bab selanjutnya. Dengan demikian kromosom dapat direpresentasikan dengan menggunakan: String bit : 10011 dst. Array bilangan real: 65.65. -67.98, 77.34 dst. Elemen permutasi: E10. E5 dst Daftar aturan: RI. R2. R3 dst. Elemen program: pemrograman genetika 2. Membangkitkan Populasi Awal Membangkitkan populasi awal adalah proses membangkitkan sejumlah individu secara acak atau melalui prosedur tertentu. Ukuran untuk populasi tergantung pada masalah yang akan diselesaikan dan jenis operator genetika yang akan diimplementasikan. Setelah ukuran populasi ditentukan, kemudian dilakukan pembangkitan populasi awal. Syarat-syarat yang harus dipenuhi untuk menunjukkan suatu solusi hams benar-benar diperhatikan dalam pembangkitan setiap individunya. Teknik dalam pembangkitan populasi awal ini ada beberapa cara, diantaranya adalah sebagai berikut: 1. Random Generator: Inti dari cara ini adalah melibatkan pembangkitan bilangan random untuk nilai setiap gen sesuai dengan representasi kromosom yang digunakan. 2. Pendekatan Tertentu (memasukan nilai tertentu ke dalam gen): Cara ini adalah dengan memasukan nilai tertentu kedalam gen dari populasi awal yang dibentuk 3. Permutasi: salah satu cara permutasi gen dalam pembangkitan populasi awal adalah permutasi untuk masalah kombinatorial seperti TSP See also Neural Network Backpropagation 3. Fungsi Fitness dan Fungsi Tujuan Algoritma genetika bekerja dengan mengukur seberapa baik sebuah kromosom dapat menyelesaikan suatu masalah. Pengukuran dilakukan dengan menggunakan fungsi fitness, yaitu fungsi tujuan dari masalah yang hendak diselesaikan. Fungsi fitness hanya menggunakan satu set parameter masalah dan mengembalikan ukuran kegunaannya (efisiensi, biaya, dan sebagainya). Semakin besar nilai fitness, semakin besar pula kromosom dalam populasi sehingga semakin besar kemungkinan kromosom tersebut untuk tetap survive pada generasi berikutnya. Suatu fungsi fitness dapat sama atau merupakan hasil modifikasi terhadap fungsi tujuan masalah yang hendak diselesaikan.
  • 8. 8/11 Jika masalahnya adalah masalah maksimasi, fungsi fitness-nya sama atau berbanding lurus dengan fungsi tujuan. Namun jika masalahnya adalah masalah minimasi, fungsi fitness-nya berbanding terbalik dengan fungsi tujuan. Secara umum, algoritma genetika mengoperasikan kromosom dengan fitness positif dan mencari untuk memaksimumkan fitness ini. Proses minimasi dapat dilakukan dengan mudah, dengan cara membalik fungsi maksimasi. Apa itu Elitisme? Proses seleksi yang dilakukan secara random sehingga tidak ada jaminan bahwa suatu indvidu yang bernilai fitness tertinggi akan selalu terpilih. Walaupun individu bernilai fitness tertinggi terpilih, mungkin saja individu tersebut akan rusak (nilai fitnessnya menurun) karena proses pindah silang (crossover). Oleh karena itu, untuk menjaga agar individu bernilaifitness tertinggi tersebut tidak hilang selama evolusi, maka perlu dibuat satu atau beberapa copy-nya. Prosedure ini dikenal sebagai elitisme 4. Seleksi Kromosom Seleksi merupakan salah satu operasi untuk memastikan bahwa jumlah perwakilan dari sebuah kromosom yang diterima pada generasi selanjutnya akan bergantung pada nilai fitness-nya yang dibandingkan dengan nilai fitness rata-rata dad populasi yang ada. Kromosom-kromosom yang telah dievaluasi dengan menggunakan fungsi fitness akan diseleksi untuk dijadikan induk. Kromosom-kromosom yang memiliki nilai fitness yang sangat baik akan memiliki peluang yang lebih besar untuk terpilih menjadi induk dan tetap bertahan pada generasi berikutnya, sedangkan kromosom-kromosom yang lebih buruk akan tergantikan oleh kromosom baru. Pada model seleksi alam, kromosom yang memiliki nilai fitness lebih baik akan memiliki peluang bertahan hidup (survival of the fittest) yang lebih baik pada generasi berikutnya. Sebaliknya, kromosom yang memiliki nilai fitness buruk akan tergantikan oleh kromosom baru yang lebih baik. Proses seleksi dalam algoritma genetika juga meniru prinsip seleksi alam dalam cara kerjanya. Salah satu prinsip umum seleksi adalah peluang masing- masing kromosom untuk terpilih sebanding dengan nilai fitness-nya. Tipe seleksi ini disebut fitness proportional selection. Jadi, jika kromosom A dua kali nilainya dari kromosom B, kromosom A seharusnya memiliki dua kali kesempatan untuk bereproduksi. Salah satu teknik seleksi dalam algoritma genetika adalah teknik seleksi cakram rolet (roulette wheel selection) yang dikenalkan oleh Goldberg (1989). Teknik seleksi ini diilustrasikan sebagai teknik pemutaran cakram rolet. Setiap kromosom dalam populasi menempati suatu slot pada cakram rolet. Besarnya ukuran slot adalah sama dengan rasio antara nilai fitness suatu kromosom dengan total nilai fitness semua kromosom. Untuk menghasilkan sejumlah populasi, rolet tersebut diputar sebanyak ukuran populasi yang ada. Seleksi dengan cara Roulette
  • 9. 9/11 Metode seleksi dengan mesin roulette ini merupakan metode yang paling sederhana dan sering dikenal dengan nama stochastic sampling with replacement. Cara kerja metode ini adalah sebagai berikut: 1. Dihitung nilai fitness dari masing-masing individu (f. dimana i adalah individu ke-1 s/d ke-n) 2. Dihitung total fitness seinua individu 3. Dihitung probabilitas masing-masing individu 4. dari probabilitas tersebut, dihitung jatah masing-masing individu pada angka 1 sampai 100 5. Dibangkitkan bilangan random antara 1 sampai 100 6. dari bilangan random yang dihasilkan, ditentukan individu main yang terpilih dalam proses seleksi seleksi dengan turnamen Pada metode seleksi dengan turnamen. ditetapkan suatu nilai tour untuk individuindividu yang dipilih secara random dari suatu populasi. Individu-individu yang terbaik dalam kelompok ini akan diseleksi sebagai induk. Parameter yang digunakan pada metode ini adalah ukuran tour yang bernilai antara 2 sampai N (jumlah individu dalam suatu populasi). Tujuan utama yang ingin dicapai dalam menggunakan algoritma genetika adalah agar sekumpulan kromosom (talon solusi) yang dibangkitkan secara acak pada populasi awal dapat berkembang biak dengan sendirinya (melalui beberapa generasi) hingga konvergen memberikan suatu nilai fitness yang terbaik (nilai optimal). Kromosom yang terbentuk path generasi baru disebut kromosom anak (offspring). See also Penggabungan / Concatenate String Sebuah kromosom anak dapat terbentuk melalui dua proses utama yaitu dengan menggabungkan elemen-elemen antara dua kromosom induk (parents) menggunakan operator penyilangan, atau dengan memodifikasi sebuah kromosom induk menggunakan operator, mutasi. Dalam satu generasi, kedua proses di atas dapat terjadi secara berurutan (sequential) maupun paralel. Maksud secara berurutan adalah proses penyilangan terjadi lebih dahulu pada dua kromosom induk, lalu dilanjutkan dengan proses mutasi pada kedua kromosom anak yang baru terbentuk. Proses semacam ini disebut mutation embedded within crossover. Sedangkan maksud secara paralel adalah proses penyilangan dan mutasi terjadi secara terpisah pada kromosom-kromosom induk saja, tidak pada kromosom anak yang baru terbentuk. 5. Penyilangan atau Cross over Penyilangan (crossover) adalah operator utama atau operator primer dalam algoritma genetika. Operator ini bekerja pada sepasang kromosom induk untuk menghasilkan dua kromosom anak dengan cara menukarkan beberapa elemen (gen) yang dimiliki masing- masing kromosom induk. Tingkat penyilangan atau peluang penyilangan (dinotasikan sebagai Pc) adalah rasio antara jumlah kromosom yang diharapkan mengalami
  • 10. 10/11 penyilangan dalam setiap generasi dengan jumlah kromosom total dalam populasi. Oleh karena penyilangan adalah operator primer, nilai Pc yang digunakan biasanya cukup tinggi (0,6-1). Tingkat penyilangan yang tinggi menyebabkan semakin besarnya kemungkinan algoritma genetika mengeksplorasi ruang pencarian sekaligus mempercepat ditemukannya solusi optimum. Akan tetapi, apabila tingkat penyilangan terlalu tinggi, hal ini sama artinya dengan membuang-buang waktu mencari solusi pada daerah yang mungkin saja kurang menjanjikan (unpromising region). Penentuan nilai Pc yang tepat sangat bergantung pada permasalahan yang dihadapi. Holland (1975) telah memperkenalkan operator penyilangan yang disebut penyilangan satu-titik (one-point crossover). Penyilangan satu-titik ini cocok digunakan untuk kromosom dengan representasi biner (0 dan 1). Pada beberapa kasus, seperti masalah TSP (Travelling Salesman Problems), penyilangan satu-titik ini tidak cocok digunakan karena dapat menghasilkan kromosom ilegal. Atas dasar itulah, beberapa peneliti telah mengusulkan teknik penyilangan yang baru, seperti partially-mapped crossover (PMX), order crossover (OX), dan cycle-croossover(CX), position-based crossover, order-based crossover, dan heuristic crossover(Gen dan Cheng 1997). Teknik PMX pertama kali diperkenalkan oleh Goldberg dan Lingle (1985). Teknik PMX dapat dipandang sebagai perbaikan dad teknik penyilangan dua-titik (two- point crossover) yaitu adanya metode perbaikan (repairing procedure) untuk mencegah munculnya kromosom yang ilegal. 6. Mutasi Mutasi (mutation) adalah operator sekunder atau operator pendukung dalam algoritma genetika yang berperan mengubah struktur kromosom secara spontan. Perubahan spontan ini menyebabkan terbentuknya suatu mutan, yaitu suatu kromosom baru yang secara genetik berbeda dari kromosom sebelumnya. Operator mutasi bekerja pada satu kromosom, tidak pada sepasang kromosom seperti halnya yang dilakukan operator penyilangan. Dalam pencarian solusi optimum, mutasi sangat diperlukan yaitu untuk: (1) mengembalikan gen-gen yang hilang pada generasi-generasi sebelumnya dan (2) memunculkan gengen baru yang belum pernah muncul pada generasi-generasi sebelumnya (Gen dan Cheng 1997). Tingkat mutasi atau peluang mutasi (dinotasikan sebagai Pm) adalah rasio antara jumlah gen yang diharapkan mengalami mutasi pada setiap generasi dengan jumlah gen total dalam populasi. Oleh karena mutasi adalah operator sekunder, nilai Pm yang digunakan untuk running program biasanya cukup rendah (0,001-0,2). jika tingkat mutasi terlalu rendah, semakin kecil pula kemungkinan memunculkan gen-gen baru. Padahal, gen yang baru sebenarnya sangat diperlukan dalam menunjang keberhasilan memperoleh solusi optimum. Sebaliknya, jika tingkat mutasi terlalu tinggi, akan banyak sekali mutan yang muncul. Akibatnya, banyak karakteristik kromosom induk yang kemungkinan hilang pada generasi berikutnya sehingga algoritma genetika akan kehilangan kemampuan mengingat atau belajar dari proses pencarian sebelumnya(Gen dan Cheng 1997).
  • 11. 11/11 Gen dan Cheng (1997) menyebutkan bahwa dalam beberapa tahun belakangan ini Para peneliti telah memperkenalkan beberapa jenis operator mutasi. Beberapa operator mutasi untuk masalah yang menggunakan permutation representation atau order representation adalah mutasi inversi, mutasi insersi, displacement mutation, dan reciprocal exchange mutation. Flowchart Algoritma Genetika Dasar-dasar algoritma genetika dapat dibuat flowchart berikut Selanjutnya kalian akan belajar menulis algoritma genetika pada bahasa pemrograman Ref: Basuki, Achmad. 2003. Algoritma Genetika : Suatu Alternatif Penyelesaian Permasalahan Searching, Optimasi dan Machine Learning. Surabaya : Politeknik Elektronika Negeri Surabaya PENS – ITS. Kusumadewi, Sri. 2003. Artificial Intellegence – Teknik dan Aplikasinya. Yogyakarta : Graha Ilmu.