Anda di halaman 1dari 10

Jurnal www.jurnalpa.eepis-its.

edu

Informatika dan Teknik Informatika


Vol.1, No.1, 2012
Komputer
PENS Politeknik Elektronika Negeri Surabaya

Deteksi Kepala untuk Perpindahan Karakter Menggunakan


Steady-State Genetic Algorithm (SSGA) pada Aplikasi Game
Labyrinth
Wais Al-Qonri Hanif, Nana Ramadijanti, Indra Adji Sulistijono
Program Studi D4 Teknik Informatika
Departemen Teknik Informatika dan Komputer
Politeknik Elektronika Negeri Surabaya
Kampus PENS, Jalan Raya ITS Sukolilo, Surabaya 60111
Tel: (031) 594 7280; Fax: (031) 594 6114
Email:waisalqonri@gmail.com, nana@eepis-its.edu, indra@eepis-its.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.

Kata kunci: game labyrinth, tracking, steady-state genetic algorithm, rgb.

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.

Gambar 2. Kendali raket pada game serangga nakal menggunakan kamera


Sumber: (Kustiawan, Dedi, “Kendali Raket Pada Game Serangga Nakal Menggunakan Kamera”, PENS-ITS,
Surabaya, 2009, halaman 41)
Jurnal Informatika dan Komputer PENS, Teknik Informatika, Vol.1, No.1, 2023

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

Gambar 3. Blok diagram sistem game labyrinth

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.

2.1. Perancangan Deteksi Kepala

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:

Gambar 6. Proses pembangkitan populasi

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

Dimana ƒiHe adalah nilai fitness dari individu ke i, Ckulit


Kp
wajah adalah jumlah piksel dari warna
Kp Kp
kulit wajah, Crambut adalah jumlah piksel warna rambut, Clainya adalah jumlah piksel warna
Kp Kp
lainnya. Sedangkan η1 dan η2 merupakan koefisien warna rambut, kulit, dan warna lain yang
bernilai antara 0 sampai 1. Setelah dicari nilai fitness dari masing-masing individu, maka
selanjutnya dilakukan proses merangking individu mana yang nilai fitness-nya paling baik untuk
dijadikan induk untuk proses selanjutnya.

- 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

Gen-gen individu terbaik dikombinasikan dengan gen-gen individu terburuk.

[xterbaik, yterbaik, lebarterbaik, tinggiterbaik] gen individu terbaik


[xterbaik, yterbaik, lebarterbaik, tinggiterbaik] 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.

Gambar 7. Individu baru

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.

2.2. Head Tracking

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

Gambar 8. Batas-batas nilai pada koordinat xi dan yi

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.

2.3. Perancangan Game Labyritnh

Perancangan game labyrinth dibagi menjadi 2 bagian besar, yaitu:


1. Pembuatan labyrinth
Dalam proses ini, dilakukan penggambaran dari peta labyrinth, tembok, menampilkan
pertanyaan, memberikan batas waktu, dan menentukan collision. Peta digambar sebelum
menyusun tembok-tembok pada labyrinth. Peta juga digunakan sebagai radar yang dapat
membantu jika player tersesat. Pada tembok-tembok diberikan gambar-gambar yang berisi cerita
dengan alur cerita yang benar dan salah. Cerita dengan alur yang benar dapat menuntun player
untuk menyelesaikan labyrinth, sedangkan cerita dengan alur yang salah dapat membuat player
tersesat. Setelah player membaca dan melewati cerita pada tembok, akan diberikan pertanyaan
singkat mengenai apa yang telah dibacanya. Dalam game juga diberikan batas waktu untuk
menyelesaikan labyrinth. Agar karakter dalam game tidak berjalan melewati tembok-tembok atau
menembus tembok, maka diberikan batasan (collision), dengan cara memberikan batas koordinat
pada tembok-tembok labyrinth.

2. Menentukan gerak karakter


Gerak karakter dalam game labyrinth ini adalah maju, kanan, dan kiri. Sebenarnya pada gerak
maju, bukan karakter yang bergerak, melainkan objek dalam game ditranslasi searah sumbu x atau
z berdasarkan dari posisi karakter, kemudian gerak kanan dan kiri sebenarnya objek dalam game
dirotasi terhadap sumbu y.

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

3.2. Pengujian Steady-State Genetic Algorithm (SSGA)

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.

GRAFIK 5 ITERASI TERHADAP NILAI FITNESS


30000
25000
20000
Nilai Fitness

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

Gambar 11. Grafik 5 iterasi terhadap nilai fitness

GRAFIK 10 ITERASI TERHADAP NILAI FITNESS


30000
25000
20000
Nilai Fitness

10 Individu
15000 25 Individu
10000 50 Individu
5000 100 Individu
0
0 2 4 6 8 10 12
Iterasi

Gambar 12. Grafik 10 iterasi terhadap nilai fitness


Jurnal Informatika dan Komputer PENS, Teknik Informatika, Vol.1, No.1, 2023

GRAFIK 15 ITERASI TERHADAP NILAI FITNESS


35000
30000
25000
Nilai Fitness
10 Individu
20000
15000 25 Individu
10000 50 Individu
5000 100 Individu
0
0 2 4 6 8 10 12 14 16
Iterasi

Gambar 13. Grafik 15 iterasi terhadap nilai fitness

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.

GRAFIK INDIVIDU TERHADAP WAKTU


500000
Waktu (mikrodetik)

400000

300000 5 Iterasi
200000 10 Iterasi
15 Iterasi
100000

0
10 25 50 100
Individu

Gambar 14. Grafik individu terhadap waktu

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

3.3. Pengujian Dengan Latar Belakang Yang Berbeda

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.

4.2. Pembahasan Steady-State Genetic Algorithm

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

4.3. Pembahasan Deteksi Dengan Latar Belakang Yang Berbeda

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>

Anda mungkin juga menyukai