Membangun Game ‘From Zero To Hero’ Sebagai Media Simulasi Pembelajaran Machine Learning Menggunakan Algoritma Brute Force Puji Agustian A. Widodo1), Hadiq, ST, M.Kom2) 1) Teknik Informatika, STIKOM PGRI Banyuwangi, email:
[email protected] 2) Teknik Informatika, STIKOM PGRI Banyuwangi, email:
[email protected]
Abstrak - Machine Learning, merupakan salah satu disiplin ilmu yang bersangkutan dengan desain dan pengembanagn algoritma. Tujuan utama dalam machine learning ini adalah mendesain algoritma yang mengenali pola – pola rumit dan mengambil sebuah keputusan cerdas berdasarkan masukan. Dengan kerumitan dalam mendesain sebuah algoritma tersebut membuat sebagian orang lebih tertarik dan mengerti sebuah pembelajaran melalui sebuah permainan dalam hal ini adalah game edukasi. Game edukasi yang merupakan salah satu contoh dari genre game yang memiliki nilai – nilai edukasi yang terkandung di dalamnya sehingga orang yang memainkan game tersebut akan mendapatkan manfaat edukasi atau pembelajaran. Dari permasalahan di atas perlu adanya sebuah penelitian tentang pembelajaran machine learning menggunakan sebuah media game edukasi. Game yang sederhana namun dapat membantu dalam penentuan keputusan dan pendesainan algoritma yang tepat adalah game labirin. Game labirin ini bertujuan untuk menemukan jalur pada labirin menggunakan algoritma Brute Force dan Bayes. Dalam alur game ini ada beberapa langkah, pembangkitan labirin masing – masing level, penghitungan masing – masing jalur, penentuan jalur terpendek dan pembelajaran masing – masing rintangan. Pada pembuatan game edukasi ini menggunakan alur cerita pewayangan gatotkaca, sehingga dihasilkan game yang membantu pemahaman pembelajaran machine learning dalam penentuan jalur terpendek dari game labirin dengan tampilan yang menarik. Katakunci – Game Edukasi, Game gatotkaca, Game Labirin, Machine Learning, Game dengan Brute Force 1. PENDAHULUAN Machine Learning, merupakan salah satu disiplin ilmu yang bersangkutan dengan desain dan pengembangan algoritma dengan mengambil masukan data empiris, seperti data dari sensor atau
database dan pola – pola tertentu atau prediksi mekanis untuk dijadika sebuah data (http://en.wikipedia.org/wiki/Machine_learning). Dalam difinisi singkat merupakan bidang studi yang memberikan komputer kemampuan untuk belajar tampa pemrogramman yang tereksplisit (Arthur Samuel, 1959). Game komputer merupakan salah satu aplikasi software yang saat ini banyak dikembangkan. Dengan jenis yang bermacam – macam dan tampilan yang menarik, game komputer termasuk sofware yang diminati oleh berbagai kalangan. Selain karena tampilan dan aplikasinya relatif menarik, game komputer disinyalir dapat menjadi salah satu sarana refreshing yang cukup menyenangkan terutama bagi orang yang telah terbiasa menggunakan komputer (Teneng, Joko Purwadi, Erick Kurniawan, 2010). Seperti halnya game maze atau yang kita kenal sebagai game labirin, merupakan salah satu contoh game edukasi dengan game play yang sederhana namun memberikan pembelajaran yang bagus, yaitu mencari jalur keluar dari titik start sampai ke titik finish. Untuk sebagian orang memahami pembelajaran Machine Learning merupakan hal yang sulit, dikarenakan memahami logika dan algoritma yang begitu rumit serta pemahaman pengambilan keputusan secara cerdas yang diterapkan pada komputer. Akan tetapi sebagian orang akan lebih mudah untuk memahami sebuah konsep, ilmu yang diajarkan dan lebih tertarik pada sebuah pembelajaran adalah dengan permaianan. Apalagi dengan kemajuan teknologi saat ini, sebuah permaianan bisa dilakukan di mana saja melalui sebuah game, khususnya game edukasi. Oleh karena itu penulis melakukan penelitian yang dapat membantu dalam pembuatan game edukasi sebagai media pembelajaran machine learning yang memiliki fitur yang mudah serta tampilan yang menarik. Untuk memberikan kesan menarik dalam game edukasi tersebut penulis membuat game play dari game sederhana yaitu game labirin, dengan alur cerita tokoh pewayangan Gatotkaca, sehingga untuk judul game edukasi ini “From Zero to Hero”.
2. LANDASAN TEORI 2.1 Pengertian Game Dalam kamus bahasa Indonesia “Game” adalah permainan. Permainan merupakan bagian dari bermain dan bermain juga bagian dari permainan keduanya saling berhubungan. Permainan adalah kegiatan yang kompleks yang didalamnya terdapat peraturan, play dan budaya. Sebuah permainan adalah sebuah sistem dimana pemain terlibat dalam konflik buatan, disini pemain berinteraksi dengan sistem dan konflik dalam permainan merupakan rekayasa atau buatan, dalam permainan terdapat peraturan yang bertujuan untuk membatasi perilaku pemain dan menentukan permainan. Game bertujuan untuk menghibur, biasanya game banyak disukai oleh anak – anak hingga orang dewasa. Game sebenarnya penting untuk perkembangan otak, untuk meningkatkan konsentrasi dan melatih untuk memecahkan masalah dengan tepat dan cepat karena dalam game terdapat berbagai konflik atau masalah yang menuntut kita untuk menyelesaikannya dengan cepat dan tepat. Tetapi game juga bisa merugikan karena apabila kita sudah kecanduan game kita akan lupa waktu dan akan mengganggu kegiatan atau aktifitas yang sedang kita lakukan [6]. 2.2 Game Edukasi Game Edukasi merupakan salah satu contoh genre game yang memiliki nilai – nilai edukasi yang terkandung di dalamnya sehingga orang yang memainkan game tersebut akan mendapatkan manfaat edukasi atau pembelajaran. Biasanya game edukasi ini memakai tampilan Graphic User Interface (GUI) yang tidak terlalu kompleks seperti genre – genre game lain yang lebih menekankan tampilan, action, controller, ataupun yang lainnya. Tampilannya yang menyenangkan (fun), menu – menu yang mudah digunaka, perpaduan warna – warna dipakai serta animasi – animasi lucu yang ada tentunya akan menjadi daya tarik tersendiri bagi genre game ini. Anak muda dan orang dewasa tentunya akan senang apabila mendapatkan suatu pembelajaran melalui sebuah game. Tidak dapat dipungkiri bahwa otak manusia lebih cepat menerima pembelajaran melalui tampilan visual atau gambar – gambar. Setiap orang diharapkan akan lebih semangat belajar melalui game daripada melalui buku – buku pembelajaran yang hanya terdiri dari tulisan – tulisan dan dianggap sangatlah membosankan [3]. 2.3 Pengertian Machine Learning Machine Learning, salah satu cabang kecerdasan buatan, yang merupakan disiplin ilmu yang bersangkutan dengan desain dan pengembangan algoritma yang mengambil input data empiris, seperti input dari sensor atau database, dan hasil
pola atau prediksi merupakan hasil dari mekanisme yang mendasari dihasilkannya sebuah data. seorang pelajar dapat mengambil keuntungan dari contoh data tersebut untuk digunakan kepentingan distribusi probabilitas yang diketahui dasarnya. Data dapat dilihat sebagai contoh dari hubungan yang mungkin antara variabel yang diamati. Fokus utama penelitian machine learning adalah mendesain algoritma yang merupakan algoritma yang mengenali pola – pola rumit dan membuat keputusan cerdas berdasarkan data masukan. Salah satu kesulitan mendasar adalah bahwa himpunan semua perilaku yang mungkin diberikan semua masukan yang mungkin terlalu besar untuk dimasukkan dalam kumpulan yang diamati (data training). Oleh karena itu pelajar harus mengeneralisasi dari contoh – contoh yang diberikan dalam rangka menghasilkan output yang berguna untuk kasus baru [5]. Pada tahun 1959, Arthur Samuel mendefinisikan machine learning sebagai “Bidang studi yang memberikan komputer kemampuan untuk belajar tanpa pemrograman yang tereksplisit”. Adapun algoritma machine learning dapat dibedakan berdasarkan taksonomi sebagai berikut : 1. Supervised Learning : menghasilkan fungsi yang memetakan input ke output yang diinginkan (label). 2. Unsepervised Learning : model satu set input. 3. Semi-Supervised Learning : menggabungkan kedua contoh label dan non-label untuk menghasilkan suatu fungsi yang sesuai dengan klas yang diinginkan. 4. Reinforcment Learning : belajar bagaimana bertindak sebagai pengamat duia. Setiap tindakan akan berpengaruh pada lingkungan, dan lingkungan memberikan feedback untuk dijadikan acuan sebagai algoritma pembelajaran. 5. Transduction : memperediksi keluaran baru dari spesifikasi kasus yang diamati. 6. Learning to Learn : belajar memperediksi berdasarkan pengalaman – pengalamannya sendiri. 2.4 Algoritma Brute Force Brute Force merupakan algoritma yang mudah (straightforward) untuk memecahakn sebuah masalah, biasanya didasarkan pada pernyataan masalah (problem statement) dan definisi konsep yang dilibatkan. Algoritma ini memecahkan masalah dengan sangat sederhana, langsung dan dengan cara yang jelas (obvious way) [5]. Adapun karakteristik algoritma Brute Force sebagai berikut : 1. Algoritma brute force umumnya tidak “cerdas” dan tidak mangkus, karena ia membutuhkan jumlah langkah yang besar dalam penyelesaiannya. Kadang-kadang algoritma
2.
3.
4.
5.
brute force disebut juga algoritma naif (naïve algorithm). Algoritma brute force seringkali merupakan pilihan yang kurang disukai karena ketidakmangkusannya itu, tetapi dengan mencari pola-pola yang mendasar, keteraturan , atau trik-trik khusus, biasanya akan membantu kita menemukan algoritma yang lebih cerdas dan lebih mangkus. Untuk masalah yang ukurannya kecil, kesederhanaan brute force biasanya lebih diperhitungkan daripada ketidakmangkusannya. Algoritma brute force sering digunakan sebagai basis bila membandingkan beberapa alternatif algoritma yang mangkus. Meskipun brute force bukan merupakan teknik pemecahan masalah yang mangkus, namun teknik brute force dapat diterapkan pada sebagian besar masalah. Agak sukar menunjukkan masalah yang tidak dapat dipecahkan dengan teknik brute force. Bahkan ada masalah yang hanya dapat dipecahkan secara brute force. Beberapa pekerjaan mendasar di dalam komputer dilakukan secara brute force, seperti menghitung jumlah dari n buah bilangan, mencari elemen terbesar di dalam tabel, dan sebagainya. Selain itu, algoritma brute force seringkali lebih mudah diimplementasikandaripada algoritma yang lebih canggih, dan karena kesederhanaannya, kadang-kadang algoritma brute force dapat lebih mangkus (ditinjau dari segi implementasi).
2.5 Dot.Net Frame Work Microsoft .NET Framework adalah sebuah komponen yang dapat ditambahkan ke system operasi Microsoft Windows atau telah terintegrasi kedalam Windows (mulai dari Windows Server 2003 danversi-versi Windows terbaru). Kerangka kerja ini menyediakan sejumlah besar solusi-solusi program untuk memenuhi kebutuhan-kebutuhan umum suatu program baru, dan mengatur eksekusi program-program yang ditulis secara khusus untuk framework ini..NET Framework adalah kunci penawaran utama dari Microsoft, dan dimaksudkan untuk digunakan oleh sebagian besar aplikasiaplikasi baru yang dibuat untuk platform Windows. Pada dasarnya, .NET Framework memiliki 2 komponen utama: CLR dan .NET Framework Class Library. Program - program yang ditulisuntuk .NET Framework dijalankan pada suatu lingkungan software yang mengatur persyaratan-persyaratan runtime program. Runtime environment ini, yang juga merupakan suatu bagian dari .NET Framework, dikenal sebagai Common Language Runtime (CLR). CLR menyediakan penampilan dari application virtual machine, sehingga para programmer tidak perlu mengetahui
kemampuan CPU tertentu yang akan menjalankan program [4]. 3. DESAIN SYSTEM 3.1 Desain Game Flow Dalam pendesainan game From Zero to Hero menggunakan desain Game Flow sebagai berikut : Splash Screen Main Menu >> User Account >> New Game >> Continue >> Option >> Credit
Option >> Save >> Back
User Account >> Create >> OK
Save Confirmation >> OK
Reset Game >> OK >> Back
Stage Select >> Start Game >> Upgrade >> Back
Game Play >> Restart >> Stage Select >> Back
Game Result >> OK
Save Confirmation >> OK
Credit >> Back
Gambar 1 : Game Flow
1.
Splash screen : merupakan tampilan utama sebelum memasuki game/ untuk memberikan unformasi tentang nama game. 2. Main Menu : merupakan tampilan utama dalam game yang di dalamnya terditi dari : user account, new game, continue, option dan credit 3. User Account : merupakan menu untuk mengganti user account 4. New Game : memulai permainan dengan mereset data yang sudah ada 5. Continue : melakukan permainan yang telah tersimpan 6. Option : merupakan menu untuk menampilkan pengaturan volume suara 7. Credit : merupakan menu untuk memberikan info tentang pengembangan game tersebut 8. Stage Select : merupakan menu untuk memilih level selanjutnya 9. Game Play : merupakan menu untuk menjalankan game tersebut (In Game) 10. Reset Game : digunakan untuk mereset data yang telah tersimpan 11. Save Confirmation : menu untul melakukan pertanyaan penyimpanan perubahan data 3.2 Feature Game 1.
2.
Petualangan maze : Gatotkaca dapat melakukan perjalanan dalam maze. Untuk gerakan ini player, hanya perlu menekan tombol keyboard atas, bawah, kanan, kiri. Analisa Maze : Gatotkaca dapat menentukan rute terpendek tanpa harus digerakkan oleh player, dengan cara explore seluruh maze dan menemukan rutenya sendiri, hanya poin yang didapat berkurang 50%. Untuk melakukan gerakan ini player hanya menunggu tabung analisa penuh dan menekan tombol analisa.
3.
Upgrade Skill : Gatotkaca dapat melewati rintangan dalam maze dengan cara mengupgrade kekuatannya. Untuk melakukan ini, player hanya perlu mengumpulkan poin – poin dan memilih kekuatan mana yang akan di upgrade.
3.5 Rancangan Gambar Dalam penggambaran karakter yang diperoleh dari referensi diatas diperoleh gambar sprite sheet gatot kaca tanpa skill pada gambar 3 dan gatot kaca dengan full skill pada gambar 4, sebagai berikut :
3.3 Desain Teknis 3.3.1 Target Device 1. 2.
Personal Computer / Laptop (Desktop) Operating System Windows XP, Windows 7 32 bit/64bit
3.3.2 Masalah Teknis 1.
2. 3.
Optimasi pemasangan gambar menggunakan pengolahan citra untuk memperingan kerja komputer Input keyboard Feature Analisa Maze menggunakan algoritma brute force dan bayes
Gambar 3 : Sprite Sheet Gatot Kaca Tanpa Skill
3.4 Class Diagram Adapun desain class diagram dari Flow Game “From Zero to Hero” adalah sebagai berikut : Screen Story
Screen Credit
Screen Game result
Gambar 4 : Sprite Sheet Gatot Kaca Dengan Full Skill Screen
Screen Main menu
Screen Stage Selection
Game Data
Stage Generate
3.6 Algoritma Brute Force
Screen Option
Screen Game Play
Player
Input Manager
Save Load Manager
Gambar 2 : Class Diagram
Terdapat 1 screen utama sebagai penampung dari screen yang lain. Screen pendukung diantaranya screen story, credit, game result, main menu, stage selection, option dan game play. Adapun class yang lain sebagai berikut : 1. Game Data : merupakan tempat penyimpanan data keseluruhan game. 2. Input Manager : sebagai pengatur control pada keseluruhan game. 3. Save Load Manager : sebagai penyimpanan dan pemuat data dari data yang tersimpan. 4. Stage Generate : sebagai pemuat level yang telah tersimpan. 5. Player : sebagai penyimpan user account.
Dalam feature analisa maze menggunakan algoritma brute force atau yang disebut explorasi, adapun rule – rulenya sebagai berikut : 1. Arah ke kanan (langkahKanan) IF tembokKanan = True THEN langkahBawah IF tembokKanan = True AND tembokBawah = True THEN langkahAtas IF tembokKanan = True AND tembokBawah = True THEN AND tembokAtas = True THEN langkahKiri 2.
Arah ke bawah (langkahBawah) IF tembokBawah = True THEN langkahKiri IF tembokBawah = True AND tembokKiri = True THEN langkahKanan IF tembokBawah = True AND tembokKiri = True THEN AND tembokKanan = True THEN langkahAtas
3.
Arah ke kiri (langkahKiri) IF tembokKiri = True THEN langkahAtas IF tembokKiri = True AND tembokAtas = True THEN langkahBawah IF tembokKiri = True AND tembokAtas = True THEN AND tembokBawah = True THEN langkahKanan
4.
Arah ke atas (langkahAtas) IF tembokAtas = True THEN langkahKanan IF tembokAtas = True AND tembokKanan = True THEN langkahKiri IF tembokAtas = True AND tembokKanan = True THEN AND tembokKiri = True THEN langkahBawah
4. HASIL UJI COBA 4.1 Skenario Uji Coba Dalam melakukan uji coba pada penelitian ini dilakukan skenario sebagai berikut : 1. Memainkan game pada level 5 dengan menggunakan karakter tanpa skill 2. Memainkan game pada level 5 dengan menggunakan karakter full skill 3. Memainkan game pada level 4 tanpa feature bantuan 4. Memainkan game pada level 4 dengan menggunakan feature bantuan
Gambar 6 : Karakter Dengan Full Skill
4.4 Kesimpulan Hasil Uji Game Pada hasil uji coba diatas dapat diambil kesimpulan, untuk yang gambar 5 karakter tanpa skill tidak bisa melewati rintangan api sedangkan pada gambar 6 karakter dengan full skill dapat melewati rintangan api sehingga untuk waktu yang diperlukan lebih cepat dan skore yang diperoleh lebih banyak.
4.2 Hasil Uji Game Tanpa Skill 4.5 Hasil Uji Game Tanpa Feature Bantuan Gambar 5 dibawah ini menunjukkan jalannya game dengan menggunakan karakter tanpa skill.
Gambar 7 dibawah ini menunjukkan jalannya game tanpa menggunakan feature bantuan.
Gambar 5 : Karakter Tanpa Skill Gambar 7 : Tanpa Feature Bantuan
4.3 Hasil Uji Game Dengan Full Skill Gambar 6 dibawah ini menunjukkan jalannya game dengan menggunakan karakter dengan full skill.
4.8 Hasil Uji Game Dengan Mengunakan Feature Bantuan Gambar 8 dibawah ini menunjukkan jalannya game dengan menggunakan feature bantuan.
DAFTAR REFERENSI [1]. (2012). Computer Festival-Mobile Game Developer War IV. Jakarta : Universitas Indonesia. [2]. http://en.wikipedia.org/wiki/Machine_learnin g. Diakses tanggal 14 September 2012 [3]. http://www.ummi.ac.id/ti/detail_jurnal.php?pa ge=ZGV0YWlsX2p1cm5hbHBocA==&no=V GxFOVBRPT0. Diakses tanggal 13 september 2012 Gambar 8 : Menggunakan Feature Bantuan
4.9 Kesimpulan Hasil Uji Coba Game Dengan Feature Gambar 7 diatas permaianan game tanpa menggunakan feature lebih cepat dikarenakan kita bisa tahu jalan mana yang akan diambil sedangkan pada gambar 8 yang menggunakan feature pada game terkadfang bisa sangat lama dikarenakan algoritma brute force yang digunakan selalu mengecek langkah kanan sehingga terlihat pada gambar yang dicek bukan yang kearah finish melaninkan arah kanana pada karakter sehingga mengurangi waktu lebih lama dan skore menurun.
[4]. Nugroho, Adi. (2009). Algoritma Struktur Data Dengan C#. Yogyakarta : C.V. Andi Offset [5]. Mitchell, Tom M. (1997). Machine Learning. Singapura. ISBN 0-07-115467-1 [6]. Muqtadiroh, Feby Artwodini, Imam Kuswardayana. (2011). Pembelajaran Sejarah Palagan Ambarawa Melalui Game Edukasi Berbasis FPS. Surabaya : SESINDO. ISBN 978-979-18985-4-6. 208-213. [7]. Salen, Katie, Eric Zimmerman. Rules of Play: Game Design Fundamentals.
5. PENUTUP 5.1 Kesimpulan Kesimpulan yang dapat ditarik dalam penelitian ini adalah : 1. Sebuah aplikasi game “From Zero To Hero” berbasis Desktop. 2. Penggunaan desain sistem yang berbasis UML sangat membantu dalama proses pembuatan game. 3. Algoritma Brute Force dapat membantu dalam pencarian jalan dengan cara menjelajahi seluruh rute. 5.2 Saran Dalam laporan ini tentunya masih terdapat beberapa kekurangan yang masih bisa diperbaiki untuk membangun game yang lebih baik dan lebih efisien lagi, diantaranya : 1. Penggunaan karakter dalam game yang kurang halus, sehingga membutuhkan penekanan pada gambar yang mampu untuk memberikan kesan hidup pada game tersebut. 2. Penggunaan Algoritma Brute Force dalam pencarian jalan dan nilai dirasa kurang begitu optimal dikarenakan memerlukan waktu yang cukup lama untuk mencari semua jalan jika labirin tersebut sudah mulai kompleks.
[8]. Teneng, Joko Purwadi, Erick Kurniawan. (2010). Penerapan Algoritma Backtracking Pada Permainan Math Maze. Jurnal Informatika. Vol. 6 No. 1. 56-67. [9]. Wells, Martin J. (2004). J2ME Game Programming.Boston : Course Technology.