Apa itu Genetic Algorithm dan Bagaimana Cara penerapannya?

genetic algorithm

Mungkin banyak yang masih belum paham tentang Istilah Algoritme genetik atau GA yaitu teknik pencarian dalam bidang komputasi untuk menemukan solusi benar atau pendekatan untuk masalah optimasi dan pencarian. Genetic Algorithm tekniknya didasarkan pada biologi evolusioner seperti pewarisan, mutasi, seleksi dan crossover.

Algoritma Genetik pertama kali dikembangkan oleh John Holland pada tahun 1970-an di New York, Amerika Serikat. Dia beserta murid-murid dan teman kerjanya menghasilkan buku berjudul “Adaptation in Natural and Artificial Systems” pada tahun 1975.

Pengertian Teori Dasar Genetic Algorithm

Algoritma genetika yang dikembangkan oleh Goldberg adalah algoritma komputasi yang diinspirasi teori evolusi Darwin yang menyatakan bahwa kelangsungan hidup suatu makhluk dipengaruhi aturan “yang kuat adalah yang menang”. Darwin juga menyatakan bahwa kelangsungan hidup suatu makhluk dapat dipertahankan melalui proses reproduksi, crossover, dan mutasi.

Konsep dalam teori evolusi Darwin tersebut kemudian diadopsi menjadi algoritma komputasi untuk mencari solusi suatu permasalahan dengan cara yang lebih “alamiah” dan mudah diimplementasikan, penjabaran detailnya kita simak diartikel ini !

genetic algorithm

Mekanisme Penerapan Genetic Algorithm

Sebuah solusi yang dibangkitkan dalam Genetic Algorithm disebut sebagai chromosome, sedangkan kumpulan chromosome-chromosome tersebut disebut sebagai populasi.  Sebuah chromosome dibentuk dari komponen-komponen penyusun yang disebut sebagai gen dan nilainya dapat berupa bilangan numerik, biner, simbol ataupun karakter tergantung dari permasalahan yang ingin diselesaikan.

Mekanisme perubahan susunan unsur penyusun makhluk hidup akibat adanya faktor alam yang disebut dengan mutasi direpresentasikan sebagai proses berubahnya satu atau lebih nilai gen dalam kromosom dengan suatu nilai acak. Jumlah gen dalam populasi yang mengalami mutasi ditentukan oleh parameter yang dinamakan mutation rate.

Setelah beberapa generasi akan dihasilkan chromosome-chromosome yang nilai gen-gennya konvergen ke suatu nilai tertentu yang merupakan solusi terbaik yang dihasilkan oleh algoritma genetika terhadap permasalahan yang ingin diselesaikan.

Prosedur Implementasi Algoritme Genetik dalam simulasi

Implementasi Genetic Algorithm dijabarkan sebagai berikut:

  1. Populasi dari representasi abstrak (disebut kromosom, genotip, atau genom) dari candidate solution (disebut individual, atau fenotip) dari optimasi yang berevolusi ke solusi yang lebih baik.
  2. Biasanya solusi direpresentasikan ke dalam string biner.
  3. Evolusi dimulai dari populasi dari individu yang dihasulkan secara random dan terjadi dalam generasi.
  4. Setiap generasi, fitness dari setiap individu dalam populasi dievaluasi, beberapa individu dipilih secara stokastik (berdasarkan fitness) dan dimodifikasi (crossover dan kemungkinan mutasi) untuk membentuk populasi baru.
  5. Populasi tersebut lalu dimanfaatkan untuk literasi selanjutnya.

Secara umum, algoritma selesai jika telah menghasilkan generasi maksimum atau hasil dalam populasi dirasa memuaskan (berdasarkan berbagai parameter).

genetic algorithm

Proses Penerapan Algoritma Genetik

Fungsi fitness didefinisikan dari representasi genetis dan kualitas dari representasi solusi. Setelah keduanya didefinisikan, Genetic Algorithm berlanjut ke inisialisasi populasi dari solusi secara acak, lalu berkembang lewat perulangan aplikasi mutasi, crossover dan seleksi.

1. Inisialisasi

Awalnya, beberapa solusi individual dihasilkan secara acak untuk membentuk populasi awal yang ukurannya tergantung sifat dari masalah.

2. Menyeleksi

Dalam setiap generasi baru, proporsi dari populasi yang ada dipilih untuk menghasilkan generasi selanjutnya. Solusi individual dipilih lewat proses fitness, dimana solusi yang lebih baik (diukur dari fungsi fitness) lebih mungkin dipilih. Metode seleksi yang umum dipakai adalah roulette wheel dan tournament.

3. Reproduksi

Langkah selanjutnya adalah menghasilkan generasi selanjutnya dari populasi solusi dari hasil seleksi lewat operasi genetik crossover (atau rekombinasi) dan/atau mutasi

4. Terminasi

Proses ini diulang sampai tercapai kondisi akhir. Kondisi akhir yang umum antara lain:

  1. Solusi yang ditemukan memenuhi kriteria minimum
  2. Jumlah generasi tertentu telah tercapai
  3. Telah mencapai waktu komputasi tertentu
  4. Tidak dapat dihasilkan hasil yang lebih baik
  5. Inspeksi manual
  6. Kombinasi dari kondisi di atas.

    • Isi form berikut ini untuk mendapatkan demo gratis aplikasi HRIS hari ini.
    • This field is for validation purposes and should be left unchanged.

Metode Penerapan Genetic Algorithm

Algoritma genetik adalah kelas khusus dari algoritma evolusioner dengan menggunakan teknik yang terinspirasi oleh biologi evolusioner seperti warisan, mutasi, seleksi alam dan rekombinasi (atau crossover).

Genetic Algorithm khususnya diterapkan sebagai simulasi komputer dimana sebuah populasi representasi abstrak (disebut kromosom) dari solusi-solusi calon (disebut individu) pada sebuah masalah optimisasi akan berkembang menjadi solusi-solusi yang lebih baik. Secara tradisional, solusi-solusi dilambangkan dalam biner sebagai string ‘0’ dan ‘1’, walaupun dimungkinkan juga penggunaan penyandian (encoding) yang berbeda. Evolusi dimulai dari sebuah populasi individual acak yang lengkap dan terjadi dalam generasi-generasi. 

Dalam tiap generasi, kemampuan keseluruhan populasi dievaluasi, kemudian multiple individuals dipilih dari populasi sekarang (current) tersebut secara stochastic (berdasarkan kemampuan mereka), lalu dimodifikasi (melalui mutasi atau rekombinasi) menjadi bentuk populasi baru yang menjadi populasi sekarang (current) pada iterasi berikutnya dari algoritma.

genetic algorithm

Representasi Genetic Algorithm

Hal utama yang membuat representasi algoritma genetik ini menjadi tepat adalah bahwa bagian-bagiannya mudah diatur karena ukurannya yang tetap, yang memudahkan operasi persilangan sederhana. Representasi panjang variabel juga digunakan, tetapi implementasi persilangan lebih kompleks dalam kasus ini.

Fungsi kemampuan didefinisikan di atas representasi genetik dan mengukur kualitas penyelesaian yang diwakili. Fungsi kemampuan selalu tergantung pada masalah. Sebagai contoh, jika pada ransel kita ingin memaksimalkan jumlah benda (objek) yang dapat kita masukkan ke dalamnya pada beberapa kapasitas yang tetap. Representasi penyelesaian mungkin berbentuk larik bits, di mana tiap bit mewakili objek yang berbeda, dan nilai bit (0 atau 1) menggambarkan apakah objek tersebut ada di dalam ransel atau tidak. Tidak setiap representasi seperti ini valid, karena ukuran objek dapat melebihi kapasitas ransel. 

Sekali kita mendefinisikan representasi genetik dan fungsi kemampuan, algoritma genetik akan memproses inisialisasi populasi penyelesaian secara acak, dan memperbaikinya melalui aplikasi pengulangan dengan aplikasi operator-operator mutasi, persilangan, dan seleksi. Secara sederhana, algoritma umum dari algoritma genetik ini dapat dirumuskan menjadi beberapa langkah, yaitu:

  1. Membentuk suatu populasi individu dengan keadaan acak
  2. Mengevaluasi kecocokan setiap individual keadaan dengan hasil yang diinginkan
  3. Memilih individual dengan kecocokan yang tertinggi
  4. Bereproduksi, mengadakan persilangan antar individu terpilih diselingi mutasi
  5. Mengulangi langkah 2 – 4 sampai ditemukan individual dengan hasil yang diinginkan.

Penggunaan Genetic Algorithm untuk aplikasi Human Resource

Genetic Algorithm terinspirasi dari teori evolusi yang kemudian diadopsi menjadi algoritma komputasi untuk mencari solusi suatu permasalahan dengan cara yang lebih alamiah. Salah satu aplikasi algoritma genetika konsepnya yaitu mendapatkan suatu nilai solusi optimal terhadap suatu permasalahan yang mempunyai banyak kemungkinan menjadi solusi.

Untuk itu penerapan konsep Genetic Algorithm biasanya diterapkan pada aplikasi bisnis dan teknik, diharapkan mampu membantu kegiatan kerja dan operasional perusahaan, salah satunya adalah kinerja karyawan. Seperti aplikasi yang diluncurkan oleh Jojonomic yaitu Jojotimes.

genetic algorithm

JojoTimes
Solusi Sistem HR Termudah untuk Memantau Kehadiran Karyawan Kapan Saja Di Mana Saja, JojoTimes meningkatkan kinerja perusahaan hingga 98% untuk mendukung perkembangan perusahaan, dengan mengelola administrasi secara otomatis dan memonitor karyawan.

FITUR POPULER dari JojoTimes

  1. Pengenalan wajah biometris dengan geo-locator yang akurat
  2. Mengelola laporan kehadiran, perizinan cuti dan jam kerja
  3. Tarif lembur yang dapat disesuaikan
  4. Terintegrasi dengan sistem absensi yang sekarang, serta pengaturan izin cuti dan advance

Untuk mengetahui kinerja aplikasi Jojotimes, silahkan Anda klik link berikut ini Coba Gratis Sekarang