BAB II LANDASAN TEORI

dokumen-dokumen yang mirip
BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 DASAR TEORI. 2.1 Teka-Teki Silang

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI. 2.1 Algoritma Genetika

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

Lingkup Metode Optimasi

BAB III. Metode Penelitian

ERWIEN TJIPTA WIJAYA, ST.,M.KOM

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

Genetic Algorithme. Perbedaan GA

Optimasi Penjadwalan Ujian Menggunakan Algoritma Genetika

Pengantar Kecerdasan Buatan (AK045218) Algoritma Genetika

Bab II Konsep Algoritma Genetik

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

BAB 2 LANDASAN TEORI

Algoritma Evolusi Dasar-Dasar Algoritma Genetika

OPTIMASI PENJADWALAN KEGIATAN BELAJAR MENGAJAR DENGAN ALGORITMA GENETIK

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

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

BAB 3 ANALISIS DAN PERANCANGAN APLIKASI

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

Aplikasi Algoritma Genetika Untuk Menyelesaikan Travelling Salesman Problem (TSP)

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

BAB 2 LANDASAN TEORI. 2.1 Algoritma

BAB 2 LANDASAN TEORI

PERANCANGAN ALGORITMA GENETIKA DALAM PENYUSUNAN TEKA-TEKI SILANG

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

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

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

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

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

2 TINJAUAN PUSTAKA. 2.1 Peringkasan Teks

BAB II LANDASAN TEORI

Pendekatan Algoritma Genetika pada Peminimalan Fungsi Ackley menggunakan Representasi Biner

Keywords Algoritma, Genetika, Penjadwalan I. PENDAHULUAN

BAB 2 LANDASAN TEORI

Implementasi Algoritma Genetika dalam Pembuatan Jadwal Kuliah

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

KNAPSACK PROBLEM DENGAN ALGORITMA GENETIKA

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

PENGEMBANGAN APLIKASI PENJADWALAN KULIAH SEMESTER I MENGGUNAKAN ALGORITMA GENETIKA

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

Tugas Mata Kuliah E-Bisnis REVIEW TESIS

PENDAHULUAN. Latar Belakang

BAB II LANDASAN TEORI

OPTIMASI PENJADWALAN CERDAS MENGGUNAKAN ALGORITMA MEMETIKA

Analisis Operator Crossover pada Permasalahan Permainan Puzzle

Algoritma Evolusi Real-Coded GA (RCGA)

PEMAMPATAN MATRIKS JARANG DENGAN METODE ALGORITMA GENETIKA MENGGUNAKAN PROGRAM PASCAL

BAB 2 TINJAUAN PUSTAKA

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

OPTIMALISASI SOLUSI TERBAIK DENGAN PENERAPAN NON-DOMINATED SORTING II ALGORITHM

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

BAB 2 LANDASAN TEORI

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

BAB II KAJIAN TEORI. berbeda di, melambangkan rusuk di G dan jika adalah. a. dan berikatan (adjacent) di. b. rusuk hadir (joining) simpul dan di

BAB II KAJIAN PUSTAKA. digunakan dalam penelitian ini yaitu graf, vehicle routing problem (VRP),

PENERAPAN ALGORITMA GENETIK UNTUK OPTIMASI DENGAN MENGUNAKAN PENYELEKStAN RODA ROULETTE

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

APLIKASI ALGORITMA GENETIKA DALAM MENENTUKAN SPESIFIKASI PC BERDASARKAN KEMAMPUAN FINANSIAL KONSUMEN

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

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

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

PERFORMANCE ALGORITMA GENETIKA (GA) PADA PENJADWALAN MATA PELAJARAN

PENERAPAN ALGORITMA GENETIKA PADA PENYELESAIAN TRAVELLING SALESMAN PROBLEM (TSP)

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

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

Bab II. Tinjauan Pustaka

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

BAB II LANDASAN TEORI

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

PENYELESAIAN KNAPSACK PROBLEM MENGGUNAKAN ALGORITMA GENETIKA

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

ALGORITMA GENETIKA PADA PEMROGRAMAN LINEAR DAN NONLINEAR

BAB III ALGORITMA MEMETIKA DALAM MEMPREDIKSI KURS VALUTA ASING. Untuk memberikan penjelasan mengenai prediksi valuta asing

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

OPTIMASI QUERY DATABASE MENGGUNAKAN ALGORITMA GENETIK

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

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

ABSTRAK. Universitas Kristen Maranatha

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

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

BAB I PENDAHULUAN. proses belajar mengajar di Program studi Matematika FMIPA UNDIP. Sering

BAB II KAJIAN TEORI. digunakan dalam penelitian yaitu teori graf, vehicle routing problem (VRP),

BAB III IMPLEMENTASIALGORITMA GENETIK DAN ACS PADA PERMASALAHAN TRAVELLING SALESMAN PROBLEM

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

Generator Jadwal Perkuliahan Menggunakan Algoritma Genetika

BAB 2 LANDASAN TEORI

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

BAB 2 LANDASAN TEORI

Transkripsi:

BAB II LANDASAN TEORI 2.1 Penjadwalan Penjadwalan adalah penempatan sumber daya (resource) dalam satu waktu. Penjadwalan mata kuliah merupakan persoalan penjadwalan yang umum dan sulit dimana tujuannya adalah menjadwalkan pertemuan dari sumber daya. Sumber daya yang dimaksud adalah dosen pengasuh mata kuliah, mata kuliah,ruang kuliah, kelas mahasiswa, dan waktu perkuliahan. Terdapat batasan-batasan dalam penyusunan penjadwalan mata kuliah. Menurut Burke, dkk. Mengemukakan bahwa batasan-batasan dalampenjadwalan dibagi ke dalam dua kategori yaitu hard dan soft constraints. Jadwal yang melanggar hard constraints adalah solusi yang tidak mungkin, dan harus diperbaiki atau di buang dengan algoritma penjadwalan. Hard constraints meliputi first order conflict, sebagai contoh adalah tidak ada seorang mahasiswa yang dapat mengikuti perkuliahan pada waktu yang sama. Soft constraints tidak begitu penting dibandingkan dengan hard constraints,dan biasanya tidak mungkin untuk menghindari pelanggaran. Ketika metode penjadwalan diaplikasikan, jadwal biasanya ditingkatkan dengan fungsi penalty, yang menghitung tingkat pelanggaran jadwal yang telah disusun. Beberapa soft constraints lebih penting dibandingkan dengan hard constraints, dan ini sering di tentukan dengan nilai prioritas. Masalah penjadwalan dalam institusi pendidikan, masih menjadi isu yang menarik dan secara luas masih diteliti oleh banyak peneliti di dunia. Masalah penjadwalan dapat diklasifikasikan ke dalam dua kategori utama, yaitu masalah

28 penjadwalan kuliah dan masalah penjadwalan ujian. Masalah penjadwalan dalam pendidikan merupakan persoalan khusus dari masalah optimasi yang ditemukanpada situasi nyata. Masalah ini membutuhkan waktu komputasi yang cukup tinggi untuk pencarian solusinya, terlebih lagi jika ukuran permasalahan semakin besar dengan bertambahnya jumlah komponen dan tetapan atau syarat yang ditentukan oleh institusi tempat jadwal tersebut di gunakan. Selama proses, banyak aspek yang harus dipertimbangkan untuk memperoleh jadwal yang optimal, dan seringkali tidak dapat memuaskan karena tidak semua kebutuhan terpenuhi. Oleh karena itu perlu ditetapkan suatu batasan dalam penyusunan jadwal yang bersifat harus dipenuhi (hard constraints) dan tidak harusdipenuhi (soft constraints) tetapi tetap menjadi acuan dalam proses pembuatan jadwal. [11] 2.2 Algoritma Genetika Algoritma Genetika (AG) adalah suatu algoritma pencarian yang berbasis pada mekanisme seleksi alam dan genetika. Algoritma genetika merupakan salah satu algoritma yang sangat tepat digunakan dalam menyelesaikan masalah optimasi kompleks. Pengertian lain mengenai Algoritma Genetika adalah : Algoritma Genetika adalah algoritma pencarian heuristik yang didasarkan atas mekanisme evolusi biologis. Setiap masalah yang berbentuk adaptasi (alami maupun buatan) dapat diformulasikan dalam terminologi genetika. Algoritma ini adalah simulasi dari proses evolusi Darwin dan operasi genetika atas kromosom.metode yang dapat disebut algoritma genetika adalah metode yang setidaknya memiliki komponen seperti populasi dari kromosom, seleksi berdasarkan fitness, crossoveruntuk memproduksi offspring baru, dan random mutasi pada offspring. Seleksi bertujuan untuk memberikan kesempatan reproduksi yang lebih besar bagi anggota populasi yang paling fit. Seleksi akan menentukan individu -individu

29 mana saja yang akan dipilih untuk mendapatkan generasi baru. Crossover adalah proses pertukaran dua kromosom yang menciptakan offspring yang mewarisi karakter dari kedua parent. Dengan mewarisi karakter parent tersebut, tujuan melakukan crossover adalah untuk mencari kombinasi gen terbaik dari parent. Operator Mutasi mengubah field individual (gen) didalam kromosom berdasarkan pada probabilitas. Mutasi dipakai untuk menghindari kecenderungan suatu populasi untuk menjadi mirip.fitness adalah suatu nilai yang dipakai untuk tolak ukur kualitas kromosom Nilai fitness ini digunakan untuk menentukan kromosom yang berkualitas lebih baik dari pada kromosom yang lain. Algoritma Genetika memiliki algoritma umum dalam mencari solusi melalui pembangkitan populasi kromosom, mekanisme seleksi berdasarkan fitness, crossoveruntuk memproduksi offspring baru, dan mutasi acak pada off- spring. Namun, algoritma tersebut perlu penyesuaian untuk permasalahan yang dihadapi. Pada penelitian ini, Algoritma Genetika digunakan karena memiliki keunggulan utama, yaitu efisiensi waktu dalam pencarian solusi. Namun, algoritma ini juga memiliki kekurangan utama, yaitu tidak adanya jaminan solusi yang dihasilkan adalah solusi terbaik (bila dibandingkan dengan pencarian melalui evaluasi lengkap pada semua kemungkinan solusi). Algoritma genetika bekerja dari populasi yang merupakan himpunan solusi yang dihasilakan secara acak. Setiap anggota himpunan yang merepresentasikan satu populasi masalah dinamakan generasi, tiap kromosom dievaluasi berdasarkan fungsi evaluasi. Pada algoritma genetika, fungsi evolusi biasanya dapat berupa fungsi objektif dari masalah yang akan dioptimalisasikan. Sebagai ide dasar heuristik, algoritma genetika dimulai dengan sekumpulan solusi yang direpresentasikan dengan kromosom, disebut populasi. Semua solusi dari satu populasi diambil dan digunakan untuk membentuk populasi baru. Hal ini dimotivasi dengan harapan populasi baru akan lebih baik daripada populasi lama.

30 Solusi terpilih yang merupakan orangtua pembentuk keturunan (offspring), dipilih berdasarkan lingkungannya atau nilai fitness, semakin baik maka semakin besar kesempatan yang dimiliki untuk bertahan dan bereproduksi. Hal ini dilakukan berulang kali hingga memenuhi beberapa kondisi penghentian, misalnya jumlah generasi atau tercapainya hasil yang dicari. Algoritma genetika mempunyai karateristik-karateristik yang perlu diketahui sehingga dapat terbedakan dari prosedur pencarian atau optimasi yang lain, yaitu; 1. Algoritma genetika bekerja dengan pengkodean dari himpunan solusi permasalahan berdasarkan parameter yang telah ditetapkan dan bukan parameter itu sendiri. 2. Algoritma genetika melakukan pencarian pada sebuah populasi dari sejumlah individu-individu yang merupakan solusi permasalahn bukan hanya dari sebuah individu. 3. Algoritma genetika merupakan informasi fungsi objektif, 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. Algoritma genetika memberikan suatu pilihan bagi penentuan nilai parameter dengan meniru cara reproduksi genetik, pembentukan kromosom baru serta seleksi alami seperti terjadi pada mahluk hidup. Inisialisasi populasi awal dilakukan untuk menghasilkan solusi awal dari suatupermasalahan algoritma genetika. Inisialisasi ini dilakukan secara acak sebanyak jumlah kromosom/populasi yang diinginkan. Selanjutnya dihitung nilai fitness dan seterusnya dilakukan seleksi dengan menggunakan metode roda roullete, tournament atau ranking. Kemudian dilakukan perkawinan silang (crossover) dan mutasi. Terdapat beberapa definisi penting dalam Algoritma Genetika yang perlu diperhatikan,yaitu: 1. Genotype (Gen), sebuah nilai yang menyatakan satuan dasar yang

31 membentuk suatu arti tertentu dalam satu kesatuan gen yang dinamakan kromosom. Dalam algoritma genetika, gen ini bisa berupa biner, float, interger maupun karakter, atau kombinatorial 2. Allele, merupakan nilai dari gen 3. Individu atau kromosom, gabungan gen-gen yang membentuk nilai tertentu dan merupakan salah satu solusi yang mungkin dari permasalahan yang diangkat. 4. Populasi, merupakan sekumpulan individu yang akan diproses bersama dalam satu siklus proses evalusi. 5. Generasi, menyatakan satu siklus proses evolusi atau satu iterasi di dalam algoritma genetika. Setelah melalui beberapa generasi maka algoritma ini akan berhenti sebanyak generasi yang diinginkan. Sebagaimana halnya proses evolusi di alam, suatu algoritma genetika yang sederhana umumnya terdiri dari tiga operator yaitu: operator reproduksi, operator crossover(persilangan) dan operator mutasi. Ada dua hal penting yang harus dilakukan pada awal proses Algoritma Genetika. Pertama, pendefinisian atau pengkodean kromosom yang merupakan solusi yang masih berbentuk simbol. Kedua, penentuan fungsi fitness atau fungsi obyektif. Dua hal ini berperan penting dalam algoritma genetika untuk menyelesaikan suatu masalah. Secara sederhana, proses dari metode genetika dapat digambarkan sebagai berikut:

32 Mulai Pengkodean Data Jumlah populasi dan kromosom Evaluasi fitness Seleksi TIDAK Crossover Mutasi YA Iterasi terpenuhi Selesai Gambar 2.1 : Proses Algoritma Genetika Secara sederhana, proses algoritma genetika adalah sebagai berikut: 1. [Mulai] Membangun populasi random sebanyak n kromosom. 2. [Pengkodean Data] Teknik pengkodean adalah bagaimana mengkodekan gen dari kromosom.masing-masing kromosom berisi sejumlah gen yang mengkodekan informasi yang disimpan didalam kromosom. 3. [Jumlah Populasi dan kromosom] Menentukan populasi awal adalah proses membangkitkan sejumlah kromosom secara acak (random). Kromosom menyatakan salah satu alternatif solusi yang mungkin. Kromosom dapat dikatakan sama dengan individu. Ukuran populasi tergantung pada masalah yang akan diselesaikan. Setelah ukuran populasi ditentukan, kemudian dilakukan pembangkitan populasi awal dengan cara melakukan inisialisasi solusi yang mungkin kedalam sejumlah kromosom.

33 Panjang satu kromosom ditentukan berdasarkan permasalahan yang diteliti. 4. [Evaluasi Fitness] Fungsi yang digunakan untuk mengukur nilai kecocokan atau derajat optimalitas suatu kromosom disebut dengan fitness function. Nilai yang dihasilkan dari fungsi tersebut menandakan seberapa optimal solusi yang diperoleh. Nilai yang dihasilkan oleh fungsi fitness merepresentasikan seberapa banyak jumlah persyaratan yang dilanggar, sehingga dalam kasus penjadwalan perkuliahan semakin kecil jumlah pelanggaran yang dihasilkan maka solusi yang dihasilkan akan semakin baik. Untuk setiap pelanggaran yang terjadi akan diberikan nilai 1. Agar tidak terjadi nilai fitness yang tak terhingga maka jumlah total semua pelanggaran akan ditambahkan 1. 5. [Seleksi] pilih 2 kromosom orangtua dari populasi berdasarkan fitness (semakin besar fitness semakin besar kemungkinan untuk terpilih). 6. [Perkawinan Silang] sesuai dengan besarnya kemungkinan perkawinan silang, orangtua terpilih disilangkan untuk membentuk anak. Jika tidak ada perkawinan silang, maka anak merupakan salinan dari orangtua. 7. [Mutasi] sesuai dengan besarnya kemungkinan mutasi, anak dimutasi pada setiap lokus ( posisi pada kromosom). 8. [Iterasi terpenuhi] maskud dari iterasi terpenuhi adalah solusi optimum yang dihasilkan dari metode genetika. 9. [Selesai ] Proses dengan menggunakan algoritma genetika selesai. Tujuan dari algoritma genetika ini adalah menghasilkan populasi yang terbaik dari populasi awal. Sedangkan keuntungan dari algoritma genetika adalah sifat metoda pencariannya yang lebih optimal, tanpa terlalu memperbesar ruang pencarian.

34 2.2.1 Komponen dalam Algoritma Genetika Algoritma genetika adalah salah satu proses pencarian yang heuristik dan acak sehingga penekanan pemilihan operator yang digunakan sangat menetukan keberhasilan algoritma genetika dalam menemukan solusi optimum suatu masalah yang diberikan. Salah satu hal yang harus di perhatikan adalah menghindari terjadi konvergensi prematur. Pengertian dari konvergensi prematur adalah mencapai solusi optimum yang belum waktunya, dalam arti solusi yang diperoleh tersebut adalah hasil optimum lokal. Ada beberapa komponen dari algoritma genetika. Berikut akan di jelaskan komponen dalam algoritma genetika. 2.2.1.1 Pengkodean Pengkodean adalah suatu teknik untuk menyatakan populasi awal sebagai calon solusi dari suatu masalah ke dalam suatu kromosom sebagai suatu kunci pokok persoalan ketika menggunakan algoritma genetika. Berdasarkan jenis simbol yang digunakan sebagai nilai suatu gen, metode pengkodean dapat diklasifikasikan sebagai berikut pengkodean biner, bilangan riil, bilangan bulat dan struktur data: [2] 2.2.1.1.1 Pengkodean Biner( binary encoding) Pengkodean biner adalah suatu metode pengkodean bilangan dalam bentuk bilangan biner. Pengkodean biner merupakan teknik pengkodean paling umum digunakan oleh peneliti AG. Oleh karena itu banyak orang mengggunakan teknik ini dalam aplikasi nyata dari AG dengan berbagai hasil. Keuntungan dari pengkodean ini adalah sederhana diciptakan dan mudah dimanipulasi (Davis ). Contoh dari pengkodean biner adalah sebagai berikut : [2]

35 Tabel 2.1 Contoh Pengkodean Biner Chromosome A 101100101100101011100101 Chromosome B 111111100000110000011111 2.2.1.1.2 Pengkodean Bilangan Rill Pengkodean bilangan riil adalah suatu pengkodean bilangan dalam bentuk riil. Gen dan Cheng (2000) menyatakan bahwa pengkodean bilangan riil baik digunakan untuk masalah optimasi fungsi dan optimasi kendala. [2] Tabel 2.2 Contoh Pengkodean Bilangan Rill 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,94 2.2.1.1.3 Pengkodean Bilangan Bulat Pengkodean bilangan bulat adalah suatu metode mengkodekan bilangan dalam bentuk bilangan bulat. Pengkodean ini baik digunakan untuk masalah optimasi kombinatorial. Dengan pengkodean bilangan bulat, ukuran kromosom menjadi lebih sederhana dan tidak terlalu panjang. [2] Tabel 2.3 Contoh Pengkodean Bilangan Bulat Kromosom mutasi sebelum 12345679 Kromosom setelah mutasi 12745639

36 2.2.1.1.4Pengkodean Struktur data Pengkodean struktur data adalah mode pengkodean yang menggunakan struktur data pengkodean ini digunakan untuk masalah yang lebih kompleks seperti perencanaan trajek robot dan masalah pewarnaan graph. [2]. Berikut adalah conoth pewarnaan graph Gambar 2.2 Pewarnaan graf yang tepat Masalah pewarnaan graf merupakan konsep dari graf tak berarah (undirected graph). Diberikan suatu graf tak berarah G(V,E), bagaimana mewarnakan setiap verteks v V dengan k warna tertentu sedemikian sehingga dua verteks yang berdekatan menerima warna yang berbeda, disebut sebagai masalah pewarnaan graf (graph coloring problem). Biasanya graf dapat diwarnakan secara tepat dengan banyak cara yang berbeda, seperti pada gambar 2.3 menggambarkan tiga pewarnaan graf yang berbeda. 2.2.1.2Prosedur Inisialisasi Ukuran populasi tergantung pada masalah yang akan dipecahkan dan jenis operator genetika yang akan diimplementasikan. Setelah ukuran populasi ditentukan, kemudian harus dilakukan inisialisasi terhadap kromosom yang terdapat pada populasi tersebut.

37 Inisialisasi kromosom dilakukan secara acak, namun demikian harus tetap memperhatikan domain solusi dan kendala permasalahan yang ada. 2.2.1.3 Evaluasi Fitness Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran performansinya. Didalam evolusi alam, individu yang bernilai fitness tinggi yang akan bertahan hidup. Sedangkan individu yang bernilai fitness rendah akan mati. Pada masalah optimasi, solusi yang akan dicari adalah memaksimumkan fungsi h ( dikenal sebagai masalah maksimasi ) sehingga nilai fitness yang digunakan adalah nilai dari fungsi h tersebut, yakni f = h (di mana f adalah nilai fitness). Tetapi jika masalahnya adalah meminimalkan fungsi h (masalah minimasi), maka fungsi h tidak bisa digunakan secara langsung. Hal ini disebabkan adanya aturan bahwa individu yang memiliki nilai fitness tinggi lebih mampu bertahan hidup pada generasi berikutnya. Oleh karena itu nilai fitness yang bisa digunakan adalah f = 1/h, yang artinya semakin kecil nilai h, semakin besar nilai f. Tetapi hal ini akan menjadi masalah jika h bisa bernilai 0, yang mengakibatkan f bisa bernilai tak hingga. Untuk mengatasinya, h perlu ditambah sebuah bilangan yang dianggap kecil [0-1] sehingga nilai fitnessnya menjadi : ff = 1 (h + a) dengan a adalah bilangan yang kecil dan bervariasi [0-1] sesuai dengan masalah yang akan diselesaikan. [10] 2.2.1.4 Seleksi Seleksi bertujuan memberikan kesempatan reproduksi yang lebih besar bagi anggota populasi yang paling fit. Langkah pertama yang dilakukan dalam seleksi 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. Nilai fitness

38 inilah yang nantinya akan digunakan pada tahap-tahap seleksi yang akan dilakukan pada bagian berikutnya. Ada beberapa metode yang digunakan bagaimana memilih kromosom yang sering digunakan antara lain adalah seleksi roda rolet(roulette wheel selection), seleksi rangking(rank selection) dan seleksi turnamen(tournament selection). [6] 2.2.1.4.1. Seleksi Roda Rolet (Roulette Wheel Selection) Teknik kromosom yang paling sering digunakan adalah seleksi roda roulette (Roulette wheel selection). Cara kerja yang dilakukan dalam teknik ini adalah dengan memilih anggota populasi tertentu untuk menjadi orangtua dengan probabilitas sama dengan fitness dibagi dengan total fitness populasi. Kromosom dipilih berdasarkan nilai fitness, semakin besar nilai fitnessnya maka kromosom tersebut memiliki peluang untuk dipilih beberapa kali. Yang dilakukan pada seleksi ini adalalah: orangtua dipilih berdasarkan fitness mereka. Probabilitas suatu individu terpilih untuk perkawinan silang sebanding dengan fitnessnya. Cara penyeleksian ini merupakan peniruan dari permainan roda roulette. Berikut merupakan contoh dari seleksi roda roulette. Jumlah dari keseluruhan fitness adalah dengan menambahkan seluruh nilai dari fitness. Dari contoh di bawah, maka jumlah keseluruhannya adalah 40. Sehingga probablitas nya adalah membagi nilai masing-masing fitness terhadap total keseluruhan fitness. Tabel 2.4: Contoh Populasi Dengan 5 Kromosom Beserta Fitnessnya Kromosom Fitness Probablitias X1 15 15/40 = 0.375 ( 37.5 %) X2 5 5/40 = 0.125 ( 12.5 %) X3 10 10/40 = 0.25 ( 25 %)

39 X4 5 5/40 = 0.125 ( 12.5 %) X5 5 5/40 = 0.12.5 (12.5%) 2.2.1.4.2 Seleksi Rangking (Rank Selection) Didalam seleksi roda roulette juga akan memiliki masalah pada saat terdapat perbedaan fitness yang jauh. Salah satu contohnya adalah, jika kromosom terbaik adalah 90% dari semua roda roulette dapat menyebabkan kromosom yang lain memiliki kesempatam yang sangat kesil untuk dapat terpilih. Cara yang dilakukan dalam seleksi ini yaitu terlebih dahulu merangking atau mengurutkan kromosom di dalam populasi berdasarkan fitnessnya kemudian memberikan nilai fitness baru berdasarkan urutannya. Kromosom dengan fitness terburuk memiliki fitness bernilai 1, terburuk kedua bernilai 2 dan seterusnya, sehingga kromosom yang memiliki fitness terbaik akan memiliki nilai fitness N, dimana N adalah jumlah kromosom di dalam populasi. Berikut akan di jelaskan dengan menggunakan contoh : Tabel 2.5: Keadaan Fitness Sebelum Dirangking Kromosom Fitness B 5 D 5 E 5 C 10 A 15

40 Tabel2.6:Keadaan Fitness Sesudah Dirangking Kromosom Fitness Fitness Baru B 5 1 D 5 2 E 5 3 C 10 4 A 15 5 Setelah proses pengurutan dan pemberian nilai fitness baru, setiap akan memiliki kesempatan yang lebih adil untuk dipilih. Tetapi metode ini dapat menyebabkan konvergensi menjadi lambat, karena kromosom terbaik tidak terlalu berbeda dengan yang lainnya. 2.2.1.4.3. Seleksi Tournamen(Tournament Selection) Seleksi tournament merupakan gabungan dari seleksi roda roulette dan metode rangking. Cara yang digunakan didalam seleksi ini adalah sejumlah k kromosom tertentu dari populasi beranggota n kromosom n) (k dipilih secara acak dengan probabilitas yang sama. Dari K kromosom yang terpilih kemudian akan dipilih satu kromosom dengan fitness terbaik, yang diperoleh dari hasil pengurutan rangking fitness semua kromosom terpilih. Perbedaan nya dengan seleksi roda roulette adalah pemilihan kromosom yang akan digunakan untuk berkembang biak tidak berdasarkan skala fitness dari populasi. Untuk k=1, seleksi turnamen akan menajdi sama dengan seleksi secara acak karena hanya melibatkan satu kromosom. Untuk K=2, maka akan dipilih dua kromosom dari populasi secara acak, kemudian akan dipilih salah satu berdarkan nilai fitnessnya. Biasanya yang sering digunakan adalah K=2, tergantung dari jumlah

41 kromosom yang terdapat di dalam populasi. Berikut akan di tampilkan contoh dari seleksi turnamen: F=9 F=7 F=2 F=6 F=5 F=3 Random yang terbaik individu yang terpilih F=7 F=6 F=9 F=9 Ts=3 Gambar 2.3: Contoh Seleksi Tournament 2.2.1.5 Perkawinan Silang ( Crossover) Tujuan dari perkawanan silang adalah untuk menambah keanekaragaman string dalam satu populasi dengan penyilangan atar string yang diperoleh dari reproduksi sebelumnya. Salah satu jenis pengkodean yang paling sederhana adalah perkawinan silang untuk pengkodean biner. Ada beberapa jenis perkawinin silang untuk pengkodean biner: perkawinan sialng 1-titik, perkawinan silang 2 titik,dan perkawinan silang seragam. 2.2.1.5.1. Perkawinan Silang 1-Titik Pada crossoverdilakukan 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 crossoversatu titik seperti diperlihatkan pada gambar berikut:

42 Tabel 2.7: Contoh Perkawinan Silang 1-titik Nama Kromosom Kromosom OrangTua 1 Kromosom OrangTua 2 Proses Penyilangan 0110 1011 1101 0001 Posisi Penyilangan 3 Keturunan I 0111 0001 Keturunan II 1100 1011 2.2.1.5.2. Perkawinan Silang 2-Titik Proses crossover ini dilakukan dengan memilih dua titik crossover. Kromosom keturunan kemudian dibentuk dengan barisan bit dari awal kromosom sampai titik crossoverpertama disalin dari orangtua pertama, bagian dari titik crossoverpertama dan kedua disalin dari orangtua kedua, kemudian selebihnya disalin dari orangtua pertama lagi. Tabel 2.8 : Contoh Perkawinan Silang 2-Titik Nama Kromosom Kromosom OrangTua 1 Kromosom OrangTua 2 Proses Penyilangan 11 0010 11 11 0111 11

43 Keturunan I 11 0111 11 Keturunan II 11 0010 11 2.2.1.5.3 Perkawinan Seragam Pada penyilangan seragam, setiap lokasi memiliki potensi sebagai tempat penyilangan. Orangtua mana yang menyumbangkan bit ke keturunannya dipilih secara acak dengan probabilitas yang sama. Sebagai contoh, dapat dilihat pada Tabel dibawah ini. Tabel 2.9: Contoh Perkawinan Seragam Nama Kromosom Kromosom OrangTua 1 Kromosom OrangTua 2 Proses Penyilangan 0110 1011 0010 1101 0001 1010 Keturunan 1 0101 1001 1010 Keturunan II 1101 1011 0010 2.2.1.6 Mutasi Mutasi adalah operator yang menghasilkan perubahan acak secara spontan padakromosom. Pada dasarnya akan mengubah secara acak nilai suatu bit pada posisi tertentu, dengan mengganti bit 1 dengan bit 0 atau sebaliknya. Pada mutasi sangat dimungkinkan muncul kromosom baru yang semula belum muncul dalam populasi awal. Faktor terbesar dalam teori evolusi yang menyebabkan suatu kromosom dapat

44 bertahan hidup, mati, melakukan persilangan atau melakukan mutasi adalah lingkungan. Operator mutasi merupakan operasi yang menyangkut suatu kromosom tertentu. Beberapa cara operasi mutasi diterapkan dalam algoritma genetika menurut jenis pengkodean terhadap phenotype, antara lain : 2.3.1.6.1 Mutasi dalam Pengkodean Biner Proses yang terjadi didalam mutasi pengkodea biner adalah: menginversi nilai bit pada posisi tertentu yang dipilih secara acak (atau menggunakan skema tertentu) pada kromosom yang disebut dengan inverse bit. Berikut contoh mutasi pada pengkodean biner: Tabel 2.10: Contoh Mutasi Pada Pengkodean Biner Kromosom mutasi Kromosom mutasi sebelum sesudah 10010111 10010011 2.2.1.6.2 Mutasi dalam Pengkodean Permutasi Proses yang terajadi pada mutasi dalam pengkodean biner dengan mengubah langsung bit-bit pada kromosom tidak dapat dilakukan pada pengkodean permutasi. Hal ini disebabkan karena konsistensi urutan permutasi harus diperhatikan. Salah satu cara yang dapat dilakukan adalah dengan memilih dua posisi dari kromosom dan kemudian nilainya saling dipertukarkan. Contoh dari mutasi dalam pengkodean permutasi adalah sebagai berikut:

45 Tabel 2.11: Contoh Mutasi Dalam Pengkodean Permutasi Kromosom mutasi sebelum 12345679 Kromosom setelah mutasi 12745639 2.2.1.6.3. Mutasi dalam Pengkodean Nilai Rill Cara yang dialakukan dalam mutasi pengkodean nilai hamper sama dengan cara yang dilakukan pada pengkodean biner. Namun yang dilakukan bukan menginversikan nilai bit. kekurangan yang dimiliki oleh mutasi dalam pengkodean permutasi adalah : tidak menjamin adanya perbedaan pada populasi. Maka dari itu, cara selanjutnya yang dilakukan adalah dengan cara mutasi dalam pengkodean nilai. Cara yang dilakukan adalah dengan memilih sembarang posisi gen pada kromosom. Nilai yang ada tersebut kemudian ditambahkan atau dikurangkan dengan suatu nilai kecil tertentu yang diambil secara acak. Berikut akan diberikan contoh mutasi dalam pengkodean nilai. Tabel 2.12 : Contoh Mutasi Pada Pengkodean Permutasi Nilai Rill Dengan Nilai yang Ditambahkan atau Dikurangkan adalah 0,10 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,94