• Tidak ada hasil yang ditemukan

Implementasi Algoritma Genetika Dalam Penyusunan Teka-Teki Silang

N/A
N/A
Protected

Academic year: 2016

Membagikan "Implementasi Algoritma Genetika Dalam Penyusunan Teka-Teki Silang"

Copied!
76
0
0

Teks penuh

(1)

IMPLEMENTASI ALGORITMA GENETIKA DALAM PENYUSUNAN TEKA-TEKI SILANG

SKRIPSI

Diajukan untuk melengkapi tugas dan syarat mencapai gelar Sarjana Ilmu Komputer

EDISON SINAGA 051401069

PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN S1 ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

(2)

PERSETUJUAN

Judul : IMPLEMENTASI ALGORITMA GENETIKA

DALAM PENYUSUNAN TEKA-TEKI SILANG

Kategori : SKRIPSI

Nama : EDISON SINAGA

Nomor Induk Mahasiswa : 051401069

Program Studi : SARJANA (S1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, Desember 2009

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

M. Andri B, ST, McompSc, MEM Syahril Efendi, S.Si,MIT NIP. 197510082008011011 NIP. 196711101996021011

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

(3)

PERNYATAAN

IMPLEMENTASI ALGORITMA GENETIKA DALAM PENYUSUNAN TEKA-TEKI SILANG

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Desember 2009

(4)

PENGHARGAAN

Puji syukur saya ucapkan kepada Tuhan Yang Maha Esa karena berkat-Nyalah saya dapat menyelesaikan penyusunan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Komput er di Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.

Ucapan terima kasih saya ucapkan kepada Bapak Syahril Effendi, S.Si,MIT sebagai Dosen Pembimbing I dan Bapak M. Andri B, ST, McompSC, MEM sebagai Dosen Pembimbing II yang telah memberikan bimbingan, saran, dan masukan kepada saya untuk menyempurnakan kajian ini. Panduan ringkas dan padat serta profesional telah diberikan kepada saya sehingga saya dapat menyelesaikan skripsi ini. Selanjutnya kepada Dosen Penguji Bapak Syahriol Sitorus, S.Si, MIT dan Ibu Maya Silvi Lydia, B.Sc.MSc atas saran dan kritik yang diberikan yang sangat berguna bagi saya. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi S1 Ilmu Komputer, Bapak Prof. Dr. Muhammad Zarlis dan Bapak Syahriol Sitorus, S.Si,MIT, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen Program Studi S1 Ilmu Komputer FMIPA USU, dan pegawai di FMIPA USU.

Ucapan terimakasih juga untuk orangtua dan keluarga yang telah memberikan dukungan doa dan motivasi serta terus memberi semangat kepada saya. Untuk teman-teman satu kelas dan satu angkatan yang sudah selesai studi dan yang masih sedang berjuang. Terimakasih untuk kebersamaan selama ini, buat ide dan saran-saran yang diberikan yang sudah banyak membantu dalam penyelesaian skripsi ini. Terima kasih juga kepada semua pihak-pihak yang tidak dapat saya sebutkan satu persatu, terima kasih atas ide, masuka n, motivasi dan kerjasama yang baik selama ini.

Saya menyadari bahwa skripsi ini masih jauh dari sempurna, oleh karena itu saya menerima saran dan kritik yang bersifat membangun demi kesempurnaan skripsi ini, sehingga dapat bermanfaat bagi kita semuanya. Akhir kata saya ucapkan terimakasih.

Penulis

(5)

ABSTRAK

(6)

GENETIC ALGORITHM IMPLEMENTATION IN THE PREPARATION OF A CROSSWORD PUZZLE

ABSTRACT

(7)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel ix

Daftar Gambar x

BAB 1 PENDAHULUAN

1.1 Latar Belakang... 1

1.2 Rumusan Masalah... 2

1.3 Batasan Masalah... 2

1.4 Tujuan Penelitian... 3

1.5 Manfaat Penelitian... 3

1.6 Metode Penelitian... 3

1.7 Sistematika Penulisan………4

BAB 2 DASAR TEORI 2.1 Teka-Teki Silang... 5

2.2 Algoritma Genetika... 6

2.3 Parameter Algoritma Genetika...6

2.3.1 Ukuran populasi... 6

2.3.2 Jumlah generasi... 7

2.3.3 Crossover probability...7

2.4 Kromosom dan Pola Representasi... 7

2.4.1 Pengkodean kromosom... 8

2.4.1.1 Pengkodean biner (binary encoding)...8

2.4.1.2 Pengkodean permutasi... 8

2.4.2 Nilai fitness dan fungsi objektif...9

2.4.3 Seleksi...10

2.4.3.1 Roulette wheel selection………..10

2.4.3.2 Rank selection………...……….11

2.4.3.3 Tournament selection…….……….13

2.4.4 Crossover………...14

2.4.4.1 Crossover pengkodean biner……….. 14

2.4.4.1.1 Crossover 1 titik………. 14

2.4.4.1.2 Crossover 2 titik………. 14

2.4.4.1.3 Crossover seragam………. 15

2.4.4.1.4 Arithmatic crossover………. 15

2.4.4.1.5 Crossover pengkodean permutasi……… 16

2.4.5 Update generasi...17

(8)

BAB 3 ANALISIS DAN RANCANGAN SISTEM

3.1 Analisis Sistem...20

3.2 Rancangan Sistem... 21

3.2.1 Diagram konteks... 21

3.2.1.1 DFD level 1... 21

3.2.1.2 DFD level 2 proses tts baru……….. 22

3.2.1.3 DFD level 3 proses algoritma genetika……… 23

3.2.1.4 DFD level 4 menghitung nilai fitness………... 47

3.2.1.5 DFD level 3 proses bermain tts……… 49

3.2.2 Flowchart Pembentukan TTS………50

3.2.3 Rancangan database pertanyaan………51

3.2.4 Rancangan antar muka……….. 51

3.2.4.1 Rancangan form utama...51

3.2.4.2 Rancangan menu utama file... 52

3.2.4.3 Rancangan sub menu baru………52

3.2.4.4 Rancanganformteka-teki silang……… 53

3.2.4.5 Rancangan sub menu open………... 54

3.2.4.6 Rancangan sub menu bank soal………... 54

BAB 4 IMPLEMENTASI SISTEM 4.1 Form Menu Utama... 56

4.1.1 Menu file...57

4.1.2 Menu pengaturan... 61

4.1.3 Menu informasi………..61

BAB 5 KESIMPULAN DAN SARAN 5.1 Kesimpulan... 62

5.2 Saran...62

DAFTAR PUSTAKA 63

(9)

DAFTAR TABEL

Halaman

Tabel 2.1 Contoh roullet wheel selection……… 11

Tabel 2.2 Contoh rank selection……….. 12

Tabel 3.1 Contoh pertanyaan………26

Tabel 3.2 Contoh proses memilih parent………. 45

Tabel 3.3 Penghitungan nilai fitness... 49

Tabel 3.5 TblBankSoal...51

Tabel 3.6 TblSoal... 51

(10)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Contoh sebuah TTS sederhana... 5

Gambar 2.2 Kromosom dengan pengkodean biner... 8

Gambar 2.3 Kromosom dengan pengkodean permutasi... 9

Gambar 2.4 Roulette wheel selection………10

Gambar 2.5 Nilai fitness sebelum diranking……… 12

Gambar 2.6 Nilai fitness sesudah diranking……….12

Gambar 2.7 Tournament selection………13

Gambar 2.8 Contoh crossover 1 titik………... 14

Gambar 2.9 Contoh crossover 2 titik... 15

Gambar 2.10 Contoh crossover seragam...15

Gambar 2.11 Contoh arithmatic crossover………16

Gambar 2.12 Contoh single point crossover pengkodean permutasi……….16

Gambar 2.13 Diagram alir algoritma genetika sederhana………… ……….18

Gambar 3.1 Diagram konteks... 21

Gambar 3.2 DFD level 1……….. 22

Gambar 3.3 DFD level 2 proses tts baru……….. 23

Gambar 3.4 DFD level 3 proses algoritma genetika……… 24

Gambar 3.5 Contoh kromosom... 26

Gambar 3.6 Letak dari kata GERIMIS pada papan matriks... 27

Gambar 3.7 Array koordinat jawaban menurun………...27

Gambar 3.8 Proses pencarian huruf I………. 28

Gambar 3.9 Alternatif titik potong pertama... 30

Gambar 3.10 Alternatif titik potong yang kedua... 31

Gambar 3.11 Proses pencarian huruf K... 32

Gambar 3.12 Proses pencarian huruf A... 32

Gambar 3.13 Proses pencarian huruf N... 33

Gambar 3.14 Koordinat tipot yang dipilih………. 34

Gambar 3.15 Isi array... 34

Gambar 3.16 Proses pencarian huruf B……… 35

Gambar 3.17 Proses pencarian huruf A……… 35

Gambar 3.18 Alternatif titik potong……….. 38

Gambar 3.19 Proses pencarian huruf H... 38

Gambar 3.20 Isi papan matriks... 39

Gambar 3.21 Isi array... 39

Gambar 3.22 Proses pencarian huruf T………..40

Gambar 3.23 Proses pencarian huruf R... 40

Gambar 3.24 Isi papan matriks untuk kromosom pada gambar 3.5... 42

Gambar 3.25 Contoh letak jawaban yang salah... 42

Gambar 3.26 Contoh crossover... 46

Gambar 3.27 DFD Level 3 menghitung nilai fitness………48

(11)

Gambar 3.29 DFD level 3 proses bermain TTS……….50

Gambar 3.30 Diagram alir algoritma genetika yang digunakan……… 50

Gambar 3.31 Diagram arsitektur rancangan………...………52

Gambar 3.32 Rancangan form utama... 52

Gambar 3.33 Rancangan dari form TTS Baru... 53

Gambar 3.34 Rancangan form teka-teki silang... 54

Gambar 3.35 Rancangan sub menu open... 54

Gambar 3.36 Rancangan sub menu bank soal... 55

Gambar 3.37 Daftar soal... 55

Gambar 4.1 Hasil pengujian……….………56

Gambar 4.2 Form Baru………... 57

Gambar 4.3 Form teka-teki silang…………... 58

Gambar 4.4 Form Buka………... 59

Gambar 4.5 Hasil Tampilan file TTS12.tts... 59

Gambar 4.6 Form Bank Soal... 60

Gambar 4.7 Daftar bank soal... 60

(12)

ABSTRAK

(13)

GENETIC ALGORITHM IMPLEMENTATION IN THE PREPARATION OF A CROSSWORD PUZZLE

ABSTRACT

(14)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Banyak usaha yang dilakukan untuk mendapatkan keuntungan yang sebesar-besarnya dengan pengeluaran yang sekecil mungkin. Seiring dengan perkembangan ilmu pengetahuan dan teknologi, maka salah satu cara untuk mencapai tujuan tersebut adalah dengan optimasi. Optimasi adalah pencarian nilai-nilai variabel yang dianggap optimal untuk mencapai hasil yang diinginkan. Masalah optimasi ini beragam tergantung dari bidangnya. Dalam tulisan ini, masalah optimasi yang akan dibahas adalah pembuatan teka-teki silang. Penerapan optimasi adalah dengan cara memaksimumkan pengisian ruang-ruang kosong. Untuk memecahkan masalah optimasi tersebut, tentunya diperlukan algoritma yang handal.

(15)

kosong teka-teki silang tersebut. Jadi, semakin banyak dan baik kombinasi kata yang dibuat untuk mengisi ruang-ruang kosong, maka semakin optimal pengisian tersebut. Solusi ini dapat diatasi apabila membuat teka-teki silang dilakukan secara otomatis dengan komputer.

1.2 Rumusan Masalah

Permasalahan yang akan dibahas dalam tulisan ini adalah bagaimana membuat kombinasi dari sekumpulan jawaban pertanyaan sehingga membentuk sebuah teka-teki silang dengan menggunakan algoritma genetika.

1.3Batasan Masalah

Agar pembahasan penelitian ini tidak menyimpang dari apa yang telah dirumuskan, maka diperlukan batasan-batasan. Batasan-batasan dalam penelitian ini adalah:

1. Teka-teki silang yang dibuat adalah teka-teki silang dalam bentuk yang kita kenal sekarang ini. Pertanyaan dibagi menjadi dua kategori yaitu mendatar dan menurun.

2. Seperti TTS pada umumnya, karakter yang digunakan untuk mengisi kotak TTS hanya karakter huruf A..Z.

3. Apabila jawaban mengandung karakter selain huruf A..Z, maka karakter tersebut diabaikan. Misalnya apabila jawaban dari sebuah pertanyaan adalah kupu-kupu maka ditulis menjadi kupukupu.

(16)

1.4Tujuan Penelitian

Untuk membuat sebuah aplikasi yang dapat membuat teka-teki silang berdasarkan pertanyaan yang diinputkan oleh user dengan menggunakan algoritma genetika.

1.5Manfaat Penelitian

Adapun manfaat dari penelitian ini adalah mempermudah dalam membuat teka-teki silang dengan pertanyaan-pertanyaan yang dapat ditentukan sendiri oleh pengguna.

1.6Metode Penelitian

Dalam menyusun skripsi ini penulis melakukan beberapa penerapan metode penelitian untuk menyelesaikan permasalahan. Adapun metode penelitian yang dilakukan adalah dengan cara:

1. Studi Literatur

Tahapan untuk memperdalam teori dan mencari referensi-referensi yang berkaitan dengan tema tugas akhir ini. Sumber referensi berasal dari artikel di internet maupun buku. Tahapan ini sangat penting karena digunakan untuk menunjang tahapan-tahapan berikutnya dalam tugas akhir ini.

2. Analisis Kebutuhan

Tahap ini untuk menganalisis apa saja kebutuhan untuk penelitian tugas akhir, seperti pengumpulan data, analisis data, dan analisis kebutuhan hardware dan

software. Tahap ini sangat penting untuk menunjang tahapan perancangan

sistem.

3. Perancangan Sistem

Pada tahap ini, dimulainya pembuatan rancangan sistem, yang terdiri dari perancangan proses dan perancangan antarmuka.

(17)

Pada tahap ini dilakukan pengimplementasian rancangan yang telah disusun pada tahap sebelumnya sesuai konsep yang dibuat. Sistem dapat mengalami perubahan dari rancangan sebelumnya pada tahapan ini, jika dirasa memerlukan pergantian.

5. Pengujian Sistem

Pada tahap ini dilakukan pengecekan apakah sistem memiliki kemampuan seperti yang diharapkan.

1.7Sistematika Penulisan

Sistematika penulisan dalam penelitian ini adalah sebagai berikut:

1. BAB 1 Pendahuluan

Bab ini berisi tentang latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian dan sistematika penulisan. 2. BAB 2 Dasar Teori

Bab ini berisi tentang dasar teori yang digunakan untuk membuat aplikasi. Pada bab ini dijelaskan mengenai teka-teki silang dan algoritma genetika. Di sini dijelaskan juga istilah-istilah yang digunakan serta proses-proses dalam algoritma genetika.

3. BAB 3 Analisis dan Rancangan Sistem

Bab ini menjelaskan bagaimana penerapan algoritma genetika untuk membuat teka-teki silang. Di sini juga dijelaskan perancangan dari aplikasi yang akan dibuat.

4. BAB 4 Implementasi

Bab ini menjelaskan tentang implementasi dari rancangan yang telah dibuat pada bab III.

5. BAB 5 Kesimpulan dan Saran

(18)

BAB 2

DASAR TEORI

2.1Teka-Teki Silang

Teka-teki silang atau disingkat TTS adalah suatu permainan yang mengharuskan penggunanya untuk mengisi ruang-ruang kosong dengan huruf-huruf yang membentuk sebuah kata berdasarkan petunjuk yang diberikan (wikipedia, 2007). Petunjuk biasa dibagi dalam kategori mendatar dan menurun tergantung posisi kata yang harus diisi.

1

2

3

4

5

Gambar 2.1 Contoh sebuahTTS sederhana

Teka-teki silang (TTS) pertama kali diterbitkan dalam majalah New York

World dalam format yang hampir sama dengan teka-teki silang yang dikenal pada saat

ini. Teka-teki yang sering disebut sebagai teka-teki silang yang pertama ini ditemukan oleh Wynne. TTS kemudian menjadi fitur mingguan di majalah tersebut. Dalam perkembangan selanjutnya TTS tidak hanya menjadi fitur sebuah majalah. Buku kumpulan TTS yang pertama diterbitkan oleh Simon dan Schuster pada tahun 1924. TTS menjadi salah satu benda terpopuler pada era tersebut. Di Indonesia sendiri, perkembangan teka-teki silang diawali pada tahun 1970-an. Pada waktu itu di

PERTANYAAN

Mendatar 1. Cukai

3. Tidak Benar

5. Sejenis kain dari bulu domba Menurun 1. Alat Transportasi

(19)

Jakarta terbit “Asah Otak”, sebuah majalah TTS dan teka-teki lainnya. Penerbitan ini ternyata juga menuai sukses sehingga banyak terbitan serupa yang mengikuti.

2.2Algoritma Genetika

Algoritma genetika adalah suatu algoritma pencarian (searching) berdasarkan cara kerja melalui mekanisme seleksi alam dan genetik. Tujuannya untuk menentukan struktur-struktur yang disebut individu berkualitas tinggi di dalam suatu domain yang disebut populasi untuk mendapatkan solusi persoalan (Pandjaitan, 2007, hal:163).

Pada tahun 1975, John Holland memperkenalkan algoritma genetika untuk yang pertama kalinya. Algoritma genetika berbeda dengan algoritma konvensional karena dimulai dari suatu himpunan awal yang disebut populasi. Algoritma genetika menggunakan dua prinsip dasar dalam sistem biologis, yaitu seleksi terhadap spesies yang ada dan peningkatan keanekaragaman (gen dengan operasi genetik).

2.3Parameter Algoritma Genetika

Skema algoritma genetika menentukan bagaimana jalannya proses algoritma genetika, sehingga pada proses ini juga perlu ditentukan parameter algoritma genetika yang akan digunakan, yaitu sebagai berikut:

2.3.1 Ukuran populasi

Ukuran populasi adalah jumlah kromosom yang ada pada populasi. Kromosom merepresentasikan bentuk dari teka-teki silang. Memilih ukuran populasi yang tepat akan meningkatkan kinerja algoritma genetika. Apabila ukuran populasi terlalu kecil, maka algoritma genetika hanya mempunyai alternatif solusi yang sedikit. Namun, jika ukuran populasi terlalu, besar proses algoritma genetika akan berjalan lambat.

(20)

Satu proses rangkaian algoritma genetika dimulai dari proses seleksi, crossover (pindah silang), mutasi sampai update generasi. Proses algoritma genetika akan dihentikan apabila jumlah generasi sudah terpenuhi. Solusi yang diambil adalah kromosom dengan nilai fitness (nilai kelayakan) terbaik dari generasi terakhir.

2.3.3 Crossover probability (peluang pindah silang)

Peluang crossover (PC) akan menentukan banyaknya crossover (pindah silang) yang terjadi. Nilai PC berkisar dari 0 sampai 1. Apabila nilai PC sama dengan 1, maka seluruh kromosom akan mengalami crossover. Apabila PC sama dengan 0, maka tidak akan terjadi proses crossover, atau dengan kata lain kromosom offspring (kromosom anak hasil pindah silang) akan sama dengan kromosom parent (kromosom induk).

2.4 Kromosom dan Pola Representasi

Dalam konsep ilmu biologi dikenal adanya istilah sel. Sel merupakan bagian terkecil yang menyusun organisme. Secara umum organisme terdiri dari sel-sel penyusun. Sebuah sel tersusun dari kumpulan beberapa kromosom. Sebuah kromosom tersusun dari beberapa gen. Gen merupakan sekumpulan DNA (Deoxyribo Nucleic Acid). Konsep biologi semacam ini yang diadaptasi pada algoritma genetika. Dalam algoritma genetika, kromosom merupakan alternatif solusi dari sebuah permasalahan. Kromosom dapat disajikan dalam beberapa bentuk sesuai dengan jenis pengkodean yang digunakan.

(21)

Pengkodean merupakan bagian yang penting dalam menyelesaikan suatu permasalahan dengan algoritma genetika. Pengkodean adalah pengkorversian masalah dalam dunia nyata menjadi bentuk yang dapat diolah dengan menggunakan algoritma genetika. Pengkodean yang tepat sangat menentukan berhasil atau tidaknya proses algoritma genetika dalam menyelesaikan sebuah permasalahan. Pengkodean yang tepat juga akan menentukan tingkat efisiensi komputasi yang digunakan.

Ada beberapa jenis pengkodean yang dapat digunakan dalam algoritma genetika, diantaranya pengkodean biner (binary encoding) dan pengkodean permutasi

(permutation encoding).

2.4.1.1 Pengkodean biner (binary encoding)

Pengkodean biner merupakan pengkodean yang sering digunakan dan paling sederhana. Sesuai dengan namanya, pada pengkodean biner nilai gen pada sebuah kromosom hanya terdiri dari 0 dan 1.

Contoh kromosom yang menggunakan pengkodean biner ditunjukkan pada gambar 2.2.

Kromosom 1 1 0 1 0 1 0 1 0 1 1 Kromosom 2 1 1 0 0 0 0 1 0 1 0 Gambar 2.2 Kromosom dengan pengkodean biner

2.4.1.2Pengkodean permutasi

(22)

adalah TSP (traveling salesman problem). Traveling salesman problem merupakan cara bagaimana menentukan rute minimal untuk mengunjungi beberapa tempat atau kota. Jika ada 10 kota yang akan dikunjungi, maka satu kromosom akan mempunyai 10 gen, dimana tiap-tiap gen mewakili satu kota. Posisi atau urutan gen dalam kromosom menentukan urutan kota yang harus dilalui. Contoh kromosomnya dapat dilihat pada gambar 2.3.

Kromosom 1 2 6 7 5 1 3 4 9 8 10 Kromosom 2 10 5 4 9 7 1 3 2 6 8 Gambar 2.3 Kromosom dengan pengkodean permutasi

Pada kromosom 1 berarti kota yang pertama dikunjungi adalah kota 1, kemudian kota 2 demikian seterusnya sampai kota 10.

2.4.2 Nilai fitness (nilai kelayakan) dan fungsi objektif (fungsi tujuan)

Dalam proses evolusi individu yang survive (bertahan hidup) dari proses seleksi alam akan mempunyai kesempatan untuk bereproduksi kembali. Dengan demikian, kemampuan individu untuk dapat beradaptasi dan bertahan hidup untuk selamat sangat penting. Dalam terminologi algoritma genetika kemampuan suatu individu (kromosom) untuk bertahan hidup dapat diukur berdasarkan nilai fitness-nya. Semakin baik nilai fitness (nilai kelayakan) suatu kromosom maka akan semakin baik peluang kromosom tersebut untuk bertahan hidup dan ikut dalam proses reproduksi. Nilai

fitness suatu kromosom dapat dihitung dengan menggunakan fungsi objektif.

(23)

Proses seleksi bertujuan untuk memilih kromosom yang akan dijadikan sebagai parent (kromosom induk) pada proses crossover (pindah silang). Ada beberapa metode yang dapat dipilih pada proses seleksi, antara lain Roulette Wheel Selection, Rank Selection dan Tournament Selection.

2.4.3.1Roulette wheel selection

Pada roulette wheel selection, kromosom akan dipilih secara acak ditentukan dengan memperhitungkan nilai kelayakan masing-masing kromosom. Semakin besar nilai kelayakan suatu kromosom, semakin besar pula peluang kromosom tersebut untuk terpilih sebagai parent (kromosom induk). Pengkodean roulette wheel dapat dianalogikan seperti permainan roda putar. Pada permainan roda putar, lingkaran roda dibagi menjadi beberapa wilayah. Pada roulette wheel selection, lebar suatu wilayah kromosom ditentukan menurut nilai fitness-nya, semakin besar nilai fitness-nya maka akan semakin besar wilayahnya, dan semakin besar pula peluang kromosom tersebut untuk terpilih.

Ilustrasi dari roulette wheel selection dapat dilihat pada gambar 2.4.

Gambar 2.4 Roulette wheel selection

Proses roulette wheel selection dijelaskan pada algoritma sebagai berikut: 1. [Sum] Jumlahkan semua nilai fitness (nilai kelayakan) tiap-tiap kromosom

pada populasi S.

(24)

3. [Loop] secara sekuensial dari kromosom pertama, jumlahkan nilai fitness kromosom-s. apabila pada kromosom ke-i s>r maka berhenti, maka kromosom i terpilih sebagai kandidat parent.

Contoh dari roulett whell selection dapat dilihat pada tabel 2.1.

Tabel 2.1 Contoh roulett wheel selection

Kromosom Fitness Si Bil.Random r

(0, 110)

Kromosom Terpilih

Kromosom 1 20 20 35 Kromosom 3

Kromosom 2 10 30 90 Kromosom 5

Kromosom 3 30 60 45 Kromosom 3

Kromosom 4 10 70 10 Kromosom 1

Kromosom 5 40 110 70 Kromosom 4

Jumlah S = 110

Pada tabel di atas dapat disimpulkan bahwa ukuran pupulasi adalah 5. Nilai Si merupakan nilai akumulasi dari nilai fitness kromosom ke 1 sampai kromosom ke i. Untuk memilih kromosom yang akan menjadi calon parent maka dibangkitkan bilangan random (0, S). Bilangan random yang dibangkitkan sebanyak 5 buah sesuai dengan ukuran populasinya. Apabila ri < Si dan ri > Si-1 maka kromosom yang terpilih adalah kromosom ke i. Pada tabel di atas r1 = 35, karena 35 < S3 (60) dan 35 > S2 (30) maka kromosom yang terpilih adalah kromosom 3.

2.4.3.2Rank selection

Pada pengkodean ranking, kromosom pada populasi diranking sesuai dengan nilai

fitness-nya, kemudian kromosom diberi nilai fitness (nilai kelayakan) yang baru sesuai

(25)

masing-masing mengilustrasikan kondisi dari nilai fitness sebelum dan sesudah proses ranking.

Gambar 2.5 Nilai fitness sebelum diranking

Gambar 2.6 Nilai fitness sesudah diranking

Dari gambar 2.6 dapat diketahui setelah diranking, semua kromosom mempunyai kesempatan terpilih karena kromosom dengan nilai terbaik tidak mempunyai perbedaan yang besar dengan kromosom yang lain. Contoh dari rank

selection dapat dilihat pada tabel 2.2.

Tabel 2.2 Contoh rank selection Kromosom Fitness

Awal

Ranking Fitness setelah ranking

Si Bil.Random r (0, 15)

Kromosom Terpilih

Kromosom 1 20 3 3 3 5 Kromosom

2

Kromosom 2 10 4 2 5 3 Kromosom

1

Kromosom 3 30 2 4 9 7 Kromosom

3

(26)

3

Kromosom 5 5 5 1 15 13 Kromosom

4

Jumlah S = 15

Pada tabel di atas dapat dilihat bahwa rank selection hampir sama dengan

roulett whell selection. Hanya saja sebelum kromosom dipilih nilai fitness tiap

kromosom diganti sesuai dengan rankingnya. Nilai fitness hasil dari pemeringkatan ini yang kemudian dijadikan acuan pada saat pemilihan kromosom.

2.4.3.3Tournament selection

Pada tournament selection, setiap satu kromosom kandidat parent dipilih dari proses

tournament. Untuk memilih satu calon parent, dipilih dua buah kromosom secara

acak. Kemudian nilai fitness kedua kromosom tersebut dibandingkan, kromosom dengan nilai fitness terbaik dipilih sebagai calon parent. Demikian juga untuk memilih calon parent yang lain. Ilustrasi dari tournament selection ditunjukkan pada gambar 2.7.

Kromosom 1 Fitness : 10 Kromosom 2 Fitness : 15 Kromosom 3

Fitness : 20 Kromosom 4 Fitness : 40 Kromosom 5 Fitness : 35 Kromosom 6 Fitness : 25 Kromosom 7

Fitness : 30 Kromosom 8

Fitness : 45

Kromosom 2 Kromosom 6 Kromosom 8 Kromosom 5 Kromosom 5 Kromosom 3 Kromosom 8 Kromosom 4

(27)

Pada gambar di atas dapat disimpulkan ukuran populasinya adalah 8. Untuk memilih sebuah kromosom mula-mula dipilih sepasang kromosom. Selanjutnya sepasang kromosom yang terpilih dibandingkan nilai fitness-nya. Kromosom dengan nilai fitness yang lebih besar adalah kromosom yang dipilih. Pada contoh di atas kromosom 2 yang dipilih dari proses turnamen antara kromosom 2 dan kromosom 1.

2.4.4 Crossover

Crossover atau pindah silang adalah proses pembentukan kromosom anak (offspring).

Crossover bertujuan menambah keanekaragaman string dalam satu populasi dengan

penyilangan antar-string yang diperoleh dari reproduksi sebelumnya (Arhami, 2005, hal:196). Beberapa jenis crossover sebagai berikut:

2.4.4.1Crossover pengkodean biner

Ada beberapa metode crossover (pindah silang) dengan pengkodean biner, yaitu sebagai berikut:

2.4.4.1.1 Crossover 1 titik

Proses crossover dilakukan dengan memisahkan suatu string menjadi dua bagian dan selanjutnya salah satu bagian dipertukarkan dengan salah satu bagian dari string yang lain yang telah dipisahkan dengan cara yang sama.

Kromosom orangtua 1 11001011

Kromosom orangtua 2 11011111

Keturunan 11001111

(28)

2.4.4.1.2 Crossover 2 titik

Proses crossover (pindah silang) ini dilakukan dengan memilih dua titik crossover. Kromosom keturunan kemudian dibentuk dengan barisan bit dari awal kromosom sampai titik crossover pertama disalin dari orangtua pertama, bagian dari titik

crossover pertama dan kedua disalin dari orangtua kedua, kemudian selebihnya disalin

dari orang tua pertama lagi.

Kromosom orangtua 1 11001011

Kromosom orangtua 2 11011111

Keturunan 11011111

Gambar 2.9 Contoh crossover 2 titik

2.4.4.1.3 Crossover seragam

Crossover (pindah silang) seragam menghasilkan kromosom keturunan dengan

menyalin bit-bit secara acak dari kedua orangtuanya.

Kromosom orangtua 1 11001011 Kromosom orangtua 2 11011111

Keturunan 11011111

Gambar 2.10 Contoh crossover seragam

2.4.4.1.4Arithmatic crossover

(29)

Parent-1 10101001

AND

Parent-2 10111010

Offspring 10101000

Gambar 2.11 Contoh arithmatic crossover

2.4.4.1.5 Crossover pengkodean permutasi

Jenis crossover (pindah silang) untuk pengkodean permutasi hanyalah single point

crossover. Metode ini dilakukan dengan memilih satu titik crossover p pada

kromosom parent (kromosom induk) secara acak. Gen ke-1 sampai gen ke-p pada

parent 1 dikopikan menjadi gen offspring (kromosom anak). Sisa gen yang belum

terpenuhi diambil dari parent 2 dengan cara sekuensial dari gen ke-1 parent 2 sampai gen terakhir, dengan syarat gen tersebut belum ada dalam kromosom offspring. Contoh dari crossover pada pengkodean permutasi dapat dilihat pada gambar 2.12.

Parent 1 2 3 4 1 5 7 6 8

Parent 2 5 1 3 8 6 4 2 7

Offspring1 2 3 4 1 5 8 6 7

Offspring2 5 1 3 8 2 4 7 6

Gambar 2.12 Contoh single point crossover pengkodean permutasi

Titik crossover pada gen ke-4. Offspring pertama dihasilkan dari gen 1 sampai gen 4

parent 1, kemudian gen yang berikutnya pada offspring 1 diambil dari parent 2. Gen

parent 2 dicek secara sekuensial dari gen 1 sampai gen 8. Apabila gen yang dicek

(30)

2.4.5 Update generasi

Proses crossover akan menghasilkan kromosom-kromosom baru (offspring) yang akan menyebabkan ukuran populasi akan bertambah. Untuk menjaga agar ukuran populasi tetap, maka harus ada kromosom yang dibuang. Proses ini dinamakan dengan update generasi. Proses update generasi dapat dilakukan dengan mengurutkan kromosom dalam populasi berdasarkan nilai fitness-nya, selanjutnya diambil n kromosom dengan nilai kromosom terbaik. Kromosom yang terpilih kemudian akan menjadi populasi yang baru.

2.4.6 Langkah algoritma genetika

Algoritma genetika dimulai dengan membuat himpunan solusi (kromosom) yang disebut dengan populasi. Populasi mula-mula dibuat secara acak. Selanjutnya populasi yang sudah terbentuk akan digunakan untuk membentuk populasi yang baru dengan harapan populasi yang baru lebih baik dari populasi sebelumnya. Solusi-solusi yang ada dalam populasi kemudian dipilih untuk membentuk solusi baru (offspring), yang dipilih berdasarkan nilai fitness-nya. Proses ini diulang sampai kondisi yang diinginkan. Berikut ini adalah urutan proses algoritma genetika:

1. Inisialisasi populasi, membuat populasi secara acak. 2. Evaluasi nilai fitness.

3. Membuat populasi baru dengan cara seleksi, crossover dan mutasi 4. Update generasi, ganti populasi yang lama dengan populasi baru.

(31)
[image:31.595.174.506.112.566.2]

Gambar 2.13 Diagram alir algoritma genetika sederhana Mulai

Bangkitkan populasi awal

Evaluasi fungsi tujuan

Apakah kriteria optimasi tercapai?

Individu-individu terbaik

Seleksi

Rekombinasi

Mutasi

Hasil

Selesai Ya

(32)

2.4.7 Konsep algoritma genetika

(33)

BAB 3

ANALISIS DAN RANCANGAN SISTEM

3.1 Analisis Sistem

Teka-teki silang dengan menggunakan algoritma genetika yang akan dibangun dalam penelitian ini diharapkan dapat menghasilkan teka-teki silang dengan jumlah pertanyaan yang ditentukan sendiri oleh pengguna. Pertanyaan-pertanyaan yang akan ditampilkan pada pengguna tersebut diperoleh dari database secara acak oleh program. Teka-teki silang yang telah dibuat dapat disimpan dalam bentuk sebuah file yang memungkinkan pengguna untuk memainkan kembali teka-teki silang tersebut pada waktu yang lain. Pertanyaan-pertanyaan yang akan digunakan dalam teka-teki silang disimpan dalam database. Database yang berisi pertanyaan-pertanyaan tersebut dapat di-update sehingga koleksi pertanyaan yang tersimpan dapat bertambah. Dengan demikian, pengguna dapat bermain teka-teki silang dengan pertanyaan yang lebih bervariasi. Teka-teki silang yang dibentuk merupakan kumpulan jawaban dari pertanyaan yang digunakan. Jawaban-jawaban pertanyaan disusun sedemikian rupa sehingga saling berpotongan satu sama lain.

(34)

3.2 Rancangan Sistem

Rancangan sistem aplikasi pembuatan teka-teki silang yang akan dibangun dengan menggunakan algoritma genetika adalah sebagai berikut:

3.2.1 Diagram konteks

Proses menyeluruh dari aplikasi teka-teki silang menggunakan algoritma genetika dapat dilihat dari diagram konteks pada gambar 3.1.

Jumlah Soal TTS

Update Bank soal

Load Game

Jawaban TTS Jawaban User

Gambar 3.1 Diagram konteks

Aplikasi menerima masukan dari pengguna berupa jumlah pertanyaan, permintaan update, pilihan load game dan jawaban pengguna. Jumlah pertanyaan merupakan jumlah dari pertanyaan yang akan digunakan dalam permainan teka-teki silang. Permintaan update digunakan pengguna untuk meng-update database pertanyaan. Sedangkan, pilihan load game digunakan untuk memainkan teka-teki silang yang telah disimpan sebelumnya dalam bentuk file dengan ekstensi .tts. Selain menerima masukan dari pengguna, aplikasi juga memberikan keluaran kepada pengguna berupa teka-teki silang dan jawaban yang benar dari TTS tersebut.

3.2.1.1 DFD level 1

DFD level 1 merupakan penjabaran dari diagram konteks, yang ditunjukkan pada gambar 3.2.

User

Aplikasi permainan

TTS

(35)
[image:35.595.116.519.89.388.2]

1 TTS Baru 2 Update Bank Soal 4 Bermain TTS 3 Load Game User Jumlah Soal TTS Bank Soal Pilih Soal Pertanyaan’ Jawaban Terpilih Pertanyaan, Jawaban Tambahan Soal Pertanyaan, Jawaban Permintaan Update TTS Pilihan Update Pilihan Load Game TTS Koleksi TTS TTS Pilihan Jawaban TTS Kerangka TTS TTS Jawaban Pengguna

Gambar 3.2 DFD level 1

DFD level 1 merupakan penjabaran dari diagram konteks. Pada DFD level 1 digambarkan proses-proses utama yang ada dan terjadi pada sistem. Proses TTS Baru adalah proses untuk memulai pembuatan teka-teki silang yang baru. Pada proses TTS Baru, pengguna memasukkan jumlah pertanyaan yang akan digunakan pada permainan teki silang. Proses TTS Baru akan memberikan keluaran berupa teka-teki silang yang dapat dimainkan oleh pengguna. Proses Update Bank Soal merupakan proses untuk meng-update koleksi pertanyaan yang dimiliki sehingga pertanyaan yang digunakan dalam permainan teka-teki silang lebih bervariasi.

3.2.1.2 DFD level 2 proses tts baru

(36)

User Jumlah

Soal

1.1

Memilih Soal

Jumlah Soal

1.2

Algoritma Genetika 1.3

Generate

TTS

Kromosom Terpilih TTS

Bank Soal

Koleksi TTS

Pilih Soal

[image:36.595.192.440.92.281.2]

Soal & Jawaban Terpilih

Gambar 3.3 DFD level 2 proses tts baru

DFD level 2 proses TTS Baru menunjukkan proses-proses utama yang dilakukan untuk membuat sebuah teka-teki silang. Petama-tama pengguna memasukkan jumlah pertanyaan yang ingin digunakan dalam permainan teka-teki silang. Program akan memilih pertanyaan secara random sesuai dengan jumlah yang telah dimasukkan oleh pengguna. Pertanyaan-pertanyaan yang telah terpilih tersebut disusun dengan menggunakan algoritma genetika untuk dibentuk menjadi sebuah teka-teki silang.

3.2.1.3 DFD level 3 proses algoritma genetika

(37)
[image:37.595.116.526.89.354.2]

1.1 1.2.2 Pengkodean 1.2.3 Inisialisasi Populasi 1.2.4 Penghitungan Nilai Fitness 1.2.5 Rank Selection 1.2.6 Crossover Skema Pengkodean Fungsi Objektif Skema Update Generasi 1.2.7 Update Generasi 1.3 Kromosom Terpilih Nilia Fitness setiap Kromosom Bentuk Kromosom Populasi Kromosom Calon Parent Offspring Kromosom Calon Parent Skema Crossover 1.2.1 Penentuan Parameter Parameter Skema Seleksi Jumlah Soal PC

Gambar 3.4 DFD level 3 proses algoritma genetika

Pada proses ini juga perlu ditentukan nilai dari parameter algoritma genetika yang akan digunakan, yaitu sebagai berikut:

1. Ukuran populasi

(38)

2. Papan matriks

Papan matriks merupakan tempat untuk menyusun jawaban dari pertanyaan-pertanyaan menjadi sebuah teka-teki silang. Papan matriks bisa dipandang seperti sebuah papan catur berdimensi 2 dengan ukuran 100x100. Pada papan matriks ini jawaban pertanyaan akan diletakkan untuk dibentuk menjadi teka-teki silang. Karena ukuran papan matriks hanya 100x100, maka dimensi dari teka-teki silang yang dapat dibuat maksimal adalah 100x100.

3. Pengkodean

(39)
[image:39.595.192.471.98.236.2]

Tabel 3.1 Contoh pertanyaan

Pertanyaan Jawaban Id

Besar AKBAR 1

Tidak Kering BASAH 2

Hewan Air IKAN 3

Benar (Inggris) TRUE 4

Hujan Rintik-rintik GERIMIS 5

Dari jawaban pertanyaan di atas maka dapat dibentuk sebuah kromosom seperti berikut ini:

Gambar 3.5 Contoh kromosom

Panjang kromosom di atas adalah lima, sesuai dengan jumlah gen yang terdapat pada kromosom. Dari kromosom tersebut dapat dilihat pertanyaan yang digunakan sebanyak lima. Jawaban dari pertanyaan-pertanyaan tersebut, satu demi satu diletakkan pada papan matriks untuk dibentuk menjadi sebuah teka-teki silang. Jawaban dari pertanyaan-pertanyaan diletakkan secara berurutan diawali dari gen pertama sampai dengan gen yang terakhir. Setiap huruf dari sebuah jawaban akan menempati sebuah koordinat (x, y) pada papan matriks. Untuk jawaban pertanyaan yang ada pada gen 1, huruf pertamanya berada pada koordinat (100,100), sedangkan koordinat untuk jawaban yang terdapat pada gen berikutnya ditentukan dengan mencari perpotongan dari jawaban tersebut dengan jawaban yang sebelumnya yang sudah terletak pada papan matriks.

Berdasarkan bentuk kromosom pada gambar 3.5 maka jawaban pertama yang akan diletakkan pada papan matriks adalah jawaban dari pertanyaan dengan id 5, yaitu

Gen 1 Gen 2 Gen 3 Gen 4 Gen 5

5 0 3 1 2 1 4 0 1 1

[image:39.595.121.496.307.434.2]
(40)

“GERIMIS” dengan posisi menurun. Huruf pertama dari kata “GERIMIS” akan diletakkan pada koordinat (100,100), sehingga pada saat kata “GERIMIS” tersebut diletakkan pada papan matriks hasilnya adalah sebagai berikut:

Gambar 3.6 Letak dari kata GERIMIS pada papan matriks

Sebelumnya setiap koordinat yang ditempati oleh setiap huruf disimpan dalam sebuah array yang berbeda. Selain itu, koordinat setiap titik potong yang terjadi juga disimpan dalam sebuah array. Dengan demikian diperlukan tiga buah array dimana

array pertama akan berisi koordinat setiap huruf pada jawaban pertanyaan menurun,

array kedua berisi koordinat setiap huruf pada jawaban pertanyaan mendatar dan

array ketiga digunakan untuk menyimpan koordinat titik potong yang terjadi.

Berdasarkan gambar 3.6 maka isi dari matriks yang digunakan untuk menyimpan koordinat setiap huruf untuk jawaban pertanyaan menurun ditunjukkan pada gambar 3.7 berikut:

Gambar 3.7 Array koordinat jawaban menurun

Jawaban pertanyaan yang diletakkan pada papan matriks berikutnya adalah jawaban pertanyaan yang berada pada gen kedua yang merupakan jawaban dari pertanyaan dengan id 3, yaitu “IKAN” dengan posisi mendatar. Untuk menentukan koordinat dari kata “IKAN”, perlu dilakukan pencarian titik perpotongan antara kata “IKAN” dengan kata yang sudah berada dalam papan matriks. Karena kata IKAN mempunyai posisi mendatar, kata “IKAN” harus berpotongan dengan kata dalam papan matriks yang mempunyai posisi menurun, yaitu kata “GERIMIS”. Untuk mencari titik perpotongan,

x,y 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 98

99

100 G

101 E

102 R

103 I

104 M

105 I

106 S

107

(41)

dilakukan pencocokan setiap huruf dari kata “IKAN” dengan setiap huruf yang ada pada papan matriks. Pencocokan dilakukan secara berurutan dimulai dari huruf pertama yaitu “I”. Untuk mengoptimalkan proses pencocokan, tidak setiap koordinat pada papan matriks dicek. Pengecekan hanya dilakukan pada area yang sudah terisi oleh jawaban yang sebelumnya telah diletakkan. Pada gambar 3.8 dapat dilihat bahwa area yang akan diperiksa (diarsir) berada pada koordinat (100,100) sampai (100,106).

x,y 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 98

99

100 G

101 E

102 R

103 I

104 M

105 I

106 S

[image:41.595.105.523.228.414.2]

107

Gambar 3.8 Proses pencarian huruf I

Setelah proses pencarian ditemukan huruf I pada koordinat (100,103). Sebelum koordinat tersebut dipilih sebagai alternatif titik potong, karena gen kedua mempunyai orientasi mendatar, terlebih dahulu diseleksi apakah huruf I pada koordinat (100,103) tersebut dimiliki oleh jawaban pertanyaan menurun, karena jawaban pertanyaan mendatar hanya dapat berpotongan dengan jawaban pertanyaan menurun. Untuk mengecek apakah huruf I pada koordinat (100,103) merupakan jawaban pertanyaan menurun, dilakukan dengan mengecek isi dari array yang digunakan untuk menyimpan koordinat setiap huruf dari jawaban menurun. Kalau koordinat (100,103) ada di dalam array tersebut, maka huruf I pada koordinat (100,103) merupakan jawaban dari pertanyaan menurun.

Berdasarkan gambar 3.7 dapat dilihat bahwa koordinat (100,103) ada di dalam

array yang digunakan untuk menyimpan jawaban pertanyaan menurun. Dapat

disimpulkan bahwa huruf I pada koordinat (100,103) adalah jawaban dari pertanyaan menurun. Setelah diketahui bahwa huruf I pada koordinat (100,103) adalah jawaban pertanyaan dari pertanyaan menurun, selanjutnya dicek apakah huruf I pada koordinat

(42)

(100,103) merupakan titik potong. Ini dilakukan karena satu titik potong hanya boleh dimiliki oleh dua buah jawaban pertanyaan, yaitu satu jawaban pertanyaan mendatar dan satu jawaban pertanyaan menurun. Untuk mengetahui apakah huruf I pada koordinat (100,103) merupakan titik potong, dilakukan dengan mengecek isi dari

array yang digunakan untuk menyimpan koordinat titik potong yang terjadi. Apabila

(43)

masih memenuhi untuk dijadikan sebagai alternatif titik potong. Selanjutnya dicek isi papan matriks pada koordinat (101,104) sampai (103,104). Karena papan matriks pada koordinat tersebut kosong maka jawaban pertanyaan dapat diletakkan pada koordinat (100,103). Apabila koordinat (100,103) diambil sebagai titik potong, maka isi dari papan matriks akan tampak pada gambar 3.9 berikut:

x,y 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 98

99

100 G

101 E

102 R

103 I K A N

104 M

105 I

106 S

[image:43.595.107.529.207.410.2]

107 98

Gambar 3.9 Alternatif titik potong pertama

Langkah selanjutnya adalah menghitung nilai gen dari alternatif titik potong tersebut. Berdasarkan gambar 3.9 di atas, maka nilai gennya adalah:

Nilai gen: 1/4 = 0,25.

Nilai gen dan alternatif posisi titik potong di atas disimpan. Kemudian dicari huruf I yang lain di dalam papan matriks untuk mencari kemungkinan alternatif titik potong yang lain. Berdasarkan gambar 3.8 dapat dilihat bahwa huruf I yang lain berada pada koordinat (100,105). Huruf I pada koordinat (100,105) ini selanjutnya dicek apakah merupakan jawaban pertanyaan menurun karena jawaban ”IKAN” berada pada posisi mendatar. Caranya adalah dengan mengecek isi dari array yang digunakan untuk menyimpan koordinat setiap huruf pada jawaban menurun. Berdasarkan gambar 3.7 dapat diketahui bahwa koordinat (100,105) terdapat dalam

array yang digunakan untuk menyimpan koordinat setiap huruf untuk jawaban

(44)

(100,105) ada dalam array yang digunakan untuk menyimpan koordinat titik potong yang terjadi. Berdasarkan gambar 3.7 dapat dilihat bahwa belum ada titik potong yang terjadi, dengan demikian array yang digunakan untuk menyimpan titik potong masih kosong. Dengan demikian huruf I pada koordinat (100,105) bukan merupakan titik potong, sehingga dapat dijadikan sebagai alternatif titik potong. Apabila huruf I pada koordinat (100,105) dijadikan sebagai alternatif titik potong, maka isi papan matriks akan tampak pada gambar 3.10 berikut:

x,y 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 98

99

100 G

101 E

102 R

103 I

104 M

105 I K A N

106 S

[image:44.595.109.524.249.434.2]

107

Gambar 3.10 Alternatif titik potong yang kedua

Langkah selanjutnya adalah menghitung nilai gen dari alternatif titik potong di atas. Nilai gen untuk alternatif titik potong adalah:

Nilai gen :1/4 = 0,25.

(45)

x,y 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 98

99

100 G

101 E

102 R

103 I

104 M

105 I

106 S

107

Gambar 3.11 Proses pencarian huruf K

Seperti terlihat pada gambar di atas, tidak terdapat huruf K dalam papan matriks. Dengan demikian tidak ada alternatif titik potong yang dihasilkan dari huruf K. Selanjutnya dilakukan hal yang sama dengan huruf berikutnya yaitu A dan N. Seperti terlihat di gambar 3.12 dan 3.13, tidak terdapat huruf A dan N dalam papan matriks. Dengan demikian tidak ada alternatif titik potong yang dihasilkan dari huruf A maupun N.

x,y 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 98

99

100 G

101 E

102 R

103 I

104 M

105 I

106 S

107

Gambar 3.12 Proses pencarian huruf A Cari huruf K

(46)

x,y 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 98

99

100 G

101 E

102 R

103 I

104 M

105 I

106 S

107

Gambar 3.13 Proses pencarian huruf N

Setelah semua area ditelusuri ternyata tidak ditemukan titik potong yang lain. Dengan demikian sudah semua huruf pada kata ”IKAN” dicari titik potongnya pada papan matriks dan ditemukan dua alternatif titik potong yang mungkin dipilih. Untuk memilih titik potong mana yang digunakan dilakukan dengan memilih nilai gen yang paling tinggi. Karena setiap titik perpotongan mempunyai nilai gen yang sama, maka dipilih koordinat yang berada dalam area papan matriks yang dapat dilakukan pengecekan. Jika koordinatnya berada di luar area yang dilakukan pengecekan, koordinat yang terdekat dengan area tersebut yang akan terpilih. Hal ini dilakukan agar teka-teki silang yang terbentuk mempunyai area seminimal mungkin. Untuk jawaban mendatar, akan dibandingkan dengan koordinat xmin dan xmax, sedangkan untuk jawaban yang menurun, akan dibandingkan dengan nilai ymin dan ymax. Jika axmax adalah nilai x maksimum dari alternatif posisi titik potong yang didapat, dan axmin adalah nilai x minimum dari alternatif titik potong yang didapat, maka dipilih alternatif titik potong dengan nilai axmin dan axmax berada dalam xmin dan xmax, atau jika nilai axmin < xmin atau nilai axmax > xmax maka dihitung selisihnya kemudian dibandingkan untuk setiap alternatif titik potong. Untuk alternatif 1, axmin = 100 dan axmax = 103. Karena axmax > xmax maka dhitung selisihnya yaitu axmax – xmax = 3. Kemudian untuk alternatif titik potong kedua axmin = 100 dan axmax = 103. Karena axmax > xmax maka dhitung selisihnya yaitu axmax – xmax = 3. Dari hasil perhitungan dapat terlihat bahwa semua alternatif mempunyai selisih yang sama, dengan kata lain semua alternatif titik potong mempunyai nilai kedekatan yang sama dengan area papan matriks yang dicek, sehingga dipilih alternatif yang pertama, kata “IKAN” akan diletakkan pada papan matriks seperti pada gambar 3.14.

(47)

x,y 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 98

99

100 G

101 E

102 R

103 I K A N

104 M

105 I

106 S

[image:47.595.126.534.382.523.2]

107

Gambar 3.14 Koordinat tipot yang dipilih

Berdasarkan gambar 3.14 di atas, maka isi dari array yang digunakan untuk menyimpan koordinat jawaban pertanyaan mendatar dan array yang digunakan untuk menyimpan jawaban pertanyaan menurun serta array yang digunakan untuk menyimpan titik potong akan tampak pada gambar berikut:

100,100,G 100,101,E 100,102,R 100,103,I 100,104,M 100,105,I 100,106,S

Array jawaban menurun

100,103,I 101,103,K 102,103,A 103,103,N

Array jawaban mendatar

100,103,I

Array titik potong

Gambar 3.15 Isi array

Setelah gen kedua diletakkan pada papan matriks, selanjutnya gen ketiga yang diletakkan pada papan matriks. Jawaban pertanyaan yang terdapat pada gen ketiga adalah pertanyaan dengan Id 2 yaitu “BASAH” dengan posisi mendatar. Untuk mencari titik potong setiap huruf dari kata “BASAH” dibandingkan dengan isi papan matriks. Huruf pertama yang dibandingkan adalah B. Area papan matriks yang

di-scan untuk mencari titik perpotongan adalah pada koordinat (100,100) sampai

(48)

x,y 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 98

99

100 G

101 E

102 R

103 I K A N

104 M

105 I

106 S

107

Gambar 3.16 Proses pencarian huruf B

Setelah dilakukan proses pencarian ternyata di dalam papan matriks tidak terdapat huruf B. Selanjutnya dilakukan pencarian terhadap huruf kedua yaitu huruf A dengan cara yang sama dengan mencari huruf B di atas.

x,y 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 98

99

100 G

101 E

102 R

103 I K A N

104 M

105 I

106 S

107

Gambar 3.17 Proses pencarian huruf A

Pada saat proses pencarian ternyata ditemukan huruf A pada koordinat (102,103). Sebelum koordinat tersebut dipilih sebagai alternatif titik potong, karena gen ketiga mempunyai orientasi mendatar, terlebih dahulu diseleksi apakah huruf A pada koordinat (102,103) tersebut dimiliki oleh jawaban pertanyaan menurun. Karena jawaban pertanyaan mendatar hanya dapat berpotongan dengan jawaban pertanyaan menurun. Untuk mengecek apakah huruf A pada koordinat (102,103) merupakan jawaban pertanyaan menurun, dilakukan dengan mengecek isi dari array yang digunakan untuk menyimpan koordinat setiap huruf dari jawaban menurun. Kalau

Cari huruf B

(49)

koordinat (102,103) ada di dalam array tersebut, maka huruf A pada koordinat (102,103) merupakan jawaban dari pertanyaan menurun. Berdasarkan gambar 3.15 dapat dilihat bahwa koordinat (102,103) tidak ada di dalam array yang digunakan untuk menyimpan jawaban pertanyaan menurun. Karena hanya ada dua jenis pertanyaan yaitu mendatar dan menurun, maka bisa dipastikan bahwa huruf R pada koordinat (102,103) merupakan jawaban dari pertanyaan mendatar. Karena gen ketiga adalah jawaban pertanyaan mendatar, maka huruf A pada koordinat (102,103) tidak bisa dipakai sebagai alternatif titik potong.

(50)

potong. Dapat disimpulkan bahwa koordinat (100,106) bukan merupakan titik potong. Kemudian dicek apakah papan matriks pada koordinat (98,106) sampai (102,106) kosong. Jika tidak kosong maka dicek apakah koordinat tersebut ada dalam array untuk menyimpan koordinat jawaban menurun. Ini dilakukan untuk menghitung titik potong yang terjadi jika jawaban pertanyaan diletakkan pada koordinat (100,106). Jika ada maka koordinat tersebut masih memenuhi syarat untuk dijadikan sebagai alternatif titik potong. Berdasarkan gambar 3.14 dapat dilihat bahwa papan matriks pada koordinat (100,106) berisi S. Karena koordinat (100,106) ada dalam array tempat menyimpan koordinat jawaban menurun, maka koordinat (100,106) merupakan titik potong. Sedangkan koordinat (98,106), koordinat (99, 106), koordinat (101, 106) dan koordinat (102,106) masih kosong. Dengan demikian titik potong yang ditemukan adalah 1. Selanjutnya dicek apakah papan matriks pada koordinat (98,105) sampai koordinat (102,105) kosong. Jika tidak kosong selanjutnya dicek apakah mempunyai absis yang sama dengan titik potong. Jika tidak maka koordinat (100,106) tidak bisa dijadikan sebagai alternatif titik potong. Ini dilakukan agar tidak ada jawaban pertanyaan mendatar yang terletak saling bersebelahan dengan jawaban pertanyaan mendatar yang lain. Berdasarkan gambar 3.14 dapat dilihat bahwa papan matriks pada koordinat (100,105) berisi huruf I. Karena mempunyai absis yang sama dengan titik potong (100), maka koordinat (100,106) masih memenuhi untuk dijadikan sebagai alternatif titik potong.

(51)

x,y 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 98

99

100 G

101 E

102 R

103 I K A N

104 M

105 I

106 B A S A H

107

Gambar 3.18 Alternatif titik potong

Kemudian alternatif titik potong di atas dihitung nilai gennya. Nilai gen untuk alternatif titik potong di atas adalah:

Nilai gen :1/5 = 0,2

Pencarian kemudian dilanjutkan pada area papan matriks yang belum ditelusuri. Pada akhirnya untuk huruf S hanya ditemukan satu alternatif titik potong. Pencarian dilanjutkan untuk huruf berikutnya yaitu huruf H.

x,y 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 98

99

100 G

101 E

102 R

103 I K A N

104 M

105 I

106 S

107

Gambar 3.19 Proses pencarian huruf H

Pada gambar 3.19 di atas dapat dilihat bahwa tidak ada huruf H pada papan matriks, sehingga tidak ada alternatif titik potong untuk huruf H. Dengan demikian untuk gen ketiga yang berisi jawaban pertanyaan ”BASAH” hanya mempunyai satu alternatif titik potong, yaitu pada koordinat (100,106) pada huruf S. Setelah kata

(52)

”BASAH” diletakkan pada papan matriks maka isi dari papan matriks akan tampak pada gambar 3.20 berikut:

x,y 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 98

99

100 G

101 E

102 R

103 I K A N

104 M

105 I

106 B A S A H

107

Gambar 3.20 Isi papan matriks

Berdasarkan gambar 3.20 di atas, maka isi dari array yang digunakan untuk menyimpan koordinat jawaban pertanyaan mendatar dan array yang digunakan untuk menyimpan jawaban pertanyaan menurun serta array yang digunakan untuk menyimpan titik potong akan tampak pada gambar 3.21 berikut:

Gambar 3.21 Isi array

Setelah jawaban pertanyaan pada gen ketiga diletakkan pada papan matriks, selanjutnya adalah jawaban pertanyaan pada gen keempat yaitu “TRUE” yang diletakkan pada papan matriks. Untuk mencari titik potong setiap huruf dari kata “TRUE” dibandingkan dengan isi papan matriks. Huruf pertama yang dibandingkan adalah T. Area papan matriks yang di-scan untuk mencari titik perpotongan adalah pada koordinat (98,100) sampai (103,106). Proses pencarian dilakukan secara

100,100,G 100,101,E 100,102,R 100,103,I 100,104,M 100,105,I 100,106,S

Array jawaban menurun

100,103,I 101,103,K 102,103,A 103,103,N 98,106,B 99,106,A 100,106,S 101,106,A 102,106,H

Array jawaban mendatar

100,103,I 100,106,S

(53)

sekuensial dari kiri ke kanan (searah koordinat x) seperti ditunjukkan pada gambar 3.22 berikut:

x,y 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 98

99

100 G

101 E

102 R

103 I K A N

104 M

105 I

v106 B A S A H

107

Gambar 3.22 Proses pencarian huruf T

Setelah dilakukan pencarian ternyata di dalam papan matriks tidak terdapat huruf T. Selanjutnya dilakukan pencarian terhadap huruf kedua yaitu huruf R dengan cara yang sama dengan mencari huruf T di atas.

Gambar 3.23 Proses pencarian huruf R

Pada saat proses pencarian ternyata ditemukan huruf R pada koordinat (100,102). Sebelum koordinat tersebut dipilih sebagai alternatif titik potong, karena gen keempat mempunyai orientasi menurun, terlebih dahulu diseleksi apakah huruf R pada koordinat (100,102) tersebut dimiliki oleh jawaban pertanyaan mendatar. Karena jawaban pertanyaan menurun hanya dapat berpotongan dengan jawaban pertanyaan

x,y 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 98

99

100 G

101 E

102 R

103 I K A N

104 M

105 I

106 B A S A H

107

Cari huruf T

(54)

mendatar. Untuk mengecek apakah huruf R pada koordinat (100,102) merupakan jawaban pertanyaan mendatar, dilakukan dengan mengecek isi dari array yang digunakan untuk menyimpan koordinat setiap huruf dari jawaban mendatar. Kalau koordinat (100,102) ada di dalam array tersebut, maka huruf R pada koordinat (100,102) merupakan jawaban dari pertanyaan mendatar. Berdasarkan gambar 3.21 dapat dilihat bahwa koordinat (100,102) tidak ada di dalam array yang digunakan untuk menyimpan jawaban pertanyaan mendatar. Karena hanya ada dua jenis pertanyaan yaitu mendatar dan menurun, maka bisa dipastikan bahwa huruf R pada koordinat (100,102) merupakan jawaban dari pertanyaan menurun. Karena gen keempat adalah jawaban pertanyaan menurun, maka huruf R pada koordinat (100,102) tidak bisa dipakai sebagai alternatif titik potong. Setelah seluruh area papan matriks ditelusuri ternyata tidak ditemukan huruf R lagi. Pencarian dilanjutkan untuk huruf yang berikutnya yaitu huruf U.

(55)

x,y 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 98

99

100 G

101 E

102 R

103 I K A N

104 M

105 I

106 B A S A H

107

Gambar 3.24 Isi papan matriks untuk kromosom pada gambar 3.5

Pada gambar di atas terlihat bahwa untuk jawaban pertanyaan yang terdapat pada gen keempat dan gen kelima tidak diletakkan dalam papan matriks. Hal ini disebabkan pada saat jawaban pertanyaan pada gen keempat, yaitu TRUE, akan diletakkan titik potong tidak berhasil ditemukan. Ketentuan lain yang digunakan untuk meletakkan jawaban pertanyaan pada papan matriks adalah sebagai berikut:

a. Sebuah titik potong hanya boleh dimiliki oleh dua buah jawaban saja. Contohnya dapat dilihat pada gambar 3.25:

x,y 98 99 100 101 102 103

98 G

99 E

100 R

101 I

102 M

103 I

104 S U K A

105 A

106 T

107 U

Gambar 3.25 Contoh letak jawaban yang salah

(56)

b. Fungsi Objektif

Setelah populasi terbentuk, pada tahap selanjutnya dilakukan penghitungan nilai

fitness masing-masing kromosom yang ada dalam populasi. Penghitungan nilai

fitness diperoleh berdasarkan jumlah jawaban yang berhasil dibentuk menjadi

teka-teki silang dan jumlah titik perpotongan yang dihasilkan oleh tiap-tiap jawaban pertanyaan. Nilai gen yang dihitung adalah apabila jawaban pertanyaan pada gen tersebut termasuk jawaban pertanyaan yang dapat dibentuk menjadi teka-teki silang. Apabila jawaban pertanyaan pada gen tersebut tidak dapat dibuat menjadi teka-teki silang (tidak dapat berpotongan dengan jawaban pertanyaan lain) maka gen tersebut diberi nilai 0, dan gen setelah gen tersebut tidak akan dihitung. Nilai fitness suatu kromosom ditentukan dari nilai masing-masing gen. Nilai untuk setiap gen ke-j dapat dihitung dengan persamaan berikut:

gen[j] = (p/k) ……….persamaan 3.1

gen[j] : nilai gen ke-j

p : jumlah titik potong pada gen tersebut k : jumlah karakter pada gen tersebut

Nilai fitness sebuah kromosom adalah total nilai gen pada kromosom tersebut yang berhasil dibuat menjadi teka-teki silang. Fungsi objektif untuk menghitung nilai

fitness suatu kromosom adalah sebagai berikut:

n

F=∑ gen[j] ……….persamaan 3.2

J=0

F : nilai fitness

Gen[j] : nilai gen ke-j pada kromosom tersebut

c. Skema Seleksi

Proses seleksi akan memilih kromosom untuk dijadikan sebagai calon parent pada proses crossover. Proses seleksi akan membentuk sebuah populasi baru yang berisi kromosom calon parent. Metode seleksi yang digunakan adalah Rank Selection. Pada Rank Selection kromosom terlebih dahulu diranking sesuai dengan nilai

(57)

fitness maksimum adalah sama dengan ukuran populasi. Apabila ada 30 kromosom

pada populasi, maka nilai fitness untuk kromosom dengan ranking 1 adalah 30, nilai fitness untuk kromosom dengan ranking 2 adalah 29 dan seterusnya sampai kromosom dengan ranking 30 dengan nilai fitness 1. Dengan demikian kromosom dengan nilai fitness yang kecil tetap punya kesempatan untuk terpilih.

d. Parameter Crossover (PC)

Crossover atau perkawinan silang adalah proses pembentukan kromosom baru

(offspring). Kromosom yang akan mengalami crossover adalah kromosom calon

parent yang sudah terpilih melalui proses seleksi. Namun tidak semua kromosom

yang terpilih melalui proses seleksi akan mengalami proses crossover. Jumlah kromosom calon parent yang mengalami crossover ditentukan oleh parameter

crossover (PC). Nilai PC mempunyai range antara 0-1. Semakin besar nilai PC

maka semakin banyak kromosom yang mengalami crossover. Jika nilai PC sama dengan 0 maka tidak akan ada kromosom yang mengalami proses crossover. Sebaliknya apabila nilai PC sama dengan 1 maka semua kromosom akan mengalami crossover. Apabila tidak ada kromosom yang mengalami crossover maka tidak banyak variasi kromosom yang bisa tercipta, namun apabila terlalu banyak kromosom yang mengalami proses crossover, maka proses komputasi akan semakin besar. Dengan mempertimbangkan faktor tersebut maka nilai PC yang dipakai pada penelitian ini adalah 0.5, sehingga diharapkan setengah dari kromosom yang berada pada populasi calon parent akan mengalami crossover.

e. Skema Crossover

Untuk pengkodean permutasi, metode crossover yang digunakan adalah single

point cross over. Untuk memilih kromosom yang menjadi parent, dibangkitkan

(58)
[image:58.595.109.514.127.767.2]

Tabel 3.2 Contoh proses memilih parent

No Bilangan Random –

r

Terpilih No Bilangan Random –

r

Terpilih

1 0.45 Ya 16 0.35 Ya

2 0.63 Tidak 17 0.77 Tidak

3 0.71 Tidak 18 0.84 Tidak

4 0.34 Ya 19 0.14 Ya

5 0.15 Ya 20 0.70 Tidak

6 0.23 Ya 21 0.69 Tidak

7 0.65 Tidak 22 0.96 Tidak

8 0.22 Ya 23 0.88 Tidak

9 0.11 Ya 24 0.77 Tidak

10 0.23 Ya 25 0.63 Tidak

11 0.65 Tidak 26 0.44 Ya

12 0.84 Tidak 27 0.32 Ya

13 0.94 Tidak 28 0.25 Ya

14 0.10 Ya 29 0.15 Ya

15 0.02 Ya 30 0.10 Ya

1 0.45 Ya 16 0.35 Ya

2 0.63 Tidak 17 0.77 Tidak

3 0.71 Tidak 18 0.84 Tidak

4 0.34 Ya 19 0.14 Ya

5 0.15 Ya 20 0.70 Tidak

6 0.23 Ya 21 0.69 Tidak

7 0.65 Tidak 22 0.96 Tidak

8 0.22 Ya 23 0.88 Tidak

9 0.11 Ya 24 0.77 Tidak

10 0.23 Ya 25 0.63 Tidak

11 0.65 Tidak 26 0.44 Ya

12 0.84 Tidak 27 0.32 Ya

(59)

14 0.10 Ya 29 0.15 Ya

15 0.02 Ya 30 0.10 Ya

Pada tabel di atas dapat dilihat kromosom terpilih yang akan mengalami

crossover. Pada tabel di atas nilai bilangan random ke 1 (r1) adalah 0.45, karena r1

< PC (0.45 < 0.5) maka kromosom 1 terpilih sebagai parent. Kemudian nilai r2 adalah 0.63, karena r2 > PC maka kromosom 2 tidak terpilih sebagai parent. Demikian seterusnya sampai kromosom ke 30 sehingga ada 16 kromosom yang akan mengalami crossover. Pasangan yang akan mengalami crossover diambil secara berurutan. Pada tabel di atas maka kromosom 1 akan berpasangan dengan kromosom 4, kromosom 5 akan berpasangan dengan kromosom 6, kromosom 8 berpasangan dengan kromosom 9 dan seterusnya. Apabila jumlah kromosom yang terpilih adalah ganjil maka kromosom yang terakhir terpilih tidak akan mengalami

crossover karena tidak mempunyai pasangan. Contoh crossover dapat dilihat pada

gambar 3.26 berikut ini.

Gen 1 Gen 2 Gen 3 Gen 4 Gen 5 5 0 3 1 2 1 4 0 1 1

Parent 1 Gen 1 Gen 2 Gen 3 Gen 4 Gen 5 2 1 1 0 5 1 3 0 4 0

Parent 2 Gen 1 Gen 2 Gen 3 Gen 4 Gen 5 5 0 3 1 2 1 1 0 4 0

Offspring 1 Gen 1 Gen 2 Gen 3 Gen 4 Gen 5 2 1 1 0 5 1 3 1 4 0

Offspring 2

Gambar 3.26 Contoh crossover

Pada gambar di atas dapat dilihat bahwa proses crossover menggunakan single

point crossover. Pada offspring 1, gen 1 sampai dengan gen 3 di ambil dari gen 1

(60)

gen 1 sampai dengan gen 3 pada parent 2. Kemudian gen 4 dan gen 5 pada

offspring 2 diambil dari parent 1. Gen yang diambil dari parent 1 adalah gen

dengan atribut id pertanyaan yang belum ada pada gen yang diambil dari parent 2 sebelumnya. Gen yang diambil dari parent 2 mempunyai atribut id 2,1 dan 5, maka gen yang diambil dari parent 2 adalah gen 2 yang mempunyai atribut id 3 dan gen 4 yang mempunyai atribut id 4.

f. Jumlah Generasi

Jumlah generasi yang digunakan bergantung dari jumlah pertanyaan yang digunakan. Semakin banyak jumlah pertanyaan, maka semakin banyak pula jumlah generasi.

g. Skema Update Generasi

Metode update generasi yang digunakan adalah dengan memilih 30 kromosom dengan nilai fitness terbaik. Kromosom yang dipilih adalah kromosom yang dihasilkan dari proses seleksi dan kromosom yang dihasilkan dari proses

crossover. Mula-mula seluruh kromosom diurutkan berdasarkan nilai fitness-nya,

kemudian dipilih 30 kromosom dengan nilai terbaik untuk menjadi populasi yang baru.

3.2.1.4 DFD level 4 menghitung nilai fitness

(61)

1.2.4

1.2.4.1 Letakkan jawaban ke papan matriks

1.2.4.2 Hitung nilai

gen 1.2.4.3

Hitung nilai fitness

1.2.5

populasi

Letak jawaban dalam Papan matriks, titik potong

Nilai gen

[image:61.595.207.467.81.337.2]

Nilai fitness setiap kromosom

Gambar 3.27 DFD Level 3 menghitung nilai fitness

(62)

x,y 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 98

99

100 G

101 E

102 R

103 I K A N

104 M

105 I

106 B A S A H

[image:62.595.137.508.309.512.2]

107

Gambar 3.28 Isi papan matriks

Tabel 3.3 Penghitungan nilai fitness

Gen Jawaban

Jumlah

Huruf

(k)

Jumlah Titik

Potong (p)

Nilai Gen

(p/k)

Gen 1 GERIMIS 7 2 0,29

Gen 2 IKAN 4 1 0,25

Gen 3 BASAH 5 1 0,20

Gen 4 TRUE 4 - -

Gen 5 AKBAR 5 - -

Fitness 0,74

Dari tabel di atas dapat dilihat bahwa nilai fitness kromosom pada gambar 3.5 adalah

0,74.

3.2.1.5 DFD level 3 proses bermain TTS

(63)

Gambar

Gambar 2.13 Diagram alir algoritma genetika sederhana
Gambar 3.2 DFD level 1
Gambar 3.3 DFD level 2 proses tts baru
Gambar 3.4 DFD level 3 proses algoritma genetika
+7

Referensi

Dokumen terkait

Penelitian menggunakan model pembelajaran scramble dengan permainan teka-teki silang terhadap pemahaman cerita rakyat kelas IV SD N Tlogosari Wetan 01 Semarang

Tes dalam penelitian ini meliputi pre-test dan post-test dengan permainan teka-teki silang bergambar untuk mengukur perubahan yang terjadi terhadap penguasaan kosakata

Data hasil penelitian yang berupa tindakan serta proses dan hasil pembelajaran menggunakan media teka teki silang untuk meningkatkan hasil belajar matematika kelas

Hal ini menunjukkan bahwa dari segi penggunaan produk dalam pembelajaran bahasa Inggris kepada siswa tunarungu, produk model permainan teka teki silang (TTS) yang dikembangkan

Dengan demikian, penelitian tindakan kelas yang dilakukan berhasil dan terbukti bahwa model pembelajaran snowball throwing berbantuan media teka-teki silang dapat

Pengaruh Penerapan Media Teka-teki Silang Diakhir Pembelajaran Model Discovery terhadap Hasil Belajar Peserta Didik Kelas XI MIA SMA Kartika XX-1 Makassar Studi pada Materi Pokok

76 Pengaruh Penerapan Media Teka-teki Silang Diakhir Pembelajaran Model Discovery terhadap Hasil Belajar Peserta Didik Kelas XI MIA SMA Kartika XX-1 Makassar Studi pada Materi

Salah satu metode dan media pembelajaran Bahasa arab yang efektif dan bervariasi yang akan dibahas pada artikel ini dengan metode permainan yang berupa teka-teki silang ilmu nahwu,