• Tidak ada hasil yang ditemukan

BAB II TINJAUAN PUSTAKA

2.10 Kontribusi Penelitian

Berdasarkan penelitian yang dilakukan, diharapkan diperoleh kesimpulan terhadap pemanfaatan hukum ketetapan Hardy-Weinberg terhadap algoritma genetika dengan mempertimbangkan keterkaitan parameter mutasi dan seleksi dengan performansi optimal yang dihasilkan pada permasalahan TSP. Dan penelitian ini selanjutnya dapat dikembangkan untuk permasalahan-permasalahan lainnya.

BAB III

METODOLOGI PENELITIAN

3.1 Pendahuluan

Algoritma genetika merupakan suatu teknik pencarian yang diadopsi dari teknik dibidang biologi. Pada algoritma genetika yang sudah ada memiliki tahapan-tahapan seperti pembentukan kromosom, penentuan fitness, seleksi, persilangan (crossover), mutasi dan penentuan fitness kembali untuk dilakukan iterasi kembali. Didalam bidang biologi disebut dengan evolusi populasi. Salah satu yang menyebabkan evolusi tersebut adalah variasi genetika. Dikarenakan ada variasi genetika ini terjadilah keanekaragaman populasi karena terjadinya perubahan terhadap alel atau gen.

Hukum ketetapan Hardy-Weinberg menyatakan populasi yang statis dikarenakan terjadinya persilangan secara konstan dan dilakukannya mutasi terhadap gen populasi. Untuk menciptakan evolusi maka harus dilakukan kawin silang secara acak atau persilangan secara acak, tanpa dilakukan seleksi, mutasi, dan migrasi.

3.2 Data yang Digunakan

Data yang digunakan dalam penelitian ini adalah data benchmark yang diambil dari TSPLIB (sumber: http://www.iwr.uni-heidelberg.de/groups/comopt/software/

TSPLIB95/tsp/). TSPLIB merupakan library atau pustaka untuk permasalahan TSP dari berbagai sumber dan jenis TSP. Adapun data yang digunakan yaitu data berlin52.tsp dan data st70.tsp dimana data tersebut direpresentasikan dengan koordinat 2 dimensi yaitu (x,y) dan berisikan data kota sebanyak 52 kota dan 70 kota.

3.3 Rancangan Penelitian

Untuk rancangan kerja penelitian ini dilakukan analisis terhadap permasalahan Traveling Salesmen Problem (TSP). Penulis menggunakan permasalahan TSP dikarenakan data yang diberikan homogen dan parameter yang digunakan hanya berupa kota. Adapun tahapan pertamanya adalah melakukan input data, kemudian melakukan proses menggunakan algoritma genetika umum dan penerapan hukum

Hardy-Weinberg, dan terakhir mendapatkan output hasil dari setiap masalah yang disampaikan. Untuk lebih jelas dapat dilihat pada gambar 3.1 berikut.

Input : Data

Proses Penerapan Hukum Ketetapan Hardy-Weinberg:

- Pendefinisian Inidvidu - Pembentuka Populasi Awal

- Perhitungan Nilai Fitness - Proses Persilangan

Proses Modifikasi Hukum Ketetapan Hardy-Weinberg:

- Pendefinisian Inidvidu - Pembentuka Populasi Awal

- Perhitungan Nilai Fitness - Proses Persilangan - Proses Mutasi dengan mutasi rate = 0.001%

Output : Hasil

Gambar 3.1 Skema Rencana Kerja Penelitian

3.3.1 Algoritma Genetika Umum

Adapun tahapan atau langkah-langkah dalam menyelesaikan permasalahan optimasi menggunakan algoritma genetika umum dapat dilihat pada gambar 3.2 yang memperlihatkan proses yang terdapat pada algoritma genetika.

Pendefinisian Individu

Gambar 3.2 Proses Umum Algoritma Genetika Umum

21

3.3.1.1 Pendefinisian Individu

Pada pendefinisian individu yang digunakan adalah teknik penentuan gen dan kromosom. Gen merupakan bagian dari kromosom dimana satu buah kromosom terdiri dari beberapa gen yang saling berhubungan. Kromosom merupakan representasi dari individu, dengan kata lain kromosom sama dengan individu.

Pada permasalahan TSP pendefinisian individu dapat direpresentasikan dalam bentuk K1 = (x1, x2, x3, … , xn). Dimana K merupakan kromosom dan x merupakan kota yang direpresentasikan sebagai perpindahan dari satu kota ke kota yang lain secara acak. Sebagai contoh dapat dilihat pada gambar 3.3.

Gambar 3.3 Peta Kota yang akan Dikunjungi Salesman

Dimana pada gambar 3.3 pendefinisian individu dapat direpresentasikan sebagai K1 = (x1, x2, x3, x4, x5).

3.3.1.2 Pembentukan Populasi Awal

Populasi awal dibentuk dari sejumlah kromosom/individu. Pembentukan ini menggunakan pembangkit bilangan acak dengan rumus:

iPop = random(nGen, nKrom) ………(3.1) Di mana iPop adalah populasi yang yang dibentuk dari pembangkit bilangan acak (random) yang dibangkitkan sebanyak nGen (jumlah gen pada setiap kromosom) x nKrom (jumlah kromosom).

Pada gambar 3.3. terdapat 5 buah kota yang akan dikunjungi oleh salesman.

Data tersebut diambil dari 5 kota pertama yang ada pada data st70.tsp untuk lebih jelas dapat dilihat pada lampiran 2.

Adapun keterangan dari gambar 3.3 dalah sebagai berikut:

x1, koordinat x = 64 dan koordinat y = 96 x2, koordinat x = 80 dan koordinat y = 39 x3, koordinat x = 69 dan koordinat y = 32 x4, koordinat x = 72 dan koordinat y = 42 x5, koordinat x = 48 dan koordinat y = 67

Kemudian dibentuklah populasi awal dengan menggunakan persamaan 3.1 dimana dibentuk 3 buah kromosom dari 5 buah gen sebagai berikut:

Kromosom[1] = x1,x2,x4,x3,x5 Kromosom[2] = x1,x3,x2,x5,x4 Kromosom[3] = x1,x2,x4,x5,x3

Selanjutnya hitung jarak antar kota dari setiap pasang kota pada kromosom yang sudah dibentuk menggunakan persamaan d(i,j) = √(𝑥𝑖 − 𝑥𝑗)2+ (𝑦𝑖 − 𝑦𝑗)2 sebagai berikut:

a. Kromosom[1] dengan urutan gen x1, x2, x4, x3, x5 d(x1,x2) = √(64 − 80)2+ (96 − 39)2 = 59.2030 d(x2,x4) = √(80 − 72)2+ (39 − 42)2 = 8.5440 d(x4,x3) = √(72 − 69)2+ (42 − 32)2 = 10.4403 d(x3,x5) = √(69 − 48)2+ (32 − 67)2 = 40.8166 d(x5,x1) = √(48 − 64)2+ (67 − 96)2 = 33.1209 b. Kromosom[2] dengan urutan gen x1, x3, x2, x5, x4

d(x1,x3) = √(64 − 69)2+ (96 − 32)2 = 64.1950 d(x3,x2) = √(69 − 80)2+ (32 − 39)2 = 13.0384 d(x2,x5) = √(80 − 48)2+ (39 − 67)2 = 42.5205 d(x5,x4) = √(48 − 72)2+ (67 − 42)2 = 34.6554 d(x4,x1) = √(72 − 64)2+ (42 − 96)2 = 33.1209 c. Kromosom[3] dengan urutan gen x1, x2, x4, x5, x3

d(x1,x2) = √(64 − 80)2+ (96 − 39)2 = 59.2030

23

d(x2,x4) = √(80 − 72)2+ (39 − 42)2 = 8.5440 d(x4,x5) = √(72 − 48)2+ (42 − 67)2 = 34.6554 d(x5,x3) = √(48 − 69)2+ (67 − 32)2 = 40.8166 d(x3,x1) = √(69 − 64)2+ (32 − 96)2 = 64.1950

Sehingga didapatlah total jarak dari setiap kromosom yang dihitung dari urutan kota yang dapat dilihat pada table 3.1

Tabel 3.1 Pembentukan Populasi Awal

Kromosom/individu Gen Total Jarak Kromosom Kromosom[1] x1,x2,x4,x3,x5 x1-x2-x4-x3-x5 = 152.1248 Kromosom[2] x1,x3,x2,x5,x4 x1-x3-x2-x5-x4 = 187.5302 Kromosom[3] x1,x2,x4,x5,x3 x1-x2-x4-x5-x3 = 207.414

3.3.1.3 Proses Seleksi

Pada proses seleksi pada penelitian ini akan menggunakna metode Roulette Wheel Selection. Pada metode seleksi Roulette Wheel menggunakan persamaan 3.2 untuk menghitung nilai fitness.

Fitness = 𝑡𝑜𝑡𝑎𝑙 𝑗𝑎𝑟𝑎𝑘 𝑘𝑟𝑜𝑚𝑜𝑠𝑜𝑚1 ………(3.2) Sebelum melakukan proses seleksi harus dihitung terlebih dahulu nilai fitness dari masing-masing kromosom.

Proses ini diimplementasikan sebagai berikut:

1. Hitung total fitness dari seluruh individu.

Untuk menghitung nilai total fitness menggunakan persamaan 3.3.

Total fitness = ∑𝐹𝑘 ………..(3.3)

Dimana :

Fk : fitness tiap kromosom

Total fitness : total keseluruhan nilai fitness 2. Hitung nilai fitness relatif dari tiap individu.

Untuk menghitung fitness tiap individu digunakan persamaan 3.4.

Pk = 𝑇𝑜𝑡𝑎𝑙 𝐹𝑖𝑡𝑛𝑒𝑠𝑠𝐹𝑘 ………(3.4) Dimana:

Pk = Fitness relative tiap-tiap kromosom Fk = Fitness tiap kromosom

3. Hitung probabilitas dari masing-masing individu.

Untuk menghitung probabilitasnya dapat menggunakan persentase setiap nilai fitness relatif masing-masing kromosom menggunakan persamaan 3.5.

P = Pk * 100% ………..(3.5) 4. Bangkitkan bilangan acak dengan nilai yang ditentukan.

5. Tentukan individu mana yang terpilih untuk proses seleksi.

Berikut ini adalah pseudocode dari proses seleksi menggunakan metode roulette wheel:

Sebagai contoh dapat hitung sebagai berikut:

1. Menghitung nilai fitness dari setiap kromosom menggunakan persamaan 3.2.

Kromosom[1] = 1/152.1248 = 0.00657355 Kromosom[2] = 1/187.5302 = 0.005332474 Kromosom[3] = 1/207.414 = 0.004821275

2. Hitung total fitness dari setiap kromosom menggunakan persamaan 3.3.

Total Fitness = 0.00657355 + 0.005332474 + 0.004821275 = 0.016727299

25

3. Menghitung nilai fitness relative dari individu menggunakan persamaan 3.4.

Kromosom[1] = 0.00657355 / 0.016727299 = 0.39298335 Kromosom[2] = 0.005332474 / 0.016727299 = 0.318788706 Kromosom[3] = 0.004821275 / 0.016727299 = 0.288227944

4. Menghitung Probabilitas dari masing-masing kromosom menggunakan persamaan 3.5.

Kromosom[1] = 0.39298335 * 100% = 39.298335 Kromosom[2] = 0.318788706 * 100% = 31.8788706 Kromosom[3] = 0.288227944 * 100% = 28.8227944 5. Bangkitkan bilangan acak dari 0 – 1

Bilangan acak 1 = 0.75 Bilangan acak 2 = 0.27

6. Menentukan kromosom yang terpilih untuk proses seleksi sehingga didapatlah induk kromosom yang diseleksi sebagai berikut:

Kromosom[3]

Kromosom[1]

Kromosom[2]

3.3.1.4 Proses Persilangan (Crossover)

Pada penelitian ini teknik persilangan yang digunakan adalah teknik Partially Mapped Crossover. Teknik Partially Mapped Crossover sudah digunakan pada penelitian sebelumnya oleh (Hardi, 2014). Penulis menggunakan teknik persilangan ini untuk melanjutkan penelitian yang sudah ada. Pada teknik ini akan dilakukan persilangan terhadap dua titik. Persilangan dilakukan dengan menggunakan dua titik potong untuk disilangkan. Adapun tahapan yang digunakan dalam PMX adalah sebagai berikut (Hardi, 2014).

1. Menentukan dua posisi kromosom pada aturan acak dengan posisi yang sama.

Substring yang berada dalam dua posisi ini dinamakan daerah mapping.

2. Menukar dua substring antara induk untuk menghasilkan protochildren.

3. Menentukan hubungan mapping di antara dua daerah mapping.

4. Menentukan kromosom keturunan mengacu pada hubungan mapping.

Berikut ini adalah pseudocode dari proses crossover menggunakan metode

Select Kromosom[k] = Parent P1 = Kromosom[k+1]

Adapun contoh yang dapat diberikan dengan melanjutkan contoh pada proses seleksi adalah sebagai berikut:

1. Kromosom yang akan di-crossover sudah dipilih pada proses seleksi sebelumnya yaitu Kromosom[3], Kromosom[1], dan Kromosom[2]. Sehingga didapat pasangan induk yang di-crossover adalah sebagai berikut:

Kromosom[3] >< Kromosom[1] x1 x2 x4 x5 x3 >< x1 x2 x4 x3 x5 Kromosom[1] >< Kromosom[2] x1 x2 x4 x3 x5 >< x1 x3 x2 x5 x4 2. Menentukan posisi daerah mapping pada kromosom induk secara acak.

x1 x2 x4 x5 x3 >< x1 x2 x4 x3 x5  x1 x2 x4 x3 x3 x1 x2 x4 x3 x5 >< x1 x3 x2 x5 x4  x1 x3 x4 x3 x4

3. Menentukan hubungan mapping dan menentukan kromosom turunan.

x1 x2 x4 x5 x3 >< x1 x2 x4 x3 x5  x1 x2 x4 x3 x5 x1 x2 x4 x3 x5 >< x1 x3 x2 x5 x4  x1 x3 x4 x2 x5

27

4. Didapatlah kromosom baru hasil persilangan kromosom induk.

Kromosom[1] = x1 x3 x4 x2 x5 Kromosom[2] = x1 x3 x2 x5 x4 Kromosom[3] = x1 x2 x4 x3 x5

3.3.1.5 Proses Mutasi

Proses yang digunakan pada penelitian ini adalah swapping mutation. Metode ini adalah metode mutasi yang dilakukan dengan melakukan pertukaran satu atau beberapa nilai gen dalam kromosom.

Banyaknya kromosom yang mengalami mutasi dalam satu populasi ditentukan dengan parameter mutation rate (Pm). Proses ini dilakukan dengan cara mengganti satu nilai gen yang terpilih secara random dengan suatu nilai baru yang didapat juga secara acak. Prosesnya dapat dilihat dari persamaan 3.6.

Total gen = Total gen dalam satu kromosom * Total populasi ………(3.6) Untuk menentukan posisi gen yang dimutasi dilakukan dengan cara memberikan nilai bilangan bulat (integer) secara acak antara 1 sampai total gen. Jika bilangan acak yang dibangkitkan lebih kecil dari nilai mutation rate (Pm) maka pilih posisi tersebut sebagai sub-kromosom yang mengalami mutasi.

Berikut ini adalah pseudocode dari proses mutasi menggunakan metode swapping mutation:

Prosedur SwappingMutation(Populasi:integer, totGen:integer, Pm:real) Deklarasi

JumGen = totGen * Populasi Mut = Pm * JumGen

For i = 1 to Mut For j= 1 to Populasi For k= 1 to totGen If R <= Pm Then

PosisiMutasi = Random[JumGen]

While PosisiMutasi = k

PosisiMutasi = Random[JumGen]

End While Temp = K[j][k]

K[j][k]= K[j][PosisiMutasi]

K[j][PosisiMutasi] = Temp End If

End For End For End For

Sebagai contoh melanjutkan contoh yang ada pada proses persilangan adalah sebagai berikut:

1. Menentukan mutasi rate yaitu sebesar 20%

2. Menentukan panjang total gen menggunakan persamaan 3.6 Total gen = 5 * 3 = 15

3. Menghitung jumlah gen yang akan dimutasi.

0.2 * 15 = 3

Maka jumlah gen yang akan dimutasi adalah 3 gen dari populasi yang dibentuk.

4. Lakukan proses mutasi

Kromosom[1] = x1 x3 x4 x2 x5 Kromosom[2] = x1 x3 x2 x5 x4 Kromosom[3] = x1 x2 x4 x3 x5

Kromosom[1] = x3 x1 x4 x2 x5 Kromosom[2] = x1 x3 x2 x4 x5 Kromosom[3] = x1 x4 x2 x3 x5

3.3.2 Penerapan Hukum Ketetapan Hardy-Weinberg dalam Algoritma Genetika Dalam penerapan hukum ketetapan Hardy-Weinberg kedalam algoritma genetika prosesnya tidak jauh berbeda dengan algoritma genetika umum yang telah dibahas sebelumnya. Tetapi proses seleksi dan mutasi dihilangkan sehingga dalam penerapan hukum Hardy-Weinberg hanya menggunakan tahapan-tahapan yang diilustrasikan pada gambar 3.4.

29

Pendefinisian Individu

Pembentukan Populasi Awal

Menghitung Fitness

Proses Persilangan Pc = 100%

Individu Baru

Optimal?

Solusi Optimal Ya Tidak

Gambar 3.4 Proses Tahapan Penerapan Hukum Ketetapan Hardy-Weinberg dalam Algoritma Genetika

3.3.2.1 Pendefinisian individu.

Pada pendefinisian individu yang digunakan pada penerapan hukum ketetapan Hardy-Weinberg dalam algoritma genetika sama seperti pendefinisian individu pada algoritma genetika umum yaitu pendefinisian individu dapat direpresentasikan dalam bentuk K1

= (x1, x2, x3, … , xn). Di mana K merupakan kromosom dan x merupakan kota yang direpresentasikan sebagai perpindahan dari satu kota ke satu kota.

Contoh yang digunakan untuk proses penerapan hukum ketetapan Hardy-Weinberg dalam algoritma genetika menggunakan contoh yang ada pada proses algoritma genetika umum yang merujuk pada gambar 3.3 yaitu K1 = (x1,x2,x3,x4,x5).

3.3.2.2 Pembentukan populasi awal.

Untuk pembentukan populasi awal menggunakan proses yang sama seperti pada algoritma genetika umum yaitu dibentuk dari sejumlah kromosom.

Kemudian dibentuk populasi awal dengan menggunakan persamaan 3.1 di mana dibentuk 3 buah kromosom dari 5 buah gen sebagai berikut:

Kromosom[1] = x1,x2,x4,x3,x5 Kromosom[2] = x1,x3,x2,x5,x4 Kromosom[3] = x1,x2,x4,x5,x3

Selanjutnya hitung jarak antar kota dari setiap pasang kota pada kromosom yang sudah dibentuk menggunakan persamaan d(i,j) = √(𝑥𝑖 − 𝑥𝑗)2+ (𝑦𝑖 − 𝑦𝑗)2 sebagai berikut:

a. Kromosom[1] dengan urutan gen x1, x2, x4, x3, x5 d(x1,x2) = √(64 − 80)2+ (96 − 39)2 = 59.2030 d(x2,x4) = √(80 − 72)2+ (39 − 42)2 = 8.5440 d(x4,x3) = √(72 − 69)2+ (42 − 32)2 = 10.4403 d(x3,x5) = √(69 − 48)2+ (32 − 67)2 = 40.8166 d(x5,x1) = √(48 − 64)2+ (67 − 96)2 = 33.1209 b. Kromosom[2] dengan urutan gen x1, x3, x2, x5, x4

d(x1,x3) = √(64 − 69)2+ (96 − 32)2 = 64.1950 d(x3,x2) = √(69 − 80)2+ (32 − 39)2 = 13.0384 d(x2,x5) = √(80 − 48)2+ (39 − 67)2 = 42.5205 d(x5,x4) = √(48 − 72)2+ (67 − 42)2 = 34.6554 d(x4,x1) = √(72 − 64)2+ (42 − 96)2 = 33.1209 c. Kromosom[3] dengan urutan gen x1, x2, x4, x5, x3

d(x1,x2) = √(64 − 80)2+ (96 − 39)2 = 59.2030 d(x2,x4) = √(80 − 72)2+ (39 − 42)2 = 8.5440 d(x4,x5) = √(72 − 48)2+ (42 − 67)2 = 34.6554 d(x5,x3) = √(48 − 69)2+ (67 − 32)2 = 40.8166 d(x3,x1) = √(69 − 64)2+ (32 − 96)2 = 64.1950

Sehingga didapatlah total jarak dari setiap kromosom yang dihitung dari urutan kota yang dapat dilihat pada table 3.2

31

Tabel 3.2 Pembentukan Populasi Awal

Kromosom Gen Total Jarak

Kromosom[1] x1,x2,x4,x3,x5 x1-x2-x4-x3-x5 = 152.1248 Kromosom[2] x1,x3,x2,x5,x4 x1-x3-x2-x5-x4 = 187.5302 Kromosom[3] x1,x2,x4,x5,x3 x1-x2-x4-x5-x3 = 207.414

3.3.2.3 Proses Persilangan

Proses persilangan atau crossover dilakukan untuk melahirkan kromosom baru yang mewarisi sifat-sifat induknya. Kromosom baru yang terbentuk berasal dari dua kromosom induk yang disilangkan.

Pada penelitian ini digunakan teknik Partially Mapped Crossover sama seperti pada algoritma genetika umum. Dimana teknik ini akan melakukan persilangan pada dua titik yang ditentukan secara acak. Namun untuk penerapan hukum ketetapan Hardy-Weinberg, proses persilangan dilakukan pada seluruh kromosom yang terdapat pada individu secara acak. Berikut adalah pseudocode untuk proses persilangan pada hukum ketetapan Hardy-Weinberg yang melibatkan seluruh kromosom/individu dalam individu:

Prosedur CrossOverPMX(Populasi:integer) //Pc yang digunakan 100%

Deklarasi

Adapun contoh yang dapat diberikan dengan melanjutkan contoh pada proses seleksi adalaha sebagai berikut:

1. Kromosom yang akan di-crossover sudah dipilih pada proses seleksi sebelumnya yaitu Kromosom[3], Kromosom[1], dan Kromosom[2]. Sehingga didapat pasangan induk yang di-crossover adalah sebagai berikut:

Kromosom[3] >< Kromosom[1] x1 x2 x4 x5 x3 >< x1 x2 x4 x3 x5 Kromosom[1] >< Kromosom[2] x1 x2 x4 x3 x5 >< x1 x3 x2 x5 x4 Kromosom[2] >< Kromosom[3] x1 x3 x2 x5 x4 >< x1 x2 x4 x5 x3 2. Menentukan posisi daerah mapping pada kromosom induk secara acak.

x1 x2 x4 x5 x3 >< x1 x2 x4 x3 x5  x1 x2 x4 x3 x3 x1 x2 x4 x3 x5 >< x1 x3 x2 x5 x4  x1 x3 x4 x3 x4 x1 x3 x2 x5 x4 >< x1 x2 x4 x5 x3  x1 x2 x2 x5 x3

3. Menentukan hubungan mapping dan menentukan kromosom turunan.

x1 x2 x4 x5 x3 >< x1 x2 x4 x3 x5  x1 x2 x4 x3 x5 x1 x2 x4 x3 x5 >< x1 x3 x2 x5 x4  x1 x3 x4 x2 x5 x1 x3 x2 x5 x4 >< x1 x2 x4 x5 x3  x1 x4 x2 x5 x3

4. Didapatlah kromosom baru hasil persilangan kromosom induk.

Kromosom[1] = x1 x3 x4 x2 x5 Kromosom[2] = x1 x4 x2 x5 x3 Kromosom[3] = x1 x2 x4 x3 x5

3.3.3 Modifikasi Hukum Hardy-Weinberg dalam Algoritma Genetika

Dalam proses modifikasi hukum ketetapan Hardy-Weinberg kedalam algoritma genetika prosesnya tidak jauh berbeda dengan penerapan hukum ketetapan Hardy-Weinberg yang telah dibahas sebelumnya. Proses seleksi tetap dihilangkan namun proses mutasi tidak dihilangkan melainkan diberikan mutasi rate 0.001% sehingga dalam penerapan hukum Hardy-Weinberg hanya menggunakan tahapan-tahapan yang diilustrasikan pada gambar 3.5.

33

Gambar 3.5 Proses Tahapan Modifikasi Hukum Ketetapan Hardy-Weinberg dalam Algoritma Genetika

3.3.3.1 Pendefinisian individu.

Pada pendefinisian individu yang digunakan pada modifikasi hukum ketetapan Hardy-Weinberg dalam algoritma genetika sama seperti pendefinisian individu pada algoritma genetika umum dan penerapan hukum ketetapan Hardy-Weinberg yaitu pendefinisian individu dapat direpresentasikan dalam bentuk K1 = (x1, x2, x3, … , xn). Dimana K merupakan kromosom dan x merupakan kota yang direpresentasikan sebagai perpindahan dari satu kota ke satu kota.

Contoh yang digunakan untuk proses penerapan hukum ketetapan Hardy-Weinberg dalam algoritma genetika menggunakan contoh yang ada pada proses algoritma genetika umum yang merujuk pada gambar 3.3 yaitu K1 = (x1,x2,x3,x4,x5).

3.3.3.2 Pembentukan populasi awal.

Untuk pembentukan populasi awal menggunakan proses yang sama seperti pada algoritma genetika umum dan penerapan hukum ketetapan Hardy-Weinberg yaitu dibentuk dari sejumlah kromosom.

Kemudian dibentuk populasi awal dengan menggunakan persamaan 3.1 di mana dibentuk 3 buah kromosom dari 5 buah gen sebagai berikut:

Kromosom[1] = x1,x2,x4,x3,x5 Kromosom[2] = x1,x3,x2,x5,x4 Kromosom[3] = x1,x2,x4,x5,x3

Selanjutnya hitung jarak antar kota dari setiap pasang kota pada kromosom yang sudah dibentuk menggunakan persamaan d(i,j) = √(𝑥𝑖 − 𝑥𝑗)2+ (𝑦𝑖 − 𝑦𝑗)2 sebagai berikut:

a. Kromosom[1] dengan urutan gen x1, x2, x4, x3, x5 d(x1,x2) = √(64 − 80)2+ (96 − 39)2 = 59.2030 d(x2,x4) = √(80 − 72)2+ (39 − 42)2 = 8.5440 d(x4,x3) = √(72 − 69)2+ (42 − 32)2 = 10.4403 d(x3,x5) = √(69 − 48)2+ (32 − 67)2 = 40.8166 d(x5,x1) = √(48 − 64)2+ (67 − 96)2 = 33.1209 b. Kromosom[2] dengan urutan gen x1, x3, x2, x5, x4

d(x1,x3) = √(64 − 69)2+ (96 − 32)2 = 64.1950 d(x3,x2) = √(69 − 80)2+ (32 − 39)2 = 13.0384 d(x2,x5) = √(80 − 48)2+ (39 − 67)2 = 42.5205 d(x5,x4) = √(48 − 72)2+ (67 − 42)2 = 34.6554 d(x4,x1) = √(72 − 64)2+ (42 − 96)2 = 33.1209 c. Kromosom[3] dengan urutan gen x1, x2, x4, x5, x3

d(x1,x2) = √(64 − 80)2+ (96 − 39)2 = 59.2030 d(x2,x4) = √(80 − 72)2+ (39 − 42)2 = 8.5440 d(x4,x5) = √(72 − 48)2+ (42 − 67)2 = 34.6554 d(x5,x3) = √(48 − 69)2+ (67 − 32)2 = 40.8166 d(x3,x1) = √(69 − 64)2+ (32 − 96)2 = 64.1950

Sehingga didapatlah total jarak dari setiap kromosom yang dihitung dari urutan kota yang dapat dilihat pada tabel 3.3.

35

Tabel 3.3 Pembentukan Populasi Awal

Kromosom Gen Total Jarak

Kromosom[1] x1,x2,x4,x3,x5 x1-x2-x4-x3-x5 = 152.1248 Kromosom[2] x1,x3,x2,x5,x4 x1-x3-x2-x5-x4 = 187.5302 Kromosom[3] x1,x2,x4,x5,x3 x1-x2-x4-x5-x3 = 207.414

3.3.3.3 Proses Persilangan

Proses persilangan atau crossover dilakukan untuk melahirkan kromosom baru yang mewarisi sifat-sifat induknya. Kromosom baru yang terbentuk berasal dari dua kromosom induk yang disilangkan.

Pada proses ini tetap menggunakan teknik partially mapped crossover di mana teknik ini akan melakukan persilangan pada dua titik yang ditentukan secara acak dan proses persilangan dilakukan pada seluruh kromosom yang terdapat pada individu secara acak. Kemudian dilakukan pemilihan pasangan kromosom yang akan di crossover untuk seluruh kromosom. Adapun contoh yang dapat diberikan dengan melanjutkan contoh pada proses seleksi adalah sebagai berikut:

1. Kromosom yang akan di-crossover sudah dipilih pada proses seleksi sebelumnya yaitu Kromosom[3], Kromosom[1], dan Kromosom[2]. Sehingga didapat pasangan induk yang di-crossover adalah sebagai berikut:

Kromosom[3] >< Kromosom[1] x1 x2 x4 x5 x3 >< x1 x2 x4 x3 x5 Kromosom[1] >< Kromosom[2] x1 x2 x4 x3 x5 >< x1 x3 x2 x5 x4 Kromosom[2] >< Kromosom[3] x1 x3 x2 x5 x4 >< x1 x2 x4 x5 x3 2. Menentukan posisi daerah mapping pada kromosom induk secara acak.

x1 x2 x4 x5 x3 >< x1 x2 x4 x3 x5  x1 x2 x4 x3 x3 x1 x2 x4 x3 x5 >< x1 x3 x2 x5 x4  x1 x3 x4 x3 x4 x1 x3 x2 x5 x4 >< x1 x2 x4 x5 x3  x1 x2 x2 x5 x3

3. Menentukan hubungan mapping dan menentukan kromosom turunan.

x1 x2 x4 x5 x3 >< x1 x2 x4 x3 x5  x1 x2 x4 x3 x5 x1 x2 x4 x3 x5 >< x1 x3 x2 x5 x4  x1 x3 x4 x2 x5 x1 x3 x2 x5 x4 >< x1 x2 x4 x5 x3  x1 x4 x2 x5 x3

4. Didapatlah kromosom baru hasil persilangan kromosom induk.

Kromosom[1] = x1 x3 x4 x2 x5

Kromosom[2] = x1 x4 x2 x5 x3 Kromosom[3] = x1 x2 x4 x3 x5

3.3.3.4 Proses Mutasi

Proses yang digunakan untuk modifikasi hukum ketetapan Hardy-Weinberg ini adalah swapping mutation. Metode ini adalah metode mutasi yang dilakukan dengan melakukan pertukaran satu atau beberapa nilai gen dalam kromosom.

Untuk menentukan posisi gen yang dimutasi dilakukan dengan cara memberikan nilai bilangan bulat (integer) secara acak antara 1 sampai total gen. Jika bilangan acak yang dibangkitkan lebih kecil dari nilai mutation rate (Pm) maka pilih posisi tersebut sebagai sub-kromosom yang mengalami mutasi. Sebagai contoh melanjutkan contoh yang ada pada proses persilangan adalah sebagai berikut:

1. Menentukan mutasi rate yaitu sebesar 0.001%

2. Menentukan panjang total gen menggunakan persamaan 3.6 Total gen = 5 * 3 = 15

3. Menghitung jumlah gen yang akan dimutasi.

0.00001 * 15 = 0.0015  0

Maka jumlah gen yang akan dimutasi dari keseluruhan gen adalah 0 gen

4. Lakukan proses mutasi. Dikarenakan jumlah mutasinya adalah 0 maka tidak dilakukan mutasi.

Kromosom[1] = x1 x3 x4 x2 x5 Kromosom[2] = x1 x3 x2 x5 x4 Kromosom[3] = x1 x2 x4 x3 x5

37

BAB IV

HASIL DAN PEMBAHASAN

4.1 Pendahuluan

Pada penelitian ini ditampilkan hasil penilaian performansi untuk jarak terpendek yang dihasilkan (best distance) dan kecepatan menemukan solusi terbaik pada generasi keberapa dari pengujian terhadap algoritma genetika umum dan penerapan hukum ketetapan Hardy-Weinberg dalam algoritma genetika. Penyajian hasil pengujian akan ditampilan dalam bentuk tabel dan grafik.

4.2 Pengujian Pertama

Pengujian pertama dilakukan menggunakan data berlin52 dengan menggunakan beberapa parameter sebanyak tiga tahap percobaan dengan nilai parameter yang berbeda-beda untuk algoritma genetika umum, penerapan hukum ketetapan Hardy-Weinberg dalam algoritma genetika dan modifikasi hukum ketetapan Hardy-Hardy-Weinberg yaitu jumlah kromosom, batas generasi, probabilitas crossover dan probabilitas mutasi.

Hasil yang diperoleh pada pengujian penelitian ini adalah best distance (nilai jarak terpendek) dan generasi keberapa ditemukannya best distance tersebut. Untuk nilai parameter yang digunakan untuk algoritma genetika umum adalah sebagai berikut:

1. Jumlah Kromosom = 50, 70, dan 100 2. Batas Generasi = 1000, 2000, dan 3000 3. Probabilitas Crossover = 0.3, 0.5, dan 0.7 4. Probabilitas Mutasi = 0.03, 0.07, dan 0.1

Parameter yang digunakan untuk penerapan hukum ketetapan Hardy-Weinberg dalam algoritma genetika adalah sebagai berikut:

1. Jumlah Kromosom = 50, 70, dan 100 2. Batas Generasi = 1000, 2000 dan 3000

Sedangkan untuk melihat performansi dari penerapan hukum ketetapan Hardy-Weinberg dalam algoritma genetika, penulis akan membandingkan dengan modifikasi penerapan hukum ketetapan Hardy-Weinberg menggunakan proses mutasi yang sangat sedikit dengan parameter sebagai berikut:

1. Jumlah Kromosom = 50, 70, dan 100 2. Batas Generasi = 1000, 2000 dan 3000

3. Probabilitas Mutasi = 0.00001 atau sekitar 0.001% dari individu yang dibentuk

Dikarenakan pada hukum ketetapan Hardy-Weinberg proses seleksi dan mutasi tidak diberlakukan maka proses seleksi dihilangkan dan probabilitas mutasi dianggap 0 serta proses persilangan (crossover) dilakukan terhadap seluruh kromosom yang dibangkitkan maka probabilitas crossover diberi nilai 1 (100%). Data yang digunakan merupakan data benchmark berlin52.tsp dimana terdapat 52 kota. Setiap kota memiliki indeks nama kota yang direpresentasikan dengan angka 1 sampai 52 dan memiliki nilai koordinat x dan y yaitu 1 565.0 575.0. Angka 1 merupakan representasi dari kota, 565.0 merupakan representasi dari koordinat x, dan 575.0 merupakan representasi dari koordinat y. Data yang digunakan bersumber dari TSPLIB.

4.2.1. Pengujian Tahap Pertama Terhadap Data berlin52.tsp

Pengujian tahap pertama dilakukan terhadap algoritma genetika umum, penerapan hukum ketetapan Weinberg dan modifikasi penerapan hukum ketetapan Hardy-Weinberg sebanyak 1000 generasi dengan jumlah kromosom 50. Untuk algoritma genetika umum probabilitas crossover 0.3 dan nilai probabilitas mutasi 0.03 dengan melakukan pengujian sebanyak 10 kali untuk melihat best distance dan best generation pada setiap pengujian dengan mengambil nilai rata-ratanya. Hasil pengujian tersebut dapat dilihat pada tabel 4.1 berikut ini.

Pada tabel 4.1 dapat dilihat bahwa percobaan ke-1 menunjukkan algoritma genetika umum menghasilkan jarak yang lebih pendek dibandingkan dengan yang lainnya. Untuk percobaan ke-2 menunjukkan algoritma genetika umum masih menghasilkan jarak yang lebih pendek. Namun pada percobaan ke-3 penerapan hukum ketetapan Hardy-Weinberg menghasilkan jarak terpendek. Begitu pula pada percobaan ke-4. Dan percobaan ke-5 penerapan hukum ketetapan Hardy-Weinberg masih tetap

39

menghasilkan jarak terpendek. Untuk percobaan ke-6, ke-7, ke-8, ke-9, dan ke-10 algoritma genetika umum menghasilkan jarak lebih baik. Untuk kecepatan menemukan jarak terpendek algoritma genetika umum masih lebih baik dibandingkan dengan penerapan hukum ketetapan Weinberg dan modifikasi hukum ketetapan Hardy-Weinberg. Untuk lebih jelas dapat dilihat pada gambar 4.1 dan 4.2 berikut ini.

Tabel 4.1 Hasil Pengujian Tahap Pertama untuk Data berlin52

Uji

Algoritma Genetika Hardy-Weinberg Modifikasi Hardy-Weinberg Best

Distance Generation Best

Distance Generation Best

Distance Generation

Gambar 4.1 Grafik Perbandingan Pengujian Tahap Pertama untuk Jarak Terpendek.

0

Pengujian Tahap Pertama Data berlin52 untuk Best Distance

GA umum Hardy-Weinberg H-W Modifikasi

Gambar 4.2 Grafik Perbandingan Pengujian Tahap Pertama untuk Generasi

4.2.2. Pengujian Tahap Kedua Terhadap Data berlin52.tsp

Pengujian tahap kedua dilakukan sebanyak 2000 generasi dengan jumlah kromosom sebanyak 70 terhadap algoritma genetika umum, penerapan hukum ketetapan Hardy-Weinberg dan modifikasi hukum ketetapan Hardy-Hardy-Weinberg, probabilitas crossover 0.5 dan nilai probabilitas mutasi 0.07 dengan melakukan pengujian sebanyak 10 kali untuk melihat best distance dan best generation pada setiap pengujian dengan mengambil nilai rata-ratanya. Hasil pengujian tersebut dapat dilihat pada tabel 4.2 berikut ini.

Tabel 4.2 Hasil Pengujian Tahap Kedua untuk Data berlin52

Uji Algoritma Genetika Hardy-Weinberg

Modifikasi 1 3121.660645 1966 2413.244385 1967 2744.449219 1982 2 3524.553223 1871 2846.465332 1904 2892.016113 1971 3 3653.85791 1575 2423.720947 1823 2937.903564 1787 4 3616.849365 1892 2424.037354 1886 2540.152832 1957 5 3131.240234 1087 2731.150391 1957 2894.375977 2000 6 2887.592529 1746 2600.401611 1995 2834.273193 1984 7 3480.04541 1612 2624.999268 1979 2560.69043 1945 8 3597.365234 1698 2582.943115 1836 2668.462891 1881 9 3175.358887 1859 2722.045898 1759 2965.009521 1925 10 3243.422119 1351 2520.108398 1943 2755.306641 1968 3361.733765 1722 2591.672363 1923.5 2794.789917 1962.5

Pada tabel 4.2 dapat dilihat bahwa dari percobaan ke-1, ke-2, ke-3, ke-4, ke-5, dan ke-6 menunjukkan penerapan hukum ketetapan Hardy-Weinberg menghasilkan

0

Pengujian Tahap Pertama Data berlin 52 untuk Generasi

GA umu Hardy-Weinberg H-W Modifikasi

41

jarak yang lebih pendek dibandingkan dengan yang lainnya. Untuk percobaan ke-7 menunjukkan modifikasi penerapan hukum ketetapan Hardy-Weinberg menghasilkan jarak yang lebih pendek. Namun pada percobaan ke-8, ke-9, dan ke-10 penerapan hukum ketetapan Hardy-Weinberg menghasilkan jarak terpendek. Untuk kecepatan menemukan jarak terpendek algoritma genetika umum lebih cepat dalam menghasilkan solusi terbaiknya dibandingkan dengan penerapan hukum ketetapan Hardy-Weinberg dan modifikasi hukum ketetapan Hardy-Weinberg. Untuk lebih jelas dapat dilihat pada gambar 4.3 dan 4.4 berikut ini.

Gambar 4.3 Grafik Perbandingan Pengujian Tahap Kedua untuk Jarak Terpendek.

Gambar 4.4 Grafik Perbandingan Pengujian Tahap Kedua untuk Generasi

0 1000 2000 3000 4000

1 2 3 4 5 6 7 8 9 10

Distance

Percobaan

Pengujian Tahap Kedua Data berlin52 untuk Best Distance

GA umum Hardy-Weinberg H-W Modifikasi

0 500 1000 1500 2000

1 2 3 4 5 6 7 8 9 10

Generasi

Percobaan

Pengujian Tapah Kedua Data berlin52 untuk Generasi

GA umum Hardy-Weinberg H-W Modifikasi

Dokumen terkait