Implementasi Algoritma Genetika pada gam

RANCANG BANGUN PENGEMBANGAN GAME PLANARITY
BERBASIS ULUL ALBAB MENGGUNAKAN
ALGORITMA GENETIKA
Penyusun : Adyan Nur Alfiyatin1 (116500831) dan Nurma Rizkiya Hasby2 (11650085)

Jurusan Teknik Informatika
Fakultas Sains dan Teknologi
UIN Maulana Malik Ibrahim Malang
Email : [email protected], [email protected]

Abstrak
Game planarity merupakan salah satu contoh model game di dalam netlogo, dimana game ini
dirancang sederhana menggunakan graf planar (Graf yang dapat digambarkan pada bidang datar
dengan sisi-sisi yang tidak saling berpotongan). Aturan main dalam game ini pemain harus dapat
menjadikan graf planar tidak berpotongan antar edge. Setelah pemain berhasil menjadikan graf
planar tidak berpotongan, maka pemain naik ke level selanjutnya.
Game planarity berbasis ulul albab ini dibuat fokus pada pembelajaran kosa kata dalam bahasa
arab, dimana setiap level pemain akan menemukan satu kosakata baru yang tentunya berbeda makna.
Game ini mempunyai interface yang menarik, sebagian perintahnya menggunakan bahasa arab, form
game yang menarik dan tidak membosankan. Algoritma yang digunakan dalam pembuatan game
planarity adalah Algoritma Genetika.

Kata kunci : game planarity, algoritma genetika, ulul albab.

I.

PENDAHULUAN
Pada bidang matematika dan ilmu
komputer, teori graf adalah ilmu tentang
graf, struktur matematika yang digunakan
untuk memodelkan hubungan berpasangan
antara objek dalam kumpulan tertentu.
Graf adalah kumpulan verteks atau node,
dan
kumpulan
dari
edge
yang
menghubungkan
sepasang
verteks.
Sedangkan, graf planar merupakan sebuah

graf yang dapat digambarkan dalam
bidang datar dengan suatu cara sehingga
semua edge hanya berpotongan pada titik
ujungnya. Dengan kata lain, graf ini dapat
digambar sedemikian sehingga tidak ada
edge-edge yang saling bersilangan /
berpotongan.
Graf planar dimanfaatkan untuk
bermacam-macam penyelesaian masalah.
Salah satunya yaitu dalam game Planarity.
Game planarity merupakan game yang
menerapkan konsep planaritas dari sebuah
graf. Pemain diharuskan mengubah graf
planar yang telah diacak verteksnya
sehingga edge-nya saling berpotongan,

menjadi graf planar tanpa ada perpotongan
edge. Caranya dengan memindah letak
verteks sedemikian rupa dalam bidang
permainan. Pemain memenangkan game

jika berhasil membuat graf planar tanpa
edge yang berpotongan. Dalam game ini,
diperlukan penyelesaian dari game pada
setiap levelnya.
Ulul albab adalah orang yang berakal,
memilki pikiran, perasaan dan hati. Namun
bukan hanya sekedar memilikinya akan
tetapi mau menggunakannya secara
maksimal
sehingga
ia
mampu
mendapatkan ilmu pengetahuan dan
wawasan yang luas serta pandangan yang
tajam terhadap sesuatu. Konsep untuk
penerapan ulul albab dalam bentuk
operasional ditandai dengan empat
kekuatan yaitu kedalaman spiritual,
keagungan akhlak, kekuasaan ilmu dan
kematangan profesional. Dalam konsep itu

penulis mengambil konsep tentang
penguasaan terhadap ilmu pengetahuan,
salah satu sarana untuk menguasai ilmu
pengetahuan dengan memahami banyak

bahasa, diantaranya bahasa inggris, arab,
mandarin. Untuk membantu dalam
menguasai salah satu bahasa tersebut
khususnya bahasa arab maka penulis
menerapkan
bahasa
arab
dalam
pengembangan game planarity dimana
dalam game ini pemain dapat menemukan
kosakata baru dalam setiap levelnya dan
tentunya berbeda makna. Dari latar
belakang tersebut, penulis merumuskan
masalah yaitu “bagaimana pengembangan
sebuah game planarity dengan berbasis

ulul albab?”.
Tujuan dari penelitian dalam pembuatan
aplikasi ini adalah dapat menerapkan
konten ulul albab dalam game planarity.
Dalam pengembangan game ini penulis
membuat batasan masalah dimana kosa
kata yang penulis gunakan hanya
bertemakan peralatan sekolah dan benda di
ruang kelas.
II. TINJAUAN PUSTAKA
2.1 NETLOGO DAN PLANARITY
NetLogo adalah sebuah bahasa
pemrograman yang multi-agent dan
lingkungan
pemodelan
untuk
mensimulasikan fenomena alam dan
sosial yang kompleks. NetLogo
dirancang untuk riset dan pendidikan
dan digunakan oleh berbagai disiplin

ilmu
yang
luas
dan
level
pendidikan. Netlogo dapat digunakan
untuk memodelkan sistem yang
komplek. User (atau istilah di
netlogonya adalah Observer) dapat
memberikan instruksi kepada ratusan
atau ribuan agen untuk beroperasi
secara
independen. Bahasa
pemrograman
NetLogo
ini
dikembangkan
dari
bahasa
pemrograman Logo untuk kepentingan

riset
dan
pendidikan.
Netlogo
dibuat
oleh
Uri
Wilensky pada tahun 1999 dan sejak
saat itu terus dikembangkan di-Center
for Connected Learning and ComputerBased Modeling.
Game planarity merupakan salah
satu contoh model game di dalam

netlogo, dimana game ini dirancang
sederhana menggunakan graf planar
(Graf yang dapat digambarkan pada
bidang datar dengan sisi-sisi yang tidak
saling berpotongan).
Aturan main
dalam game ini pemain harus dapat

menjadikan
graf
planar
tidak
berpotongan antar edge. Setelah
pemain berhasil menjadikan graf
planar tidak berpotongan, maka
pemain naik ke level selanjutnya.

2.2 ALGORITMA GENETIKA
Algoritma
Genetika
adalah
algoritma yang memanfaatkan proses
seleksi alamiah yang dikenal dengan
proses evolusi. Dalam proses evolusi,
individu
secara
terus-menerus
mengalami perubahan gen untuk

menyesuaikan dengan lingkungan
hidupnya. “Hanya individu-individu
yang kuat yang mampu bertahan”.
Proses seleksi alamiah ini melibatkan
perubahan gen yang terjadi pada
individu melalui proses perkembangbiakan. Dalam algoritma genetika ini,
proses perkembang-biakan ini menjadi
proses dasar yang menjadi perhatian
utama, dengan dasar berpikir:
“Bagaimana mendapatkan keturunan
yang lebih baik”. Algoritma genetika
ini ditemukan oleh John Holland dan
dikembangkan oleh muridnya David
Goldberg.
Hal-Hal Yang Harus Dilakukan
Dalam
Menggunakan
Algoritma
Genetika Mendefinisikan individu,
dimana individu menyatakan salah

satu solusi (penyelesaian) yang
mungkin dari permasalahan yang
diangkat.
Mendefinisikan
nilai
fitness, yang merupakan ukuran baiktidaknya sebuah individu atau baiktidaknya solusi yang didapatkan.
Menentukan proses pembangkitan
populasi awal. Hal ini biasanya
dilakukan
dengan
menggunakan
pembangkitan acak seperti randomwalk. Menentukan proses seleksi

yang akan digunakan. Menentukan
proses perkawinan silang (crossover) dan mutasi gen yang akan
digunakan.
Beberapa Definisi Penting Dalam
Algoritma
Genetika,
meliputi

Genotype (Gen), sebuah nilai yang
menyatakan satuan dasar yang
membentuk suatu arti tertentu dalam
satu kesatuan gen yang dinamakan
kromosom. Dalam algoritma genetika,
gen ini bisa berupa nilai biner, float,
integer maupun karakter, atau
kombinatorial. Allele, nilai dari gen.
Kromosom, gabungan gen-gen yang
membentuk nilai tertentu. Individu,
menyatakan satu nilai atau keadaan
yang menyatakan salah satu solusi
yang mungkin dari permasalahan yang
diangkat.
Populasi,
merupakan
sekumpulan individu yang akan
diproses bersama dalam satu siklus
proses evolusi. Generasi, menyatakan
satu-satuan siklus proses evolusi.
Nilai Fitness, menyatakan seberapa
baik nilai dari suatu individu atau
solusi yang didapatkan.
2.3 ULUL ALBAB
Ulul albab yaitu orang yang
berakal, memiliki pikiran, perasaan
dan hati. Namun bukan hanya sekedar
memilikinya
akan
tetapi
mau
menggunakannya secara maksimal
sehingga ia mampu mendapatkan ilmu
pengetahuan dan wawasan yang luas
serta pandangan yang tajam terhadap
sesuatu. Penggunaan akal, pikiran dan
perasaan ini tentu saja dengan cara
yang benar dan dengan tujuan yang
baik. Karena banyak orang yang
memiliki komponen-komponen ini,
namun tidak mau menggunakannya
secara maksimal. Dari uraian tentang
ulul albab, bentuk operasional suatu
alat ukur adalah konsep Ulul Albab
yang ditandai adanya empat kekuatan
yaitu:
Kedalaman
spiritual
yaitu
kemampuan
individu
dalam

memaknai kehidupan dan berperilaku
yang
didasari
dengan
adanya
semangat spiritual. Kemampuan ini
dicirikan dengan adanya kesadaran
terhadap kehadiran Allah, kemampuan
untuk mengagumi ciptaan Allah, rasa
takut hanya oleh Allah.
Keagungan
akhlak
yaitu
kemampuan
individu
untuk
berperilaku mulia sesuai dengan
ajaran Islam sehingga perilaku
tersebut
menjadi
ciri
dari
kepribadiannya. Kemampuan ini
dicirikan dengan adanya kemampuan
untuk meningkatkan kualitas hidup
baik berupa keyakinan, lisan, maupun
perbuatan, dan kemampuan untuk
bersabar dalam menghadapi cobaan,
dan kemampuan membedakan yang
baik dan yang buruk.
Keluasan ilmu yaitu kualitas
seseorang yang dicirikan dengan
kepintaran dan kecerdikan dalam
menyelesaikan masalah sesuai dengan
bidang keahliannya. Kemampuan ini
dicirikan dengan sikap bersungguhsungguh dalam mencari ilmu,
kemampuan
untuk
selalu
menggunakan potensi akal fikiran, dan
kemampuan
untuk
selalu
menggunakan
potensi
kalbu
(perasaan).
Kematangan profesional yaitu
kemampuan seseorang untuk bekerja
dan berperilaku sebagai seorang
profesional dibidangnya. Kemampuan
ini dicirikan dengan adanya kesediaan
untuk menyampaikan ilmu, kesediaan
berperan serta dalam memecahkan
masalah umat, dan kebiasaan untuk
bertindak sesuai dengan ilmu.
III. ANALISIS DAN RANCANGAN
GAME
3.1 FSM (Finite State Machine )
FSM (Finite State Machine ) merupakan
salah satu metode penerapan kecerdasan
buatan di game yang populer diterapkan
untuk pengambilan keputusan yang cerdas.

FSM dalam pembuatan game itu sangat penting dimana dengan adanya FSM dapat diketahui
skenario dari game tersebut.

Gambar 3.1. FSM Game Planarity
3.2 Skenario
Dalam game ini pemain harus dapat menjadikan graf planar tidak berpotongan antar
edge. Setelah pemain berhasil menjadikan graf planar tidak berpotongan, dan waktu masih
ada, maka muncul window yang berisi pertanyaan dan pilihan jawaban. Pertanyaannya
meliputi kata yang dapat dirangkai dari huruf-huruf di edge. Kemudian pemain memilih
salah satu dari jawaban. Jika jawaban yang dipilih benar, maka naik ke level selanjutnya.
Jika waktu habis atau jawaban salah maka game over dan kembali ke level awal.
Algoritma genetikanya diletakkan pada time duration. Jika pemain dapat menyelesaikan
level sesuai dengan waktu yang ditentukan dan jawaban yang tepat maka pemain naik ke
level selanjutnya, sebaliknya apabila pemain tidak bisa menyelesaikan graf planar sesuai
dengan waktu yang telah ditentukan maka game over dan kembali pada level awal. Ketika
jawaban benar akan muncul nilai fitness terbaik pada command window.
3.3 Tampilan Interface Games

Gambar 3.3 Interface ketika graf saling
berpotongan
Gambar 3.2 Tampilan Awal ketika tekan tombol

;; use tick counter as a move
counter
tick
;; check if the level is
solved
if solved? [

let f 1
let g 2
let h 3

; populasi & nilai

set f1 (1 - 1) ;0
set g1 (2 - 1) ;1
set h1 (3 - 1) ;2
Gambar 3.4 Interface ketika graf tidak
berpotongan dan window pertanyaan

set fitness1 (f * h) - ( f1
) ;3
set fitness2 (f * h) - ( g1
) ;2
set fitness3 (f * h) - ( h1
) ;1
set jumlahfitness (fitness1
+ fitness2 + fitness3 ) ;6 fitness
;set nilaifit (3 * 1) jumlahfitness ;-3

Gambar 3.5 Interface ketika pemain berhasil jawab
dan naik level

Source Code Penerapan Algoritma
Genetika
to go
algoritma
if mouse-down? [
;; find the closest node
let grabbed min-one-of turtles
[distancexy mouse-xcor mouse-ycor]
;; loop until the mouse button
is released
while [mouse-down?] [
ask grabbed [ setxy mousexcor mouse-ycor ]
display
]

set seleksifitness1 (
fitness1 / jumlahfitness ) ; 0.5
50%
set seleksifitness2 (
fitness2 / jumlahfitness ) ; 0.33
33%
set seleksifitness3 (
fitness3 / jumlahfitness ) ; 0.167
17%
set prosesseleksif (
seleksifitness1 ) ;0.5
set prosesseleksig (
seleksifitness2 * seleksifitness2
) ; 0.1089
set prosesseleksih (
seleksifitness3 * seleksifitness3
* seleksifitness3 ) ;0,00465
set hasilproses (
prosesseleksif + (f) +
prosesseleksig + (g) +
prosesseleksih + (h) )
set prosesseleksif random
hasilproses
set prosesseleksig random
hasilproses
set prosesseleksih random
hasilproses
if f1 < prosesseleksif [

set crossov 1
ifelse ( f1 > prosesseleksif
)
[ set crossov 0 ]
[ print crossov ]
]

ifelse t = 0 [
ifelse ( "‫ = ) "قلم‬userone-of "Kata Apa yang Anda
temukan?" ["
‫]"قلم" "قميس" "ب‬
;;bolpen
[user-message "selamat anda
naik level"
print prosesseleksif
set level level + 1
]
[user-message "game over"
set level 1
]
setup-level
]
[
ifelse t = 1 [
ifelse ( "b
‫ = ) "ب‬userone-of "Tulisan Apa yang terdapat
dalam level ini?" ["a ‫" "قلم‬b
‫ب‬
" "c ‫;; ]"قميس‬bolpen

[user-message "selamat anda
naik level"
print prosesseleksig
set level level + 1
]
[user-message "game over"
set level 1
]
setup-level
][
if t = 2 [
ifelse ( "b ‫= ) "جدا ر‬
user-one-of "Kosa kata apa yang
terlihat?" ["a
‫" "ب‬b ‫" "جدا ر‬c
‫;; ]"كزسي‬bolpen
[user-message "selamat anda
naik level"
print prosesseleksih
set level level + 1
]
[user-message "game over"
set level 1
]
setup-level
]
]
]
]
]
end

Gambar 3.6 Interface ketika pemain waktu habis

Gambar 3.7 Interface ketika pemain game
over

IV. KESIMPULAN DAN SARAN
Game planarity merupakan salah satu
contoh model game di dalam netlogo,
dimana game ini dirancang sederhana
menggunakan graf planar (Graf yang dapat
digambarkan pada bidang datar dengan
sisi-sisi yang tidak saling berpotongan).
Aturan main dalam game ini pemain harus
dapat menjadikan graf planar tidak
berpotongan antar edge. Setelah pemain
berhasil menjadikan graf planar tidak
berpotongan, maka pemain naik ke level
selanjutnya. Penambahan konten ulul
albab berfokuskan kosakata yang akan
pemain temui setiap level dan kosakata
yang akan ditampilkan terbatas pada
peralatan sekolah dan benda di ruang
kelas. Penerapan Algoritma Genetika
terletak pada timer dan kecocokan dalam
menjawab pertanyaan.

Untuk perbaikan di masa mendatang,
saran penulis untuk memperluas kosa kata
yang terkandung dalam game planarity ini
dan mungkin penambahan iringan musik
untuk mendukung pemain agar bermain
lebih bersemangat.

REFERENSI
http://zeromind165.blogspot.com/2012/05/
ulul-albab.html 17/12/2014 7:53:34
Achmad
Basuki.
ALGORITMA
GENETIKA Suatu Alternatif Penyelesaian
Permasalahan Searching, Optimasi dan
Machine Learning, Politeknik Elektronika
Negeri Surabaya PENS-ITS, Surabaya,
2003. E-book.
http://www.iotataubeta.info/index.php/start
/showprev/8917/12/2014 9:00:20

Dokumen yang terkait

Analisis komparatif rasio finansial ditinjau dari aturan depkop dengan standar akuntansi Indonesia pada laporan keuanagn tahun 1999 pusat koperasi pegawai

15 355 84

Analisis korelasi antara lama penggunaan pil KB kombinasi dan tingkat keparahan gingivitas pada wanita pengguna PIL KB kombinasi di wilayah kerja Puskesmas Sumbersari Jember

11 241 64

FREKWENSI PESAN PEMELIHARAAN KESEHATAN DALAM IKLAN LAYANAN MASYARAKAT Analisis Isi pada Empat Versi ILM Televisi Tanggap Flu Burung Milik Komnas FBPI

10 189 3

SENSUALITAS DALAM FILM HOROR DI INDONESIA(Analisis Isi pada Film Tali Pocong Perawan karya Arie Azis)

33 290 2

Analisis Sistem Pengendalian Mutu dan Perencanaan Penugasan Audit pada Kantor Akuntan Publik. (Suatu Studi Kasus pada Kantor Akuntan Publik Jamaludin, Aria, Sukimto dan Rekan)

136 695 18

DOMESTIFIKASI PEREMPUAN DALAM IKLAN Studi Semiotika pada Iklan "Mama Suka", "Mama Lemon", dan "BuKrim"

133 700 21

Representasi Nasionalisme Melalui Karya Fotografi (Analisis Semiotik pada Buku "Ketika Indonesia Dipertanyakan")

53 338 50

PENERAPAN MEDIA LITERASI DI KALANGAN JURNALIS KAMPUS (Studi pada Jurnalis Unit Aktivitas Pers Kampus Mahasiswa (UKPM) Kavling 10, Koran Bestari, dan Unit Kegitan Pers Mahasiswa (UKPM) Civitas)

105 442 24

DAMPAK INVESTASI ASET TEKNOLOGI INFORMASI TERHADAP INOVASI DENGAN LINGKUNGAN INDUSTRI SEBAGAI VARIABEL PEMODERASI (Studi Empiris pada perusahaan Manufaktur yang Terdaftar di Bursa Efek Indonesia (BEI) Tahun 2006-2012)

12 142 22

Diskriminasi Perempuan Muslim dalam Implementasi Civil Right Act 1964 di Amerika Serikat

3 55 15