2.1. Permainan Ludo
Permainan Ludo merupakan permainan tradisional yang dimainkan oleh dua sampai empat orang pemain. Dalam permainan Ludo para pemain harus mengatur strategi untuk berlomba menjalankan empat bidak pion dengan menggunakan nilai dadu untuk mencapai tujuan agar memenangkan permainan (Alvi & Ahmed, 2011).
Menurut Alvi & Ahmed (2011), Ludo merupakan permainan yang kompleks dan memiliki berbagai aspek strategi untuk dimainkan sehingga Ludo tidak bisa dianggap hanya sebagai permainan sepele. Dalam penelitiannya, Alvi & Ahmed melakukan uji coba perbandingan empat strategi Ludo seperti aggressive, defensive, fast and random dengan menggunakan metode Temporal Difference Learning. Berdasarkan teori dan eksperimen yang dilakukan, Alvi & ahmed menyimpulkan strategi defensive merupakan strategi terbaik dengan tingkat kemenangan yang paling tinggi.
Pada tahun 2012 Alvi & Ahmed melakukan penelitian lanjutan terhadap permainan Ludo dengan menggunakan metode TD-Learning dan Q-Learning. Dalam penelitiannya Alvi & Ahmed menyimpulkan metode TD-Learning yang diberikan kepada pemain lebih baik dari metode Q-Learning (Alvi & Ahmed, 2012).
2.1.1. Aturan permaian Ludo
Setiap kubu pemain didalam permainan Ludo umumnya diwakili dengan warna merah, kuning, hijau, biru dan di berikan 4 bidak yang akan dimainkan. Pada awal permainan, pemain melemparkan dadu sesuai gilirannya. Pemain harus mendapatkan nilai dadu enam agar bidak bisa keluar dari rumah. Untuk menjalankan bidak, pemain harus mengikuti nilai dadu yang didapatkan.
6
Pada penelitian ini, peneliti akan menggunakan tiga aturan yang di gunakan pada permainan Ludo sebagai variabel penentu strategi, yaitu :
1. Go Out First
Jika nilai dadu bernilai enam, maka pemain dapat memilih untuk mengeluarkan bidak dari rumah. Keputuan untuk mengeluarkan bidak dari rumah umumnya didasarkan kepada faktor posisi nilai dadu musuh atau jumlah bidak yang telah keluar dari rumah.
2. Hit First
Jika posisi sebuah bidak pemain yang sedang bermain ditambah dengan nilai dadu sama dengan posisi bidak lawan yang berada diluar rumah, maka pemain dapat menjalankan bidak tersebut untuk memakan bidak lawan dan mengirim bidak tersebut kembali ke rumahnya. Strategi ini dapat digunakan untuk menghalangi bidak kubu lawan mencapai garis finish.
3. Quick Finish
Strategi ini umumnya digunakan jika pemain tidak memiliki banyak pilihan yang dapat dilakukan lagi. Bidak yang posisinya berada paling jauh akan menjadi prioritas utama untuk dijalankan. Pemain melakukan strategi ini dengan harapan bidak dapat berada di jalur aman secepatnya sebelum dimakan oleh bidak lawan. Namun strategi ini juga memiliki kelemahan dimana jika bidak lawan sudah banyak berada diluar rumah, maka kemungkinan bidak pemain untuk mencapai jalur aman semakin kecil.
2.2. Bahasa Pemrograman Ruby
Ruby adalah bahasa pemrograman dinamis dengan tata bahasa yang kompleks, ekspresif dan memiliki library dengan antarmuka pemrograman aplikasi yang kaya. Ruby menarik inspirasi dari Lisp, Smalltalk dan Perl, tetapi menggunakan tata bahasa yang mudah untuk C dan Java ™ programmer untuk belajar. Ruby adalah bahasa pemrograman berorientasi objek, tetapi juga cocok untuk prosedural dan gaya pemrograman fungsional (Flanagan & Matsumoto, 2008).
7
2.2.1. Sejarah perkembangan Ruby
Sejak Ruby pertama kali dirilis ke publik pada tahun 1995, banyak programmer profesional di seluruh dunia ikut dalam proses pengembangan Ruby. Pada tahun 2006, Ruby mulai diterima dikalangan non-programmer dengan komunitas yang aktif dan konferensi-konferensi terkait di seluruh kota di dunia (Matsumoto, 2012).
TIOBE Index, yang menghitung perkembangan bahasa-bahasa pemrograman menempatkan Ruby pada peringkat ke-10 diantara bahasa-bahasa pemrograman dunia lainnya. Melihat pada perkembembangan ini, Ruby memasuki peringkat 10 besar dunia hanya dalam waktu setengah tahun setelah terbitkan ke publik.
2.2.2. Kelebihan bahasa pemrograman Ruby
Bahasa pemrograman Ruby memiliki beberapa kelebihan yang membuatnya menjadi bahasa pemrograman yang di sukai oleh banyak programmer di dunia. Menurut Matsumoto (2001) beberapa kelebihan bahasa pemrograman Ruby adalah :
1. Melihat semua sebagai obyek
Di Ruby, semua adalah obyek. Setiap informasi dan kode bisa diberi property dan action. Pemrograman berorientasi obyek memanggil property dengan nama variabel instan dan action, yang disebut sebagai metode.
2. Ruby fleksibel
Bagian–bagian dari Ruby dapat diubah dengan bebas. Bagian-bagian yang esensi di Ruby dapat dihapus maupun didefinisikan ulang. Bagain-bagian yang sudah ada bisa ditambahkan. Misalnya, penjumlahan dilakukan dengan operator ( + ). Tetapi, penjumlahan juga dapat dilakukan dengan menggunakan kata “plus” yang lebih mudah dibaca. Operator-operator didalam Ruby adalah metode yang dapat didefinisikan ulang.
3. Memiliki fitur blok
Blok merupakan fitur yang dianggap sebagai kekuatan Ruby. Programmer dapat menyertakan closure pada setiap metode, menjelaskan bagaimana metode yang bersangkuatan seharusnya berperilaku.
8
4. Ruby dan penggabungan
Tidak sperti bahasa pemrograman lainnya, Ruby dengan sengaja hanya menyediakan single inheritance. Namun Ruby memiliki konsep module. Module merupakan kumpulan dari metode-metode yang dapat digabungkan dan di panggil di dalam class dengan bebas. Secara umum programmer lebih menyukai metode ini dibandingkan dengan multiple inheritance yang rumit dan bahkan terlalu membatasi.
5. Ruby secara visual
Ruby jarang menggunakan tanda baca dan biasanya sering menggunakan keyword dalam bahasa Inggris. Ruby tidak perlu mendeklarasikan variabel. Ruby memiliki aturan penamaan yang mudah untuk menyatakan cangkupan suatu variabel. Misal, “var” adalah variabel lokal, “@var” adalah variabel instan dan “$var” adalah variabel global.
2.3 RPG Maker VX ace
RPG maker VX ace adalah sebuah software yang dikembangkan untuk membuat sebuah game bertema RPG. RPG maker VX ace merupakan salah satu seri dari beberapa RPG maker lainnya. RPG maker dikembangkan oleh perusahaan Jepang bernama Enterbrain yang memiliki nama asli RPG Tsukuru. RPG maker dibuat dengan menggunakan bahasa pemrograman Ruby dan memiliki fitur-fitur yang memudahkan para penggunanya untuk menbuat suatu game (Perez, 2014).
2.3.1 Ruby game scripting system (RGSS)
RPG Maker VX Ace memiliki fitur yang memudahkan para penggunanya untuk membuat suatu game. Salah satu fitur yang diberikan adalah Ruby Game Scripting System. RGSS adalah sebuah script turunan dari bahasa Ruby yang dibuat khusus untuk RPGMaker series. Dalam library RGSS mengandung objek dan method yang berfungsi untuk mengolah grafis,audio dan data, termasuk data dasar dari struktur database (Perez, 2014). RGSS3 adalah versi terbaru dari pengembangan seri RPGMaker sebelumnya yang di tujukan untuk seri RPGMaker VX Ace.
1
BAB 1
PENDAHULUAN
1.1. Latar Belakang
Game komputer adalah suatu sistem atau program dimana satu atau lebih pemain mengambil keputusan melalui kendali terhadap objek untuk memenuhi satu tujuan tertentu (Jasson ,2009).
Ludo merupakan salah satu jenis permainan yang dimainkan oleh dua sampai empat orang pemain. Setiap pemain diwakili oleh warna merah, kuning, hijau, biru dan masing-masing memiliki empat buah bidak. Pemain yang berhasil membuat ke empat bidaknya mencapai garis finish tercepat adalah pemenang. Hambatan di dalam permainan ini adalah jalur yang digunakan bersama dengan pemain lain sehingga memungkinkan adanya bidak yang dimakan (Alvi & Ahmed, 2011). Permainan Ludo memiliki aturan-aturan dan strategi pengambilan keputusan yang dilakukan oleh para pemain. Setiap strategi dan aturan-aturan tersebut memiliki keunggulan tersendiri.
Masalah dalam pengambilan keputusan biasanya memiliki tujuan-tujuan dan alternatif pilihan yang dapat digunakan untuk mencapainya. Masalah pengambilan keputusan atau masalah optimasi memiliki fungsi tujuan yang harus dicapai secara terbaik berdasarkan alternatif yang diberikan (Aliprantis & Chakrabarti, 2010).
Dalam penelitian ini, penulis membuat dan melakukan beberapa uji coba terhadap aturan-aturan dan strategi yang dapat diterapkan dalam permainan Ludo. Uji coba tersebut dilakukan pada sebuah aplikasi permainan Ludo berbasis Windows. Untuk pembuatan aplikasi permainan Ludo, penulis menggunakan sebuah aplikasi pembantu yang bernama RPGmakerVXace. Aplikasi ini memudahkan pengguna untuk membuat sebuah game karena aplikasi ini memiliki sebuah fitur yang bernama Ruby Game Scripting System. Aplikasi ini dibuat dengan menggunakan bahasa pemrograman Ruby (Jasson ,2009).
Berdasarkan latar belakang tersebut, penulis bermaksud membuat sebuah aplikasi game Ludo dengan Ruby Game Scripting System dan membuat beberapa
2
strategi yang dapat diimplementasikan kepada masing-masing kubu. Strategi-strategi tersebut kemudian di uji untuk mendapatkan strategi terbaik.
1.2. Rumusan Masalah
Masalah yang akan dibahas pada penelitian ini adalah bagaimana merancang strategi yang berbeda berdasarkan aturan-aturan yang ditetapkan pada setiap kubu pemain Ludo lalu mengimplementasikannya menggunakan Ruby Game Scripting System dan menemukan strategi yang terbaik setelah melakukan beberapa uji coba.
1.3. Batasan Masalah
Sebagai batasan masalah dalam penelitian ini adalah:
1. Pembuatan game ini menggunakan Ruby game scripting system. 2. Kecerdasan yang di program akan memiliki 3 aturan yaitu :
Quick Finish : Pemain memprioritaskan bidak terepan untuk dimainkan agar secepatnya sampai ke tujuan.
Go Out First : Pemain memprioritaskan untuk secepatnya mengeluarkan bidaknya dari rumah terlebih dahulu.
Hit First : Pemain memprioritaskan untuk menyerang bidak musuh terlebih dahulu.
3. Strategi yang diterapkan berdasarkan prioritas dari aturan-aturan yang ada : 1) Go Out First > Hit First > Quick Finish.
2) Go Out First > Quick Finish > Hit First. 3) Hit First > Go Out First > Quick Finish. 4) Hit First > Quick Finish > Go Out First. 5) Quick Finish > Go Out First > Hit First. 6) Quick Finish > Hit First > Go Out First.
4. Strategi yang di terapkan dimainkan secara otomatis oleh komputer (Self-play). 5. Uji coba menentukan strategi terbaik dilakukan sebanyak 20 kali.
3
1.4.Tujuan Penelitian
Tujuan dari penelitian ini adalah untuk merancang dan menguji sebuah sistem strategi menggunakan Ruby Game Scripting System untuk mengetahui dan mendapatkan sebuah hasil yang terbaik di dalam pengambilan keputusan dalam permainan Ludo. 1.5. Manfaat Penelitian
Manfaat yang diharapkan dari penulisan ini adalah agar dapat terciptanya sebuah aplikasi permainan Ludo dengan menggunakan Ruby Game Scripting System dan dari penerapan strategi yang dilakukan maka dapat diketahui strategi permainan Ludo mana yang paling optimal setelah melakukan pengujian dari beberapa strategi yang ada.
1.6. Metodologi Penelitian
Beberapa tahapan yang akan dilalui adalah sebagai berikut: 1. Studi Literatur
Dimulai dengan pengumpulan bahan-bahan rujukan untuk studi kepustakaan berupa buku, jurnal, paper ataupun bahan-bahan terbitan elektronik untuk menunjang tujuan yang akan dicapai dari penelitian ini.
2. Analisis dan Perancangan
Pada tahap ini, penulis menganalisis permasalahan yang diangkat, bagaimana kebutuhan sistem dan batasan-batasan sistem dengan UML (Unified Modelling Language) serta penjelasan rancangan dari masing-masing strategi.
3. Implementasi Sistem
Pada tahap ini, sistem diimplementasikan menjadi sebuah aplikasi dengan menggunakan Ruby Game Scripting System.
4. Pengujian Sistem
Pada tahap ini dalakukan pengujian terhadap beberapa strategi yang di program untuk mengetahui apakah strategi tersebut telah berjalan sesuai dengan apa yang telah diprogramkan dan melakukan perbandingan terhadap beberapa strategi yang akan di adu untuk menentukan strategi terbaik.
4
5. Dokumentasi
Pada tahapan ini, hasil dari penelitian dilaporkan secara tertulis dalam bentuk skripsi.
1.7. Sistematika Penulisan
Sistematika dalam penulisan skripsi ini adalah sebagai berikut:
BAB 1 PENDAHULUAN
Pada bab ini menjelaskan latar belakang masalah dari penelitian yang dilakukan beserta batasannya, tujuan dan manfaat penelitian, metodologi penelitian dan sistematika penulisan skripsi ini.
BAB 2 TINJAUAN PUSTAKA
Bab ini menjelaskan tentang beberapa teori-teori dasar yang mendukung penelitian seperti permainan ludo, RPGmakerVXace dan bahasa pemrograman Ruby.
BAB 3 ANALISIS DAN PERANCANGAN
Bab ini menjelaskan mengenai analisis dan perancangan strategi pada permainan ludo. Unified Modelling Language (UML) yang digunakan antara lain Use Case diagram, Activity diagram, Sequence diagram, Flowchart, strategi Ludo dan perancangan tampilan antarmuka sistem.
BAB 4 IMPLEMENTASI DAN PENGUJIAN
Bab ini membahas mengenai hasil pengujian dan perbandingan antara masing-masing strategi yang diterapkan pada aplikasi permainan ludo yang di buat dengan menggunakan Ruby Game Scripting System.
BAB 5 KESIMPULAN DAN SARAN
Pada bab ini menjelaskan mengenai hasil penelitian yang berisi kesimpulan dan saran yang nantinya dapat dikembangkan atau melanjutkan penelitian yang berkaitan dengan masalah dalam penelitian ini.
vi
ABSTRAK
Ludo merupakan permainan tradisional yang dimainkan oleh empat orang pemain dimana setiap pemain memiliki satu tujuan untuk memenangkan permainan tersebut. Walaupun para pemain Ludo memiliki satu tujuan, namun ada beberapa strategi yang bisa dilakukan untuk mencapai kemenangan tersebut. Dengan melakukan beberapa uji coba terhadap beberapa strategi yang akan diterapkan pada masing-masing tim di game Ludo, kita dapat mengetahui strategi dan aturan mana yang akan mencapai tujuan tercepat dan paling efisien. Untuk menerapkan strategi dan membuat aplikasi permainan Ludo ini, penulis menggunakan Ruby Game Scripting System dalam aplikasi yang bernama RPGmakerVXace.
Kata kunci: Permainan Ludo, Ruby Game Scripting System.
vii
AN IMPLEMENTATION OF RUBY GAME SCRIPTING SYSTEM