Fakultas ilmu dan teknologi hayati Bab I PENDAHULUAN 1.1 LATAR BELAKANG Algoritma genetika adalah suatu metode yang terinspirasi oleh proses seleksi alam dan dapat digunakan untuk menyelesaikan permasalahan optimisasi kombinatorial yang kompleks. Dalam era digital saat ini, banyak masalah real-world yang memerlukan solusi yang optimal dalam hal pengaturan kombinasi elemen atau entitas. Oleh karena itu, penelitian mengenai optimalisasi algoritma genetika sangat penting untuk mengembangkan metode pemecahan masalah yang efisien dan akurat.Algoritma adalah prosedur komputasi yang terdefinisi dengan baik yang menggunakan beberapa nilai sebagai masukan dan menghasilkan beberapa nilai yang disebut keluaran. Jadi, algoritma adalah deretan langkah komputasi yang mentransformasikan masukan menjadi keluaran [1]. Pencarian adalah proses yang fundamental dalam pengolahan data. Jadi, Algoritma pencarian adalah sebuah algoritma yang menerima masukan berupa sebuah masalah dan menghasilkan sebuah solusi untuk masalah tersebut, yang biasanya didapat dari evaluasi beberapa kemungkinan solusi dalam proses pengolahan data [2]. Sedangkan Algoritma pencarian string atau sering disebut juga pencocokan string adalah algoritma untuk melakukan pencarian semua kemunculan string pendek pattern 0..n-1 yang disebut pattern di string yang lebih panjang teks 0..m-1 disebut teks [3]. Ada sekitar 35 algoritma pencarian kata yang bisa digunakan dalam perangkat baik merupakan algoritma yang diciptakan dari awal maupun berupa pengembangan dari algoritma yang sudah ada. Dua di antaranya yaitu algoritma Karp-Rabin dan algoritma Reverse Colussi. Algoritma Karp-Rabin adalah algoritma pencarian string matching yang arah pencariannya dari kiri ke kanan dan pencariannya menggunakan fungsi Hasing untuk membantu mempercepat pencarian string [4]. Berdasarkan referensi jurnal “Perbandingan Algoritma Karp-Rabin dengan Algoritma Knuth-Morris-Pratt dalam pencarian string” dari Hadi Saloko (ITB) yang menyatakan bahwa algoritma Karp-Rabin lebih unggul dibandingkan dengan algoritma Knuth-Morris-Pratt dalam kasus pencarian string dengan pattern yang panjang dan kasus pencarian string dengan multipattern [5]. Sedangkan Algoritma Reverse Colussi yaitu pencarian yang telah ditentukan secara spesifik oleh sistem atau algoritma tersebut dimana algoritma Reverse Colussi merupakan perbaikan dari algoritma Boyer-Moore yang merupakan pencarian dari kanan ke kiri. Algoritma Reverse Colussi terdiri dari 2 fase 2 pencarian, yaitu fase pemrosesan awal dan fase pencarian. Pada fase pemrosesan awal, dilakukan pencarian sepasang karakter untuk menentukan posisi dan pergeseran pattern. Pada fase pencarian, dilakukan operasi pencocokan pattern terhadap teks atau gambar. Berdasarkan jurnal “Perbandingan Algoritma Reverse Colussi, Knuth-Morri-Pratt, Boyer-Moore, dan Colussi dalam pencarian string” dari Didik Haryadi (ITB) menyatakan bahwa algoritma Reverse Colussi lebih cepat dalam pencarian string [6]. Masing-masing Algoritma pencarian memiliki keunggulan dan kekurangan dalam pencarian, pencocokan, kecepatan, ketepatan, dan lain-lain. Dengan melakukan analisis perbandingan performansi maka akan dapat diketahui kecepatan dan ketepatan dalam waktu proses pencarian dan pencocokan kata dan persentase memory yang dipakai dalam satu kali proses dari masing - masing algoritma tersebut. Dari permasalahan yang dipaparkan maka untuk menentukan performansi dari kedua algoritma dalam mencari dan mencocokkan kata, kedua Algoritma tersebut akan diimplementasikan pada sebuah Word Game untuk menentukan mana algoritma yang lebih optimal berdasarkan hasil perbandingan performansi kedua algoritma dari kecepatan dan ketepatan waktu proses dan persentase penggunaan memory dalam 1 kali proses.
1.2 RUMUSAN MASALAH
a.Bagaimana kinerja algoritma genetika dalam penyelesaian permasalahan optimisasi kombinatorial? b.Apa tantangan yang dihadapi oleh algoritma genetika dalam penyelesaian permasalahan optimisasi kombinatorial? c.Bagaimana algoritma genetika dapat dioptimalkan untuk meningkatkan efisiensi dan keakuratan solusi.
1.3 TUJUAN
a.Menganalisis kinerja algoritma genetika dalam memecahkan permasalahan
optimisasi kombinatorial. b.Mengidentifikasi tantangan yang dihadapi oleh algoritma genetika dalam penyelesaian permasalahan kombinatorial. c.Mengoptimalkan algoritma genetika dengan menggunakan teknik seperti seleksi operator crossover dan mutasi serta mendefinisikan kriteria evaluasi fitness yang tepat. d.Membandingkan kinerja algoritma genetika yang telah dioptimalkan dengan algoritma genetika standar dalam penyelesaian permasalahan optimisasi kombinatorial. Bab II PEMBAHASAN 2.1 PENGENALAN ALGORITMA GENETIKA Algoritma Genetika adalah metode yang terinspirasi oleh evolusi alami untuk memecahkan masalah optimasi dan pencarian di dalam komputer. Algoritma genetika menggunakan konsep dari teori genetika dan seleksi alam untuk menghasilkan solusi yang optimal atau mendekati solusi optimal dari suatu masalah. Komponen utama dari algoritma genetika meliputi: 1. Pewakilan Individu: Dalam algoritma genetika, solusi untuk masalah yang diberikan diwakili sebagai individu atau kromosom. Setiap kromosom berisi serangkaian gen, di mana setiap gen mewakili satu atribut atau parameter yang harus dioptimalkan. 2. Fungsi Fitness: Fungsi fitness digunakan untuk mengevaluasi sejauh mana setiap individu dalam populasi memenuhi kriteria optimasi. Fungsi fitness memberikan skor numerik yang menggambarkan kualitas solusi yang diwakili oleh kromosom. Semakin tinggi skor, semakin baik solusi tersebut. 3. Seleksi: Proses seleksi adalah tahap di mana individu dengan fitness yang lebih baik memiliki peluang yang lebih tinggi untuk dipilih menjadi orang tua untuk menghasilkan generasi berikutnya. Seleksi dapat dilakukan berdasarkan beberapa metode seperti seleksi proporsional, seleksi turnamen, atau metode seleksi lainnya. 4. Operator Crossover (Persilangan): Operator crossover menggabungkan bagian-bagian genetik dari dua individu yang dipilih melalui seleksi untuk menghasilkan individu-individu baru yang berasal dari kombinasi genetik orang tua. Operator crossover merangkai gen-gen antara dua individu dalam populasi dengan menggunakan titik pemotongan tertentu. 5. Operator Mutasi: Operator mutasi secara acak mengubah satu atau lebih gen dalam individu dengan probabilitas rendah. Tujuan dari mutasi adalah untuk memperkenalkan variasi baru ke dalam populasi, yang dapat mencegah jatuhnya populasi ke dalam optimum lokal dan meningkatkan kemungkinan menemukan solusi global yang lebih baik. Melalui iterasi berulang dari tahapan seleksi, crossover, dan mutasi yang diterapkan pada populasi individu, algoritma genetika mencoba untuk mencapai solusi yang optimal atau mendekati solusi yang optimal. Hal ini dilakukan dengan memperbaiki kualitas dan kecocokan individu-individu dalam populasi dari generasi ke generasi. 2.2 TANTANGAN DALAM ALGORITMA GENETIKA UNTUK PERMASALAHAN KOMBINATORIAL 1. Penentuan dan representasi individu dalam populasi: Proses penentuan dan representasi individu dalam populasi merupakan langkah awal dalam algoritma evolusi. Hal ini melibatkan cara individu-individu dalam populasi direpresentasikan dalam bentuk yang dapat dimanipulasi oleh algoritma. Organisme dalam algoritma evolusi sering kali direpresentasikan sebagai vektor atau string yang terdiri dari gen-gen atau kromosom- kromosom. Representasi ini harus sesuai dengan masalah yang sedang dihadapi dan memperhitungkan karakteristik khusus dari populasi yang diteliti. 2. Pemilihan operator crossover dan mutasi yang efektif: Operator crossover dan mutasi adalah dua komponen penting dalam algoritma genetika. Operator crossover menggabungkan informasi dari dua atau lebih individu dalam populasi untuk menghasilkan individu baru. Sedangkan operator mutasi mengubah nilai spesifik dalam individu secara acak. Pemilihan operator yang efektif adalah penting untuk menjaga variasi dan kemajuan dalam evolusi populasi. Operator crossover yang efektif harus dapat menggabungkan sifat-sifat yang menguntungkan dari individu-individu yang berbeda, sementara operator mutasi harus dapat memperkenalkan variasi baru ke dalam populasi. 3. Definisi dan penggunaan kriteria evaluasi fitness yang sesuai: Kriteria evaluasi fitness digunakan untuk mengevaluasi kinerja individu-individu dalam populasi. Fitness menggambarkan kemampuan atau kualitas individu dalam menyelesaikan masalah yang diberikan. Pemilihan kriteria evaluasi fitness yang sesuai bergantung pada konteks masalah yang ditangani. Kriteria evaluasi fitness dapat berupa fungsi objektif, tujuan yang ingin dicapai oleh individu, atau bisa juga berupa metrics yang lebih spesifik terkait dengan karakteristik yang diinginkan dalam populasi. Dengan memilih kriteria evaluasi fitness yang tepat, algoritma evolusi dapat bergerak menuju solusi yang lebih baik secara efektif. 2.3 OPTIMISASI ALGORITMA GENETIKA 1. Seleksi yang optimal adalah proses memilih individu-individu terbaik dari populasi untuk diturunkan ke generasi berikutnya dalam algoritma genetika. Tujuan dari seleksi ini adalah untuk meningkatkan nilai fitness secara keseluruhan dari populasi. Beberapa tipe seleksi yang umum digunakan adalah seleksi elit, seleksi roulette wheel, dan seleksi turnamen. 2. Pemilihan operator crossover dan mutasi yang menghasilkan variasi yang baik sangat penting dalam algoritma genetika. Operator crossover menggabungkan informasi genetik dari dua individu yang berbeda untuk menciptakan keturunan baru. Pilihan operator crossover yang baik harus memastikan kombinasi yang optimal antara gen-gen yang bermanfaat dari kedua orangtua. Operator mutasi, di sisi lain, memperkenalkan variasi genetik secara acak dalam populasi. Pilihan operator mutasi yang baik harus mempertahankan diversitas genetik tanpa menghancurkan kombinasi gen yang menguntungkan. Operator crossover dan mutasi yang paling umum digunakan adalah crossover titik tunggal, crossover titik multipel, dan mutasi titik. 3. Definisi kriteria evaluasi fitness adalah pernyataan tentang tujuan yang ingin dicapai dalam algoritma genetika. Kriteria evaluasi fitness berfungsi untuk mengukur sejauh mana sebuah individu memenuhi tujuan tersebut. Misalnya, jika tujuan adalah mencari individu dengan performa terbaik dalam suatu masalah optimasi, maka kriteria evaluasi fitness dapat didefinisikan sebagai fungsi objektif yang memetakan individu ke dalam suatu nilai numerik yang merefleksikan performa mereka dalam masalah tersebut. Penyesuaian kriteria evaluasi fitness yang tepat tergantung pada konteks masalah dan tujuan yang ingin dicapai.
2.4 PERBANDINGAN KINERJA ALGORITMA GENETIKA YANG DIOPTIMALKAN
1. Pengujian dan evaluasi kinerja algoritma genetika yang telah dioptimalkan pada berbagai permasalahan kombinatorial. Algoritma genetika adalah teknik optimisasi yang terinspirasi oleh proses evolusi alamiah. Algoritma ini sering digunakan untuk memecahkan permasalahan kombinatorial yang sulit. Dalam konteks pengujian dan evaluasi kinerja algoritma genetika yang telah dioptimalkan, dapat dilakukan perbandingan dengan algoritma genetika standar. Pada dasarnya, algoritma genetika dioptimalkan dengan melakukan modifikasi pada komponen- komponen kunci seperti representasi kromosom, fungsi evaluasi, dan operator genetika seperti seleksi, crossover, dan mutasi. Tujuan utama pengoptimalan ini adalah untuk meningkatkan efisiensi dan kecepatan konvergensi algoritma, serta menemukan solusi yang lebih baik untuk permasalahan yang diberikan. Dalam melakukan pengujian dan evaluasi kinerja algoritma genetika yang telah dioptimalkan, beberapa metrik yang umum digunakan antara lain: a. Kecepatan konvergensi: Ini mengukur seberapa cepat algoritma genetika mencapai solusi yang baik. Semakin cepat sebuah algoritma mencapai solusi optimum, semakin baik performanya. b. Kualitas solusi: Hal ini melibatkan perbandingan solusi yang dihasilkan oleh algoritma genetika yang telah dioptimalkan dengan solusi yang dihasilkan oleh algoritma genetika standar. Jika algoritma genetika yang dioptimalkan dapat menghasilkan solusi yang lebih baik dalam hal kualitas solusi, maka dapat dikatakan bahwa pengoptimalan berhasil. c. Efisiensi: Efisiensi mengacu pada penggunaan sumber daya komputasi seperti memori dan waktu komputasi. Algoritma genetika yang telah dioptimalkan diharapkan dapat bekerja lebih efisien dibandingkan dengan algoritma genetika standar. 2. Perbandingan hasil dengan algoritma genetika standar. Pada umumnya, pengujian dan evaluasi dilakukan dengan menjalankan algoritma genetika yang telah dioptimalkan dan algoritma genetika standar pada sejumlah permasalahan kombinatorial yang berbeda. Kemudian, hasil dari kedua algoritma dibandingkan menggunakan metrik-metrik di atas. Jika algoritma genetika yang telah dioptimalkan secara konsisten mengungguli algoritma genetika standar dalam pengujian ini, maka dapat dikatakan bahwa pengoptimalan tersebut berhasil. Bab III KESIMPULAN
Melalui penelitian ini, dapat disimpulkan bahwa algoritma genetika memiliki
potensi yang besar dalam menyelesaikan permasalahan optimisasi kombinatorial. Namun, terdapat tantangan yang perlu dihadapi, seperti penentuan representasi individu, pemilihan operator crossover dan mutasi, serta definisi kriteria evaluasi fitness yang sesuai. Dengan mengoptimalkan algoritma genetika melalui pemilihan yang bijak dari tipe seleksi, operator crossover dan mutasi, serta penyesuaian kriteria evaluasi fitness, kinerja algoritma genetika dapat ditingkatkan. Melalui pengujian dan evaluasi kinerja, algoritma genetika yang telah dioptimalkan menunjukkan hasil yang lebih baik dalam menyelesaikan berbagai permasalahan optimisasi kombinatorial dibandingkan dengan algoritma genetika standar. Oleh karena itu, penelitian ini memberikan kontribusi penting dalam pengembangan algoritma genetika untuk penyelesaian permasalahan optimisasi kombinatorial.
Pengambilan keputusan dalam 4 langkah: Strategi dan langkah operasional untuk pengambilan keputusan dan pilihan yang efektif dalam konteks yang tidak pasti