42
DAFTAR PUSTAKA
Akbar, M.A., 2011, Analisis Dan Implementasi Kecerdasan Buatan Pada Permainan Checker Menggunakan Algoritma Minimax Dengan Negascout, Tugas Akhir, Universitas Sumatera Utara
Blicke, T., Thiele, L., 1995, A Comparison of Selection Scheme Used in Genetic Algorithm, TIK-Report, Vol.11, 2nd Edition.
Božikovic, M., Golub, M., Budin, L., 2003, Solving n-Queen Problem Using Global Parallel Genetic Algorithm, EUROCON
Fathan A. S., Tareq W. Z., Awad F. H., 2015, Solving N-Queen Problem Using Genetic Algorithm, International Journal of Computer Application, Vol. 112 No. 12.
Filipovic, V., 2003, Fine-Grained Tournament Selection Operator In Genetic Algorithm, Computing and Informatic, Vol. 22.
Hammad A. W. & Thannon B. N., 2007, Genetic Algorithm Versus Particle Sarm Optimization In N-Queen Problem,
Juniawati, 2003, Model Optimisasi Untuk Integrasi Alokasi Produksi, Penerbit Informatika
Miller, B.L., Goldberg, D.E., 1995, Genetic Algorithm, Tournament Selection, and the Effect of the Noise, Complex System, Vol. 9, 193-212
Prasetyo, R.M.K., 2012, Penyelesaian Permainan Checkers Pada Mobile Device Berbasis Android Menggunakan Algoritma Iterative Deepening Search, Tugas Akhir, Universitas Sumatera Utara
S. Pothumani, 2013, Solving N Queen Problem Using Various Algorithms – A Survey, International Journal of Advanced Research in Computer Science and Software Engineering Vol. 3 Issue 2.
Setiadi, D.R.I.M., 2012, Implementasi Algoritma Minimax Untuk Artificial Intelligence Pada Permainan Catur Sederhana, Techno.COM, Vol. 11 No.2,
BAB III
ANALISIS DAN PERANCANGAN SISTEM
Pada bab ini, akan dibahas beberapa hal mengenai penerapan algoritma dan analisa perancangan sistem dalam mengimplementasikan metode tournament
selection dalam seleksi parent pada algoritma genetika untuk menyelesaikan
masalah N-Queen.
3.1. Analisis Sistem
Pada bagian ini, penulis melakukan analisis terhadap metode tournament selection yang diimplementasikan ke dalam algoritma genetika untuk menyelesaikan
n-queen problem. Analisa yang dilakukan meliputi pengamatan bagaimana proses
kerja metode tournament selection dalam melakukan pemilihan parent dalam algoritma genetika, menganalisa kelebihan dan kekurangannya serta bagaimana bentuk implementasinya dalam sebuah bahasa pemrograman.
3.1.1. Analisis Fasilitas Sistem
Analisis ini dilakukan untuk memperoleh fasilitas-fasilitas apa saja yang akan ditawarkan pada sistem yang dirancang. Sesuai dengan kebutuhan awal, yaitu untuk melakukan pemilihan parent dalam algoritma genetika dalam menyelesaikan n-queen problem, maka fasilitas yang ditawarkan dalam sistem yang dirancang ini adalah sebagai berikut :
1. Fasilitas Konfigurasi Jumlah Queen
Fasilitas konfigurasi jumlah queen berfungsi untuk memberikan kemudahan kepada pengguna dalam menentukan jumlah queen yang akan dicari solusinya.
2. Fasilitas Konfigurasi Jumlah Individu
18
3. Fasilitas Konfigurasi Persentasi Mutasi
Fasilitas konfigurasi persentasi mutasi berfungsi untuk memberikan kemudahan kepada pengguna dalam menentukan berapa besar kemungkinan terjadinya mutasi individu di dalam setiap iterasi.
4. Fasilitas Konfigurasi Lokasi Selection Point
Fasilitas konfigurasi loksi selection point berfungsi untuk memberikan kemudahan kepada pengguna dalam menentukan lokasi pemisahan parent di dalam proses cross over.
5. Fasilitas Konfigurasi Jumlah Turnamen
Fasilitas konfigurasi jumlah turnamen berfungsi untuk memberikan kemudahan kepada pengguna dalam menentukan berapa banyak jumlah turnamen di dalam setiap pemilihan parent baru.
3.1.2. Analisis Kebutuhan
Kebutuhan merupakan suatu keinginan yang akan dicapai dalam melakukan perancangan. Kebutuhan menggambarkan fungsi dan batasan untuk aplikasi. Adapun analisis kebutuhan dibagi menjadi dua, antara lain adalah kebutuhan fungsional dan kebutuhan nonfungsional.
3.1.2.1. Kebutuhan Fungsional
Kebutuhan fungsional merupakan kebutuhan yang fungsi-fungsinya harus dipenuhi pada rancangan aplikasi. Kebutuhan fungsional yang harus dipenuhi pada aplikasi yang akan dirancang adalah :
1. Aplikasi harus mampu menggambarkan proses pencarian solusi n-queen
problem berdasarkan langkah kerja algoritma genetika.
2. Aplikasi harus mampu menampilkan hasil solusi n-queen serta pada iterasi keberapa solusi tersebut diperoleh.
3.1.2.2. Kebutuhan Nonfungsional
19
1. Performa
Aplikasi yang akan dibangun dapat menampilkan hasil dari fungsi sistem untuk menghasilkan solusi pemecahan n-queen problem.
2. Efisiensi
Aplikasi yang akan dibangun diharuskan sederhana, agar memudahkan pengguna untuk memakainya.
3. Ekonomis
Aplikasi yang akan dibangun tanpa mengeluarkan biaya tambahan dalam penggunaannya.
3.1.3. Penerapan Metode Tournament Selection
Pada perancangan perangkat lunak pencarian solusi n-queen problem dengan menggunakan algoritma genetika dengan seleksi parent menggunakan metode
tournament selection ini, yang menjadi permasalahan adalah bagaimana proses
pemilihan parent berdasarkan cara kerja metode tournament selection di dalam algoritma genetika untuk menghasilkan solusi pemecahan n-queen problem. Dalam penerapan metode tournament selection dalam metode seleksi parent pada algoritma genetika untuk menyelesaikan masalah N-Queen ini, arsitektur umum yang digunakan seperti terlihat pada Gambar 3.1.
Gambar 3.1 Arsitektur Umum Sistem Jumlah Queen Generasi Awal
Jumlah Individu
Persentase Mutasi
Eliminasi Individu Seleksi Parent Tournament Selection
Generasi Baru
20
Dalam algoritma genetika, pemilihan parent dengan menggunakan metode
tournament selection bekerja dengan cara menandingkan individu-individu yang
dipilih secara acak. Sebagai contoh kasus, akan dicari solusi pemecahan untuk
n-queen problem dengan jumlah n-queen sebanyak lima, dengan menggunakan
kapasitas delapan individu per populasi, persentase kemungkinan terjadinya mutasi sebesar 10% dan jumlah turnamen sebanyak lima.
Berdasarkan langkah kerja algoritma genetika, langkah pertama adalah membangkitkan delapan individu secara acak dengan jumlah kromosom sebanyak lima. Adapun hasil dari pembangkitan individu tersebut sebagaimana terlihat pada Tabel 3.1.
Selanjutnya, dihitung fitness dari masing-masing individu dengan cara menghitung jumlah queen pada posisi yang saling bertabrakan. Jumlah queen yang saling bertabrakan ini kemudian dibagi dengan total queen per individu, sehingga menghasilkan nilai seperti terlihat pada Tabel 3.2.
21
Dari Tabel 3.2, terlihat bahwa individu yang memiliki fitness paling rendah adalah P5, sehingga individu ini akan dieliminasi. Setelah melakukan eliminasi terhadap individu P5, dilakukan pemilihan parent menggunakan metode
tournament selection untuk membentuk generasi baru yang akan menggantikan
P5.
Berdasarkan konfigurasi awal, turnamen diset dengan jumlah lima. Berdasarkan jumlah turname ini, dilakukan pemilihan lima individu secara acak yang kemudian akan ditandingkan. Sebagai contoh, individu yang terpilih di dalam turnamen adalah P1, P2, P4, P7 dan P8. Kelima individu ini akan ditandingkan satu sama lain dengan menggunakan jadwal sebagaimana terlihat pada Tabel 3.3.
Tabel 3.3 Jadwal Turnamen Iterasi 1 Turnamen Individu 1 Individu 2
1 P1 P2
2 P1 P4
3 P1 P7
4 P1 P8
5 P2 P4
6 P2 P7
7 P2 P8
8 P4 P7
9 P4 P8
10 P7 P8
22
Tabel 3.4 Hasil Turnamen Iterasi 1 Turnamen Individu 1 Individu 2 Pemenang
1 P1 P2 P2
Dari Tabel 3.5, terlihat bahwa individu P4 dan P8 kalah dari individu P1, sehingga dinyatakan gugur. Namun, individu P1 kalah dari individu P2 sehingga dinyatakan gugur. Individu P7 juga berhasil memenangkan pertandingan pada saat melawan P1, sehingga terpilih dua individu terkuat dari hasil turnamen tersebut, yaitu P2 dan P7. Pada saat P2 ditandingkan dengan P7, terlihat bahwa P7 berhasil keluar sebagai pemenang, sehingga nantinya P7 akan terpilih sebagai parent I dan P2 sebagai parent II.
Setelah memperoleh parent yang akan dikawinkan secara silang untuk menghasilkan individu baru, berdasarkan langkah kerja algoritma genetika, dilakukan cross over antara individu P7 dengan P2. Pada contoh kasus ini, cross
over dilakukan menggunakan one point selection dengan posisi cross over pada
kromosom ke tiga. Adapun hasil dari proses cross over ini seperti terlihat pada Gambar 3.2.
Gambar 3.2. Cross Over Iterasi I
Dari Gambar 3.1 di atas, diperoleh dua individu baru, yaitu individu G1 dengan kromosom 4,1,3,3,4 dan individu G2 dengan kromosom 2,5,1,2,5. Untuk memilih individu mana yang akan menggantikan P5 yang telah dieliminasi sebelumnya, fitness kedua individu ini ditandingkan untuk memilih salah satu
23
individu sebagai pemenang. Dengan menggunakan cara yang sama pada pemilihan fitness sebelumnya, diketahui bahwa individu G1 memiliki fitnesss sebesar 20% dan individu G2 memiliki fitness sebesar 0%. Terlihat bahwa fitness individu G1 lebih besar daripada fitness individu G2, sehingga jika ditandingkan maka yang akan keluar sebagai pemenang adalah individu G1. Dari hasil ini, maka individu baru yang dipilih sebagai pengganti individu P5 adalah individu G1. Dengan menggunakan G1 sebagai pengganti individu P5, maka populasi awal mengalami perubahan, sebagaimana terlihat pada Tabel 3.5.
Tabel 3.5 Populasi Setelah Iterasi 1 Individu Kromosom
Pada iterasi ini, tidak terjadi mutasi, sehingga iterasi dianggap selesai dan dilakukan evaluasi untuk melihat apakah ada individu yang sudah mencapai
fitness 100%. Adapun hasil evaluasi fitness dari populasi setelah iterasi 1
sebagaimana terlihat pada Tabel 3.6.
Tabel 3.6 Evaluasi Fitness Pada Iterasi 1 Individu Kromosom Fitness
P1 1,3,4,2,5 20%
24
metode tournament selection, melakukan cross over pada parent yang terpilih untuk menghasilkan indvidu baru, melakukan mutasi jika terjadi dan mengevaluasi fitness masing-masing individu pada populasi yang baru. Iterasi akan dihentikan jika pada populasi yang baru sudah ditemukan individu yang memiliki fitness sebesar 100%, dan individu ini adalah solusi dari pemecahan
n-queen problem untuk contoh kasus yang digunakan.
3.2. Perancangan Sistem
Setelah melakukan analisis terhadap sistem perangkat lunak yang akan dirancang, selanjutnya dilakukan perancangan terhadap perangkat lunak tersebut. Adapun tahapan perancangan yang dilakukan meliputi flowchart sistem, perancangan antarmuka program serta perancangan algoritma.
3.2.1. Flowchart Sistem
25
Gambar 3.3 Flowchart Proses Kerja Perangkat Lunak
Flowchart yang ditunjukkan pada Gambar 3.2 di atas dimulai dengan
menginputkan jumlah queen, jumlah populasi dan jumlah turnamen yang akan digunakan pada proses penyelesaian masalah n-queen.
Selanjutnya akan dibangkitkan individu-individu secara acak, sesuai dengan jumlah populasi yang diinputkan. Masing-masing individu yang
26
dibangkitkan ini akan memiliki jumlah kromosom sesuai dengan jumlah queen yang diinputkan sebelumnya.
Selanjutnya akan dihitung jumlah fitness dari masing-masing individu dengan menghitung jumlah queen yang saling bertabrakan. Jika ada salah satu individu yang memiliki fitness bernilai 1 (sama sekali tidak terjadi tabrakan antara
queen di dalam individu tersebut), maka akan ditampilkan hasil akhir posisi queen
sebagai solusi permasalah sesuai dengan posisi queen pada individu tersebut.
Jika tidak, maka akan dilakukan eliminasi terhadap individu dengan jumlah fitness yang paling rendah. Setelah itu, akan dilakukan proses seleksi
parent menggunakan metode tournament selection dengan cara menandingkan
individu-individu yang akan diseleksi sebanyak jumlah turnamen yang diinputkan. Selanjutnya akan dilakukan cross-over terhadap parent yang terpilih. Hasil individu dengan nilai fitness tertinggi akan digunakan sebagai pengganti individu yang dieleminasi sebelumnya. Selanjutnya akan dilihat apakah terjadi mutasi pada proses ini. Jika mutasi terjadi, maka dilakukan proses mutasi secara acak mengikuti proses kerja algoritma genetika. Sedangkan jika tidak, proses akan dilanjutkan pada tahapan berikutnya.
Akan dihitung jumlah masing-masing individu setelah tahapan cross-over terjadi. Jika sudah ada individu yang memiliki nilai fitness 1, maka iterasi akan dihentikan dan ditampilkan posisi queen pada individu tersebut sebagai solusi permasalahan. Sedangkan jika tidak, akan kembali dilakukan iterasi dimulai dari melakukan eliminasi terhadap individu dengan nilai fitness yang paling rendah.
3.2.2. PerancanganAntarmuka Program
27
1. Rancangan Form Utama
Form Utama merupakan tampilan yang dirancang sebagai interface agar
user dapat berinteraksi dengan sistem. Dalam melakukan interaksi dengan user,
Form Utama menggunakan tombol-tombol yang dapat dipilih oleh user, seperti tombol Proses, Info serta Tutup, seperti terlihat pada Gambar 3.4.
Gambar 3.4 Rancangan Form Utama
Pada Gambar 3.4, rancangan Form Utama memiliki beberapa tombol yang dapat digunakan oleh pengguna untuk berinteraksi dengan aplikasi. Tombol Proses berfungsi untuk menampilkan form Proses, tombol Info berfungsi untuk menampilkan form Info dan tombol Tutup berfungsi untuk menutup aplikasi.
2. Rancangan Form Proses
Form Ramal merupakan tampilan yang dirancang untuk menerima inputan koonfigurasi jumlah queen, jumlah individu, persentasi mutasi serta jumlah turnamen yang akan digunakan dalam proses pencarian solusi, serta menampilkan hasil pencarian solusi berdasarkan data konfigurasi yang diberikan pengguna. Adapun rancangan Form Proses dapat dilihat pada Gambar 3.5.
Tournament Selection Pada Algoritma Genetika Untuk Masalah N-Queen X
Proses
Info
28
Gambar 3.5 Rancangan Form Proses
Pada Gambar 3.5, form Proses memiliki beberapa tombol yang dapat digunakan oleh pengguna untuk berinteraksi dengan aplikasi. Tombol Inisialisasi berfungsi untuk mengkonfirmasikan data inputan konfigurasi yang akan digunakan dalam proses pencarian solusi n-queen problem. Tombol Proses berfungsi untuk memproses pencarian solusi berdasarkan langkah kerja algoritma genetika menggunakan metode tournament selection pada proses pemilihan
parent. Tombol Kembali berfungsi untuk menutup form Proses dan tampilan
dikembalikan pada form Utama.
Algoritma Genetika Menggunakan Tournament Selection X
Inisialisasi
Jumlah Queen
Jumlah Individu
Persentase Mutasi (%)
Posisi Selection
Jumlah Turnamen
OK
Detail Populasi
Individu Kromosom Nilai Fitness
Hasil Penyelesaian
Iterasi Jumlah Mutasi Solusi
29
3. Rancangan Form About
Form About merupakan tampilan yang dirancang untuk menampilkan informasi mengenai perancang aplikasi pencarian solusi n-queen problem menggunakan algoritma genetika dengan proses seleksi parent menggnakan metode tournament selection ini. Adapun rancangan form About dapat dilihat pada Gambar 3.6.
Gambar 3.6 Rancangan Form About
3.2.3. Pseudo-code Program
Dalam perancangan aplikasi pencarian solusi N-Queen menggunakan algoritma genetika dengan tournament selection sebagai metode seleksi parent ini, digunakan sebuah pseudo-code untuk membantu proses pembuatan program. Adapun pseudo-code yang digunakan dalam perancangan aplikasi ini adalah sebagai berikut:
Fitness (1-Q) ← Queen yang saling bertabrakan Do
Eliminasi Min (Individu (1-Q)) For I = 1 to K
Aplikasi Pencarian Solusi N-Queen Menggunakan Algoritma Genetika Dengan Tournament Selection Sebagai Metode Seleksi Parent
30
A ← Rand (1-P) B ← Rand (1-P)
If Fitness A > B Then Parent (0) = A Else
Parent (0) = B
For I = 1 to K A ← Rand (1-P) B ← Rand (1-P)
If Fitness A > B Then Parent (1) = A Else
Parent (1) = B
Crossover (Parent (0), Parent (1)) If Mutasi = True Then
BAB 4
IMPLEMENTASI DAN PEMBAHASAN
Bab ini membahas hasil dari implementasi metode tournament selection dalam seleksi parent pada algoritma genetika untuk menyelesaikan masalah N-Queen sesuai dengan perancangan sistem yang dibahas pada bab 3. Bab ini juga membahas hasil dari pengujian sistem yang dilakukan terhadap aplikasi.
4.1. Implementasi
Setelah melakukan implementasi terhadap rancangan yang diperoleh sebelumnya ke dalam bahasa pemrograman, penulis memperoleh hasil berupa sebuah aplikasi pencarian solusi n-queen problem menggunakan algoritma genetika dengan metode pemilihan parent menggunakan tournament selection.
4.1.1 Tampilan Hasil
Hasil dari implementasi perangkat lunak yang penulis rancang adalah sebagai berikut :
1. Tampilan Form Utama
Tampilan Form Utama merupakan form yang ditampilkan pertama kali pada saat sistem dijalankan. Adapun tampilan Form Utama ini seperti ditunjukkan pada Gambar 4.1.
32
2. Tampilan Form About
Tampilan Form About merupakan tampilan yang muncul jika pengguna menekan tombol About pada form Utama. Form ini menampilkan sekilas informasi mengenai perancang aplikasi. Adapun tampilan Form About seperti ditunjukkan pada Gambar 4.2.
Gambar 4.2 Form About
4.1.2 Pengujian Sistem
Setelah mendapatkan hasil tampilan apliksi, selanjutnya dilakukan pengujian terhadap sistem tersebut. Adapun metode pengujian sistem yang penulis lakukan adalah metode statis (static technique) dimana pengujian dibagi dalam beberapa tahapan, sebagai berikut :
1. Menetapkan Parameter Pengujian
33
a. Kestabilan Sistem
Parameter ini digunakan untuk menguji apakah sistem masih mengalami
error pada saat dieksekusi atau pada saat melakukan proses pencarian
solusi n-queen problem. b. Ketepatan Hasil
Parameter ini digunakan untuk menguji apakah sistem telah dapat menampilkan hasil solusi berupa posisi queen yang tidak saling bertabrakan, berdasarkan data konfigurasi yang diinputkan.
2. Menyiapkan Perangkat Pengujian
Dalam tahap ini, penulis melakukan pengujian sebanyak 10 kali untuk mencari solusi n-queen probelm dengan konfigurasi sebagaimana terlihat pada Tabel 4.1. mencari solusi n-queen problem dengan jumlah queen sebanyak lima. Populasi yang digunakan di dalam algoritma genetika menampung sebanyak 10 individu. Dengan persentase kemungkinan terjadinya mutasi sebesar 10% dan posisi one
point selection yang digunakan berada pada kromosom ke tiga serta jumlah
turnamen sebanyak lima.
3. Melakukan Pengujian
34
Gambar 4.3 Konfigurasi Pencarian Solusi
35
Gambar 4.4 Inisialisasi Populasi Awal
Selanjutnya, dilakukan penekanan tombol Proses untuk memulai proses pencarian solusi n-queen. Pada tahap ini, sistem akan secara otomatis melakukan proses pencarian dengan menggunakan algoritma genetika dan metode
tournament selection sebagai metode pemilihan parent, dan menampilkan hasil
36
Gambar 4.5 Hasil Pencarian Solusi
37
Gambar 4.6 Pesan Informasi Mutasi
Dari 10 pengujian yang dilakukan, diperoleh beberapa solusi posisi
n-queen dengan data konfigurasi pada Tabel 4.1. Adapun hasil pengujian tersebut
penulis rangkum dalam bentuk tabel, sebagaimana terlihat pada Tabel 4.2.
Tabel 4.2 Hasil Pengujian
Pengujian Solusi Jumlah Iterasi Jumlah Mutasi
1 1,3,5,2,4 6 0
2 4,2,5,3,1 5 0
3 1,4,2,5,3 1 0
4 2,4,1,3,5 31 4
5 3,1,4,2,5 2 0
6 5,3,1,4,2 0 0
7 3,5,2,4,1 5 1
8 2,4,1,3,5 7 1
9 2,4,1,3,5 5 0
38
Dari Tabel 4.2, terlihat bahwa ada tujuh solusi posisi n-queen yang ditemukan dari 10 kali pengujian. Terilhat pula, bahwa ada beberapa solusi yang langsung ditemukan pada saat pembangkitan populasi awal, yaitu pada pengujian ke empat dan pengujian ke enam. Dari 10 kali pengujian yang dilakukan, rata-rata iterasi yang dibutuhkan untuk memperoleh solusi penyelsaian n-queen problem dengan jumlah queen sebanyak lima adalah sebagai berikut:
RI = Jumlah Iterasi / Jumlah Pengujian = 71/10
= 7,1
Sedangkan rata-rata mutasi yang dibutuhkan untuk memperoleh solusi penyelsaian n-queen problem dengan jumlah queen sebanyak lima adalah sebagai berikut:
RM = Jumlah Mutasi / Jumlah Pengujian = 7/10
= 0,7
Berdasarkan pengujian yang dilakukan, dapat disimpulkan bahwa aplikasi pencarian solusi n-queen problem menggunakan algoritma genetika dengan
tournament selection sebagai metode pemilihan parent ini sudah berfungsi dengan
baik, sesuai dengan analisa perancangan sistem sebelumnya. Hal ini terlihat dari hasil variasi solusi posisi N-Queen yang dihasilkan serta variasi mutasi yang dibutuhkan untuk setiap solusi yang diperoleh.
4.2. Pembahasan
39
Algoritma genetika yang digunakan untuk mencari solusi penyelesaian
n-queen problem dengan jumlah n-queen sebanyak lima, mampu menemukan
beberapa solusi yang berbeda. Variasi solusi yang ditemukan cukup baik, hal ini terlihat dari ada tujuh solusi yang diperoleh dari 10 kali pengujian sistem yang dilakukan.
4.2.1 Kelebihan Sistem
Adapun kelebihan dari sistem yang dihasilkan ini adalah sebagai berikut :
a. Sistem dapat menunjukkan langkah demi langkah proses pencarian solusi
n-queen problem, dimulai dari inisialisasi populasi awal, penghitungan fitness, proses eliminasi individu, terjadinya mutasi serta solusi posisi
akhir queen yang tidak saling bertabrakan.
b. Sistem mampu menghasilkan solusi posisi n-queen yang berbeda setiap kali inisialisasi pencari dilakukan. Hal ini terlihat dari hasil pengujian sistem yang menhasilkan tujuh solusi posisi n-queen yang berbeda dari 10 kali pengujian sistem.
4.2.2 Kelemahan Sistem
Adapun kelemahan dari sistem yang ditemukan adalah sebagai berikut :
a. Karena menampilkan informasi langkah-langkah proses pencarian solusi
n-queen problem secara bertahap, sistem membutuhkan waktu yang cukup
lama jika iterasi yang dibutuhkan untuk menghasilkan satu solusi berjumlah ratusan. Karena menggunakan timer dalam proses menampilkan langkah pencarian solusi tersebut, waktu yang dibutuhkan akan semakin bertambah seiring dengan bertambahnya iterasi yang dibutuhkan dalam proses pencarian solusi.
BAB 5
PENUTUP
Bab ini membahas kesimpulan dari hasil penelitian, khususnya mengenai implementasi metode tournament selection dalam seleksi parent pada algoritma genetika untuk menyelesaikan masalah N-Queen berdasarkan hasil pengujian yang dibahas pada bab 4. Bab ini juga membahas mengenai saran-saran untuk pengembangan penelitian selanjutnya.
5.1 Kesimpulan
Berdasarkan hasil penelitian terhadap aplikasi pencarian solusi n-queen problem menggunakan algoritma genetika dengan metode tournament selection sebagai metode seleksi parent ini, penulis dapat menyimpulkan beberapa hal sebagai berikut :
1. Dengan menggunakan metode tournament selection, individu yang memiliki nilai fitness yang rendah memiliki kesempatan untuk terpilih menjadi kandidat parent dengan kemungkinan yang sama besarnya dengan individu yang memiliki nilai fitness yang jauh lebih tinggi. Hal ini mungkin terjadi jika individu tersebut terpilih dan ditandingkan dengan individu lain yang memiliki nilai fitness lebih rendah.
2. Semakin besar jumlah turnamen yang digunakan di dalam proses pencarian solusi, semakin besar pula kemungkinan individu yang memiliki nilai
fitness yang rendah terpilih sebagai kandidat parent.
3. Mutasi dengan cara mengubah posisi kromosom pada kelompok solusi dapat membantu mengatasi masalah dimana terjadinya lebih dari satu individu yang memiliki komposisi kromosom yang sama.
41
solusi yang diakibatkan oleh terjadinya tabrakan antara posisi queen secara horizontal, sehingga pencarian solusi dapat difokuskan pada kemungkinan terjadinya tabrakan antara posisi queen secara diagonal.
5.2 Saran
Adapun saran yang ingin penulis berikan sehubungan dengan hasil penelitian ini adalah sebagai berikut :
1. Sistem ini dapat dikembangkan lebih lanjut sehingga dapat menggunakan lebih dari satu metode cross over selain one point selection, untuk melihat perbedaan hasil yang diperoleh dengan metode yang digunakan di dalam penelitian ini.
2. Dapat ditambahkan metode seleksi parent yang lain seperti stochastic
sampling, deterministic sampling atau mixed sampling, untuk melihat
perbedaan hasil solusi pencarian dengan metode seleksi tournament
BAB 2
TINJAUAN PUSTAKA
Bab ini membahas tentang teori penunjang serta penelitian sebelumnya yang berhubungan dengan penerapan metode tournament selection pada metode seleksi
parent dalam algoritma genetika untuk menyelesaikan masalah N-Queen.
2.1 Kecerdasan Buatan
Kecerdasan Buatan (Artificial Intelligence) adalah kecerdasan mesin dan cabang ilmu komputer yang bertujuan untuk menciptakan suatu sistem yang dapat merasakan lingkungannya dan dapat mengambiil tindakan dengan memaksimalkan peluang yang dianggap sukses (Setiadi : 2012).
Kecerdasan buatan juga dapat diartikan sebagai sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia. Beberapa bidang perkembangan pada kecerdasan buatan adalah sebagai berikut (Prasetyo : 2012):
1. Sistem Pakar (Expert System)
Sistem pakar adalah program penasehat berbasis komputer yang mencoba meniru proses berpikir dan pengetahuan dari seorang pakar dalam menyelesaikan masalah-masalah spesifik. Contohnya adalah sistem pakar menentukan suatu jenis penyakit, sistem pakar untuk bisnis dan sebagainya.
2. Bahasa Alamiah (Natural Languange)
Suatu teknologi yang memberikan kemampuan kepada komputer untuk memahami bahasa manusia sehingga pengguna komputer dapat berkomunikasi dengan komputer dengan menggunakan bahasa sehari-hari. 3. Robotik dan Sistem Sensor
7
4. Computer Vision
Computer Vision merupakan suatu sarana untuk dapat menginterpretasikan
gambar atau objek-objek yang tampak melalui komputer. 5. Permainan (Games)
Permainan merupakan suatu bidang AI yang sangat populer berupa permainan antara manusia melawan mesin yang memiliki intelektual untuk berpikir.
Dalam pengaplikasiannya, ada sembilan tujuan akhir yang diharapkan dalam penerapan kecerdasan buatan, yaitu (Akbar : 2011):
1. Memahami pola pikir manusia, mencoba untuk mendapatkan pengetahuan ingatan manusia yang mendalam, kemampuan dalam memecahkan masalah, belajar, dan mengambil keputusan.
2. Otomatisasi, menciptakan sistem yang dapat menggantikan manusia dalam tugas-tugas intelegensi. Menggunakan sistem yang performanya sebaik manusia dalam melakukan pekerjaan.
3. Penguatan intelegensi, membangun sistem untuk membantu manusia agar mampu berpikir lebih baik dan lebih cepat.
4. Intelegensi manusia super, membangun sistem yang mempunyai kemampuan untuk melebihi intelegensi manusia.
5. Menyelesaikan permasalahan, sistem mampu menyelesaikan berbagai masalah yang luas.
6. Wacana koheren, mampu berkomunikasi dengan manusia menggunakan bahasa alami.
7. Belajar, mampu memperoleh data sendiri dan mengetahui bagaimana cara memperoleh data. Sistem mampu membuat hipotesis, penerapan atau pembelajaran secara heuristik dan membuat alasan dengan analogi.
8
2.2 Algoritma Genetika
Algoritma genetika adalah suatu algoritma pencarian yang meniru mekanisme dari genetika alam. Algoritma Genetika banyak dipakai pada aplikasi bisnis, teknik maupun pada bidang keilmuan lainnya. Algoritma ini dimulai dengan kumpulan solusi yang disebut dengan populasi. Solusi-solusi dari sebuah populasi diambil dan digunakan untuk membentuk populasi yang baru. Hal ini dimotivasi dengan harapan bahwa populasi yang baru dibentuk tersebut akan lebih baik daripada yang lama. Solusi-solusi yang dipilih untuk membentuk solusisolusi yang baru dipilih sesuai dengan fitness mereka masing-masing (Juniawati : 2003).
Algoritma genetika digunakan untuk penyelesaian masalah optimasi yang kompleks dan sukar diselesaikan dengan menggunakan metode yang konvensional. Sebagaimana halnya proses evolusi di alam, suatu algoritma genetika yang sederhana umumnya terdiri dari tiga operator yaitu: operator reproduksi, operator crossover (persilangan) dan operator mutasi. Struktur umum dari suatu algoritma genetika dapat didefinisikan dengan langkah-langkah sebagai berikut (Juniawati : 2003):
1. Membangkitkan populasi awal, Populasi awal ini dibangkitkan secara random sehingga didapatkan solusi awal. Populasi itu sendiri terdiri dari sejumlah kromosom yang merepresentasikan solusi yang diinginkan 2. Membentuk generasi baru, Dalam membentuk digunakan tiga operator
yang telah disebut di atas yaitu operator reproduksi/seleksi, crossover dan mutasi. Proses ini dilakukan berulang-ulang sehingga didapatkan jumlah kromosom yang cukup untuk membentuk generasi baru dimana generasi baru ini merupakan representasi dari solusi baru.
9
Dalam algoritma genetika pengkodean (encoding) solusi problem kedalam suatu kromosom merupakan isu penting. Populasi awal yang berisi N kromosom dibangkitkan secara random yang menjangkau keseluruhan ruang solusi. Proses evolusi dilakukan dengan melakukan operasi genetik (cross-over dan mutasi) dan melakukan seleksi kromosom untuk generasi berikutnya sampai sejumlah generasi yang dikehendaki dengan panduan fungsi fitness (Miller : 1995).
Fungsi fitness adalah fungsi yang digunakan untuk menentukan apakah suatu kromosom layak bertahan. Pada setiap generasi dipilih kromosom yang mendekati solusi dengan mengevaluasi fungsi kecocokan dari kromosom tersebut. Fungsi ini didefinisikan sedemikian sehingga semakin besar nilai fitness semakin besar probabilitas untuk terseleksi pada generasi berikutnya. Untuk maksimasi maka fungsi tujuan dapat dijadikan sebagai fungsi fitness, sehingga kromosom yang mewakili nilai fungsi besar akan memiliki probabilitas terseleksi yang besar juga. Untuk minimasi dapat dirumuskan sedemikian sehingga fungsi tujuan yang semakin kecil maka memiliki fungsi fitness yang besar (Miller : 1995).
Setiap anggota populasi diwakili deretan string (disebut kromosom) dengan panjang tertentu. Elemen string tersebut dapat berupa digit 0,1 (untuk binary encoding), bilangan real (untuk real encoding), atau elemen lain. Untuk ukuran populasi N yang biasanya dipertahankan tetap prosedur seleksi diperlukan untuk memilih anggota populasi yang mana yang akan tetap eksis pada generasi berikutnya (Akbar : 2011).
10
Proses operasi crossover dirancang untuk mencari kemungkinan yang lebih baik dari anggota populasi yang telah ada. Dari pasangan induk yang terpilih berdasarkan seleksi fungsi fitness diambil sejumlah pasangan dengan probabilitas P
c untuk dikenakan operasi crossover (Blicke & Thiele : 1995).
Mutasi dalam konteks binary encoding adalah perubahan pada bit tunggal (bit 0 jadi 1 dan sebaliknya) anggota populasi yang terpilih. Banyaknya bit yang mengalami mutasi pada setiap generasi diatur oleh probabilitas mutasi (P
m) yang
nilainya merupakan cacah bit mutasi dibagi cacah bit total dalam populasi (Blicke & Thiele : 1995).
2.3 Metode Tournament Selection
Tournament selection merupakan salah satu mekanisme seleksi parent pada
algoritma genetika yang baik dan berguna. Hasil seleksi pada tournament
selection sangat dipengaruhi pada pemilihan jumlah turnamen serta jumlah
competitor (individu yang akan diikut sertakan di dalam turnamen). Semakin banyak jumlah turnamen dan jumlah kompetitor di dalam tournament selection, persaingan akan semakin ketat yang pada akhirnya akan menghasilkan hasil seleksi yang lebih baik (Filipovic : 2003).
Beberapa alasan mengapa tournament selection sangat berguna di dalam proses seleksi pada algoritma genetika adalah kesederhanaan bentuk algoritmanya serta kefisiensiannya jika digunakan baik pada arsitektur paralel maupun non-paralel. Demikian pula dengan fleksibilitas yang dimiliki metode ini terhadap perubahan input dan output yang diinginkan (Filipovic : 2003).
Tournament selection dimulai dengan memilih jumlah turnamen yang akan
dilakukan. Pemilihan jumlah turnamen ini sebaiknya disesuaikan dengan jumlah
parent yang diinginkan pada proses crossover berikutnya. Selanjutnya, untuk
setiap turnamen, akan dipilih secara acak dua individu dari populasi awal untuk ditandingkan. Pemenang pada pertandingan ini ditentukan dengan melihat nilai
11
akan keluar sebagai pemenang. Setiap individu yang menjadi pemenang pada masing-masing turnamen kemudian dipilih menjadi parent yang akan digunakan pada proses crossover berikutnya (Filipovic : 2003).
2.4 N-Queen Problem
N-Queens Problem adalah salah satu permasalahan yang paling umum digunakan
dalam berbagai buku pegangan untuk menjelaskan algoritma backtracking. Inti permasalahan yang diajukan adalah bagaimana menempatkan N buah bidak ratu dalam suatu papan catur berukuran N x N sedemikian rupa sehingga tidak satupun dari bidak ratu tersebut dapat memakan bidak ratu yang lain dalam satu gerakan. Sesuai dengan gerakan bidak ratu standar, suatu bidak ratu hanya dapat bergerak lurus dalam satu kolom, baris, atau diagonal. Untuk itu sebuah solusi harus dapat mengatur penempatan bidak ratu sehingga tidak ada dua bidak yang terletak dalam suatu kolom, baris, atau diagonal yang sama (Božikovic et. al : 2003).
N-Queens problem pertama kali diusulkan sebagai 8 Queens Problem,
sesuai dengan ukuran papan catur sebenarnya yaitu 8 x 8, pada tahun 1848 oleh seorang pecatur Max Bezzel. Banyak matematikawan, termasuk Gauss dan Georg Cantor, telah berusaha mencari solusi permasalahan ini. Solusi pertama dipublikasikan oleh Franz Nauck pada tahun 1850—termasuk solusi permasalahan umumnya, yaitu ketika jumlah bidak ratu dimisalkan sebagai N (Božikovic et. al : 2003).
12
diartikan bahwa pada kolom pertama posisi queen berada di baris pertama, pada kolom kedua posisi queen berada di baris ketiga, pada kolom ketiga posisi queen berada di baris kelima, pada kolom keempat posisi queen berada di baris kedua dan pada kolom kelima posisi queen berada di baris keempat. Sebagai ilustrasi, formasi queen dari kelompok 1,3,5,2,4 tersebut seperti digambarkan pada Gambar 2.1 (Pothumani : 2013).
Gambar 2.1 Ilustrasi Solusi 1,3,5,2,4 (Pothumani, 2013)
Dalam mencari solusi posisi dalam permasalahan n-queen, sebagai acuan dari seberapa akurat kelompok solusi yang dihasilkan, digunakan fungsi fitness. Fungsi fitness dari masalah n-queen merupakan jumlah dari posisi queen yang mengalami tabrakan dibandingkan dengan total jumlah posisi queen dalam kelompok solusi tersebut. Sebagai contoh, jika dalam sebuah kelompok solusi dihasilkan nilai 3,2,5,1,4, maka langkah pertama dalam menghitung fungsi fitness kelompok solusi ini adalah menggambarkan posisi queen dari kelompok solusi tersebut ke dalam papan catur, sebagaimana terlihat pada Gambar 2.2 (Pothumani : 2013).
Gambar 2.2 Posisi Queen Dalam Papan Catur (Pothumani, 2013)
Selanjutnya, setiap posisi akan diperiksa apakah mengalami tabrakan dengan posisi queen yang lain secara horizontal maupun diagonal. Untuk posisi
13
dengan posisi queen kedua (kolom 2 baris 2) secara diagonal, seperti terlihat pada ilustrasi di Gambar 2.3, dimana queen yang bertabrakan diberi warna merah (Pothumani : 2013).
Q
Q Q
Q Q
Gambar 2.3 Contoh Queen Yang Saling Bertabrakan (Pothumani, 2013)
Untuk posisi queen kedua, terlihat bahwa posisi ini mengalami tabrakan dengan posisi queen pertama secara diagonal. Untuk posisi queen ketiga (kolom 3 baris 5), terlihat bahwa posisi ini mengalami tabrakan dengan posisi queen pertama secara diagonal. Untuk posisi queen keempat (kolom 4 baris 1), terlihat bahwa posisi ini tidak mengalami tabrakan dengan posisi queen manapun, baik secara horizontal maupun diagonal. Untuk posisi queen kelima (kolom 5 baris 4) , terlihat bahwa posisi ini tidak mengalami tabrakan dengan posisi queen manapun (Pothumani : 2013).
14
2.5 Penelitian Sebelumnya
Dalam masalah seleksi parent pada algoritma genetika menggunakan metode
tournament selection, ada dua penelitian yang dapat dijadikan sebagai referensi
mengenai cara kerja metode tersebut.
Penelitian pertama adalah penelitian yang dilakukan oleh Vladimir
Filiponic pada tahun 2003. Penelitian yang diterbitkan pada jurnal Computing and Informatic Vol. 22 ini berjudul Fine-Grained Tournament Selection Operator In Genetic Algorithm. Penelitian ini mengangkat masalah pengembangan dari
metode tournament selection, yang mana kemudian dinamakan sebagai
fine-grained tournament selection. Dalam jurnal yang diterbitan pada computing and informatic Vol. 22 tersebut, Filiponic menjelaskan bagaimana metode tournament selection sangat efektif digunakan dalam menyelesaikan masalah Simple Plant Location Problem (SPLP) dalam skala besar. Pengembangan metode tournament selection ini mampu menyelesaikan masalah SPLP dengan lebih dari 1000 lokasi
produksi dan customer.
Penelitian kedua adalah penelitian yang dilakukan oleh Brad L. Miller dan
David E. Goldberg pada tahun 1995. Penelitian yang diterbitkan pada jurnal Complex System Vol. 9 ini mengangkat masalah noise yang sering terjadi dalam
penghitungan fungsi fitness di dalam algoritma genetika. Dalam penelitian ini,
Brad L. Miller dan David E. Goldberg menjelaskan bagaimana metode tournament selection memiliki ketahanan yang sangat baik terhadap noise yang
15
Dari kedua penelitian tersebut, dapat disimpulkan beberapa kelebihan dari metode tournament selection dalam pemilihan parent di dalam algoritma genetika sebagai berikut :
1. Sangat efektif untuk menyelesaikan masalah dalam skala besar.
2. Memiliki ketahanan yang baik terhadap noise pada tahap penghitungan fungsi fitness.
3. Mudah untuk diimplementasikan pada masalah-masalah yang bersifat paralel maupun non-paralel.
4. Fleksibel terhadap perubahan yang terjadi pada individu di dalam proses seleksi parent.
5.
Adapun inti dari kedua penelitian yang digunakan sebagai referensi terhadap metode tournament selection dalam proses seleksi parent pada algoritma genetika ini dapat ditunjukkan pada Tabel 2.1.
Tabel 2.1 Penelitian Sebelumnya the Effevt of the Noise
16
2013 Solving N-Queen Problem Using Various Algorithm –
2003 Solving N-Queen Problem Using Global Parallel
2015 Solving N-Queen Problem Using Genetic Algorithm
BAB 1
PENDAHULUAN
Pada bab ini akan dibahas hal-hal yang menjadi latar belakang pembuatan tugas akhir, rumusan masalah, tujuan penelitian, batasan masalah, manfaat, metodologi penelitian, serta sistematika penulisan.
1.1. Latar Belakang
Dalam bidang kecerdasan buatan (artificial intelligent), algoritma genetika (genetic algorithm) merupakan algoritma yang sering digunakan untuk memecahkan masalah, seperti masalah Queen. Dalam memecahkan masalah
N-Queen dengan menggunakan algoritma genetika, proses pemilihan parent
biasanya dilakukan dengan menggunakan teknik roulette wheel selection, dimana individuyang memiliki nilai fitness yang lebih tinggi akan memiliki kesempatan yang lebih besar untuk dipilih sebagai parent jika dibandingkan dengan individu dengan nilai fitness yang lebih rendah. Proses seleksi dilakukan dengan membangkitkan bilangan acak yang berada pada range nilai fitness masing-masing individu sehingga individu yang berada pada range nilai yang dihasilkan oleh bilangan acak tersebut akan terpilih sebagai parent untuk proses selanjutnya.
Dalam melakukan seleksi terhadap parent yang akan digunakan untuk menghasilkan generasi baru pada algoritma genetika, ada beberapa metode yang dapat digunakan seperti rank based fitness assignment, roulette wheel selection,
local selection, truncation selection dan tournament selection. Tournament selection menggunakan prinsip kompetisi antara individu yang akan diseleksi.
Ranking dari hasil kompetisi dalam turnamen antar individu tersebut kemudian digunakan sebagai dasar untuk memilih parent yang akan menghasilkan generasi baru. Individu dengan nilai fitness yang lebih baik akan memiliki peluang untuk keluar sebagai pemenang, sedangkan individu dengan nilai fitness yang rendah akan memiliki peluang yang jauh lebih kecil. Dengan melihat cara kerja metode
tournament selection ini dalam memilih parent pada algoritma genetika, metode
2
karena hasil akhir yang diinginkan adalah individu yang memiliki nilai fitness paling sempurna.
Berdasarkan latar belakang masalah di atas, penulis ingin merancang sebuah perangkat lunak untuk memecahkan masalah n-queen dengan mengimplementasikan metode tournament selection pada algoritma genetika dan merangkum hasilnya menjadi sebuah tugas akhir yang berjudul ―Implementasi Metode Tournament Selection Pada Algoritma Genetika Untuk Menyelesaikan Masalah N-Queen‖.
1.2. Rumusan Masalah
Dalam penyelesaian masalah n-queen dengan menggunakan algoritma genetika, proses pemilihan parent sangat mempengaruhi kecepatan dan ketepatan proses penentuan individu yang berada pada posisi yang tepat. Pemilihan parent yang berdasarkan pada individu dengan nilai fitness yang paling sempurna menjadi penting agar kemungkinan tereliminasinya individu dengan nilai fitness yang baik pada proses seleksi parent dapat diminimalisir. Selain itu, menarik pula dilihat bagaimana pengaruh variasi mutasi terhadap hasil solusi yang diperoleh dengan menggunakan metode tournament selection.
1.3. Batasan Masalah
Batasan masalah pada tugas akhir ini adalah sebagai berikut :
1. Proses seleksi parent menggunakan sistem one way tournament, dengan individu yang sudah terpilih menjadi pemenang tidak diikut sertakan pada turnamen berikutnya.
2. Proses penyelesaian masalah N-Queen dibatasi pada 5 (lima) kali proses penyelesaian untuk melihat tingkat akurasi pemecahan masalah.
3. Output yang dihasilkan adalah urutan posisi queen pada posisi yang tepat
serta jumlah iterasi yang dibutuhkan.
3
1.4. Tujuan Penelitian
Tujuan dari penelitian ini untuk memberikan alternatif aplikasi yang dapat digunakan untuk memecahkan masalah N-Queen dengan mengimplementasikan metode tournament selection pada algoritma genetilka, khususnya pada proses seleksi parent.
1.5. Manfaat Penelitian
Penelitian ini diharapkan dapat memberikan manfaat bagi penulis, pembaca dan para peneliti, sebagai berikut:
1. Dapat membantu memecahkan masalah N-Queen, khususnya dengan menggunakan algoritma genetika.
2. Dapat digunakan sebagai alternatif referensi dalam teknik pemilihan bilangan acak pada proses seleksi parent pada algoritma genetika.
1.6. Metodologi penelitian
Metodologi penelitian yang digunakan pada penelitian ini adalah: 1) Studi Literatur
Pada tahap ini dilakukan studi kepustakaan yaitu proses pengumpulan bahan-bahan referensi yang berkaitan dengan algoritma genetika, n-queen serta metode tournament selection dari buku, artikel, paper, jurnal, makalah dan sumber lainnya. Pada tahap ini juga dilakukan studi tentang penerimaan karyawan pada suatu perusahaan.
2) Analisis
Pada tahap ini dilakukan analisis spesifikasi perangkat lunak yang dibangun pada penelitian ini, seperti pengumpulan data, analisis data, algoritma dan struktur data.
3) Perancangan
4
4) Implementasi
Pada tahap ini dilakukan pengkodean perangkat lunak sesuai dengan spesifikasi yang ditentukan.
5) Pengujian
Pada tahap ini dilakukan pengujian terhadap perangkat lunak yang dibangun, dan bagaimana keakuratan dai sistem yang dibuat.
6) Penyusunan Laporan
Pada tahap ini dilakukan penulisan dokumentasi dan laporan mengenai perangkat lunak yang dikembangkan.
1.7 Sistematika Penulisan
Sistematika penulisan dari skripsi ini terdiri dari lima bagian utama sebagai berikut:
BAB I: PENDAHULUAN
Bab ini berisi latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan.
BAB II: LANDASAN TEORI
Bab ini berisi teori-teori yang digunakan untuk memahami permasalahan yang dibahas pada penelitian ini. Pada bab ini dijelaskan mengenai algoritma genetika,
N-Queen Problem, metode Tournament Selection dan Microsoft Visual Basic .Net 2008.
BAB III: ANALISIS DAN PERANCANGAN
Bab ini membahas tentang perancangan sistem dan program yang mencakup perancangan sistem dan perancangan interface. Dalam perancangan sistem dicantumkan data flow diagram untuk mempermudah penjelasan sistem.
BAB IV: IMPLEMENTASI DAN PENGUJIAN
5
BAB V: KESIMPULAN DAN SARAN
iv
ABSTRAK
Dalam memecahkan masalah N-Queen dengan menggunakan algoritma genetika, proses pemilihan parent dapat dilakukan dengan menggunakan metode roulette
wheel selection, rank based fitness assignment, roulette wheel selection, local selection, truncation selection dan tournament selection. Dalam penelitian ini,
metode tournament selection dipilih sebagai metode seleksi parent pada algoritma genetika yang diimplementasikan ke dalam pencarian solusi masalah N-Queen. Aplikasi yang dihasilkan dapat menemukan variasi solusi pemecahan masalah
N-Queen yang berbeda serta variasi jumlah mutasi yang dihasilkan untuk solusi yang
sama dari konfigurasi permasalahan yang ada. Konfigurasi permasalahan seperti jumlah queen, jumlah individu serta nilai persentase mutasi dapat berubah sesuai dengan input yang diberikan pengguna.
v
IMPLEMENTATION OF TOURNAMENT SELECTION METHOD
FOR THE GENETIC ALGORITHM
TROUBLESHOOTING N-QUEEN
ABSTRACT
In solving the N-Queen problem using a genetic algorithm, the process of selecting the parent can be accomplished by using the roulette wheel selection,
rank-based fitness assignment, roulette wheel selection, local selection, truncation selection and tournament selection. In this study, the tournament selection method
chosen as a selection method parent genetic algorithm implemented in the search for solutions to the N-Queen problems. The resulting applications can be found variations troubleshooters N-Queen different and vary the number of mutations generated for the same solution of the configuration of the existing problems. Configuration issues such as the number of queen, the number of individuals as well as the percentage of mutations can change according to user input.
IMPLEMENTASI METODE TOURNAMENT SELECTION
PADA ALGORITMA GENETIKA UNTUK
MENYELESAIKAN MASALAH N-QUEEN
SKRIPSI
M RIZKI RAMADHAN L 081402075
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
ii
PERNYATAAN
IMPLEMENTASI METODE TOURNAMENT SELECTION PADA ALGORITMA GENETIKA UNTUK
MENYELESAIKAN MASALAH N-QUEEN
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 11 Februari 2016
iii
UCAPAN TERIMAKASIH
Puji dan syukur penulis ucapkan kepada Allah SWT dengan segala rahmat dan karunia-Nya penulisan tugas akhir ini berhasil diselesaikan dalam waktu yang telah ditetapkan. Selama penyelesaian tugas akhir ini, banyak bantuan dan kerja sama serta doa dan dukungan dari berbagai pihak, oleh karena itu penulis sampaikan ucapan terimakasih dan penghargaan kepada :
1. Kedua orangtua penulis, Chairul Lubis dan Rosna Artaty serta keluarga besar yang telah memberi dukungan dan motivasi baik materil dan spiritual selama penulis mengikuti pendidikan hingga selesainya tugas akhir ini.
2. Bapak Dr. Syahril Efendi, S.Si.,M.IT dan Bapak Dedy Arisandi, ST,M.Kom. selaku dosen pembimbingyang telah banyak meluangkan waktu dan pikiran beliau, memotivasi, memberi arahan, kritik dan saran kepada penulis.
3. Bapak Dr.Sawaluddin,M.IT dan Bapak Romi Fadillah Rahmat, B.Comp.Sc.M.Sc. yang telah bersedia menjadi dosen pembanding.
4. Ketua dan Sekretaris Program Studi Teknologi Informasi, Bapak M. Anggia Muchtar, ST., M.MIT. dan Bapak M. Fadly Syahputra, B.Sc.,M.Sc.IT. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen di Fakultas Ilmu Komputer dan Teknologi Informasi.
5. Abangda Djafar Ruliansyah, Abangda Adek Alamsyah dan Abangda M.Rochady Lubis selaku abang dari penulis yang telah memberikan dorongan motivasi dan doa.
6. Semua staff dan pegawai di Jurusan Teknologi Informasi serta Fakultas Ilmu Komputer dan Teknologi Informasi.
7. Teman seperjuangan dan rekan rekan mahasiswa Program Studi Teknologi Informasi yang telah berjuang bersama.
iv
ABSTRAK
Dalam memecahkan masalah N-Queen dengan menggunakan algoritma genetika, proses pemilihan parent dapat dilakukan dengan menggunakan metode roulette
wheel selection, rank based fitness assignment, roulette wheel selection, local selection, truncation selection dan tournament selection. Dalam penelitian ini,
metode tournament selection dipilih sebagai metode seleksi parent pada algoritma genetika yang diimplementasikan ke dalam pencarian solusi masalah N-Queen. Aplikasi yang dihasilkan dapat menemukan variasi solusi pemecahan masalah
N-Queen yang berbeda serta variasi jumlah mutasi yang dihasilkan untuk solusi yang
sama dari konfigurasi permasalahan yang ada. Konfigurasi permasalahan seperti jumlah queen, jumlah individu serta nilai persentase mutasi dapat berubah sesuai dengan input yang diberikan pengguna.
v
IMPLEMENTATION OF TOURNAMENT SELECTION METHOD
FOR THE GENETIC ALGORITHM
TROUBLESHOOTING N-QUEEN
ABSTRACT
In solving the N-Queen problem using a genetic algorithm, the process of selecting the parent can be accomplished by using the roulette wheel selection,
rank-based fitness assignment, roulette wheel selection, local selection, truncation selection and tournament selection. In this study, the tournament selection method
chosen as a selection method parent genetic algorithm implemented in the search for solutions to the N-Queen problems. The resulting applications can be found variations troubleshooters N-Queen different and vary the number of mutations generated for the same solution of the configuration of the existing problems. Configuration issues such as the number of queen, the number of individuals as well as the percentage of mutations can change according to user input.
vi
DAFTAR ISI
PERNYATAAN ... ii
UCAPAN TERIMAKASIH... iii
ABSTRAK ... iv
3.1.3 Penerapan Metode Tournament Selection ... 18
3.2 Perancangan Sistem ... 24
3.2.1 Flowchart Sistem ... 24
3.2.2 Perancangan Antarmuka Program... 26
vii
BAB 4 IMPLEMENTASI DAN PEMBAHASAN ... 31
4.1 Implementasi ... 31
4.1.1 Tampilan Hasil ... 31
4.1.2 Pengujian Sistem ... 32
4.2 Pembahasan ... 38
BAB 5 PENUTUP ... 40
5.1 Kesimpulan ... 40
5.2 Saran ... 41
viii
DAFTAR GAMBAR
Gambar 2.1 Ilustrasi Solusi 1,3,5,2,4 ... 12
Gambar 2.2 Posisi Queen Dalam Papan Catur ... 12
Gambar 2.3 Contoh Queen Yang Saling Bertabrakan ... 13
Gambar 3.1 Arsitektur Umum Sistem ... 19
Gambar 3.2 Cross Over Iterasi I ... 22
Gambar 3.3 Flowchart Proses Kerja Perangkat Lunak ... 25
Gambar 3.4 Rancangan Form Utama ... 27
Gambar 3.5 Rancangan Form Proses ... 28
Gambar 3.6 Rancangan Form About ... 29
Gambar 4.1 Tampilan Form Utama ... 31
Gambar 4.2 Tampilan Form About ... 32
Gambar 4.3 Konfigurasi Pencarian Solusi ... 34
Gambar 4.4 Inisiliasi Populasi Awal ... 35
Gambar 4.5 Hasil Pencarian Solusi ... 36
ix
DAFTAR TABEL
Tabel 2.1 Penelitian Sebelumnya ... 15
Tabel 3.1 Individu Awal ... 20
Tabel 3.2 Nilai Fitness Individu Awal ... 20
Tabel 3.3 Jadwal Turnamen Iterasi I ... 21
Tabel 3.4 Hasil Turnamen Iterasi I ... 22
Tabel 3.5 Populasi Setelah Iterasi I ... 23
Tabel 3.6 Evaluasi Fitness Pada Iterasi I ... 23
Tabel 4.1 Konfigurasi Pengujian ... 33