Implementasi Ruby Game Scripting System Pada Game Ludo
5
BAB 2
TINJAUAN PUSTAKA
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.
Universitas Sumatera Utara
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).
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
BAB 2
TINJAUAN PUSTAKA
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.
Universitas Sumatera Utara
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).
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
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.
Universitas Sumatera Utara