Implementasi Metode Tournament Selection Pada Algoritma Genetika Untuk Menyelesaikan Masalah N-Queen

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
Sistem sensor, seperti sistem vision, sistem tactile, dan sistem pemrosesan
sinyal jika dikombinasikan dengan AI, dapat dikategorikan kedalam suatu
sistem yang luas yang disebut sistem robotik.

Universitas Sumatera Utara

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.

Otonomi, mempunyai sistem intelegensi yang beraksi atas inisiatif sendiri.
Informasi, mampu menyimpan informasi dan mengetahui cara mengambil
informasi.

Universitas Sumatera Utara

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.

3.

Evaluasi solusi, Proses ini akan mengevaluasi setiap populasi dengan
menghitung nilai fitness setiap kromosom dan mengevaluasinya sampai
terpenuhi kriteria berhenti. Bila kriteria berhenti belum terpenuhi maka
akan dibentuk lagi generasi baru dengan mengulangi langkah 2.

Universitas Sumatera Utara

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).

Fungsi fitness digunakan untuk menentukan apakah kromosom layak
dipertahankan atau tidak dalam generasi berikutnya. Sebelum dilakukan seleksi

jumlah anggota populasi ditambah dengan hasil offspring dari proses operasi
genetik yang dapat berupa cross over dan mutasi. Hasil operasi genetik dan
populasi semula selanjutnya diseleksi dengan metode tertentu untuk diambil n
anggota populasi yang terbaik. Untuk kasus minimasi maka yang terpilih adalah n
anggota populasi dengan nilai fitness yang terkecil (Akbar : 2011).

Universitas Sumatera Utara

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
Pc 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 (Pm) 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 nonparalel. 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
fitness masing-masing individu, dimana individu dengan nilai fitness paling besar

Universitas Sumatera Utara

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).
Masalah ini dapat digeneralisasikan dengan cara meletakkan queen
sejumlah n yang tidak saling bertabrakan di dalam sebuah papan catur. Karena
setiap queen harus berada pada baris dan kolom yang berbeda, maka dapat
diasumsikan bahwa queen pada posisi ke-i adalah queen yang diletakkan pada
kolom ke-i. Solusi dari masalah ini dapat direpresentasikan sebagai q1, q2, … qn
yang merupakan permutasi dari jumlah queen itu sendiri. Posisi dari queen pada
kelompok solusi merupakan representasi dari posisi kolom queen, sedangkan nilai
dari posisi queen tersebut merepresentasikan baris dari queen tersebut pada papan
catur. Sebagai contoh, jika sebuah kelompok solusi bernilai 1,3,5,2,4 maka dapat

Universitas Sumatera Utara

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).

Q
Q
Q
Q
Q
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).

Q
Q
Q
Q
Q
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
queen pertama (kolom 1 baris 3), terlihat bahwa posisi ini mengalami tabrakan

Universitas Sumatera Utara

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).

Dari contoh kelompok solusi 3,2,5,1,4 di atas, terlihat bahwa dari lima
posisi queen di dalam kelompok solusi tersebut, terdapat tiga posisi yang saling
bertabrakan. Sehingga, dapat dihitung nilai fitness kelompok solusi tersebut, yaitu
3/5 atau 0,6. Dengan melihat contoh perhitungan nilai fitness kelompok solusi
dari masalah n-queen ini, dapat disimpulkan bahwa nilai fitness yang semakin
mendekati angka satu adalah nilai fitness yang paling jelek, karena di dalam
kelompok solusi tersebut terdapat posisi queen yang banyak mengalami tabrakan.
Sebaliknya, semakin mendekati angka nol, maka nilai fitness dari kelompok solusi
tersebut akan semakin baik, dengan nilai nol adalah solusi yang paling sempurna
(dimana tidak terdapat satupun posisi queen yang saling bertabrakan) (Pothumani
: 2013).

Universitas Sumatera Utara

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 finegrained 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

mungkin terjadi pada tahap penghitungan fungsi fitness di dalam algoritma
genetika. Brad L. Miller dan David E. Goldberg juga menyimpulkan bahwa
metode

tournament

selction

merupakan

metode

yang

gampang

untuk

diimplementasikan pada masalah-masalah yang bersifat paralel maupun nonparalel, sekaligus juga sangat fleksibel terhadap perubahan individu yang terjadi
di dalam proses seleksi.

Universitas Sumatera Utara

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
Peneliti

Tahun

Vladimir

2003

Filipovic

Judul

Hasil

Fine-Grained Tournament

Tournament selection

Selection Operator In

merupakan metode yang

Genetic Algoritm

efektif digunakan dalam
menyelesaikan masalah
dalam skala besar.

Brad L.

Genetic Algoritm,

Tournament selection

Miller &

Tournament Selection and

merupakan metode yang

David E.

the Effevt of the Noise

memiliki ketahanan yang

Goldberg

1995

baik terhadap noise pada
tahapan penghitungan
fungsi fitness, mudah untuk
diimplementasikan pada
masalah yang bersifat
paralal maupun non-paralel

Universitas Sumatera Utara

16

dan fleksibel terhadap
perubahan individu yang
terjadi pada proses seleksi
parent.

S.

2013

Pothumani

Solving N-Queen Problem

Variasi hasil solusi

Using Various Algorithm –

pemecahan masalah N-

A Survey

Queen dengan

menggunakan berbagai
algoritma.
Marko

2003

Bozikovic,
Marin

Solving N-Queen Problem

Membuktikan bahwa

Using Global Parallel

algoritma genetika cocok

Genetic Algorithm

digunakan untuk

Golub &

memecahkan masalah N-

Leo Budin

Ahmed S.

Queen.

2015

Farhan,

Solving N-Queen Problem

Solusi-solusi yang

Using Genetic Algorithm

memungkinkan dari

Wadhah Z.

masalah N-Queen dengan

Tareq &

jumlah queen = 8.

Foiuad H.
Awad
Azwar W.

2007

Genetic Algorithm Versus

Algoritma genetika lebih

Hammad &

Particle Swarm

stabil dibandingkan Particle

Dr. Ban N.

Optimization In N-Queen

Swarm Optimization untuk

Thannoon

Problem

masalah non-linier.

Universitas Sumatera Utara