Anda di halaman 1dari 5

SEJARAH ALGORITMA GENETIKA

Algoritma Genetika dikembangkan pertama kali oleh John Holand dari New York,
Amarika Serikat yang dipublikasikan dalam bukunya yang berjudul “Adaption in Natural and
Artificial Systems” tahun 1975. Algoritma Genetika merupakan Teknik untuk menemukan
solusi optimal dari permasalahan yang mempunyai banyak solusi. Teknik ini akan melakukan
pencarian dari beberapa solusi yang diperoleh sampai mendapatkan solusi terbaik sesuai
dengan kriteria yang telah ditentukan atau yang disebut sebagai fungsi fitness. Algoritma ini
masuk dalam kelompok algoritma evolusioner dengan menggunakan pendekatan evolusi
Darwin di bidang Biologi seperti pewarisan sifat, seleksi alam, mutasi gen dan kombinasi
(crossover). Karena merupakan Teknik pencarian optimal dalam bidang ilmu komputer,
maka algoritma ini juga termasuk dalam kelompok algoritma metaheuristik.
Aplikasi algoritma genetika dapat ditemukan di berbagai bidang terutama bidang-
bidang yang memerlukan solusi kombinatorik seperti penjadwalan, peramalan, jarak
terpendek dan kombinasi ransum atau bahan. Algoritma genetika sering dipakai untuk
melakukan simulasi dengan Komputer untuk mendapatkan solusi terbaik berdasarkan calon-
calon solusi yang visible. Proses pencarian solusi terbaik dimulai dengan merepresentasikan
solusi-solusi yang mungkin terjadi berdasarkan domain yang biasanya dalam bentuk string
biner (0 dan 1). Dari representasi ini dibentuk populasi individual secara acak yang
membentuk suatu generasi. Kemudian dari setiap populasi yang terbentuk dievaluasi dengan
menggunakan fungsi fitness untuk dapat memilih populasi terbaik. Kemudian populasi
dimodifikasi dengan mutasi dan kombinasi untuk mendapatkan populasi baru. Proses ini
diulang sampai mendapatkan individu dari populasi yang mencapai nilai fitness.

PENGERTIAN ALGORITMA GENETIKA


Merupakan teknik pencarian yang ada di dalam ilmu komputer untuk menemukan
penyelesaian perkiraan untuk optimisasi dan masalah pencarian. sering juga di artikan
sebagai algoritma yang dikembangkan dari proses pencarian solusi menggunakan
pencarian acak, ini terlihat pada proses pembangkitan populasi awal yang menyatakan
sekumpulan solusi yang dipilih secara acak..
Langkah-langkah algoritma genetika dapat diuraikan sebagai berikut:
1. Penentuan representasi individu dari populasi
2. Pembetukan populasi individu secara acak
3. Evaluasi kecocokan setiap individu dalam populasi berdasarkan fungsi fitness
4. Memilih individu dengan nilai kecocokan paling tinggi
5. Kombinasi antar individu terpilih dalam populasi dan mutasi individu dengan tingkat
tertentu untuk membentuk populasi baru
6. Proses 3 diulang sampai mendapatkan solusi terbaik.

Aplikasi Algoritma Genetika


1. Algoritma Genetika ini dapat di gunakan di semua hal seperti bisnis, teknik maupun
keilmuan
2. Algoritma ini sangat tepat untuk menyelesaikan suatu masalah optimasi yang lebih
kompleks dan sukar diselesaikan dengan menggunakan metode yang konvensional.
3. Algoritma genetika banyak digunakan untuk penyelesaian masalah dengan
multikriteria
Struktur Algoritma Genetika
1. Membangkitkan populasi awal.
Populasi awal ini dibangkitkan secara random sehingga didapatkan solusi awal.
Populasi terdiri dari sejumlah kromosom-kromosom yang merepresentasikan solusi yang
diinginkan.
2. Pembentukan generasi baru.
Dalam pembentukan tersebut digunakan tiga operator, yaitu 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.
Pada proses ini akan dilakukan evaluasi setiap populasi dengan menghitung nilai
fitness dari setiap kromosom dan akan terus melakukan evaluasinya sampai terpenuhi
kriteria berhenti. Tetapi kalau samapai akhir kriteria belum terpenuhi maka akan dibentuk
lagi generasi baru dengan mengulangi langkah 2. Beberapa kriteria berhenti yang sering
digunakan antara lain:
a. Berhenti pada generasi tertentu.
b. Berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai
fitness tertinggi tidak berubah.
c. Berhenti bila sampai n generasi tidak didapatkan nilai fitness yang lebih tinggi.

Prosedur Algoritma Genetika


Algoritma genetik yang umum menyaratkan dua hal untuk didefinisikan, yaitu :
1. Representasi genetik dari penyelesaian,
2. Fungsi kemampuan untuk mengevaluasinya.
Operator-Operator Algoritma Genetika
1. Operasi Evolusi = proses seleksi (selection)
2. Operasi Genetika = pindah silang (crossover) dan mutasi (mutation)

Komponen-komponen utama algoritma genetika


1.Teknik Pengkodean
Teknik pengkodean adalah bagaimana mengkodekan gen dari kromosom dan
variabel. Gen biasanya dipresentasikan ke dalam bentuk bit, bilangan real, elemen
program atau representasi lainnya. yang dapat diimplementasikan untuk operator
genetika. Dengan demikian kromosom dapat direpresentasikan dengan menggunakan:
 String bit : 10011 dst.
 Array bilangan real : 65.65, -67.98, 77.34 dst.
 Elemen permutasi : E2, E10, E5 dst
 Daftar aturan : R1, R2, R3 dst.
 Elemen program : pemrograman genetika

2. Membangkitkan Populasi Awal


a. Random Generator
Inti dari cara ini yaitu melibatkan pembangkitan bilangan random untuk nilai
setiap gen sesuai dengan representasi kromosom yang digunakan. Berikut ini
merupakan rumus untuk pembangkitan cara random generator :

IPOP = round{random(Nipop, Nbits)}


Keterangan :
IPOP = Gen yang berisi pembulatan dari bilangan random yang dibangkitkan
sebanyak Nipop (Jumlah populasi) X Nbits (Jumlah Gen dalam tiap kromosom).
b. Pendekatan Nilai Tertentu (Memasukkan Nilai Tertentu dalam Gen)
Untuk cara ini bekerja dengan memasukkan nilai-nilai tertentu ke dalam gen dari
populasi awal yang sebelumnhya telah dibentuk.
c. Permutasi Gen
Cara permutasi Gen yaitu dengan cara pembangkitan populasi awal, biasanya cara
ini menggunakan permutasi Josephus dalam permasalahan kombinatorial seperti
TSP.
3. Seleksi
Seleksi digunakan untuk memilih individu-individu untuk proses kawin silang dan
mutasi supaya dapat menghasilkan calon induk yang baik. berikut beberapa metode
seleksi, yaitu :
a. Seleksi dengan Mesin Roulette
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:
 Dihitung nilai fitness dari masing-masing individu (fi, dimana i adalah individu ke-1
s/d ke-n)
 Dihitung total fitness semua individu
 Dihitung probabilitas masing-masing individu
 Dari probabilitas tersebut, dihitung jatah masing-masing individu pada angka 1
sampai 100
 Dari bilangan random yang dihasilkan, ditentukan individu mana yang terpilih dalam
proses seleksi
b. Seleksi dengan turnamen
Pada metode ini, ditetapkan suatu nilai untuk individu-individu yang dipilih secara
random dari suatu populasi. Individu yang terbaik dari kelompok ini akan diseleksi
sebagai induk. Parameter yang dapat digunakan pada metode ini adalah ukuran tour yang
bernilai antara 2 sampai dengan N ( N merupakan jumlah individu dalam suatu populasi).
4. Pindah Silang (Crossover)
Crossover (pindah silang) adalah suatu operator dari algoritma genetika yang akan
melibatkan dua induk untuk membentuk kromosom baru. Pindah silang akan
menghasilkan titik baru dalam ruang pencarian yang siap untuk diuji. berikut ini
aliran pindah silang (crossover)
5. Mutasi

Berikut ini proses alur mutasi :

CONTOH

Suatu algoritma dikatakan optimal pada worstcase-nya jika tidak ada algoritma lain
yang sekelas yang melakukan lebih sedikit operasi dasar atau Algoritma optimal adalah yang
terbaik, dimana dalam worstcase-nya melakukan perbandingan 2 entri dalam list yang paling
sedikit. Cara memeriksa optimalitas algoritma adalah dengan menentukan batas bawah dari
jumlah operasi yang diperlukan untuk menyelesaikan masalah, jika sembarang algoritme
yang melakukan operasi sejumlah batas bawah tersebut berarti optimal. Untuk memeriksa
optimalitas algoritme dapat dilakukan dengan cara sebagai berikut :

• Membuat algoritme yang efisien (A). Analisis A dan tentukan sebuah fungsiW,
sedemikian sehingga A mengerjakan paling banyak W(n) langkah pada worst-
casenya. Dhi, n adalah ukuran input.
• Untuk beberapa fungsi F, buktikan teori yang menyatakan bahwa sembarang
algoritme dalam kelas yang dipelajari, terdapat ukuran input n yang
menyebabkan algoritme tersebut melakukan paling sedikit F(n) langkah .
✓ Jika W = F, maka algoritme A optimal pada worst-casenya.
✓ Jika W ≠ F, mungkin terdapat algoritme yang lebih baik atau ada batas
bawah yang lebih baik.
Prinsip dari algoritma yang optimal berikut ini adalah mengganti halaman yang
tidak akan terpakai lagi dalam waktu lama, sehingga efisiensi pergantian halaman
meningkat (page fault yang terjadi berkurang) dan terbebas dari anomali Belady.
Algoritma ini memiliki page fault rate paling rendah di antara semua algoritma di
semua kasus. Akan tetapi, optimal belum berarti sempurna karena algoritma ini
ternyata sangat sulit untuk diterapkan. Sistem tidak dapat mengetahui halaman-
halaman mana saja yang akan digunakan berikutnya.

Anda mungkin juga menyukai