BAB II LANDASAN TEORI

dokumen-dokumen yang mirip
BAB I PENDAHULUAN. sejumlah aktivitas kuliah dan batasan mata kuliah ke dalam slot ruang dan waktu

BAB 2 TINJAUAN PUSTAKA

BAB 2 DASAR TEORI. 2.1 Teka-Teki Silang

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

Optimasi Penjadwalan Ujian Menggunakan Algoritma Genetika

BAB 2 LANDASAN TEORI. 2.1 Algoritma Genetika

OPTIMASI PENJADWALAN CERDAS MENGGUNAKAN ALGORITMA MEMETIKA

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

ERWIEN TJIPTA WIJAYA, ST.,M.KOM

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

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

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

PENJADWALAN UJIAN AKHIR SEMESTER DENGAN ALGORITMA GENETIKA (STUDI KASUS JURUSAN TEKNIK INFORMATIKA UNESA)

BAB III. Metode Penelitian

Pengantar Kecerdasan Buatan (AK045218) Algoritma Genetika

Genetic Algorithme. Perbedaan GA

Implementasi Algoritma Genetika dalam Pembuatan Jadwal Kuliah

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

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

BAB 3 ANALISIS DAN PERANCANGAN APLIKASI

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

Pendekatan Algoritma Genetika pada Peminimalan Fungsi Ackley menggunakan Representasi Biner

Aplikasi Algoritma Genetika Untuk Menyelesaikan Travelling Salesman Problem (TSP)

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

Generator Jadwal Perkuliahan Menggunakan Algoritma Genetika

Keywords Algoritma, Genetika, Penjadwalan I. PENDAHULUAN

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

PENGEMBANGAN APLIKASI PENJADWALAN KULIAH SEMESTER I MENGGUNAKAN ALGORITMA GENETIKA

Lingkup Metode Optimasi

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

OPTIMASI PENJADWALAN KEGIATAN BELAJAR MENGAJAR DENGAN ALGORITMA GENETIK

BAB 2 LANDASAN TEORI

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

BAB II LANDASAN TEORI. Suatu graph merupakan suatu pasangan { E(G), V(G) } dimana :

PENJADWALAN KULIAH DENGAN MENGGUNAKAN ALGORITMA GENETIKA STUDI KASUS FAKULTAS TEKNIK UNIVERSITAS SUMATERA UTARA TESIS

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

BAB III PENJADWALAN KULIAH DI DEPARTEMEN MATEMATIKA DENGAN ALGORITMA MEMETIKA. Penjadwalan kuliah di departemen Matematika UI melibatkan

PERFORMANCE ALGORITMA GENETIKA (GA) PADA PENJADWALAN MATA PELAJARAN

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

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

TEKNIK PENJADWALAN KULIAH MENGGUNAKAN METODE ALGORITMA GENETIKA. Oleh Dian Sari Reski 1, Asrul Sani 2, Norma Muhtar 3 ABSTRACT

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

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

KNAPSACK PROBLEM DENGAN ALGORITMA GENETIKA

Bab II Konsep Algoritma Genetik

PENDAHULUAN. Latar Belakang

Tugas Mata Kuliah E-Bisnis REVIEW TESIS

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

BAB I PENDAHULUAN. 1.1 Latar Belakang

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

Algoritma Evolusi Dasar-Dasar Algoritma Genetika

ISSN VOL. 12, NO. 2, OKTOBER 2011

Analisis Operator Crossover pada Permasalahan Permainan Puzzle

BAB II TINJAUAN PUSTAKA

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

BAB 2 LANDASAN TEORI

BAB III METODE PENELITIAN

PENERAPAN ALGORITMA GENETIKA PADA PENYELESAIAN TRAVELLING SALESMAN PROBLEM (TSP)

HASIL DAN PEMBAHASAN. Gambar 7 Diagram alur proses mutasi.

2 TINJAUAN PUSTAKA. 2.1 Peringkasan Teks

BAB 2 TINJAUAN PUSTAKA

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

BAB II LANDASAN TEORI

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

Algoritma Genetika dan Penerapannya dalam Mencari Akar Persamaan Polinomial

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

Perbandingan Algoritma Exhaustive, Algoritma Genetika Dan Algoritma Jaringan Syaraf Tiruan Hopfield Untuk Pencarian Rute Terpendek

BAB II TINJAUAN PUSTAKA

PERANCANGAN ALGORITMA GENETIKA DALAM PENYUSUNAN TEKA-TEKI SILANG

BAB II LANDASAN TEORI

Asri Maspupah Jurusan Informatika, Fakultas MIPA Universitas Jenderal Achmad Yani Jl. Terusan Sudirman, Cimahi

PENERAPAN ALGORITMA GENETIKA DALAM PENYELESAIAN TRAVELLING SALESMAN PROBLEM WITH PRECEDENCE CONSTRAINTS (TSPPC)

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

PEMAMPATAN MATRIKS JARANG DENGAN METODE ALGORITMA GENETIKA MENGGUNAKAN PROGRAM PASCAL

PENYELESAIAN KNAPSACK PROBLEM MENGGUNAKAN ALGORITMA GENETIKA

APLIKASI ALGORITMA GENETIKA DALAM MENENTUKAN SPESIFIKASI PC BERDASARKAN KEMAMPUAN FINANSIAL KONSUMEN

PENERAPAN ALGORITMA GENETIK UNTUK OPTIMASI DENGAN MENGUNAKAN PENYELEKStAN RODA ROULETTE

ALGORITMA GENETIKA PADA PEMROGRAMAN LINEAR DAN NONLINEAR

OPTIMISASI PENEMPATAN TURBIN ANGIN DI AREA LAHAN ANGIN

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

Perancangan Sistem Penjadwalan Asisten Dosen Menggunakan Algoritma Genetika (Studi Kasus: STIKOM Bali)

PELATIHAN FEED FORWARD NEURAL NETWORK MENGGUNAKAN ALGORITMA GENETIKA DENGAN METODE SELEKSI TURNAMEN UNTUK DATA TIME SERIES

OPTIMALISASI SOLUSI TERBAIK DENGAN PENERAPAN NON-DOMINATED SORTING II ALGORITHM

PENJADWALAN PERKULIAHAN MENGGUNAKAN ALGORITME GENETIKA

Peramalan Kebutuhan Beban Sistem Tenaga Listrik Menggunakan Algoritma Genetika

Pencarian Rute Terpendek untuk Pengoptimalan Ditribusi Sales Rokok Gudang Garam di kecamatan Wuluhan Kabupaten Jember Menggunakan Algoritma Genetika

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

T I N J A U A N P U S T A K A Algoritma Genetika [5]

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

KONSEP ALGORITMA GENETIK BINER UNTUK OPTIMASI PERENCANAAN JADWAL KEGIATAN PERKULIAHAN

BAB 2 LANDASAN TEORI. 2.1 Algoritma

SISTEM PENJADWALAN PERKULIAHAN MENGGUNAKAN ALGORITMA GENETIKA (STUDI KASUS PADA JURUSAN TEKNOLOGI INFORMASI FAKULTAS TEKNIK UNIVERSITAS TADULAKO)

BAB 3 ANALISIS DAN PERANCANGAN

BAB III PEMBAHASAN. harga minyak mentah di Indonesia dari bulan Januari 2007 sampai Juni 2017.

BAB II LANDASAN TEORI

Transkripsi:

27 BAB II LANDASAN TEORI 2.1. Penelitian Terkait Penelitian terkait yang menggunakan algoritma genetika untuk menemukan solusi dalam menyelesaikan permasalahan penjadwalan kuliah telah banyak dilakukan. Sam ani [3] melakukan penelitian tentang penjadwalan kuliah dan ujian akhir semester program studi Diploma III Manajemen Informatika STMIK Palangkaraya dengan menggunakan algoritma genetika. Teknik pengkodean dalam penelitian tersebut menggunakan string bit atau varchar untuk teknik pengkodean, populasi awal dibentuk secara acak (random), fungsi fitness digunakan untuk meminimalkan jumlah pelanggaran antar jadwal, metode seleksi dengan roulettewheel, pindah silang satu titik potong (one-point crossover), mutasi dengan pengkodean nilai, menggunakan elitisme dan kondisi selesai ditentukan bila iterasi maksimum telah tercapai. Hasil output dari sistem berupa susunan penjadwalan kuliah dan ujian akhir semester dan didapatkan hasil terbaik dengan semua nilai fitness tiap generasi bernilai satu dan waktu tercepat dicapai pada generasi ke-5, populasi ke-5, probabilitas pindah silang 25% dan mutasi 2%. Kazarlis, S. [4] melakukan penelitian tentang penjadwalan dengan membagi batasan (constraint) ke dalam dua bagian yaitu hard constraint dan soft constraint. Untuk mendapatkan suatu sistem penjadwalan kuliah, peneliti menyusun suatu

28 algoritma penjadwalan tersendiri yang berbeda dengan agoritma genetika. Proses penjadwalan pertama sekali dilakukan dengan algoritma penjadwalan dengan menjadwalkan kuliah berdasarkan urutan tertentu yang dapat mengatasi hard constraint dan soft constraint. Algoritma penjadwalan terbatas pada pencarian solusi yang paling optimum dari masalah yang dihadapi di dalam proses penjadwalan. Untuk mengatasi keterbatasan tersebut, jadwal yang dihasilkan nantinya akan dievaluasi berdasarkan kesesuaiannya dan dijadikan sebagai dasar dalam operasi algoritma genetika. Dalam penelitian ini, pencarian solusi dengan menggunakan 5000 generasi tidak dapat menghasilkan zero hard maupun soft constraint. Dari hasil diperoleh bahwa dengan algoritma genetika tidak dapat mengatur kepuasan seluruh hard constraint, meskipun hubungan hasil yang diperoleh berdekatan, masih saja ditemukan dua kesalahan. Dengan kata lain, apabila hanya mengandalkan algoritma genetika saja, maka hasil yang diperoleh adalah hanya berupa soft constraint saja dan hasilnya lebih baik dibandingkan penjadwalan yang dibuat admin. Edmund Burke [5] melakukan penelitian terhadap penjadwalan dengan algoritma genetika pada lembaga pendidikan di Inggris. Penelitian tersebut dilakukan karena pada saat itu terjadi perkembangan dalam dunia pendidikan yang memperbolehkan mahasiswa untuk memilih mata kuliah yang akan diambilnya. Hal ini menyebabkan proses penjadwalan diharuskan lebih fleksibel terhadap perubahan jumlah mahasiswa, jumlah dosen, dan kebutuhan ruang kuliah. Pada sistem penjadwalan kuliah yang dilakukan, pemilihan ruang dilakukan berdasarkan kapasitas ruang yang digunakan. Jadwal dievaluasi berdasarkan jenis jadwal yang dihasilkan

29 dan kursi yang tersisa untuk setiap ruang. Penjadwalan dimulai dari jumlah mata kuliah yang sedikit sehingga dihasilkan beberapa pilihan jadwal. 2.2. Penjadwalan Kuliah Penjadwalan merupakan kumpulan kebijakan dan mekanisme dalam sistem operasi yang berkaitan dengan disain sistem, urutan kerja, daftar atau rencana kegiatan dengan pembagian waktu pelaksanaan yang terperinci. Penjadwalan digunakan untuk memutuskan prioritas yang harus dijalankan, waktu pelaksanaan pekerjaan dan teknik pelaksanaan pekerjaan [6]. Penjadwalan kuliah merupakan kegiatan administrasi yang mengalokasikan sejumlah aktivitas perkuliahan tertentu pada slot waktu dan ruang yang tersedia [7]. Dalam menyusun penjadwalan kuliah, terdapat beberapa pertimbangan penting yang harus diperhatikan, antara lain jumlah mata kuliah yang ditawarkan dalam satu semester, jenis mata kuliah (teori dan praktikum), jumlah dosen yang mengajar dalam satu semester, waktu kuliah dan ruang yang tersedia. Konsep penjadwalan kuliah diawali dengan penugasan seluruh mata kuliah yang disusun dalam satu semester untuk diberikan kepada dosen pengajar. Selanjutnya mata kuliah dijadwalkan menurut waktu dan ruang yang tersedia dengan mempertimbangkan ketersediaan waktu mengajar dosen, sehingga nantinya diperoleh sistem penjadwalan kuliah yang baik. Secara matematis, penyusunan penjadwalan kuliah dapat diilustrasikan sebagai berikut [8]:

30 a. Himpunan mata kuliah C = {c 1 c 2,c 3,.c n } yang merupakan kegiatan (peristiwa). b. Himpunan waktu T={t 1,t 2,t 3,.t N }. c. Himpunan ruang P={p 1,p 2,p 3, p N }. d. Himpuan dosen A={a 1,a 2,a 3,.a N }. Jika diimplementasikan dalam empat duplex (e,t,p,a), sedemikian sehingga e E, t T, p P, dan a A. Hal ini berarti bahwa peristiwa (e) berlangsung pada waktu (t), yang terjadi pada tempat (p), dilakukan oleh dosen (a). Apabila penjadwalan ditentukan oleh satu himpunan dosen {a 1,a 2, }, satu set mata kuliah {c 1,c 2, }, satu himpunan ruang {p 1,p 2, }, dan satu set himpunan waktu {t 1,t 2, }, maka dapat ditulis satu set rangkap tiga {a i,c j,p k } mewakili keperluan {dimana i=1,.n; j=1,.m; dan k=1,.q}. Setiap himpunan menunjukkan dosen a i, mengajar mata kuliah c j di dalam kelas p k. Demikian seterusnya, jika set rangkap tiga ini ditambah elemen t 1 {dimana l=1,...s}, maka membentuk set rangkap empat yaitu {a i,c j,p k,t l } yang dapat diartikan bahwa dosen (a i ) mengajar mata kuliah (c j ) di kelas (p k ) pada waktu (t l ). Tiap dua set rangkap berempat misalnya {a i,c j,p k,t l } dan {a w,c x,p y,t z } harus memenuhi persyaratan berikut: Bila a i = a w, maka t l t z (2.1) Bila a i = a w, maka p k p y.. (2.2) Bila c j = c x, maka t l t z (2.3) Bila c j = c x, maka p k t y (2.4) Bila p k =p y, maka t l t z (2.5)

31 Dari ketiga persamaan tersebut, maka persamaan (2.1) menyatakan tidak ada dosen dijadwalkan lebih dari satu kali pada waktu yang bersamaan. Persamaan (2.2) menyatakan bahwa tidak ada dosen dijadwalkan lebih dari satu kali pada ruang yang bersamaan. Persamaan (2.3) menyatakan tidak ada mata kuliah yang dijadwalkan lebih dari satu kali pada waktu yang bersamaan. Persamaan (2.4) menyatakan bahwa tidak ada mata kuliah yang dijadwalkan lebih dari satu kali pada ruang yang bersamaan. Persamaan (2.5) menyatakan bahwa tidak ada ruang yang dijadwalkan lebih dari satu kali dalam satu waktu. Secara umum suatu penjadwalan kuliah sebaiknya berdasarkan ketentuan sebagai berikut: a. Kegiatan perkuliahan dirancang selama satu semester yang diimplementasikan dalam bentuk kurikulum. b. Seluruh beban mengajar didistribusikan secara adil dan merata untuk tiap dosen tanpa adanya perlakuan khusus kepada dosen tertentu. c. Mengoptimalkan seluruh sarana dan prasarana penunjang perkuliahan. d. Melakukan evaluasi dan montioring dari tiap pencapaian kegiatan perkuliahan selama satu semester. 2.3. Masalah Penjadwalan Kuliah Masalah penjadwalan kuliah merupakan masalah keterbatasan dalam menggunakan sumber daya yang tersedia. Sumber daya tersebut merupakan

32 komponen utama yang menjadi pertimbangan penting dalam penyusunan jadwal kuliah. Komponen tersebut dibagi dalam lima kelompok besar, yaitu: a. Kelompok dosen. b. Kelompok mata kuliah. c. Kelompok kurikulum. d. Kelompok waktu. e. Kelompok ruang. Dosen, mata kuliah dan kurikulum disusun membentuk suatu aktivitas perkuliahan. Apabila ketiga kelompok ini ditempatkan ke dalam slot waktu dan ruang, maka akan timbul permasalahan. Permasalahan tersebut antara lain sulitnya mendapatkan alokasi waktu yang tepat terhadap ketersediaan waktu dosen dengan mata kuliah yang ditawarkan. Selain itu penggunaan ruang yang terbatas untuk menampung aktivitas perkuliahan turut menjadi pertimbangan penting sebelum menyusun jadwal. Solusi dikatakan optimal jika seluruh aktivitas perkuliahan dapat disusun dalam waktu singkat sehingga pelanggaran terhadap persyaratan-persyaratan yang ada dapat ditekan sekecil mungkin. 2.4. Persyaratan Penjadwalan Penjadwalan berhubungan erat dengan persyaratan atau batasan yang harus ditentukan oleh perguruan tinggi sebelum melaksanakan kegiatan perkuliahan. Persyaratan atau batasan yang diberikan nantinya akan dipergunakan sebagai acuan dalam menyusun penjadwalan kuliah. Persyaratan tersebut antara lain:

33 a. Seluruh mata kuliah terjadwal dan dinyatakan dalam waktu yang jelas. b. Kelas yang terjadwal harus memberikan kemungkinan gabungan dari aktivitas perkuliahan yaitu dosen, mata kuliah dan mahasiswa. c. Seorang dosen hanya boleh mengajar pada satu kelas untuk waktu yang bersamaan. d. Seorang mahasiswa hanya boleh mengambil mata kuliah pada satu kelas untuk waktu yang bersamaan. e. Kegiatan perkuliahan hanya boleh dilaksanakan sebanyak satu kali dalam satu ruang dalam satu waktu tertentu. f. Satu ruang disesuaikan dengan daya tampung mahasiswa yang akan mengikuti perkuliahan. g. Setiap dosen diberi batasan minimum dan maksimum untuk mengajar dalam satu minggu (Senin s.d Jumat). h. Selang waktu tiap pergantian mata kuliah agar diusahakan sekecil mungkin. i. Seorang dosen tidak diperbolehkan melakukan perpindahan ruang untuk mata kuliah yang sama jika dosen yang bersangkutan berhalangan hadir. 2.5. Kesulitan dalam Penjadwalan Kuliah Beberapa kesulitan yang sering dihadapi saat penjadwalan kuliah adalah: a. Adanya permohonan oleh beberapa dosen untuk mengajar menurut ketersediaan waktunya.

34 b. Merancang suatu penjadwalan kuliah yang efektif bukanlah suatu pekerjaan yang mudah untuk dilakukan. Penempatan dosen, mata kuliah, kurikulum dan waktu pada ruang yang terbatas menjadi masalah yang menarik dalam penjadwalan kuliah. c. Adanya persyaratan tertentu yang ditambahkan dapat mempengaruhi lama waktu penyelesaian sehingga masalah penjadwalan kelihatannya lebih kompleks dan sulit untuk diselesaikan. d. Masalah penjadwalan sering terkendala oleh persyaratan nyata ketika diaplikasikan dilapangan, seperti dosen mengajar satu kali pertemuan maksimum 3 SKS. 2.6. Algoritma Genetika Algoritma genetika merupakan teknik heuristik atau pendekatan algoritma yang didasarkan pada seleksi alamiah dan evolusi. Teori seleksi alamiah dan evolusi dipekenalkan pertama kali oleh Charles Darwin. Proses evolusi dalam algoritma genetika dimulai dengan memilih himpunan penyelesaian secara acak, digambarkan dengan kromosom yang disebut populasi. Ketika populasi awal tidak mencapai solusi yang baik, maka dilakukan proses kawin silang (crossover) dan mutasi. Kawin silang dibutuhkan untuk mendapatkan solusi dan kombinasi terbaik dari populasi sekarang ke dalam populasi baru, dimana pemilihannya tergantung pada fitness terbaiknya. Mutasi merupakan tampilan acak yang merubah kromosom individu. Pengaruh mutasi biasanya hanya berdampak pada beberapa gen [9].

35 2.6.1. Tahapan Algoritma Genetika Beberapa tahapan penting dalam proses algoritma genetika antara lain [10] [11]: a. Inisialisasi populasi. b. Evaluasi populasi. c. Memilih anggota populasi yang terbaik untuk membentuk populasi baru atau disebut dengan proses seleksi. d. Membentuk kromosom baru dengan cara rekombinasi dan mutasi. e. Evaluasi kromosom yang baru dan memasukkan ke dalam populasi. f. Jika memenuhi kriteria termination, proses berhenti dan mengembalikan kromosom terbaik, jika belum maka kembali ke tahap dua. Contoh penggunaan algoritma genetika yang dibandingkan dengan algoritma optimasi sederhana ditunjukkan pada Gambar 2.1. Lakukan inisialisasi populasi seleksi individu yang akan dikawinkan mutasikan keturunan masukkan keturunan ke dalam populasi tidak kriteria kepuasan terpenuhi? Selesai Gambar 2.1. Flowchart Algoritma Genetika ya

36 2.6.2. Komponen Utama Algoritma Genetika Algoritma Genetika harus memiliki lima komponen antara lain [12]: a. Representasi genetik dari setiap solusi yang mungkin dari suatu permasalahan. b. Cara pembentukan populasi awal atau inisialisasi populasi. c. Fungsi evaluasi yang berperan menilai fitness dari solusi yang mungkin. d. Operator genetika yang mengubah komposisi kromosom. e. Nilai parameter yang digunakan dalam Algoritma Genetika, meliputi ukuran populasi, nilai probabilitas yang ditetapkan dalam operator genetika (seleksi, crossover, mutasi). 2.7. Pengkodean Pengkodean merupakan teknik penyederhanaan masalah ke dalam bentuk bilangan tertentu. Bilangan yang terbentuk merupakan gambaran dari susunan kromosom. Pada pengkodean, terdapat beberapa teknik atau cara yang seluruhnya bergantung dari masalah yang diselesaikan [13]. 2.7.1. Pengkodean Biner Sebelum algoritma genetika digunakan untuk memecahkan masalah, terlebih dahulu diperlukan suatu metode untuk mengkodekan solusi yang mungkin dari suatu permasalahan ke dalam bentuk tertentu sehingga dapat diproses [13]. Salah satu pendekatan yang mungkin adalah dengan mengkodekan solusi ke dalam kode biner,

37 yang ditulis dalam bit 1 dan 0 seperti ditunjukkan pada Tabel 2.1, dimana angka tiap posisi menunjukkan nilai dari beberapa masalah. Tabel 2.1. Kromosom dengan pengkodean biner Kromosom 1 101010101100110011100 Kromosom 2 111111000000011111100 Holland mengkodekan kromosom dalam bentuk bilangan biner. Sejumlah properti pada pengkodean biner bekerja menyederhanakan algoritma genetika. Selain itu, terdapat beberapa cara pembuatan gen, dimana masing-masing cara tersebut memiliki keunggulan tersendiri. Langkah penyederhanaan masalah ke dalam bentuk gen dilakukan dengan mengumpulkan informasi yang menunjukkan kebenaran dari masalah. Sebagai contoh, menyusun suatu penjadwalan kuliah dalam satu semester melibatkan sejumlah item yang ditampilkan dalam sejumlah kolom. 2.7.2. Pengkodean Nilai Teknik pengkodean nilai digunakan bila data yang ada merupakan gabungan dari nilai-nilai yang kompleks, dimana nilai yang dikodekan merupakan representasi langsung terhadap masalah yang ada. Apabila pengkodean biner digunakan pada masalah yang kompleks, maka teknik penyelesaiannya membutuhkan waktu yang lama dan lebih rumit. Pada teknik ini, tiap kromosom terdiri dari beberapa nilai berupa bilangan biasa, bilangan riil, karakter sampai kombinasi dari beberapa objek yang cukup banyak. Pengkodean nilai sering digunakan pada jaringan saraf tiruan

38 (neural network). Penggunaannya berawal dari adanya masukan yang diberikan kepada neuron untuk membiasakan jaringan supaya menghasilkan keluaran yang sesuai [13]. Tabel 2.2. menunjukkan contoh kromosom dengan pengkodean nilai. Tabel 2.2. Kromosom dengan pengkodean nilai Kromosom A 1.3532, 6.566, 2.9234, 4.3241 Kromosom B P, Q, R, S, T, U, V, Kromosom C (atas), (bawah), (depan), (belakang) 2.7.3. Pengkodean Pohon Pengkodean ini banyak digunakan pada pemrograman genetika. Kromosom digambarkan sebagai pohon dari seluruh objek, seperti fungsi atau perintah dalam bahasa pemrograman. Pengkodean ini digunakan untuk mencari fungsi berdasarkan nilai-nilai yang diberikan untuk mendapatkan nilai keturunan terbaik (sesuai dengan keinginan) untuk seluruh masukan. Masalah ini dapat dikodekan ke dalam pengkodean pohon dimana kromosom merupakan fungsi-fungsi yang dinyatakan dalam pengkodean pohon. Sebagai contoh, perhitungan fungsi berdasarkan nilai-nilai yang diberikan. Perhitungan tersebut nantinya harus menghasilkan nilai keluaran yang berbaik terhadap seluruh masukan yang diberikan [13]. 2.7.4. Pengkodean Permutasi Pengkodean ini memerlukan urutan data dan banyak ditemukan dalam masalah pemasaran produk dan masalah pemesanan tugas (task ordering problem) [13].

39 Seluruh kromosom pada pengkodean ini terdiri dari barisan angka yang disusun dalam urutan tertentu seperti yang ditunjukkan pada Tabel 2.3. Tabel 2.3. Kromosom dengan pengkodean permutasi Kromosom 1 1 5 3 2 6 4 7 9 8 Kromosom 2 8 5 6 7 2 3 1 4 9 Proses kawin silang dan mutasi pada pengkodean ini menghasilkan kromosom yang memiliki konsistensi tertentu. Teknik pengkodean ini sering ditemui pada masalah wiraniaga. Untuk dapat melalui sejumlah kota dengan jarak yang telah ditetapkan dalam satu kota, maka seorang wiraniaga tidak harus berkunjung ke seluruh kota, melainkan hanya melakukan beberapa kunjungan dengan cara menyusun urutan kota yang akan dikunjungi dengan jumlah jarak seminimal mungkin. Dengan demikian tiap kota diwakili dengan kromosom untuk setiap kota yang akan dikunjungi secara berurutan. 2.8. Inisialisasi Populasi Inisialisasi populasi merupakan tahapan yang sangat penting dalam algoritma genetika untuk mendapatkan solusi yang optimal. Inisialisasi populasi memberikan salinan individu yang lebih baik. Akan tetapi, proses ini tidak selamanya menghasilkan gen yang baik. Proses ini dimulai dengan membangkitkan sejumlah individu secara acak. Untuk mendapatkan solusi, diperlukan suatu kriteria tertentu yang harus dipenuhi dengan membangkitkan individu [14].

40 2.9. Operator dalam Algoritma Genetika Algoritma genetika memiliki operator genetika yang sering digunakan, antara lain seleksi, crossover dan mutasi. Operator ini sangat berperan untuk mengubah komposisi suatu kromosom. 2.9.1. Seleksi Seleksi merupakan proses pemilihan calon induk. Proses seleksi merupakan teknik pemilihan kromosom yang akan dikawinsilangkan dari bakal induk yang baik pada proses evolusi selanjutnya. Perubahan tiap individu dari satu generasi sangat ditentukan oleh nilai fitness. Tujuannya adalah menghasilkan keturunan yang terbaik dari suatu popuasi untuk diproses melalui rekombinasi dan mutasi. Dengan dasar inilah seleksi dilakukan dengan menggunakan tiga teknik, yaitu seleksi roda roullete (fitness based selection), seleksi rangking (rank selection) dan seleksi turnamen (tournament selection). [15] Sebagai contoh, diberikan individu a dipasangkan dengan individu b seperti ditunjukkan pada Tabel 2.4. Tabel 2.4. Contoh proses seleksi Individu Kromosom Fitness a 1011 3 b 0101 2 2.9.1.1. Seleksi Roda Roullete Pada proses seleksi Roullete, induk ditentukan menurut nilai fitness. Untuk fitness yang tinggi, harapan untuk terpilih semakin besar. Untuk mendapatkan solusi

41 yang terbaik, maka program sebaiknya melakukan seleksi dengan nilai fitness yang terendah [16]. Seleksi roda roulette merupakan metode seleksi yang paling disukai. Prosesnya ditunjukkan pada Gambar 2.2. Gambar 2.2 Seleksi roda roulette [16] Cara kerja roda tersebut adalah sebagai berikut: pertama, individu-individu dipetakan pada segmen garis yang berdekatan, sehingga masing-masing individu berukuran sama sesuai dengan fitness. Kedua, nomor acak dibangkitkan dan seluruh individu berada pada daerah nomor acak yang telah dipilih. Ketiga, proses kemudian diulangi sampai ditemukan nomor individu yang sesuai keinginan. Kromosom dalam kelompok yang terpilih disusun dalam roda roulette berdasarkan pada nilai fitness. Kemudian roda diputar ke sejumlah kromosom yang ada dalam populasi, kromosom dengan fitness tertinggi memiliki kesempatan terbesar untuk terpilih selama kawin silang dan mutasi [10][16].

42 2.9.1.2. Seleksi Ranking Seleksi roda roullete ternyata memiliki kekurangan. Hal ini akan nampak bila selisih yang terjadi pada nilai fitness cukup jauh. Misalkan, bila fitness kromosom terbaik menjadi 95% dari percobaan roda roullete, maka mengakibatkan kormosom lain memiliki kesempatan sangat kecil untuk dapat dipilih. Dengan dasar inilah lalu diperkenalkan teknik seleksi lain yaitu seleksi ranking. Prinsip kerja dari seleksi ini adalah melakukan ranking terlebih dahulu seluruh kromosom yang akan diseleksi berdasarkan nilai fitnes untuk mendapatkan nilai fitness baru. Seleksi ini memiliki prioritas tertentu mulai dari fitness terburuk yang bernilai 1, terburuk kedua bernilai 2, dan seterusnya sampai diperoleh fitness terbaik. Kromosom dengan nilai fitness terbaik akan memiliki nilai fitness ke N, dimana N merupakan jumlah kromosom di dalam suatu populasi [13]. Proses sebelum di-ranking ditunjukkan pada Tabel 2.5. Tabel 2.5. Seleksi ranking sebelum di-ranking Kromosom Fitness P 12 Q 5 R 15 S 3 T 9

43 Proses seleksi setelah di-ranking ditunjukkan pada Tabel 2.6. Tabel 2.6. Seleksi ranking setelah di-ranking Kromosom Fitness Fitnes Baru S 3 1 Q 5 2 T 9 3 P 12 4 R 15 5 2.9.1.3. Seleksi Turnamen Algoritma genetika menggunakan mekanisme seleksi untuk mendapatkan individu dari kumpulan populasi. Individu yang dikawinkan digunakan untuk membangkitkan keturunan baru (offspring) dan menjadi dasar membentuk generasi selanjutnya. Jika individu dalam kelompok dikawinkan, maka seluruh sifat gen baru akan diturunkan ke generasi selanjutnya. Hasil kawin ini diharapkan dapat menghasilkan individu yang baik. Mekanisme seleksi dalam algoritma genetika merupakan proses sederhana yang membantu seleksi individu yang lebih baik dalam populasi pada kelompok pasangan [17]. Seleksi turnamen memberikan tekanan seleksi dengan mengatur turnamen selama saingan s menurut ukuran turnamennya. Tekanan seleksi dengan meningkatkan individu yang lebih baik lagi disebut tekanan seleksi lanjutan. Tekanan seleksi ini mengatur algoritma genetika untuk memperbaiki hasil fitness dari suatu populasi. Pemenang dari turnamen adalah individu dengan nilai fitness tertinggi kemudian dimasukkan ke dalam kumpulan kawin silang. Kumpulan pasangan yang

44 terdiri dari pemenang turnamen, memiliki nilai rata-rata fitness yang lebih tinggi dibandingkan dengan rata-rata fitness populasinya. Perbedaan dari nilai fitness ini memberikan tekanan seleksi, yang mengatur algoritma genetika untuk memperbaiki nilai fitness dari masing-masing generasi yang berhasil. Seleksi turnamen mirip dengan seleksi kedudukan (rank selection), tetapi perhitungannya lebih efisien dan lebih dapat dipertanggungjawabkan pada kasus yang lebih kompleks. Kedua individu dipilih secara acak dari populasi [13]. 2.9.2. Kawin Silang Kawin silang (crossover) sering digunakan untuk menghasilkan keturunan baru berdasarkan induk yang terpilih. Aturan kawin silang dalam algoritma genetika adalah mengkombinasikan bit dari solusi yang fit. Proses pengulangan banyak digunakan oleh operator crossover untuk mendapatkan gen populasi. Operator crossover merupakan teknik yang sering digunakan dalam algoritma genetika dengan harapan bahwa kromosom baru berubah menjadi kromosom yang lebih baik [18]. 2.9.2.1. Kawin Silang 1 titik Selama fase reproduksi, individu dipilih dari populasi dan rekombinasi, kemudian menghasilkan keturunan baru (offspring). Induk diseleksi secara acak dari populasi dengan menggunakan suatu skema pendukung individu. Individu yang baik harus dipilih beberapa kali dalam satu generasi, karena sekali seleksi saja tidak dapat mewakili seluruhnya. Salah satu teknik yang diperkenalkan adalah crossover satu

45 titik, dimana prinsip kerjanya adalah dengan mengambil dua induk, kemudian memotong kromosom string-nya beberapa posisi secara acak untuk menghasilkan dua bagian utama dan pendukung. Bagian pendukung kemudian ditukar untuk menghasilkan dua kromosom baru (lihat Gambar 2.3). Kedua induk yang dihasilkannya masing-masing mewarisi beberapa gen dari induknya. Teknik ini disebut kawin silang satu titik [19][20]. titik crossover titik crossover induk 1 0 1 0 0 0 1 1 1 0 0 0 1 1 0 1 0 0 1 0 keturunan 1 0 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 0 0 Gambar 2.3. Kawin silang 1 titik 2.9.2.2. Kawin Silang 2 Titik Perkawinan silang 2 titik merupakan perkembangan dari cara sebelumnya dengan memilih secara acak untuk melakukan pertukaran bit kromosom. Dalam kawin silang dua titik (two point crossover), kromosom ditampilkan sebagai loop yang dibentuk berdasarkan penggabungan bersama. Untuk menukar bagian satu loop dengan loop lain dibutuhkan seleksi dua titik potong, seperti yang ditunjukkan oleh

46 Gambar 2.4. Dalam hal ini, kawin silang satu titik ditampilkan sebagai kawin silang dua titik dengan satu titik potong pada string awal. Secara umum, kawin silang dua titik menunjukkan fungsi yang sama seperti kawin silang satu titik. Selain itu cara lain adalah dengan menyalin barisan bit kromosom orang tua pertama dari bit pertama sampai dengan titik perkawinan silang pertama dan dari titik perkawinan silang kedua sampai dengan bit terakhir. Perkawinan silang dengan dua titik lebih disukai daripada kawin silang satu titik [11] [14]. Gambar 2.4. Kawin silang 2 titik [14] 2.9.2.3. Kawin Silang Seragam Kawin silang seragam (crossover uniform) sangat berbeda dengan kawin silang satu titik. Tiap gen dalam keturunan dihasilkan dengan menyalin gen yang bersesuaian dari satu atau lebih induk dan terpilihlah gen yang sesuai dengan kawin silang terlindung (crossover mask) yang dibangkitkan. Jika hasil yang didapat dari

47 kawin silang tertutup bernilai 1, maka gen merupakan hasil salinan dari induk yang pertama, sebaliknya jika kawin silang terlindung bernilai 0, maka gen yang disalin merupakan hasil dari induk kedua. Proses diulangi dengan induk yang bergantian untuk menghasilkan keturunan yang kedua. Hasil kawin silang terlindung yang baru dibangkitkan secara acak pada pasangan dari tiap induk [18]. Untuk lebih jelasnya perhatikan Gambar 2.5. crossover mask 1 0 0 1 0 1 1 1 0 0 induk 1 1 0 1 0 0 0 1 1 1 0 keturunan 1 1 1 0 0 0 0 1 1 1 1 induk 2 0 1 0 1 0 1 0 0 1 1 Gambar 2.5. Kawin silang seragam 2.9.2.4. Kawin Silang Rekombinasi Kawin silang rekombinasi memilih secara acak dari semua gen yang ada pada induk untuk mendapatkan gen anak [11]. Contoh kawin silang rekombinasi diperlihatkan Tabel 2.7. Tabel 2.7 Kawin silang rekombinasi Kromosom Kromosom induk 1 1 5 9 12 14 Kromosom induk 2 1 3 4 16 2 Keturunan 1 1 5 4 16 14 Keturunan 2 1 4 9 12 1

48 2.9.3. Mutasi Mutasi merupakan operator algoritma yang digunakan untuk menentukan perbedaan genetika dari satu generasi ke generasi lainnya. Setelah hasil kawin silang terbentuk tetapi sebelum keturunan terbentuk, terlebih dahulu harus menjalani tahap mutasi. Peristiwa ini mengacu pada perhitungan mutasi. Mutasi tidak selamanya menghasilkan gen baru, dan dapat merupakan hasil salinan gen induk. Tujuan dilaksanakannya mutasi adalah untuk menekan gangguan dan menghasilkan allele baru dalam populasi [4]. Pemutaran mutasi ditetapkan jika dua allele diputar merubah susunan penjadwalan seperti pada Gambar 2.6. Jika perhitungan mutasi terlalu tinggi, dapat mengakibatkan keturunan yang baik akan hilang dan mengurangi harapan nilai fitness yang tinggi dari ruang solusi. Beberapa sistem tidak menggunakan operator mutasi. Sebagai gantinya, sistem mempercayakan gangguan (noise) untuk mengacak populasi yang dihasilkan pada inisialisasi sehingga diperoleh gen yang dapat melakukan penggabungan ulang. keturunan 1 2 3 sebelum mutasi 4 5 6 7 8 mutasi 1 6 3 setelah mutasi 4 5 2 7 8 Gambar 2.6. Operasi mutasi dalam Algoritma Genetika

49 Pada Gambar 2.6 terlihat bahwa ketika gen telah diseleksi melalui mutasi, lalu gen hasilnya diubah menjadi angka. Pada kasus representasi biner, mutasi sederhana pada gen tunggal menyebabkan nilai gen menjadi komplit dari 1 menjadi 0 dan sebaliknya [14]. 2.9.3.1. Mutasi Biner Mutasi ini termasuk jenis yang paling sederhana. Cara kerjanya berdasarkan bit pada kromosom yang dipilih secara acak, lalu nilainya diinversi dan diubah menjadi lawannya [11]. Untuk jelasnya perhatikan Tabel 2.8. Tabel 2.8. Mutasi pada pengkodean biner Kromosom sebelum mutasi 1 1 1 0 0 0 1 1 Kromosom setelah mutasi 1 1 1 0 0 0 0 1 2.9.3.2. Mutasi Permutasi Salah satu teknik yang dilakukan pada pengkodean permutasi adalah dengan memilih dua posisi pada kromosom lalu posisinya saling dipertukarkan. Tetapi perlu diingat bahwa proses mutasi pada pengkodean permutasi harus konsisten dalam mengurutkannya [11]. Untuk lebih jelasnya, perhatikan Tabel 2.9. Tabel 2. 9. Mutasi pada pengkodean permutasi Kromosom sebelum mutasi 9 8 7 6 5 4 3 2 Kromosom setelah mutasi 9 3 7 6 5 4 8 2

50 2.9.3.3. Mutasi Nilai Mutasi pada pengkodean biner dapat diaplikasikan pada pengkodean nilai karena urutan kromosomnya tidak perlu dijaga. Dalam hal ini prosesnya tidak menginversi bit. Sebagai contoh, nilai yang dinyatakan dalam bilangan nyata dimutasi dengan cara menukarkan nilai dari dua gen yang terdapat pada kromosom. Cara ini kurang efektif untuk mendapatkan nilai yang sama. Oleh karena itu ada cara lain yang lebih efektif yaitu dengan memilih posisi gen secara acak pada kromosom, kemudian menambah atau menguranginya dengan suatu nilai yang kecil secara acak [11]. Lebih jelasnya perhatikan Tabel 2.10. Tabel 2.10 Contoh mutasi pada pengkodean nilai riil Kromosom sebelum dimutasi 1,43 1,09 4,51 9,11 6,94 Kromosom setelah dimutasi 1,43 1,19 4,51 9,01 6,94 2.10. Elitisme Elitisme merupakan satu teknik dalam algoritma genetika untuk mempertahankan kromosom yang memiliki nilai fitness terbaik untuk tetap bertahan hidup pada generasi selanjutnya. Elitisme dilakukan dengan menyalin satu kromosom untuk jumlah populasi ganjil dan menyalin dua kromosom untuk jumlah populasi genap [2] [8].

51 2.11. Precedence Preservative Crossover (PPX) Precedence preservative crossover (PPX) merupakan pengembangan dari masalah vehicle routing yang dijelaskan oleh Blanton dan Wainwright. Operator melewati hubungan operasi yang lebih dahulu diberikan dalam dua permutasi induk menjadi satu anak pada tingkatan yang sama, ketika tidak satupun hubungan yang lebih dahulu diperkenalkan. Metode ini sesungguhnya memberikan jawaban atas urutan gen dalam kromosom induk. Pertama-tama kromosom anak yang akan diinisialisasi bernilai kosong. Kemudian suatu vektor sepanjang n diisi secara acak pada sekumpulan elemen {1,2}. Vektor menggambarkan urutan yang dihasilkan oleh induk 1 dan 2. Setelah gen diwaliki oleh satu induk dan yang lainnya dihilangkan, maka hasilnya diberikan kepada kromosom anak. Langkah tersebut diulangi sampai kedua kromosom induk hilang dan kromosom anak berisi seluruh gen anak yang dimasukkan. Dalam hal ini gen dari induk dapat merupakan bilangan acak 1 dan 2 yang mewakili induk 1 dan induk 2 dan prosesnya ditunjukkan oleh Gambar 2.7 [19][20]. induk 1 3 2 2 2 3 1 1 1 3 induk 2 1 1 2 2 2 1 2 3 3 gen dari induk 1 1 2 2 2 2 1 1 1 PPX anak 3 2 1 1 2 1 2 3 3 Gambar 2.7 Precedence Presservative Crossover (PPX)

52 2.12. Konvergen Jika algoritma genetika telah diimplementasikan dengan benar, maka populasi akan menyusun generasi secara berturut-turut sehingga menghasilkan nilai fitness terbaik dan individu rata-rata dalam tiap generasi bertambah mencapai hasil yang optimal. Konvergen merupakan pergerakan menuju keseragaman pertambahan secara berturut-turut. Gen pembawa sifat dikatakan konvergen jika kesamaan populasi mencapai 95%. Populasi disebut konvergen jika seluruh gen telah konvergen. Dikatakan proses akan mendekati konvergen apabila hasil yang diperoleh mengikuti grafik yang ada dan seluruh proses dapat ditampilkan dalam bentuk grafik. Pada Gambar 2.8 menunjukkan bagaimana grafik fitness dengan beberapa tipe pada algoritma genetika. Jika populasi konvergen, rata-rata fitness mendekati nilai terbaiknya. Selain itu nilai terbaik biasanya lebih tinggi dibandingkan nilai rata-rata yang dihasilkan oleh proses [17].

53 Gambar 2.8 Nilai fitness dalam algoritma genetika [17]