BAB 2 TINJAUAN PUSTAKA

dokumen-dokumen yang mirip
BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 DASAR TEORI. 2.1 Teka-Teki Silang

BAB 2 LANDASAN TEORI

ERWIEN TJIPTA WIJAYA, ST.,M.KOM

BAB 2 LANDASAN TEORI. 2.1 Algoritma Genetika

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

PERFORMANCE ALGORITMA GENETIKA (GA) PADA PENJADWALAN MATA PELAJARAN

Bab II Konsep Algoritma Genetik

Lingkup Metode Optimasi

BAB II TINJAUAN PUSTAKA

ALGORITMA GENETIKA Suatu Alternatif Penyelesaian Permasalahan Searching, Optimasi dan Machine Learning

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

Algoritma Evolusi Dasar-Dasar Algoritma Genetika

BAB 2 TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

Keywords Algoritma, Genetika, Penjadwalan I. PENDAHULUAN

Optimasi Multi Travelling Salesman Problem (M-TSP) Menggunakan Algoritma Genetika

OPTIMASI PENJADWALAN KEGIATAN BELAJAR MENGAJAR DENGAN ALGORITMA GENETIK

BAB III. Metode Penelitian

ALGORITMA GENETIKA. Suatu Alternatif Penyelesaian Permasalahan Searching, Optimasi dan Machine Learning

BAB 2 LANDASAN TEORI. 2.1 Algoritma

Aplikasi Algoritma Genetika Untuk Menyelesaikan Travelling Salesman Problem (TSP)

Genetic Algorithme. Perbedaan GA

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

Pendekatan Algoritma Genetika pada Peminimalan Fungsi Ackley menggunakan Representasi Biner

BAB II KAJIAN TEORI. memindahkan barang dari pihak supplier kepada pihak pelanggan dalam suatu supply

PENERAPAN ALGORITMA GENETIKA UNTUK TRAVELING SALESMAN PROBLEM DENGAN MENGGUNAKAN METODE ORDER CROSSOVER DAN INSERTION MUTATION

Zbigniew M., Genetic Alg. + Data Structures = Evolution Program, Springler-verlag.

Optimasi Penjadwalan Ujian Menggunakan Algoritma Genetika

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

BAB II KAJIAN PUSTAKA. Pada bab kajian pustaka berikut ini akan dibahas beberapa materi yang meliputi

BAB II KAJIAN TEORI. berkaitan dengan optimasi, pemrograman linear, pemrograman nonlinear, quadratic

Implementasi Algoritma Genetika dalam Pembuatan Jadwal Kuliah

BAB II LANDASAN TEORI. 2.1 Algoritma Genetika Dan Rapid Application Development (RAD)

KNAPSACK PROBLEM DENGAN ALGORITMA GENETIKA

Analisis Operator Crossover pada Permasalahan Permainan Puzzle

PENDAHULUAN. Latar Belakang

OPTIMALISASI SOLUSI TERBAIK DENGAN PENERAPAN NON-DOMINATED SORTING II ALGORITHM

BAB III IMPLEMENTASIALGORITMA GENETIK DAN ACS PADA PERMASALAHAN TRAVELLING SALESMAN PROBLEM

Tugas Mata Kuliah E-Bisnis REVIEW TESIS

BAB 3 ANALISIS DAN PERANCANGAN APLIKASI

BAB II LANDASAN TEORI

ABSTRAK. Universitas Kristen Maranatha

Pengantar Kecerdasan Buatan (AK045218) Algoritma Genetika

BAB I PENDAHULUAN. sejumlah aktivitas kuliah dan batasan mata kuliah ke dalam slot ruang dan waktu

IMPLEMENTASI ALGORITMA GENETIKA DALAM OPTIMASI JALUR PENDISTRIBUSIAN KERAMIK PADA PT. CHANG JUI FANG

BAB II TINJAUAN PUSTAKA. Khowarizmi. Algoritma didasarkan pada prinsiup-prinsip Matematika, yang

Algoritma Evolusi Real-Coded GA (RCGA)

OPTIMASI PENJADWALAN CERDAS MENGGUNAKAN ALGORITMA MEMETIKA

BAB 2 LANDASAN TEORI

BAB III PERANCANGAN. Gambar 3.1 di bawah ini mengilustrasikan jalur pada TSP kurva terbuka jika jumlah node ada 10:

PENYELESAIAN MINIMUM SPANNING TREE (MST) PADA GRAF LENGKAP DENGAN ALGORITMA GENETIKA MENGGUNAKAN TEKNIK PRUFER SEQUENCES

BAB II TINJAUAN PUSTAKA

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA) 45 Edisi... Volume..., Bulan 20.. ISSN :

BAB 2 LANDASAN TEORI

PENERAPAN ALGORITMA GENETIKA PADA PERENCANAAN LINTASAN KENDARAAN Achmad Hidayatno Darjat Hendry H L T

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

2 TINJAUAN PUSTAKA. 2.1 Peringkasan Teks

BAB II LANDASAN TEORI. digunakan sebagai alat pembayaran yang sah di negara lain. Di dalam

BAB III METODE PENELITIAN. Penelitian dilakukan dilingkungan Jurusan Ilmu Komputer Fakultas Matematika

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB II LANDASAN TEORI. Evolutionary Algorithm merupakan terminologi umum yang menjadi payung

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

Bab II. Tinjauan Pustaka

BAB II LANDASAN TEORI. Tahun 2001 pemilik CV. Tunas Jaya membuka usaha di bidang penjualan dan

Penjadwalan kegiatan merupakan pekerjaan yang tidak mudah, karena dalam. penyusunannya memerlukan perencanaan yang matang agar kegiatan tersebut

PEMAMPATAN MATRIKS JARANG DENGAN METODE ALGORITMA GENETIKA MENGGUNAKAN PROGRAM PASCAL

BAB III PEMBAHASAN. menggunakan model Fuzzy Mean Absolute Deviation (FMAD) dan penyelesaian

PERBANDINGAN KINERJA ALGORITMA GENETIK DAN ALGORITMA BRANCH AND BOUND PADA TRAVELLING SALESMAN PROBLEM

PERANCANGAN ALGORITMA GENETIKA UNTUK MENENTUKAN JALUR TERPENDEK. Kata kunci: Algoritma Genetika, Shortest Path Problem, Jalur Terpendek

8. Evaluasi Solusi dan Kriteria Berhenti Perumusan Masalah METODE PENELITIAN Studi Pustaka Pembentukan Data

Algoritma Genetika dan Penerapannya dalam Mencari Akar Persamaan Polinomial

Strategi Menggunakan Algoritma Genetika

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

PERANCANGAN ALGORITMA GENETIKA DALAM PENYUSUNAN TEKA-TEKI SILANG

ALGORITMA GENETIKA PADA PEMROGRAMAN LINEAR DAN NONLINEAR

APLIKASI ALGORITMA GENETIKA UNTUK PENJADWALAN MATA KULIAH

PENERAPAN ALGORITMA GENETIKA PADA PENYELESAIAN TRAVELLING SALESMAN PROBLEM (TSP)

PENYELESAIAN KNAPSACK PROBLEM MENGGUNAKAN ALGORITMA GENETIKA

PENGGUNAAN ALGORITMA GENETIKA UNTUK MENENTUKAN LINTASAN TERPENDEK STUDI KASUS : LINTASAN BRT (BUS RAPID TRANSIT) MAKASSAR

BAB III PEMBAHASAN. Berikut akan diberikan pembahasan mengenai penyelesaikan CVRP dengan

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI. dalam bentuk model untuk dipelajari, diuji, dan sebagainya. Banyak ahli memberikan

OPTIMASI QUERY DATABASE MENGGUNAKAN ALGORITMA GENETIK

PENERAPAN ALGORITMA GENETIKA PADA PERSOALAN PEDAGANG KELILING (TSP)

Prosiding Matematika ISSN:

PENENTUAN JARAK TERPENDEK PADA JALUR DISTRIBUSI BARANG DI PULAU JAWA DENGAN MENGGUNAKAN ALGORITMA GENETIKA. Abstraksi

BAB II KAJIAN TEORI. genetika, dan algoritma memetika yang akan digunakan sebagai landasan dalam

PENGENALAN ALGORITMA GENETIK

BAB III PEMBAHASAN. diperoleh menggunakan algoritma genetika dengan variasi seleksi. A. Model Matematika CVRPTW pada Pendistribusian Raskin di Kota

Implementasi Sistem Penjadwalan Akademik Fakultas Teknik Universitas Tanjungpura Menggunakan Metode Algoritma Genetika

PERBANDINGAN ALGORITMA EXHAUSTIVE, ALGORITMA GENETIKA DAN ALGORITMA JARINGAN SYARAF TIRUAN HOPFIELD UNTUK PENCARIAN RUTE TERPENDEK

Transkripsi:

20 BAB 2 TINJAUAN PUSTAKA 2.1. Pengantar Algoritma genetika merupakan algoritma yang lahir dari sebuah inspirasi teori evolusi Darwin yang mengatakan anggota dari spesies yang lemah lambat laun akan mengalami kepunahan sedangkan anggota dari spesies yang kuat akan tetap dapat bertahan hidup dan berkembang biak untuk kelangsungan hidup spesies tersebut. Algoritma genetika merupakan sebuah algoritma pencarian yang berdasarkan mekanisme seleksi alam dan genetika alam (Goldberg, 1989). 2.1.1. Istilah-istilah dasar dalam algoritma genetika Didalam algoritma genetika kita perlu mengetahui beberapa pengertian dari istilahistilah yang digunakan didalam algoritma tersebut, yaitu : 1. Gen (Genotype) adalah variabel dasar yang membentuk suatu kromosom, yang dapat dinyatakan dalam bentuk biner, float, integer dan karakter. 2. Allele adalah nilai dari suatu gen, dapat berbentuk biner, float, integer maupun karakter. 3. Kromosom adalah gabungan dari gen-gen yang membentuk arti tertentu. Dalam algoritma genetika ada beberapa macam bentuk kromosom, yaitu : a. Kromosom Biner : kromosom yang disusun dari gen-gen yang bernilai biner, kromosom ini memiliki tingkat keberhasilan yang tinggi. Kromosom ini baik digunakan untuk permasalahan yang parameter dan range nilainya tertentu. b. Kromosom Float : kromosom yang disusun dari gen-gen yang bernilai pecahan dan yang bernilai bulat. Kromosom ini merupakan model yang memiliki parameter yang banyak dan tingkat keberhasilan dari kromosom ini rendah. c. Kromosom String : kromosom yang disusun dari gen-gen yang bernilai string.

21 d. Kromosom Kombinatorial : kromosom yang disusun dari gen-gen yang dinilai berdasarkan urutannya. 4. Individu adalah kumpulan dari beberapa kromosom yang membentuk satu kesatuan, individu menyatakan salah satu kemungkinan solusi dari suatu permasalahan. 5. Populasi adalah sekumpulan individu yang akan diproses secara bersama-sama dalam satu siklus proses evolusi. 6. Generasi menyatakan satu kesatuan siklus proses evolusi. 7. Iterasi adalah bilangan yang menunjukkan tingkat generasi dan perulangan. 8. Nilai fitness menyatakan seberapa baik nilai dari suatu individu atau solusi yang dihasilkan, dan nilai inilah yang dijadikan acuan untuk mencari nilai optimal dari suatu permasalahan. 9. Fungsi pinalti : fungsi matematis yang dilibatkan dalam proses pencarian nilai optimum pada masalah optimasi dengan kendala. 10. Probabilitas adalah peluang terjadinya sesuatu. 2.1.2. Siklus algoritma genetika. David Golberg adalah orang yang pertama sekali yang memperkenalkan siklus algoritma genetika, dimana siklus ini dimulai dengan membangkitkan sejumlah individu sebagai populasi awal secara random/acak, populasi awal ini yang nantinya akan disebut dengan populasi orang tua/induk (Parents), kemudian setiap individu dihitung nilai fitnessnya. Proses selanjutnya adalah dengan menyeleksi individu yang memiliki nilai fitness paling baik. Kromosom-kromosom yang terpilih pada proses seleksi akan dilanjutkan ke proses selanjutnya yaitu proses reproduksi yang dikenal dengan proses crossover, kromosom yang dihasilkan dari proses crossover akan dilanjutkan ke proses berikutnya yaitu proses mutasi. Pada proses mutasi akan dilakukan penggantian gen yang kurang baik dengan gen yang dianggap baik, kromosom yang dihasilkan dari proses mutasi ini nantinya yang akan menjadi generasi baru (offspring), sehingga terbentuklah sebuah populasi baru. Pada setiap generasi, kromosom akan dievaluasi berdasarkan suatu fungsi evaluasi (Golberg & Richarson, 1997). Populasi baru yang telah dihasilkan akan mengalami siklus yang sama dengan populasi sebelumnya, demikian prosesnya berlangsung secara terus-

22 menerus hingga generasi ke-n yaitu menghasilkan generasi yang sesuai dengan harapan. Populasi Awal Evaluasi Fitness Seleksi Individu Populasi Baru Reproduksi : Crossover dan Mutasi Gambar 2.1. Siklus Algoritma Genetika oleh David Goldberg (Sutojo T. et al. 2010) Siklus yang diperkenalkan oleh david Goldberg kemudian diperbaiki oleh Zbigniew Michalewicz yaitu dengan menambah satu proses lagi yaitu proses Elitisme dan membalik proses reproduksi dahulu, kemudian proses seleksi. Populasi Awal Evaluasi Fitness Reproduksi : Crossover dan Mutasi Seleksi Individu Populasi Baru Elitisme Gambar 2.2. Siklus Algoritma Genetika hasil perbaikan yang diperkenalkan oleh Zbigniew Michalewicz (Sutojo T. et al. 2010)

23 2.1.3. Struktur umum algoritma genetika. Algoritma genetika memberikan suatu pilihan bagi penentuan nilai parameter dengan meniru cara reproduksi genetika, pembentukan kromosom baru serta seleksi alam seperti yang terjadi pada mahluk hidup. Algoritma genetika secara umum dapat diilustrasikan dalam diagram alir berikut ini : Start Representasi kromosom Inisialisasi populasi Fungsi objektif Seleksi Crossover Mutasi Generasi Baru Kriteria optimal? Tidak Ya Finish Gambar 2.3. Diagram Alir Algoritma Genetika

24 Secara umum, Rexhepi et al. (2013) mengemukakan bahwa struktur umum dari suatu algoritma genetika dapat didefenisikan dengan langkah-langkah sebagai berikut: 1. Membangkitkan populasi awal Populasi awal dibangkitkan secara random sehingga didapat solusi awal. Populasi itu sendiri terdiri atas sejumlah kromosom yang merepresentasikan solusi yang diinginkan. 2. Membentuk generasi baru Untuk membentuk generasi baru digunakan operator reproduksi yaitu seleksi, crossover dan mutasi. Proses ini dilakukan secara berulang-ulang sehingga didapatkan jumlah kromosom yang cukup untuk membentuk generasi baru, dimana generasi baru ini merupakan representasi dari solusi baru. Generasi baru ini dikenal dengan istilah anak (offspring). 3. Evaluasi solusi Pada setiap generasi, kromosom akan melalui proses evaluasi dengan menggunakan alat ukur yang dinamakan fitness. Nilai fitness suatu kromosom menggambarkan kualitas kromosom dalam populasi tersebut. Proses ini akan mengevaluasi setiap populasi dengan menghitung nilai fitness setiap kromosom dan mengevaluasinya sampai terpenuhi kriteria berhenti. Jika kriteria berhenti belum terpenuhi akan membentuk generasi baru dengan mengulang langkah 2. Beberapa kriteria berhenti yang sering digunakan yaitu berhenti pada generasi tertentu, berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai fitness tertinggi tidak berubah dan berhenti bila dalam n generasi berikut tidak didapatkan nilai fitness yang lebih tinggi. Goldberg (1989) mengemukakan bahwa algoritma genetika memiliki beberapa karakteristik yang harus diketahui sehingga dapat dibedakan dari prosedur pencarian atau optimasi lainnya, yaitu : 1. Algoritma Genetika bekerja dengan pengkodean dari himpunan solusi permasalahan dengan berdasarkan parameter yang telah ditetapkan dan bukan parameter itu sendiri.

25 2. Algoritma Genetika melakukan pencarian pada sebuah populasi dari sejumlah individu-individu yang merupakan solusi permasalahan bukan hanya dari sebuah individu. 3. Algoritma Genetika merupakan informasi fungsi obyektif (fitness), sebagai cara untuk mengevaluasi individu yang mempunyai solusi terbaik, bukan turunan dari suatu fungsi. 4. Algoritma Genetika menggunakan aturan-aturan transisi peluang, bukan aturan-aturan deterministik. Menurut Kuhn et al. (2013), variabel dan parameter yang digunakan pada algoritma genetika adalah: 1. Fungsi fitness (fungsi tujuan) yang dimiliki oleh masing-masing individu untuk menentukan tingkat kesesuaian individu tersebut dengan kriteria yang ingin dicapai. 2. Populasi jumlah individu yang dilibatkan pada setiap generasi. 3. Probabilitas terjadinya persilangan (crossover) pada suatu generasi. 4. Probabilitas terjadinya mutasi pada setiap individu. 5. Jumlah generasi yang akan dibentuk yang menentukan lama penerapan dari algoritma genetika. 2.2. Pengkodean dalam Algoritma Genetika Pengkodean merupakan suatu bagian yang paling penting apabila kita menggunakan algoritma genetika. Apapun masalah optimasi yang akan diselesaikan dengan Algoritma Genetika perlu dikodekan kedalam kromosom secara tepat. Hal ini disebabkan dalam proses komputasi yang sebenarnya, kromosom-kromosom itulah yang nantinya akan diproses ke dalam Algoritma Genetika. Pengkodean adalah suatu teknik yang dipakai untuk menyatakan populasi awal sebagai calon solusi suatu masalah kedalam suatu kromosom (Gen dan Cheng, 2000) sebagai suatu kunci utama dari permasalahan ketika menggunakan algoritma genetika. Pembentukan kromoson menghasilkan string yang kemudian disebut kromosom. String terdiri dari sekumpulan bit yang dikenal sebagai gen, jadi satu kromosom terdiri dari beberapa gen. Berdasarkan jenis symbol yang digunakan

26 sebagai nilai suatu gen atau disebut dengan allele. Adapun metode pengkodean dalam algoritma genetika dapat diklasifikasikan sebagai berikut : pengkodean biner, bilangan rill, bilangan bulat dan struktur data (Gen dan Cheng, 2000). Sedangkan menurut (Kumar, 2012) ada bermacam-macam teknik encoding yang dapat dilakukan dalam algoritma genetika. Beberapa teknik encoding itu antara lain adalah binary encoding, permutation encoding, value encoding serta tree encoding. Menurut Varnamkasthi & Lee (2012), beberapa macam encoding pada algoritma genetika adalah : 1. Binary Encoding Encoding jenis ini sering digunakan. Kromosom dari binary encoding ini berupa kumpulan dari nilai biner 0 dan 1. Contohnya: Chromosome1 : 0101010100110110 Chromosome2 : 1011011100011110 Dalam Binary Encoding kemungkinkan dihasilkan suatu kromosom yang memiliki nilai allele yang lebih sedikit atau kecil, keuntungan pengkodean biner ini adalah sederhana untuk diciptakan dan mudah dimanipulasi (Davis, 1991). Di pihak lain pengkodean biner ini memiliki kekurangan yaitu tidak dapat digunakan untuk beberapa permasalahan dan terkadang pengkoreksian harus dilakukan setelah proses crossover dan mutasi dilakukan. Salah satu permasalahan yang menggunakan encoding adalah menghitung nilai maksimal dari suatu fungsi. 2. Permutation Encoding/ pengkodean bilangan Riil Kromosom dari permutation encoding ini berupa kumpulan dari nilai integer yang mewakili suatu posisi dalam sebuah urutan. Biasanya digunakan pada permasalahan TSP, penjadwalan dan masalah optimasi lainnya. Contohnya: Chromosome 1 : 1 2 3 4 5 6 7 8 9 Chromosome 2 : 4 7 1 2 5 9 3 6 0

27 3. Value Encoding Kromosom dari value encoding berupa kumpulan dari suatu nilai, yang bisa berupa macam-macam nilai sesuai dengan permasalahan yang dihadapi, seperti bilangan real, char atau objek yang lain. Encoding ini merupakan pilihan yang bagus untuk beberapa permasalahan khusus, biasanya diperlukan metode khusus untuk memproses crossover dan mutasinya sesuai dengan permasalahan yang dihadapi. Contohnya: Chromosome 1 : A B C D E F G Chromosome 2 : H I J K LM N 4. Tree Encoding Tree Encoding biasanya digunakan pada genetic programming. Kromosom yang digunakan berupa sebuah tree dari beberapa objek, seperti fungsi atau command pada genetic programming. Pengkodean bilangan riil adalah suatu pengkodean bilangan dalam bentuk riil. Masalah optimalisasi fungsi (Gen & Cheng, 2000) dan optimalisasi kendala (Eshelman & Schaffer, 1993) lebih tepat jika diselesaikan dengan pengkodean bilangan riil karena struktur topologi ruang genotif untuk pengkodean bilangan riil identik dengan ruang fenotifnya, sehingga sangat mudah untuk membentuk operator genetika yang efektif dengan cara menggunakan teknik yang berasal dari metode konvensional. 2.3. Operator dalam Algoritma Genetika Algoritma genetika adalah merupakan suatu proses pencarian yang heuristik dan acak sehingga penekanan pemilihan operator yang digunakan sangat menentukan keberhasilan algoritma genetika dalam menemukan solusi optimum suatu masalah yang diberikan. Hal yang harus diperhatikan adalah menghindari terjadinya konvergensi premature, yaitu mencapai solusi optimum yang belum waktunya, dalam arti bahwa solusi yang diperoleh adalah hasil optimum lokal.

28 Operator genetika yang digunakan setelah proses evaluasi tahap pertama membentuk populasi baru dari generasi sekarang. Operator-operator tersebut adalah operator seleksi, crossover dan mutasi (Malhotra et al. 2011). 2.3.1. Operator Seleksi Seleksi memegang peranan yang sangat penting dalam keberhasilan algoritma genetika yaitu memilih kromosm-kromosom dalam populasi hingga didapatkan kromosom terbaik yang memiliki peluang yang lebih besar untuk dijadikan populasi awal. Seleksi bertujuan memberikan kesempatan reproduksi yang lebih besar bagi anggota populasi yang paling fit. Langkah pertama dalam seleksi ini adalah pencarian nilai fitness. Masing-masing individu dalam suatu wadah seleksi akan menerima probabilitas reproduksi yang tergantung pada nilai objektif dirinya sendiri terhadap nilai objektif dari semua individu dalam wadah seleksi tersebut. Kemampuan algoritma genetika untuk memproduksi kromosom yang lebih baik secara progresif tergantung pada penekanan selektif (selective pressure) yang diterapkan ke populasi. Penekanan selektif dapat diterapkan dalam dua cara. Cara pertama adalah membuat lebih banyak kromosom anak yang dipelihara dalam populasi dan memilih hanya kromosom-kromosom terbaik bagi generasi berikut. Walaupun orang tua dipilih secara acak, metode ini akan terus menghasilkan kromosom yang lebih baik berhubungan dengan penekanan selektif yang diterapkan pada individu anak tersebut. Menurut Sharma et al. (2014), ada beberapa metode untuk memilih kromosom yang sering digunakan antara lain adalah seleksi roda rolet (roulette wheel selection), seleksi ranking (rank selection) dan seleksi turnamen (tournament selection). Dalam penelitian ini, metode yang digunakan adalah seleksi roda rolet (roulette wheel selection), Pada seleksi ini, orang tua dipilih berdasarkan fitness mereka. Semakin baik kualitas suatu kromosom akan lebih besar peluangnya untuk terpilih. Probabilitas suatu individu terpilih untuk proses crossover sebanding dengan fitness-nya. Cara penyeleksian ini merupakan peniruan dari permainan roda rolet.

29 2.3.2. Operator Crossover Crossover (perkawinan silang) bertujuan menambah keanekaragaman string dalam populasi dengan penyilangan antar string yang diperoleh dari sebelumnya. Beberapa jenis crossover tersebut adalah: 1. Crossover satu titik / one point crossover Pada crossover dilakukan dengan memisahkan suatu string menjadi dua bagian dan selanjutnya salah satu bagian dipertukarkan dengan salah satu bagian dari string yang lain yang telah dipisahkan dengan cara yang sama. Proses yang demikian dinamakan operator crossover satu titik seperti terlihat pada gambar 2.1. Tabel 2.1 Contoh Crossover satu titik Kromosom Orangtua 1 10101010 Kromosom Orangtua 2 11000111 Keturunan 10100111 2. Crossover dua titik/ two point crossover Proses crossover ini dilakukan dengan memilih dua titik crossover. Kromosom keturunan kemudian dibentuk dengan barisan bit dari awal kromosom sampai titik crossover pertama disalin dari orang tua pertama, bagian dari titik crossover pertama dan kedua disalin dari orang tua kedua, kemudian selebihnya disalin dari orangtua pertama lagi seperti terlihat pada gambar 2.2. Tabel 2.2 Contoh Crossover dua titik Kromosom Orangtua 1 10101010 Kromosom Orangtua 2 11000111 Keturunan 10100110

30 3. Crossover seragam Crossover seragam manghasilkan kromosom keturunan dengan menyalin bit-bit secara acak dari kedua orang tuanya seperti terlihat pada gambar 2.3. Tabel 2.3 Contoh Crossover seragam Kromosom Orangtua 1 10101010 Kromosom Orangtua 2 11000111 Keturunan 11101111 2.3.3. Operator Mutasi Mutasi merupakan operator dalam algoritma genetika yang bertujuan untuk mengubah gen-gen tertentu dari sebuah kromosom. Mutasi merupakan sebuah proses dengan cara mengubah nilai dari satu atau beberapa gen dalam suatu kromosom. Operasi crossover yang dilakukan pada kromosom dengan tujuan untuk memperoleh kromosom-kromosom baru sebagai kandidat solusi pada generasi mendatang dengan fitness yang lebih baik, dan lama-kelamaan menuju solusi optimum yang diinginkan. Akan tetapi, untuk mencapai hal ini, penekanan selektif juga memegang peranan yang penting. Jika dalam proses pemilihan kromosom-kromosom cenderung pada kromosom yang memiliki fitness yang tinggi saja, konvergensi premature, yaitu mencapai solusi yang optimal lokal sangat mudah terjadi. Probabilitas mutasi dari suatu gen biasanya dipilih sangat kecil. Operasi mutasi merupakan operasi yang menyangkut satu kromosom tertentu. Beberapa cara operasi mutasi diterapkan dalam algoritma genetika menurut jenis pengkodean terhadap phenotype, antara lain : 1. Mutasi dalam pengkodean biner Mutasi pada pengkodean biner merupakan operasi yang sangat sederhana. Proses yang dilakukan adalah menginversi nilai bit pada posisi tertentu yang terpilih secara acak atau menggunakan skema

31 tertentu pada kromosom, yang disebut inversi bit seperti terlihat pada tabel 2.4 dibawah ini. Tabel 2.4 Contoh Mutasi dalam pengkodean biner Kromosom sebelum mutasi 10101010 Kromosom setelah mutasi 11101010 2. Mutasi dalam pengkodean permutasi Proses mutasi yang dilakukan dalam pengkodean biner dengan mengubah langsung bit-bit pada kromosom tidak dapat dilakukan pada pengkodean permutasi karena konsistensi urutan permutasi harus diperhatikan. Salah satu cara yang dapat dilakukan adalah dengan memilih dua posisi (locus) dari kromosom dan kemudian nilainya saling dipertukarkan seperti terlihat pada tabel 2.5 dibawah ini. Tabel 2.5 Contoh Mutasi dalam pengkodean permutasi Kromosom sebelum mutasi 1 2 3 4 5 6 7 8 9 Kromosom setelah mutasi 1 5 3 4 5 7 7 8 9 3. Mutasi dalam pengkodean nilai Mutasi pada pengkodean nilai hampir sama dengan yang dilakukan pada pengkodean biner, tetapi yang dilakukan bukan menginversi nilai bit. Penerapannya bergantung pada jenis nilai yang digunakan. Sebagai contoh untuk nilai rill, proses mutasi dapat dilakukan seperti yang dilakukan pada pengkodean permutasi, dengan saling mempertukarkan nilai dua gen pada kromosom. Tabel 2.6 Contoh Mutasi dalam pengkodean nilai Kromosom sebelum mutasi 1,43 1,09 4,51 9,11 6,94 Kromosom setelah mutasi 1,43 1,19 4,51 9,11 6,84

32 4. Mutasi dalam pengkodean pohon Mutasi dalam pengkodean pohon dapat dilakukan antara lain dengan cara mengubah operator (+, -, *, /) atau nilai yang terkandung pada suatu verteks pohon yang dipilih atau dapat juga dilakukan dengan memilih dua verteks dari pohon dan saling mempertukarkan operator atau nilainya. 2.4. Kontrol Parameter dalam Algoritma Genetika Kontrol parameter dalam algoritma genetika merupakan salah satu bagian paling penting dalam penerapan algoritma genetika. Parameter ini diperlukan untuk mengendalikan operator-operator dalam algoritma genetika. Pemilihan parameter genetika menentukan penampilan kinerja algoritma genetika dalam memecahkan persoalan. Parameter dalam algoritma (Hopgood, 2001) adalah : genetika yang disarankan menurut De Jong 1. Probabilitas penyilangan cukup besar (berkisar 60 % sampai 70 %). 2. Probabilitas Mutasi cukup kecil (sebuah gen untuk sebuah kromosom). 3. Ukuran populasi berkisar antara 50 sampai 500 kromosom. 2.4.1. Probabilitas persilangan (crossover probability) Probabilitas crossover menyatakan seberapa sering proses crossover akan terjadi antara dua kromosom induk/orang tua. Dari hasil penelitian yang telah dilakukan sebelumnya menyatakan bahwa angka probabilitas crossover sebaiknya cukup tinggi, yaitu antara 80 % sampai dengan 95 % untuk memberikan hasil yang baik. Untuk beberapa masalah tertentu probabilitas crossover 60 % memberikan hasil yang lebih baik (Marek, 1998). Probability Crossover dapat digunakan dengan rumus sebagai berikut : Pc = Jumlah % x Banyaknya individu yang ada

33 2.4.2. Probabilitas mutasi (mutation probability) Probabilitas mutasi menunjukkan seberapa sering gen-gen yang menyusun sebuah kromosom akan dimutasikan. Jika tidak terjadi mutasi atau probabilitas mutasi 0 % maka keturunan yang dihasilkan setelah crossover tidak akan berubah, dan jika terjadi mutasi pada bagian kromosom yang telah dipilih akan mengalami perubahan. Jika probabilitas 100 %, semua kromosom akan dilakukan mutasi dan keseluruhan kromosom akan berubah. Probabilitas dalam mutasi sebaiknya diberi nilai yang kecil. Probabilitas mutasi digunakan untuk mendapatkan rata-rata satu mutasi per kromosom yaitu angka/allele = 1 / (panjang kromosom). Dari hasil yang sudah pernah dicoba para peneliti yang menunjukkan bahwa angka probabilitas terbaik adalah 0,5 % - 1 % hal ini disebabkan oleh karena untuk menjaga perbedaan kromosom dalam populasi agar terhindar dari konvergensi premature. Probability Mutasi dapat digunakan dengan rumus sebagai berikut : Pm = Jumlah % x (Jumlah Individu x Banyaknya gen dalam 1 Individu) 2.4.3. Jumlah individu Jumlah individu yaitu banyaknya jumlah kromosom yang terdapat dalam satu populasi. Jika satu populasi hanya memiliki kromosom dengan junlah yang sedikit menyebabkan algoritma akan memiliki variasi yang akan diberikan pada proses crossover, sebaliknya jika terdapat jumlah kromosom dalam satu populasi yang terlalu banyak maka algoritma genetika akan berjalan lambat untuk menemukan solusi yang diharapkan. Ukuran populasi yang sering digunakan oleh para peneliti sebelumnya antara 20 30 kromosom, tetapi ada juga peneliti yang menggunakan 50-100 kromosom dengan hasil yang baik. Ukuran populasi yang terbaik adalah tergantung dari pengkodean yang dilakukan yaitu ukuran dari barisan yang dienkodekan. 2.4.4. Jumlah populasi

34 Jumlah populasi yaitu banyaknya populasi atau banyaknya generasi yang akan dihasilkan yang digunakan sebagai batas akhir dari semua proses dalam algoritma genetika yaitu proses seleksi, proses crossover dan proses mutasi. 2.5. Greedy Crossover Metode Greedy Crossover (GX) adalah salah satu metode crossover atau perkawinan silang yang sangat spesifik yang diterapkan pada Algoritma Genetika selain dari metode-metode crossover klasik yang ada pada algoritma genetika tersebut. Metode Greedy Crossover ini pertama kali ditemukan oleh Grefenstette et al. (1985). Metode Greedy Crossover dapat diterapkan apabila semua gen yang terdapat dalam sebuah kromosom tersebut berbeda, dan susunan seluruh gen untuk kedua kromosom harus sama atau identik dan hanya bisa di order pada gen kromosom yang bervariasi, kedua kondisi tersebut selalu benar dan dapat diterapkan berkali-kali. Greedy crossover ini bekerja dengan membuang gen yang tidak sesuai atau tidak memenuhi kondisi yang diinginkan pada kromosom induk pertama / father dan menggantinya dengan gen yang lain pada kromosom induk kedua / mother. Metode Greedy Crossover memiliki prinsip yang sama dengan algoritma Greedy dan sesuai dengan namanya greedy dalam bahasa Indonesia berarti tamak atau rakus dan algoritma ini memiliki prinsip Take what you can get now yang berarti mengambil apa yang bisa anda dapatkan sekarang. Algoritma greedy adalah algoritma untuk menyelesaikan permasalahan secara bertahap (Brassard G, 1996). Tahap penyelesaiannya adalah: 1. Mengambil pilihan yang terbaik yang dapat diperoleh pada saat itu tanpa memperhatikan konsekuensi ke depan. 2. Berharap bahwa dengan memilih optimum lokal pada setiap langkah akan berakhir dengan optimum global. Sehingga dengan kata lain, dapat disimpulkan bahwa langkah dari algoritma greedy ini adalah mengambil pilihan yang terbaik yang dapat diperoleh pada saat itu tanpa memperhatikan konsekuensi ke depan, atau dengan prinsip take what you can get now, berharap bahwa dengan memilih optimum lokal pada setiap langkah akan berakhir dengan optimum global.

35 Metode Greedy Crossover yang digunakan adalah dengan memilih kromosom pertama sebagai langkah awal dan melihat seluruh gen yang terdapat pada kromosom tersebut dari salah satu orang tua dan membandingkannya dengan orang tua kedua. Jika salah satu gen dalam kromosom orang tua pertama ada yang tidak baik atau tidak memenuhi syarat maka akan dipilih gen pada orang tua kedua. Pertukaran gen ini hanya terjadi pada posisi yang sama dengan gen yang rusak tersebut, proses seperti ini akan dilakukan secara berulang-ulang sampai kondisi berhenti terpenuhi. Prosedur dari greedy crossover ini merupakan prosedur penyesuaian lokal dan perbaikan pada sebuah kromosom. Dalam pengimplementasiannya metode greedy crossover menggunakan beberapa elemen yaitu : 1. Himpunan Kandidat, (C). Himpunan ini berisi elemen-elemen pembentuk solusi 2. Himpunan Solusi, (S). Himpunan ini berisi kandidat yang terpilih sebagai solusi persoalan, atau himpunan bagian dari himpunan kandidat. 3. Fungsi seleksi Fungsi seleksi merupakan fungsi yang ada pada setiap langkah memilih kandidat yang paling memungkinkan guna mencapai solusi optimal. 4. Fungsi Kelayakan (Feasible) Fungsi kelayakan adalah fungsi yang memeriksa apakah suatu kandidat yang telah terpilih dapat memberikan solusi yang layak dan tidak melanggar batasan atau constraints yang ada. 2.6. Optimalisasi Rostering Mata Pelajaran 2.6.1. Pengertian Optimalisasi Optimalisai merupakan suatu upaya sistematis untuk memilih elemen terbaik dari suatu kelompok atau kumpulan yang ada. Optimalisasi didalam konteks matematika dapat dinyatakan sebagai usaha sistematis untuk mencari nilai minimum atau

36 maksimum dari suatu fungsi. Optimalisasi ini dipakai hampir disemua bidang keilmuan antara lain bidang teknik, ilmu sosial, sains, ekonomi, bisnis maupun dibidang pendidikan. Banyak permasalahan dalam bidang-bidang tersebut yang dapat dinyatakan sebagai permasalahan optimalisassi seperti meminimalkan biaya, mempersingkat waktu, memaksimalkan keuntungan dan kualitas. Optimalisasi merupakan proses dalam mencari nilai yang terbaik berdasarkan fungsi tujuan dengan daerah asal yang telah didefenisikan. Pengertian Optimalisasi menurut Kamus Besar Bahasa Indonesia (Depdikbud, 1995) yaitu optimalisasi berasal dari kata optimal yang berarti terbaik, tertinggi jadi optimalisasi adalah suatu proses meninggikan atau meningkatkan. Optimalisai banyak juga diartikan sebagai ukuran dimana semua kebutuhan dapat dipenuhi dari kegiatan-kegiatan yang dilaksanakan. Berdasarkan uraian diatas optimalisasi dapat diartikan sebagai serangkaian proses secara sistematis yang dilakukan dengan metode yang paling baik dalam suatu pekerjaan dengan harapan dapat meningkatkan kualitas dari pekerjaan tersebut secara efektif dan efisien. 2.6.2. Rostering/Penjadwalan Mata Pelajaran Pembuatan jadwal mata pelajaran merupakan salah satu bagian yang paling penting agar terlaksananya proses belajar mengajar dengan baik, efektif dan efisien pada suatu lembaga pendidikan formal. Penjadwalan adalah kegiatan pengalokasian sumbersumber atau mesin-mesin yang ada untuk menjalankan sekumpulan tugas dalam jangka waktu tertentu (Baker, 1974). Penjadwalan juga didefinisikan sebagai rencana pengaturan urutan kerja serta pengalokasian sumber, baik waktu maupun fasilitas untuk setiap operasi yang harus diselesaikan (Vollman, 1998). Penjadwalan mata pelajaran merupakan proses penyusunan jadwal pelaksanaan yang menginformasikan sejumlah mata pelajaran, guru yang mengajar, ruang, serta waktu kegiatan belajar mengajar. Pada umumnya penyusunan jadwal mata pelajaran dilakukan secara manual, yaitu dengan mencari kolom mana saja yang masih kosong, kemudian menempatkan jadwal pada kolom tersebut. Suatu jadwal di sekolah akan sulit untuk dibuat dengan cara seperti ini jika jumlah kelas dan siswa yang tersedia dalam sekolah tersebut terbatas dan jumlah tenaga pengajar/guru yang tersedia sangat

37 banyak. Untuk menyusun jadwal mata pelajaran yang baik, pembuat jadwal perlu memperhatikan berbagai aspek yang mempengaruhi jadwal mata pelajaran tersebut. Dari aspek guru, pembuat jadwal perlu memperhatikan kemungkinan guru yang bersangkutan hanya ingin mengajar suatu mata pelajaran pada hari dan jam tertentu. Pembuat jadwal juga harus memperhatikan keterbatasan guru pengajar yang dimiliki oleh sekolah. Pembuat jadwal juga perlu memperhatikan dari aspek mata pelajaran yang diajarkan. Sebagai contoh, mata pelajaran matematika seharusnya diajarkan 4 jam dalam seminggu dengan maskimal 2 jam dalam satu hari. Selain itu, pembuat jadwal juga perlu memperhatikan bahwa jadwal yang dibuat tidak ada bentrokan jam antar pengajar satu dengan pengajar yang lain dalam satu waktu dan kelas tertentu, atau satu pengajar yang berada di lebih dari satu kelas pada satu waktu tertentu. Berdasarkan aspek-aspek di atas, seharusnya jadwal yang disusun dapat menjadi solusi sehingga tidak ada bentrokan jadwal pengajar, mata pelajaran, atau kelas yang terjadi, dan tentunya memenuhi persyaratan kegiatan belajar yang sudah ditentukan. Oleh karena itu dibutuhkan metode optimasi yang dapat diterapkan untuk menyusun jadwal mata pelajaran. Dalam penelitian ini akan dilakukan optimalisai penjadwalan mata pelajaran dengan menggunakan dan menganalisa metode-metode yang heuristik, dimana permasalahan yang akan dijadikan objek penelitian yaitu masalah optimalisasi pada penjadwalan mata pelajaran di SMP Negeri 5 Pematangsiantar, dimana penyusunan jadwal mata pelajaran di sekolah tersebut yang dilakukan setiap memasuki tahun ajaran baru selalu mengalami beberapa kendala terkait dengan pengelolaan penjadwalan yang masih dilakukan secara manual menggunakan program Microsoft Excel, hal tersebut sangat tidak efektif karena prosesnya membutuhkan waktu yang lama dan informasi yang dihasilkan tidak akurat, sehingga banyak para guru yang merasa kecewa atas jadwal mengajar mereka oleh karena banyak terjadi kesalahan didalam jadwal tersebut, seperti seorang guru masuk dikelas yang berbeda pada hari dan jam yang sama, seorang guru masuk di kelas yang sama pada hari yang berbeda. Hal seperti ini selalu terjadi pada saat tahun ajaran atau diawal semester. Peristiwa ini terjadi karena beberapa faktor yaitu banyaknya jumlah tenaga pendidik yang tersedia sementara jumlah ruangan kelas dan peserta didik yang terbatas serta banyaknya

38 permintaan guru yang tidak bisa masuk untuk mengajar di hari-hari tertentu. Sehingga hal ini sangat menyulitkan bagi pegawai yang bekerja dibagian kurikulum. 2.7. Penelitian Terdahulu Dalam melakukan penelitian, penulis menggunakan beberapa penelitian yang relevan dengan permasalahan yang diteliti yang digunakan sebagai acuan agar penelitian ini berjalan dengan lancar. Algoritma genetika sering terjadi konvergen prematur dalam mencari daerah global optimum (Xinyang, 2011). Algoritma genetika memiliki kelemahan dalam menyelesaikan penjadwalan mata kuliah yaitu sering terjebak pada nilai optimum lokal (Sivanandan, 2008). Ongko (2015) melakukan analisis keterkaitan jumlah gen yang mengalami crossover terhadap kinerja algoritma genetika. Penelitian dilakukan dengan membandingkan whole arithmetic crossover, simple arithmetic dan single arithmatic crossover. Hasil penelitian menunjukkan bahwa semakin banyak gen yang terlibat dalam proses crossover akan meningkatkan kinerja algoritma genetika. hasil lainnya menyatakan bahwa whole arithmetic crossover lebih baik daripada simple arithmetic dan single arithmatic crossover. Ismkhan & Zamanifar (2012) melakukan penelitian dengan dilatarbelakangi bahwa metode greedy crossover klasik lambat dan tidak begitu akurat. Penelitiannya dilakukan dengan pengembangan atas metode greedy crossover untuk meningkatkan kinerja algoritma genetika. Hasil yang diperoleh menunjukkan peningkatan kinerja algoritma dengan kompleksitas waktu O(n). Algoritma greedy yang diimplementasikan ke dalam perangkat lunak dapat digunakan untuk menyelesaikan knapsack problem pada dunia transportasi dengan waktu yang lebih cepat dibandingkan dengan menggunakan perhitungan manual dan algoritma brute force (Rachmawati & Candra, 2013). Algoritma greedy adalah salah satu metode yang praktis dalam mencari solusi yang baik pada masalah Traveling Salesman Problem, algoritma ini menghasilkan semua daftar titik dalam grafik dari biaya yang terkecil sampai dengan biaya terbesar (Zoubi & Salam, 2014).

39 Tabel. 2.7. Penelitian yang relevan No Nama dan Metode yang Hasil Penelitian Tahun Peneliti Digunakan 1. Sallabi dan El-Haddad (2009) 2. Ismkhan dan Zamanifar (2012) 3. Rachmawati dan Candra, (2013) Genetic Algorithmn hybrid Genetic Algorithmn and Greedy Crossover Greedy Algorithmn Mereka melakukan modifikasi pada metode crossover yang disebut dengan swapped inverted crossover (SIC), kemudian melakukan multi mutation operation dan terakhir menambahkan metode partial local mutation operation. Hasil yang diperoleh menunjukkan peningkatan kinerja algoritma genetika. Penelitiannya dilakukan dengan pengembangan atas metode greedy crossover untuk meningkatkan kinerja algoritma genetika pada kasus TSP. Algoritma greedy yang diimplementasikan ke dalam perangkat lunak dapat digunakan untuk menyelesaikan knapsack problem pada dunia transportasi dengan waktu yang lebih cepat.

40 Tabel. 2.7. Penelitian yang relevan (Lanjutan) No Nama dan Tahun Peneliti 4. Zoubi dan Salam (2014) Metode yang Digunakan Genetic Algorithmn and Greedy Algorithmn 5. Ongko (2015) Genetic Algorithmn Hasil Penelitian Dari hasil penerapannya Algoritma GA-Greedy digunakan sangat praktis dalam mencari pendekatan dinamis dan statis pada crossover dalam menyelesaikan masalah Traveling Salesman Problem. Penelitian dilakukan dengan membandingkan whole arithmetic crossover, simple arithmetic dan single arithmatic crossover. Hasil penelitian menunjukkan bahwa semakin banyak gen yang terlibat dalam proses crossover akan meningkatkan kinerja algoritma genetika. hasil lainnya menyatakan bahwa whole arithmetic crossover lebih baik daripada simple arithmetic dan single arithmatic crossover. 6. Otman dan Jaafar (2011) Genetic Algorithmn Penelitian yang dilakukan dengan membandingan enam metode crossover pada dataset TSPBERLIN52 yang menyatakan bahwa metode ordered crossover merupakan metode yang lebih baik dari pada metode crossover klasik.