Anda di halaman 1dari 17

7

BAB 2

LANDASAN TEORI

2.1 Penjadwalan Perkuliahan

Penjadwalan memiliki pengertian durasi dari waktu kerja yang dibutuhkan untuk

melakukan serangkaian untuk melakukan aktivitas kerja[10]. Penjadwalan juga

merupakan proses penyusunan daftar pekerjaan yang akan dilakukan untuk mencapai

atau mewujudkan suatu tujuan tertentu yang juga memuat tabel waktu pelaksanaan.

Penjadwalan perkuliahan diartikan suatu proses dalam pengalokasian ruang,

mata kuliah dan waktu dosen untuk mengajar mata kuliah kepada mahasiswa. Mata

kuliah disusun kedalam sebuah kurikulum berdasarkan jurusannya masing-masing, dan

jadwal disusun pada setiap awal semester baru serta dibedakan atas jadwal semester

ganjil dan semester genap. Tetapi penjadwalan digunakan pada penelitian ini

merupakan jadwal semester genap. Tujuan penjadwalan perkuliahan agar tidak terjadi

bentrokan antara jadwal yang satu dengan yang lain. Permasalahan yang dihadapi

penjadwalan terletak pada lebih banyak mata kuliah yang harus dijadwalkan daripada

ruangan yang tersedia, kesediaan kebutuhan perkuliahan dengan fasilitas ruangnya,

kapasitas ruang yang harus sesuai dengan mahasiswa dan kesediaan dosen dalam

mengajar. Permasalahan penjadwalan perkuliahan dapat diselesaikan berbagai metode

pencarian, salah satu metode pencarian dengan menggunakan algoritma genetika.

Universitas Sumatera Utara


8

Dalam proses penyelesaian masalah penjadwalan perkuliahan terdapat kendala-kendala

yang harus dipenuhi atau tidak boleh dilanggar. Kendala-kendala tersebut yaitu:

1. Dosen dapat mengajar lebih dari satu mata kuliah dan tidak boleh boleh terjadi

tumpukan dosen

2. Satu mata kuliah dapat diampu dua dosen atau lebih. Terdapat ruangan tertentu

yang menggunakan ruangan laboratorium yang harus dijadwalkan dalam jadwal

laboratorium

3. Tersedianya ruangan yang cukup untuk mata kuliah yang ada.

2.2 Algoritma Genetika

2.2.1 Pengertian Algoritma Genetika

Algoritma genetika merupakan metode heuristik adaptif yang memiliki dasar pemikiran

atau gagasan untuk proses seleksi alam dan genetika berdasarkan penelitian Charles

Darwin. Dengan kata lain pencarian solusi suatu masalah dengan algoritma genetika

akan terus berevolusi[9]. Algoritma genetika memberikan solusi dari masalah yang

tidak memiliki suatu metode pencarian solusi yang tepat, ataupun bila ada, mungkin

membutuhkan waktu yang lama dalam mencari solusinya. Pencarian solusi dengan

algoritma genetika ini diminati oleh karena tidak membutuhkan waktu yang lama.

Selain itu hasil dari algoritma genetika ini cukup memuaskan dan dapat diaplikasikan

pada semua bidang. Algoritma genetika pertama kali ditemukan oleh John Hollands

Universitas Sumatera Utara


9

dari University of Michigan memulai karyanya pada algoritma genetika pada awal

tahun 1960.

Karya Holland bersama salah satu murid yang bernama David Golberg

melakukan penelitian dan merupakan sebuah prestasi pertama adalah penerbitan sebuah

buku dengan judul Adaptasi di Alam dan Buatan Sistem pada tahun 1975. Motivasi

Hollands, mendefinisikan Algoritma Genetik adalah model dan menerapkan sistem

yang kuat dan adaptif menyimulasikan evolusi struktur genetik yang ditemukan dalam

organisme. Ide dasarnya adalah bagaimana suatu populasi berpotensi berisi solusi, atau

solusi yang lebih baik, untuk masalah adaptif diberikan[6]. Mengingat masalah tertentu

untuk memecahkan, penggunakan algoritma genetika merupakan seperangkat solusi

potensial untuk masalah tersebut, dikodekan dengan cara tertentu, dan terdapat tujuan

yang dihasilkan disebut fungsi fitness yang memungkinkan setiap calon harus

dievaluasi secara kuantitatif. Calon ini mungkin solusi sudah dikenal untuk melakukan

proses genetik, dengan tujuan algoritma genetika yang untuk meningkatkan individu,

tetapi lebih sering individu dihasilkan secara acak[6].

Secara alami semua organisme terdiri dari sel, di mana setiap sel terdiri dari

sekumpulan kromosom berbentuk sekumpulan gen, membuat satu kesatuan yang

tersusun dalam rangkaian linear. Setiap gen mempunyai letak tersendiri di dalam

kromosom yang disebut dengan lokus. Gen tersusun dari (DNA), yang membawa sifat-

sifat keturunan. Setiap gen menyandi protein tertentu suatu sifat. Bagian tertentu dari

gen di dalam genom disebut genotip. Beberapa sifat individu yang menunjukkan

Universitas Sumatera Utara


10

perbedaan gen dan berada pada bagian disebut alel[4]. perbandingan istilah alam

dengan Algoritma Genetika dapat ditunjukan pada Tabel 2.1

Tabel 2.1 Perbandingan Istilah Alam Dengan Algoritma Genetika

Alam Algoritma Genetika

chromosome String

Locus posisi Sting

Gene Karakter

Allele nilai karakter

genotype Struktur

phenotype kode struktur

Dalam algoritma genetika solusi yang dterapkan pada sebuah populasi individu-

individu yang masing-masing mewakili solusi yang mungkin disebut dengan

kromosom, yang ditunjukkan dengan sekumpulan simbol dalam bentuk string dengan

panjang tertentu dan biasanya dari alphabet biner (0,1). Dalam algoritma genetika ada

istilah populasi, individu, kromosom, gen, allela, locus, fitness, perkawinan silang

(crossevor), mutasi (mutation), seleksi, anak (offspring). Pengertian populasi adalah

sejumlah solusi yang mungkin. Populasi awal dibangun secara acak, sedangkan

populasi berikutnya merupakan hasil evolusi kromosom-kromosom melalui iterasi yang

disebut dengan generasi [5]. Individu adalah sekumpulan gen dalam sistem algoritma

genetika bisa dikatakan sama dengan kromosom. Generasi adalah individu yang

Universitas Sumatera Utara


11

dilakukan untuk menentukan populasi berikutnya. Kromosom adalah individu yang

terdapat dalam satu populasi. Kromosom merupakan solusi yang masih berbentuk

simbol. Allela merupakan nilai yang berada dalam gen, sedangkan locus adalah letak

suatu gen berada dalam suatu kromosom. Anak (Offspring) adalah generasi berikutnya

yang terbentuk dari gabuangan 2 kromosom. Generasi sekarang yang bertindak sebagai

induk (parent) dengan menggunakan operator penyilangan (crossover) maupun

operator mutasi.

Selama proses genetika, kromosom yang terbaik memiliki kecenderungan

keturunan yang baik pula. Dalam prakteknya penerapan algoritma genetika kromosom

adalah populasi yang tersedia secara acak. Siklus operasional genetik akan berhasil

apabila kromosom yang disebut induk digabungkan untuk menghasilkan anak yang

merupakan generasi baru dari proses evaluasi ini (manipulasi terhadap gen) diharapkan

kromosom yang lebih baik akan menghasilkan jumlah offspring yang lebih banyak dan

mungkin berhasil bertahap pada generasi berikutnya.

Algoritma genetika mempunyai karakteristik yang perlu diketahui sehingga

dapat terbedakan proses pencarian atau optimasi yang lainnya. Karakteristik-

karakteristik yang perlu diketahui sehingga dapat dibedakan dari prosedur pencarian

atau optimasi yang lain, yaitu:

1. Algoritma genetika dengan pengkodean dari himpunan solusi permasalahan

berdasarkan parameter yang telah diterapkan dengan bukan parameter itu

sendiri.

Universitas Sumatera Utara


12

2. Algoritma genetika pencarian pada sebuah solusi dari sejumlah individu-

individu yang merupakan solusi permasalahan bukan hanya dari sebuah

individu.

3. Algoritma genetika informasi fungsi objektif (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

deterministik.

2.2.2 Dasar algoritma Genetika

Kerangka dasar dari algoritma genetika sering disebut Simple Genetic oleh John

Holland dinyatakan sebagai berikut:

1. [Sart], generasi populasi pertama secara random sebanyak n individu.

2. [Fitness], evaluasi nilai fitness f(x) dari individu x didalam populasi.

3. [New Population], bentuk populasi baru dengan melakukan pengulangan

langkah-langkah dibawah ini sehingga didapat populasi baru.

a. [Selection], pilih 2 individu sebagai orang tua dari sebuah populasi

sesuai dengan fitness mereka (semakin baik fitness, maka semakin besar

peluang mereka terpilih).

b. [Crossevor], lakukan perkawilan silang antara kedua orang tua sesuai

dengan probabilitas crossover untuk membentuk keturunan yang baru.

Universitas Sumatera Utara


13

Jika tidak terjadi persilangan maka keturunan yang dihasilkan akan sama

persis dengan orang tuanya.

c. [Mutation], mutasai setiap keturunan yang baru sesuai dengan

probabilitas mutasi di setiap gen.

d. [accepting], tempatkan keturunan yang baru sebagai populasi baru.

4. [Replace], gunakan populasi yang baru dibentuk untuk menjalankan algoritma.

5. [Test]. jika kondisi akhir dipenuhi maka berhenti dan tampilkan solusi dari

populasi.

2.2.3 Teknik Encoding

Teknik encoding atau pengkodean adalah bagaimana mengkodekan gen dari

kromosom. Satu gen biasanya merepresentasikan satu variabel. Gen dapat diwakili

dalam bentuk bilangan real, bit, daftar aturan, elemen permutasi, elemen program, atau

representasi lainya yang dapat diimplementasikan untuk operator genetika. Teknik

pengkodean ini tergantung pada pemecahan masalah yang dihadapi. Misalnya,

pengkodean secara langsung bilangan real atau integer.

Oleh karena itu, kromosom dapat direpresentasikan sebagai :

1. String bit : 11001, 10111

2. Array bilangan real : 7.9, 9.7, -70

3. Elemen permutasi : E5, E8, E11

4. Daftar aturan : R1, R2, R3

5. Elemen program : pemrograman genetika

Universitas Sumatera Utara


14

2.2.4 Fitness Value

Fitness value atau nilai fitness merupakan ukuran baik tidak sebuah individu

(kromosom) dan baik tidak sebuah solusi yang didapatkan[7]. Dalam penempatan

sebuah nilai fitness harus dilihat dari fungsi tujuan, jika nilai fitness semakin besar,

maka sistem yang dihasilkan semakin baik, walaupun pada awalnya semua nilai fitness

kemungkinan sangat kecil (karena algoritma ini menghasilkan secara random),

sebagian akan lebih tinggi dari yang lain. Kromosom dengan nilai fitness yang lebih

tinggi ini akan memberikan probabilitas yang tinggi untuk bereproduksi pada generasi

selanjutnya. Untuk melakukan seleksi alam, setiap individu dievaluasi menggunakan

nilai fitness value, yang ditentukan dengan sebuah fungis evaluasi. Fitness value dapat

didefinisi:

𝐴
Fitness = A – F(X) atau Fitness =
𝐹 𝑋 +𝐸

Keterangan:

A = Konstanta yang telah ditentukan

X = Individu (kromosom)

E = Bilangan kecil yang dibentuk untuk menghindari nilai nol

Universitas Sumatera Utara


15

Suatu kromosom yang memiliki nilai fitness yang tinggi akan banyak

memproduksi banyak anak, tetapi pada generasi tertentu kromosom anak-anaknya akan

mengalami dominasi populasi. Karena proses seleksi tergantung pada fitness value,

maka penting dalam algoritma genetika untuk membuat fungsi evaluasi dengan teliti,

sehingga untuk setiap generasi pada proses evoluasi fungsi fitness yang

menyimulasikan seleksi alam, akan menekan populasi terarah fitness yang meningkat.

2.2.5 Metode Seleksi

Ada berbagai teknik yang suatu algoritma genetika dapat digunakan untuk memilih

individu-individu yang akan disalin ke generasi [7] berikutnya:

1. Seleksi elitis

Populasi sebagian besar anggota setiap generasi dijamin akan dipilih.

Pembentukan populasi baru yang paling baik hilang. Oleh karena itu metode ini

sebagai tahap awal memasukkan kromosom dengan nilai fitness yang paling

baik atau beberapa kromosom dengan nilai fitness yang tinggi atau cukup baik

dari generasi lama kedalam generasi baru.

2. Seleksi Roulette-wheel

Suatu bentuk-proporsional seleksi fitness di mana kemungkinan individu sedang

dipilih adalah sebanding dengan jumlah yang fitness yang lebih besar atau lebih

kecil dari nilai fitness. Konseptual, hal ini dapat direpresentasikan sebagai

permainan rolet. Masing-masing individu mendapat sepotong roda, tetapi yang

Universitas Sumatera Utara


16

lebih mendapatkan potongan lebih besar atau yang kurang dari roda kemudian

berputar, dan individu mana yang "memiliki" bagian yang terbesar maka

menjadi solusi.

a. Scaling seleksi

Sebagai fitness rata-rata populasi meningkat, kekuatan tekanan selektif juga

meningkat dan fungsi fitness menjadi lebih diskriminatif. Metode ini dapat

membantu dalam membuat pilihan terbaik nanti pada saat populasi memiliki

fitness relatif tinggi dan perbedaan kecil hanya dalam fitness membedakan satu

dari yang lain.

b. Turnamen pilihan

Sub kelompok individu dipilih dari populasi yang lebih besar, dan anggota dari

setiap sub-kelompok bersaing satu sama lain. Hanya individu dari setiap

subkelompok dipilih untuk mereproduksi.

c. seleksi Rank

Setiap individu dalam populasi diberi peringkat numerik berdasarkan fitness,

dan pemilihan didasarkan pada peringkat ini bukan perbedaan absolut dalam

fitness. Keuntungan dari metode ini adalah bahwa hal itu dapat mencegah

individu yang sangat baik dari mendapatkan dominasi awal pada individu yang

kurang baik, yang akan mengurangi keragaman genetika populasi dan mungkin

menghambat upaya untuk menemukan solusi yang dapat diterima.

d. Steady-state selection

Pemikiran utama dari metode seleksi ini adalah sebagian kromosom dari

generasi lama tetap bertahan atau berada di generasi selanjutnya. Algoritma

Universitas Sumatera Utara


17

genetika menerapakan pemikiran tersebut dengan cara, didalam setiap generasi

sejumlah kromosom yang mempunyai nilai fitness tinggi untuk diprosses untuk

menghasilkan keturunan yang baru sedangkan kromosom dengan nilai fitness

rendah dibuang

2.2.6 Crossover (Perkawinan Silang)

Crossover atau perkawinan silang merupakan operasi algoritma genetika untuk

menggabungkan dua kromosom induk menjadi kromosom anak dengan proses

penyilangan gen. crossover dilakukan dengan pertukaran gen dari kedua induk secara

acak. Kromosom yang baru yang terbentuk akan mewariskan sebagian kromosom

induk. Dalam proses crossover diharapkan sifat-sifat genetik yang baik dari induk

(parent) akan diwarisi pada anak dipertahankan.

Crossover (perkawinan silang) juga dapat berakibat buruk pada populasi yang

sangat kecil, jika suatu kromosom dengan gen-gen yang mengarah ke solusi akan

sangat cepat menyebar kromosom lain. Untuk mengatasi masalah ini digunakan aturan

bahwa artinya perkawinan silang hanya bisa dilakukan dengan probabilitas tertentu 𝜌c,

artinya pindah silang bisa dilakukan hanya jika suatu bilangan random yang

dibangkitkan kurang dari probabilitas yang ditentukan tersebut dan nilai probabilitas

diset mendekati 1.

Probabilitas crossover (𝜌c) merupakan nilai perbandingan jumlah kromosom

yang diharapkan akan mengalami perkawinan silang terhadap jumlah kromosom dalam

Universitas Sumatera Utara


18

suatu populasi. Probabilitas crossover yang tinggi akan memungkinkan pencapaian

alternative solusi yang bervariasi dan mengurangi kemungkinan menghasilkan solusi

yang terbaik. Crossover bertujuan menambah keanakeragaman string dalam populasi

dengan penyilangan antar string yang diperoleh sebelumnya. beberapa jenis crossover

tersebut adalah:

1. Penyilangan Satu Titik

Penyilangan satu titik dilakukan dengan memisahkan suatu string menjadi dua

bagian dan selanjutnya salah satu sabagian dipertukarakan dengan salah satu

bagian dari string yang lain yang telah dipisahkan dengan cara sama untuk

menghasilkan anak. Proses penyilangan satu titik dapat dilihat seperti tabel 2.2

Tabel 2.2 single-point crossover

Kromosom induk 1 001100101001

Kromosom Induk 2 101011110110

Anak (offspring) 001100110110 dan 101001101011

2. Penyilangan Banyak Titik

Pada penyilangan banyak titik dilakukan dengan memilih dua titik penyilangan.

Kromosom keturunan dibentuk dengan barisan bit dari awal titik pertama

disalin dari induk pertama, bagian titik crossover pertama dan kedua disalin dari

induk kedua, kemudian selebihnya disalin dari induk pertama lagi. Proses

penyilangan dua titik dapat dilihat seperti tabel 2.3

Universitas Sumatera Utara


19

Tabel 2.3 mulit-point crossover

Kromosom induk 1 001100101001


19

Kromosom Induk 2 101011110110

Anak (offspring) 001011110001dan 100101101110

3. Penyilangan Seragam

Penyilangan seragam menghasilkan kromosom keturunan dengan menyalin bit-

secara acak dari kedua induknya. Proses penyilangan seragam dapat dilihat

seperti tabel 2.4

Tabel 2.4 Crossover Seragam

Kromosom induk 1 001100101001

Kromosom Induk 2 101011110110

Anak (offspring) 001000111010 dan 1011111001

2.2.7 Mutasi

Mutasi dilakukan setelah perkawinan silang dengan memilih kromosom yang akan

dimutasi secara acak kemudian menetukkan titik mutasi pada kromosom tersebut secara

acak. Melalui mutasi kromosom baru dapat diciptakan dengan melakukan modifikasi

Universitas Sumatera Utara


20

terhadap satu atau lebih karakter pada kromosom sama. Mutasi gen adalah proses

penggantian gen dengan nilai invers, gen 1 menjadi 0 dan 0 menjadi 1. Kromosom

yang akan mengalami mutasi dihitung berdasarkan probabilitas mutasi yang ditentukan

terlebih dahulu. probabilitas mutasi adalah 100% maka semua kromosom yang ada

pada populasi tersebut akan mengalami mutasi, sebaliknya jika probabilitas mutasi

digunakan adalah 0% maka tidak kromosom yang mengalami mutasi pada populasi

tersebut.

Mutasi berfungsi untuk menggantikan gen yang hilang dari populasi selama

proses seleksi serta menyediakan gen yang tidak ada dalam populasi awal, sehingga

mutasi akan meningkatkkan variasi populasi. Penukaran pasangan ini dilakukan pada

dua gen dalam satu kromosom. Beberapa cara operasi mutasi diterapkan dalam

algoritma genetika sebagai berikut:

1. Mutasi dalam Pengkodean Biner

Mutasi pada pengkodean biner merupakan operasi yang sangat sederhana.

Proses ini yang dilakukan adalah menginvers nilai bit pada posisi tertentu yang

terpilih secara acak atau menggunakan skema tertentu pada kromosom, yang

disebut inverse bit.

Tabel 2.5 Mutasi pada Pengkodean Biner

Kromosom sebelum mutasi 101011101

Kromosom setelah mutasi 101001101

Universitas Sumatera Utara


21

2. Mutasi dalam Pengkodean Permutasi

Proses mutasi yang dilakukan dalam pengkodean biner dengan mengubah

langsung bit-bit pada kromosom tidak dapat dilakukan pada kromosom dapat

dilakukan pad pengkodean permutasi karena konsistensi urutan permutasi harus

diperhatikan. Salah satu cara yang dapat dilakukan adalah memilih dua posisi

(locus) dari kromosom dan kemudian nilainya saling dipertukarkan.

Tabel 2.6 Mutasi pada Pengkodean Permutasi

Kromosom sebelum mutasi 123456789

Kromosom setelah mutasi 127456389

3. Mutasi dalam Pengkodean Pohon

Mutasi dalam pengkodean pohon dapat dilakukan antara lain dengan cara

mengubah operator (+,-,*,/) atau yang terkandung pada suatu vertex pohon yang

dipilih.

2.3 Parameter Genetika

Parameter genetika ditentukan berdasarkan permasalahan yang dipecahakn. Tidak ada

aturan pasti tentang nilai setipa parameter ini. Ukuran populasi kecil berate hanya

tersedia sedikit pilihan untuk crossover dan sebagian kecil dari domain solusi saja yang

dieksplorasi setiap generasinya. Sedangkan bila terlalu besar, kinerja algoritma

genetika menurun. Menurut penelitian ukuran populasi besar tidak mempercepat proses

Universitas Sumatera Utara


22

pencarian solusi. Ukuran populasi disarankan sekitar 20-30 individu, probablitas

crossover umumnya berkisar antara 0,6 sampai dengan 0,9 dan probabilitas mutasi

kecil sekitar 0,5%-1% atau sekitar 1 dibagi dengan jumlah gen. pengoperasian

algoritma genetika dibutuhkan 4 parameter yaitu:

1. Probabilitas Persilangan

Pobabilitas Persilangan menunjukkan bahwa kemungkinan persilangan terjadi

antara 2 kromosom. Jika tidak persilangan maka keturunan akan sama persis

dengan kromosom induk, tetapi tidak berarti generasi yang baru sama persis

dengan yang lama. Jika probabilitas persilangan 100% maka semuanya

keturunan dihasilkan crossover.

2. Probabilitas Mutasi

Probabilitas Mutasa menunjukkan kemungkinan mutasi pada gen-gen yang

menyusun sebuah kromosom. Jika tidak terjadi mutasi maka keturunan yang

dihasilkan setelah crossover tidak berubah. Jika terjadi mutasi bagian kromosom

akan berubah. Jika probabilitas 100% semua kromosom akan dimutasi, Jika

probabilitas mutasi 0% semua kromosom tidak ada yang mengalami mutasi.

3. Jumlah individu

Jumlah Individu menunjukkan jumlah kromosom yang terdapat dalam populasi

dalam satu generasi. Jika hanya sedikit kromosom dalam populasi maka

algoritma genetik akan mempunyai sedikit variasi kemungkinan untuk

melakukan crossover antara induk karena hanya sebagian kecil dari individu

yang dipakai. Sebaliknya jika terlalu banyak, maka algoritma genetik akan

semakin lambat.

Universitas Sumatera Utara


23

4. Jumlah Populasi

Jumlah populasi atau banyaknya generasi yang dihasilkan, digunakan sebagai

batas akhir proses seleksi, persilangan dan mutasi.

Universitas Sumatera Utara

Anda mungkin juga menyukai