Jurnal Labyrinthgame
Jurnal Labyrinthgame
edu
Abstrak
Perkembangan Teknologi Informasi khususnya dalam Computer Vision (CV) kini sudah sampai pada bidang hiburan.
CV dapat membuat komputer mendeteksi benda-benda yang ditangkap dari kamera. Teknologi tersebut diterapkan
pada sebuah game dengan rule melewati sebuah labyrinth, dan pergerakan karakter dikontrol dengan mendeteksi
gerak kepala player. Pada tembok labyrinth diberi gambar yang berisi cerita yang berguna sebagai petunjuk untuk
dapat menyelesaikan labyrinth tersebut. Dalam game ini dideteksi posisi kepala dan dilakukan head tracking dari
gerakan kepala player menggunakan webcam. Metode yang digunakan untuk mendeteksi posisi kepala dan
melakukan tracking gerakan kepala adalah Steady-State Genetic Algorithm (SSGA), diawali dengan melakukan
perubahan warna RGB menjadi warna hitam, cokelat, dan putih untuk deteksi kulit wajah. Kini bermain game lebih
mengasyikkan dan tidak selalu menggunakan joystick.
1. Pendahuluan
Teknologi Informasi (TI) adalah istilah umum yang menjelaskan teknologi apapun yang membantu
manusia dalam membuat, mengubah, menyimpan, mengkomunikasikan dan/atau menyebarkan informasi.
TI menyatukan komputasi dan komunikasi berkecepatan tinggi untuk data, suara, gambar, dan video.
Cabang ilmu dalam TI yang mempelajari tentang gambar dan video adalah Computer Vision (CV). Salah
satu teknologi dari CV adalah mendeteksi benda-benda yang ditangkap dari kamera. Teknologi tersebut
diterapkan pada sebuah game dengan rule melewati sebuah labyrinth, dan pergerakan karakter dikontrol
Jurnal Informatika dan Komputer PENS, Teknik Informatika, Vol.1, No.1, 2023
dengan mendeteksi gerak kepala player. Pada tembok labyrinth diberi gambar yang berisi cerita yang
berguna sebagai petunjuk untuk dapat menyelesaikan labyrinth tersebut. Dalam game ini dideteksi posisi
kepala dan dilakukan tracking dari gerakan kepala player menggunakan webcam. Metode yang digunakan
untuk mendeteksi posisi kepala dan melakukan tracking gerakan kepala adalah Steady-State Genetic
Algorithm (SSGA), diawali dengan melakukan perubahan RGB menjadi warna hitam, cokelat, dan putih
untuk deteksi kulit wajah. Kemudian jika kepala player tersebut bergerak maju berarti karakter bergerak
maju, dan jika kepala player tersebut bergerak ke kanan dengan nilai tertentu maka karakter menghadap
ke kanan, dan jika kepala player bergerak ke kiri dengan nilai tertentu maka karakter menghadap ke kiri.
Kini bermain game lebih mengasyikkan dan tidak selalu menggunakan joystick.
Beberapa peneliti sebelumnya juga membangun sistem pengendalian yang memanfaatkan Computer
Vision. Ferman Hakiki [1] melakukan sebuah penelitian dengan membangun sistem robot pantilt yang
dikendalikan dengan gerakan kepala manusia, yang dideteksi menggunakan metode Simple Genetic
Algorithm (SGA) dan SSGA, kemudian dilakukan perbandingan dari kedua metode tersebut. Dari hasil
penelitian tersebut, SGA menghasilkan waktu rata-rata tercepat untuk menemukan posisi kepala adalah
37,5 milidetik. Sedangkan untuk SSGA waktu rata-rata tercepatnya adalah 30,5 milidetik. Dapat
disimpulkan bahwa SSGA lebih baik daripada SGA dalam masalah respon waktu.
(a) Simple genetic algorithm (SGA) (b) Steady-state genetic algorithm (SSGA)
Gambar 1. Grafik individu terhadap waktu.
Sumber: (Hakiki, Ferman, “Rancang Bangun Robot Pantilt: Pendeteksian Posisi Kepala Manusia Menggunakan
Algoritma Genetika”, PENS-ITS, Surabaya, 2009, halaman 72 dan 89)
Dedi Kustiawan [2] melakukan penelitian dan membangun sebuah game yang dikendalikan dengan
raket yang dideteksi menggunakan kamera. Pada penelitiannya dirancang sebuah raket dengan warna
permukaan merah. Raket tersebut akan ditangkap oleh kamera, setelah permukaan raket terdeteksi,
dilakukan proses segmentasi warna dengan metode tresholding yang menampilkan warna merah dan
menghitamkan warna selain merah. Proses selanjutnya adalah deteksi tepi dan dilakukan motion tracking,
untuk mendeteksi gerakan objek dan melakukan aksi sesuai dengan rule game.
Ayu Dyah Pramitasari [3] melakukan penelitian dan membangun sebuah game labyrinth edukasi
matematika berbasis Android. Pemain akan diberikan persoalan ketika pemain tersebut mengalami delay.
Semakin tinggi level maka persamaan akan semakin sulit dan pemain dituntut untuk berhitung cepat
untuk mendapatkan score waktu terbaik. Dengan pendekatan ini, materi bisa dimasukkan dalam sebuah
game yang disampaikan melalui pendekatan yang menarik.
2. Metode
Penelitian ini bertujuan untuk merancang dan membuat aplikasi game labyrinth dengan pergerakan
karakternya dikendalikan oleh gerakan kepala pemainnya menggunakan metode SSGA. Blok diagram
sistem secara keseluruhan dapat dilihat pada gambar 3.
Player Color Segmentation
Generate Individu
Head Detection
Selection
Head Tracking
Elitists Crossover
Game Labyrinth
Adaptive Mutation
Pada awalnya gambar kepala yang ditangkap berupa nilai RGB, kemudian dilakukan proses Color
Segmentation untuk memodelkan warna kulit. Proses berikutnya adalah Head Detection menggunakan
metode SSGA, dari hasil SSGA akan dilakukan Head Tracking dan dibuat keputusan apakah gerakan
kepala maju, kiri dan ke kanan.
Gambar yang ditangkap oleh kamera memiliki struktur warna yang menggunakan sistem Red Green
Blue (RGB), maka perlu kita lakukan color segmentation yang berguna untuk memodelkan warna kulit,
dengan mentransformasikan ke sistem warna YCrCb dengan menggunakan persamaan [1]:
Y = 0.59G + 0.31R + 0.11B (1)
Cr = 0.713 * (R – Y) (2)
Cb = 0.564 * (B – Y) (3)
Proses selanjutnya adalah head detection. Pada proses pendeteksian posisi kepala manusia, individu
tersebut terdiri dari gen-gen. Gen tersebut terdiri dari posisi koordinat [xi, yi, lebari, tinggii] sehingga
menghasilkan gambar kotak.
Jurnal Informatika dan Komputer PENS, Teknik Informatika, Vol.1, No.1, 2023
xi,yi
tinggii
lebari
Gambar 4. Gen-gen yang dibangkitkan pada tiap-tiap individu
Untuk memodelkan kepala manusia, maka perlu dibuat template dari kepala manusia seperti berikut:
warna rambut
warna kulit
warna lain
Gambar 5. Template kepala manusia
Ilustrasi dari proses pembangkitan populasi secara acak, dengan 5 kotak berwarna merah yang artinya
5 buah individu yang dibangkitkan secara acak adalah sebagai berikut:
- Selection
Proses ini bertujuan untuk mencari individu dengan nilai fitness terbaik yang nantinya akan
menjadi induk untuk menghasilkan keturunan-keturunan yang baru. Untuk menghitung nilai
fitness, digunakan persamaan berikut [1]:
ƒiHe=Ckulit
Kp
wajah
Kp
+ Crambut + η1Kp.CKpkulit wajah.CKp rambut - η2Kp.CKp lainya (4)
- Elitist Crossover
Jurnal Informatika dan Komputer PENS, Teknik Informatika, Vol.1, No.1, 2023
Untuk proses crossover ini digunakan elitist crossover dimana untuk menghemat waktu
komputasi, maka semua induk selain induk dengan nilai fitness terbaik, gen-gennya disamakan
dengan induk dengan nilai fitness terbaik [1].
[xterbaik, yterbaik, lebarterbaik, tinggiterbaik] gen individu terbaik
[xterburuk, yterburuk, lebarterburuk, tinggiterburuk] gen individu terburuk
- Adaptive Mutation
Proses Adaptive mutation merubah gen-gen dari setiap individu dengan menggunakan rumus
[1]:
(
gi , j ← gi , j + ∝ j .
fit max−fit i
)
+ β . N (0 , 1)
fit max−fit min j
(5)
Dimana fiti adalah nilai fitness dari individu ke i, fitmax dan fitmin adalah nilai fitness maksimal
dan minimal dalam suatu populasi; N(0,1) adalah nilai acak dari 0 sampai 1. αj dan βj adalah
koefisien dan offset. Proses mulai dari seleksi, crossover dan mutasi ini akan berlangsung sampai
nilai maksimal iterasi tercapai atau nilai fitness yang dihasilkan tidak berubah.
Setelah dilakukan proses elitist crossover dan adaptive mutation, maka terbentuklah individu
baru dengan nilai fitness yang lebih baik. Individu nomor 1 awalnya merupakan individu dengan
nilai fitness terburuk, setelah dilakukan proses elitist crossover dan adaptive mutation individu
nomor 1 mempunyai nilai fitness yang lebih baik.
Proses selanjutnya adalah head tracking. Prosesnya adalah mengambil rata-rata dari beberapa individu
dengan fitness terbaik, kemudian rata-rata itu dijadikan koordinat dari individu baru yang lebih baik.
Setelah head tracking, proses selanjutnya adalah memberikan nilai dari gerakan kepala saat bergerak
maju, ke kanan dan ke kiri, dengan memberikan batasan nilai pada koordinat xi dan yi.
x
0 360
xi,yi
y
240
Jurnal Informatika dan Komputer PENS, Teknik Informatika, Vol.1, No.1, 2023
Pada gambar 8, dapat dilihat koordinat dari x i dan yi, jika koordinat yi lebih kecil dari nilai yang
ditentukan maka memberikan nilai maju, sedangkan untuk koordinat x i jika lebih kecil dari nilai tertentu
maka memberikan nilai kiri, begitu pula sebaliknya untuk ke kanan, sesuai dengan sumbu koordinat
dengan titik 0 berada di sudut kiri atas.
(a) Peta labyrinth (b) Tembok-tembok labyrinth (c) Pertanyaan (d) Gerakan karaker dalam game
Gambar 9. Game labyrinth.
3. Hasil
3.1. Pengujian Segmentasi Warna
Tujuan dari percobaan ini adalah untuk membandingkan intensitas cahaya pada keadaan terang,
sedang dan gelap dalam melakukan segmentasi warna.
Jurnal Informatika dan Komputer PENS, Teknik Informatika, Vol.1, No.1, 2023
(a) Intensitas cahaya tinggi (b) Intensitas cahaya sedang (c) Intensitas cahaya rendah
Gambar 10. Hasil uji coba segmentasi warna.
Dari gambar 10, dapat dilihat bahwa pada gambar 10 (b), hasil segmentasi warnanya lebih bagus dan
merata jika dibandingkan dengan gambar 10 (a) dan (c). Jadi untuk proses selanjutnya digunakan cahaya
dengan intensitas sedang.
Percobaan ini dilakukan dengan membangkitkan jumlah individu yang berbeda-beda yaitu 10, 25, 50,
dan100. Setiap jumlah individu itu diulang beberapa kali mulai dari 5, 10 dan 15 kali.
Kemudian hasil pencatatan di atas, digambarkan pada grafik pada gambar 11, 12, dan 13, untuk grafik
iterasi terhadap nilai fitness dan grafik pada gambar 14, untuk grafik individu terhadap waktu.
10 Individu
15000 25 Individu
10000 50 Individu
5000 100 Individu
0
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
Iterasi
10 Individu
15000 25 Individu
10000 50 Individu
5000 100 Individu
0
0 2 4 6 8 10 12
Iterasi
Pada gambar 11, 12, dan 13, dapat dilihat bahwa nilai fitness semakin lama semakin stabil. Hal ini
membuktikan bahwa individu dalam suatu iterasi telah menemukan posisi kepala player. Semakin
individu tersebut mendekati posisi kepala player maka semakin bagus nilai fitnessnya. Namun dari
percobaan yang telah dilakukan individu sebanyak 10 dan iterasi sebanyak 5, sudah mampu mendeteksi
kepala player dan mengikuti kemana kepala bergerak dengan cepat.
400000
300000 5 Iterasi
200000 10 Iterasi
15 Iterasi
100000
0
10 25 50 100
Individu
Setelah dilakukan percobaan, dapat dianalisa bahwa terdapat perbedaan saat jumlah individu berbeda-
beda. Ketika jumlah individu sedikit, proses untuk mendeteksi kepala player sangat cepat. Tapi ketika
jumlah individu banyak, proses untuk mendeteksi kepala player semakin lambat.
Jurnal Informatika dan Komputer PENS, Teknik Informatika, Vol.1, No.1, 2023
Percobaan dengan latar belakang yang berbeda sangat diperlukan, karena sangat berpengaruh pada
baik atau tidaknya mendeteksi kepala pemain. Percobaan ini dilakukan di dalam Laboratorium Tugas
Akhir IT.
(a) Latar belakang putih (b) Latar belakang coklat (c) Latar belakang campuran
Gambar 15. Hasil uji coba latar belakang.
Tabel 1. Gerakan karakter dalam game dengan latar belakang yang berbeda
Kondisi Putih Cokelat Campuran
Kepala Terdeteksi V V X
Permainan Dapat Dilakukan V V X
Pada percobaan di atas telah dilakukan 3 macam latar belakang yang berbeda, dan sistem game
labyrinth memberikan hasil dari 2 latar belakang dari 3 latar belakang hasil uji coba yang dapat
mendeteksi kepala.
4. Diskusi
4.1. Pembahasan Segmentasi Warna
Segmentasi warna harus dilakukan terlebih dahulu sebelum proses pencarian posisi kepala player
dilakukan. Hal ini digunakan agar informasi yang ada dalam gambar menjadi lebih sedikit sehingga
waktu komputasinya akan lebih cepat. Tujuannya untuk membandingkan intensitas cahaya pada keadaan
terang, sedang dan gelap. Hasilnya pada intensitas cahaya terang dan gelap terdapat noise, kondisi ini
tidak baik untuk dilakukan pendeteksian kepala dengan SSGA. Pada intensitas cahaya sedang, kepala
terdeteksi tanpa ada noise, kondisi ini sangat bagus untuk dilakukan pendeteksian kepala menggunakan
SSGA.
Dalam proses ini dilakukan pengambilan data dari metode SSGA dengan jumlah individu yang
berbeda-beda yaitu 10,25,50,100. Setiap jumlah individu itu diulang beberapa kali mulai dari 5, 10 dan 15
kali. Dapat dianalisa bahwa terdapat perbedaan saat jumlah individu berbeda-beda. Ketika jumlah
individu sedikit, proses untuk mendeteksi kepala player sangat cepat. Tapi ketika jumlah individu banyak,
proses untuk mendeteksi kepala player semakin lambat.
Dalam menjalankan program ini harus dicari jumlah individu yang sesuai sehingga kecepatan individu
dalam mendeteksi kepala player dapat optimal. Begitu juga dengan iterasi, banyaknya iterasi juga akan
mempengaruhi kecepatan pendeteksian kepala player. Namun dari percobaan yang telah dilakukan
individu sebanyak 10 dan iterasi sebanyak 5, sudah mampu mendeteksi kepala player dan mengikuti
kemana kepala bergerak dengan cepat.
Jurnal Informatika dan Komputer PENS, Teknik Informatika, Vol.1, No.1, 2023
Pembahasan latar belakang yang berbeda sangat diperlukan, karena sangat berpengaruh pada baik atau
tidaknya mendeteksi kepala pemain. Pada pembahasan ini ada beberapa kondisi latar belakang yaitu
putih, coklat, dan campuran. Pada percobaan latar belakang putih dan coklat, sistem game dapat
mendeteksi kepala pemain dan permainan dapat dilakukan, sedangkan pada latar belakang campuran,
sistem game tidak dapat mendeteksi kepala dan permainan tidak dapat dilakukan.
5. Kesimpulan
Pada sistem game labyrinth, pendeteksian kepala sangat dipengaruhi intensitas cahaya. Hasil color
segmentation yang buruk menyebabkan sulitnya individu dalam proses SSGA untuk menemukan posisi
kepala. Individu yang dibangkitkan dan banyaknya iterasi yang dilakukan harus optimal, karena semakin
banyak individu semakin lambat prosesnya, sedangkan semakin sedikit semakin sulit dalam mencari
posisi kepala. Game labyrinth dapat dimainkan oleh 1 orang player, dengan latar belakang berwarna putih
dan coklat. Pada pengembangan selanjutnya diharapkan aplikasi game labyrinth dapat dimainkan oleh 2
player dengan latar belakang berwarna campuran (putih, coklat, hitam).
Referensi
[1] Hakiki, Ferman, “Rancang Bangun Robot Pantilt: Pendeteksian Posisi Kepala Manusia Menggunakan Algoritma Genetika”,
PENS-ITS, Surabaya, 2009.
[2] Kustiawan, Dedi, “Kendali Raket Pada Game Serangga Nakal Menggunakan Kamera”, PENS-ITS, Surabaya, 2009.
[3] Pramitasari, Ayu Dyah, “Rancang Bangun Dan Penerapan Algoritma Backtrack Pada Labirin Matematika Berbasis Android”,
PENS-ITS, Surabaya, 2012.
[4] Columbia Service-Learning Program, “John Jay Green Roof”, <URL:http://community.seas.columbia.edu/cslp/>
[5] High Resolution Textures, “Stone Wall & Brick Wall Free Textures”, <URL: http://www.highresolutiontextures.com/stone-
wall-brick-wall-free-textures>