• Tidak ada hasil yang ditemukan

Implementasi Ruby Game Scripting System Pada Game Ludo

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Ruby Game Scripting System Pada Game Ludo"

Copied!
68
0
0

Teks penuh

(1)

xxxiv

Option Scene

SceneManager.call(MyOpt)

class MyOpt < Scene_MenuBase def start

super

create_kubu_window create_opt_window create_deskripsi_window end

def create_kubu_window

@KubuWindow = MyKubuWindow.new end

def create_deskripsi_window

@desk_window = DeskripsiWindow.new end

def create_opt_window

@opt_window = MyOptWindow.new

@opt_window.set_handler(:merah, method(:pilih1)) @opt_window.set_handler(:kuning, method(:pilih2)) @opt_window.set_handler(:hijau, method(:pilih3)) @opt_window.set_handler(:biru, method(:pilih4)) @opt_window.set_handler(:cancel, method(:pilih5)) end

(2)

xxxv

(3)

xxxvi

@strag_window.set_handler(:cancel, method(:balik)) end

def bermain return_scene

$game_temp.fade_type = 0

$game_player.reserve_transfer(1, 8, 8, 0) end

if $game_switches[81] == true $line1 = "Komp 1"

$desk1 = "Go Out > Hit > Finish" $game_variables[81] = 0

end

if $game_switches[82] == true $line2 = "Komp 1"

$desk2 = "Go Out > Hit > Finish" $game_variables[82] = 0

(4)

xxxvii

end

if $game_switches[83] == true $line3 = "Komp 1"

$desk3 = "Go Out > Hit > Finish" $game_variables[83] = 0

end

if $game_switches[84] == true $line4 = "Komp 1"

$desk4 = "Go Out > Hit > Finish" $game_variables[84] = 0

if $game_switches[81] == true $line1 = "Komp 2"

$desk1 = "Go Out > Finish > Hit" $game_variables[81] = 1

end

if $game_switches[82] == true $line2 = "Komp 2"

$desk2 = "Go Out > Finish > Hit" $game_variables[82] = 1

end

(5)

xxxviii

if $game_switches[83] == true $line3 = "Komp 2"

$desk3 = "Go Out > Finish > Hit" $game_variables[83] = 1

end

if $game_switches[84] == true $line4 = "Komp 2"

$desk4 = "Go Out > Finish > Hit" $game_variables[84] = 1

if $game_switches[81] == true $line1 = "Komp 3"

$desk1 = "Hit > Go Out > Finish" $game_variables[81] = 2

end

if $game_switches[82] == true $line2 = "Komp 3"

$desk2 = "Hit > Go Out > Finish" $game_variables[82] = 2

end

if $game_switches[83] == true $line3 = "Komp 3"

$desk3 = "Hit > Go Out > Finish"

(6)

xxxix

$game_variables[83] = 2 end

if $game_switches[84] == true $line4 = "Komp 3"

$desk4 = "Hit > Go Out > Finish" $game_variables[84] = 2

if $game_switches[81] == true $line1 = "Komp 4"

$desk1 = "Hit > Finish > Go Out" $game_variables[81] = 3

end

if $game_switches[82] == true $line2 = "Komp 4"

$desk2 = "Hit > Finish > Go Out" $game_variables[82] = 3

end

if $game_switches[83] == true $line3 = "Komp 4"

$desk3 = "Hit > Finish > Go Out" $game_variables[83] = 3

end

if $game_switches[84] == true

(7)

xl

$line4 = "Komp 4"

$desk4 = "Hit > Finish > Go Out" $game_variables[84] = 3

if $game_switches[81] == true $line1 = "Komp 5"

$desk1 = "Finish > Go Out > Hit" $game_variables[81] = 4

end

if $game_switches[82] == true $line2 = "Komp 5"

$desk2 = "Finish > Go Out > Hit" $game_variables[82] = 4

end

if $game_switches[83] == true $line3 = "Komp 5"

$desk3 = "Finish > Go Out > Hit" $game_variables[83] = 4

end

if $game_switches[84] == true $line4 = "Komp 5"

$desk4 = "Finish > Go Out > Hit" $game_variables[84] = 4

(8)

xli

if $game_switches[81] == true $line1 = "Komp 6"

$desk1 = "Finish > Hit > Go Out" $game_variables[81] = 5

end

if $game_switches[82] == true $line2 = "Komp 6"

$desk2 = "Finish > Hit > Go Out" $game_variables[82] = 5

end

if $game_switches[83] == true $line3 = "Komp 6"

$desk3 = "Finish > Hit > Go Out" $game_variables[83] = 5

end

if $game_switches[84] == true $line4 = "Komp 6"

$desk4 = "Finish > Hit > Go Out" $game_variables[84] = 5

end

$game_switches[81] = false $game_switches[82] = false

(9)

xlii

class MyKubuWindow < Window_Base def initialize

super(Graphics.width/2 - 230, Graphics.height/2 - 64, 100, 128) refresh

class DeskripsiWindow < Window_Base def initialize

$desk1 $desk2 $desk3

(10)

xliii

$desk4

super(Graphics.width/2 - 30, Graphics.height/2 - 64, 260, 128) refresh

end

def refresh contents.clear

draw_text_ex(0,0,$desk1 || "Go Out > Hit > Finish") draw_text_ex(0,24,$desk2 || "Go Out > Hit > Finish") draw_text_ex(0,48,$desk3 || "Go Out > Hit > Finish") draw_text_ex(0,72,$desk4 || "Go Out > Hit > Finish") end

end

class MulaiWindow < Window_Command def initialize

(11)

xliv

class MyOptWindow < Window_Command def initialize

$line1 $line2 $line3 $line4

(12)

xlv

add_command($line1 || "Komp 1", :merah) add_command($line2 || "Komp 1", :kuning) add_command($line3 || "Komp 1", :hijau) add_command($line4 || "Komp 1", :biru) end

end

class StragWindow < Window_Command def initialize

(13)

xlvi @text = "\\c[10]Merah Main"

@win.draw_text_ex(0,0,@text) wait(100)

@win.dispose

$game_switches[1] = true

$game_self_switches[[1, @event_id, 'A']] = true wait(5)

Roll dadu

$game_variables[18] = rand(6)+1

$game_variables[1] = $game_variables [18] $game_temp.reserve_common_event(1)

screen.pictures[1].show("1", 0, -100, 190, 100, 100, 255, 0)

(14)

xlvii

screen.pictures[1].move(0, 220, 190, 100, 100, 255, 0, 30) wait(60)

RPG::SE.new("KocokDadu", 100, 120).play wait(20)

while $game_variables[19] != 200 $game_variables[20]= rand(6)+1 if $game_variables[20] == 1

screen.pictures[1].show("1", 0, 220, 190, 100, 100, 255, 0) end

if $game_variables[20] == 2

screen.pictures[1].show("2", 0, 220, 190, 100, 100, 255, 0) end

if $game_variables[20] == 3

screen.pictures[1].show("3", 0, 220, 190, 100, 100, 255, 0) end

if $game_variables[20] == 4

screen.pictures[1].show("4", 0, 220, 190, 100, 100, 255, 0) end

if $game_variables[20] == 5

screen.pictures[1].show("5", 0, 220, 190, 100, 100, 255, 0) end

if $game_variables[20] == 6

screen.pictures[1].show("6", 0, 220, 190, 100, 100, 255, 0) end

wait(2)

$game_variables[19] += 2 end

if $game_variables[18] == 1

screen.pictures[1].show("1", 0, 220, 190, 100, 100, 255, 0) end

if $game_variables[18] == 2

(15)

xlviii

screen.pictures[1].show("2", 0, 220, 190, 100, 100, 255, 0) end

if $game_variables[18] == 3

screen.pictures[1].show("3", 0, 220, 190, 100, 100, 255, 0) end

if $game_variables[18] == 4

screen.pictures[1].show("4", 0, 220, 190, 100, 100, 255, 0) end

if $game_variables[18] == 5

screen.pictures[1].show("5", 0, 220, 190, 100, 100, 255, 0) end

if $game_variables[18] == 6

screen.pictures[1].show("6", 0, 220, 190, 100, 100, 255, 0) end

RPG::SE.new("Decision1", 100, 120).play $game_variables[19] = 0

cerah = Tone.new(0, 0, 0, 0)

$game_map.screen.start_tone_change(cerah, 60) wait(60)

screen.pictures[1].move(0, 550, 190, 100, 100, 255, 0, 30)

(16)

xlix

Quick Finish

(17)

l

(18)

li

Hit First

(19)

lii

(20)

liii

Go Out First

(21)

liv

(22)

xxxiii

Daftar Pustaka

Aliprantis, C.D. & Chakrabarti, S.K. 2010. Games and Decision Making. 2nd Edition. Oxford University Press : England.

Alvi, F. & Ahmed, M. 2011. Complexity analysis and playing strategies for ludo and its variant race game. IEEE Conference on Computational Intelligence and Games, pp. 141-148.

Alvi, F. & Ahmed, M. 2012. TD(λ) and Q-Learning based ludo players. IEEE Conference on Computational Intelligence and Games, pp. 83-90.

Flanagan, D. & Matsumoto, Y. 2008. The Ruby Programming Language. O'Reilly Media : United States of America.

Jasson. 2009. Role Playing Game (RPG) Maker. Andi Offset : Yogyakarta.

Jogiyanto, H.M. 2005. Analisis dan Desain Sistem Informasi. Andi Offset : Yogyakarta.

Matsumoto, Y. 2001. Ruby in a Nutshell : A Desktop Quick Reference.O'Reilly Media : United States of America.

Matsumoto, Y. About Ruby. 2012. www.ruby-lang.org/en/about/

(diakses 25 Agustus 20016).

Perez, D. 2014. Beginning RPG Maker VX Ace. Apress : New York.

Satzinger, W.J., Jackson, B.R. & Burd, D.S. 2009. Systems Analysis and Design In A Changing World. Cengage Learning : Boston.

Shelly., Gary, B. & Rosenblatt, H.J. (2012). Systems Analysis and Design Nineth Edition. Course Technology : United States of America.

Whitten, J. L., Bentley, L. D. & Dittman, K. C. 2004. Metode Desain dan Analisis Sistem. Penerbit Andi dan McGraw-Hill Education : Yogyakarta.

(23)

9

BAB 3

ANALISIS DAN PERANCANGAN

3.1. Analisis Sistem

Analisis sistem adalah sebuah teknik pemecahan masalah yang menguraikan sebuah sistem menjadi bagian-bagian komponen dengan tujuan mempelajari seberapa bagus bagian-bagian komponen tersebut bekerja dan berinteraksi untuk meraih tujuan mereka (Whitten et al., 2004)

Menurut Jogiyanto (2005), analisis sistem dapat didefinisikan sebagai penguraian dari suatu sistem informasi yang utuh kedalam bagian-bagian komponennya dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan, kesempatan dan hambatan yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikannya.

Pada bab ini diterangkan mengenai analisis masalah dengan bentuk diagram Ishikawa, Kemudian Analisis Persyaratan dengan Fungsional dan Non Fungsional sistem, Setelah itu pemodelan sistem menggunakan Use Case, Activity Diagram, Sequence Diagram, Pseudocode, Flowchart, dan Perancangan sistem.

3.1.1. Analisis masalah

Masalah yang akan dibahas pada penelitian ini adalah bagaimana membuat beberapa strategi berdasarkan aturan-aturan yag diberikan dan menerapkan strategi tersebut di dalam aplikasi permainan Ludo. Salah satu cara yang dapat digunakan untuk menganalisis masalah tersebut adalah dengan menggunakan Diagram Ishikawa.

(24)

10

Diagram Ishikawa adalah sebuah alat grafis yang digunakan untuk mengidentifikasi, mengeksplorasi, dan menggambarkan suatu masalah, sebab dan akibat dari masalah itu (Whitten et al., 2004). Gambar 3.1 menjelaskan hubungan sebab akibat dari masalah yang diangkat dalam penelitian ini.

Gambar 3.1. Diagram Ishikawa

Dari Gambar 3.1 dapat dilihat permainan Ludo adalah permainan yang dimainkan lebih dari satu orang pemain. Oleh sebab itu jika jumlah pemain tidak cukup, maka permainan Ludo tidak dapat dimainkan. Alat yang duganakan untuk bermain Ludo juga dalam bentuk fisik yaitu sebuah papan Ludo,bidak dan dadu. Permainan Ludo sekarang dapat dimainkan dalam bentuk aplikasi. Komputer juga dapat menggantikan peran manusia sebagai pemain. Komputer dapat dirancang untuk mengambil keputusan optimal. Untuk mengetahui strategi yang paling optimal, diperlukan uji coba dan perbandingan dari beberapa aturan yang akan diterapkan.

3.1.2. Analisis persyaratan

Persyaratan sistem menentukan apa yang seharusnya dikerjakan oleh sistem atau apa saja properti dan kualitas yang harus dimiliki oleh sistem (Whitten et al., 2004) Persyaratan sistem dibagi menjadi dua bagian yaitu,

(25)

11

1. Persyaratan Fungsional

Persyaratan Fungsional menjelaskan apa yang seharusnya dilakukan oleh sistem, dalam hal ini aplikasi yang akan dibangun adalah implementasi Ruby Game Scripting System pada game Ludo.

Berikut adalah persyaratan fungsional yang harus dimiliki oleh sistem ini:

a. User dapat menentukan menentukan strategi yang akan di berikan masing-masing kubu.

b. Sistem dapat menentukan strategi apa yang akan di ambil jika suatu kondisi terpenuhi didalam permainan Ludo.

c. Sistem dapat menjalankan strategi yang telah di terapkan dengan baik tanpa ada masalah.

2. Persyaratan Non Fungsional

Persyaratan Non Fungsional menetapkan properti atau kualitas yang harus dimiliki oleh sistem, berikut adalah klasifikasi PIECES (Perform, Information, Economy, Control, Efficiency, Service) Non-Fungsional yang harus dipenuhi: (Whitten et al., 2004).

a. Performa

Sistem yang dibangun dapat berjalan dengan baik agar dapat membandingkan strategi yang paling optimal untuk di terapkan dalam permainan ludo.

b. Informasi

Sistem dapat menunjukkan keputusan strategi yang di berikan kepada masing-masing kubu.

c. Ekonomi

Sistem tidak memerlukan perangkat tambahan yang mahal. d. Efisiensi

Sistem harus mampu menghasilkan output dengan tingkat ketidak efisienan yang minimal.

e. Kontrol

Sistem mampu dijalankan tanpa kendali dan tampilan yang membingungkan.

(26)

12

3.1.3.Pemodelan sistem

Sebuh sistem harus dibuat model, model diartikan sebagai sebuah representasi piktorial dari realitas sebagai cara untuk memahami sistem tersebut dengan lebih baik dan sebagai cara mendokumentasikan persyaratan bisnis atau desain teknis untuk sistem yang sedang diusulkan (Whitten et al., 2004).

a. Use Case Diagram

Menurut Satzinger, Jackson dan Burd (2009), use case adalah sebuah daftar yang memberikan apa yang sistem lakukan pada saat suatu peristiwa terjadi.

Use Case Modelling adalah proses pemodelan fungsi-fungsi sistem dalam konteks peristiwa-peristiwa. Siapa yang mengawalinya, dan bagaimana sistem itu merespon hal tersebut (Whitten et al., 2004).

Gambar 3.2 Use Case Diagram

Menurut use case pada Gambar 3.2, ketika user (manusia) memulai permainan, user dapat memilih strategi yang akan di terapkan ke setiap kubu. Selanjutnya, komputer akan melanjutkan semua proses secara otomatis. Selama proses

(27)

13

permainan berlangsung maka sistem akan terus melakukan penyimpanan variabel posisi bidak agar kubu yang sedang bermain dapat menentukan strategi yang akan digunakan. Selama proses pengambilan keputusan yang akan dilakukan, sistem akan terus melakukan cek nilai variabel posisi bidak, cek nilai variabel dadu dan cek variabel switch yang aktif.

b. Activity Diagram

Menurut Shelly, Gary dan Rosenblatt (2012), Unified Modelling Language Activity Diagram menyerupai flowchart horisontal yang menunjukkan tindakan dan peristiwa

aliran proses pada saat proses tersebut terjadi. Activity diagram pada aplikasi permainan Ludo dapat dilihat pada Gambar 3.3.

Gambar 3.3. Activity Diagram

(28)

14

c. Sequence Diagram

Sequence diagram adalah diagram UML (Unified Modelling Language) yang digunakan untuk memodelkan logika sebuah use case dengan cara menggambarkan interaksi pesan diantara objek-objek dalam rangkaian waktu (Whitten et al., 2004). Sequence diagram dari implementasi strategi menggunakan ruby game scripting system pada game ludo dapat dilihat pada Gambar 3.4.

Gambar 3.4. Sequence Diagram

Dapat dilihat pada Gambar 3.4 ketika aplikasi dijalankan user akan di bawa ke menu utama (main activity) untuk memulai permainan. Selama proses permainan berlangsung, user tidak dapat memberi input atau melakukan aktifitas lain. Semua aktifitas akan dilakukan oleh sistem, dimana sistem akan terus melakukan penyimpanan variabel posisi dan switch di database lalu kubu yang bermain akan melakukan pengambilan keputusan berdasarkan data variabel dan switch yang tersimpan di database.

(29)

15

3.1.4. Pseudocode

Strategi yang akan di implementasikan akan memliki prioritas yang berbeda pada masing-masing kubu. Secara mendasar ada 3 aturan yang akan di program yaitu Hit First, Go Out First, dan Quick Finish.

Untuk menentukan keputusan yang akan di ambil, maka diperlukan beberapa variabel data yang akan menyimpan informasi nilai-nilai yang dapat diproses. Variabel-variabel tersebut adalah :

a. Variabel nilai posisi bidak yang nilainya sesuai dengan posisi bidak di dalam permainan. Variabel ini berupa bilangan integer.

b. Variabel nilai dadu yang nilainya random dari satu sampai enam. Variabel ini berupa bilangan integer.

c. Variabel switch yang nilainya booleans. Jika aktif, maka switch == true dan sebaliknya jika mati, maka switch == false.

d. Variabel temporary yang bersifat sementara untuk melakukan perhitungan-perhitungan nilai variabel.

Berikut adalah Pseudocode beserta penjelasan rancangan dari masing-masing aturan : Vp = Variabel posisi bidak-bidak dari kubu yang sedang bermain.

[ Vp = { bidak1, bidak2, bidak3, bidak4 } ] Ve = Variabel posisi bidak-bidak kubu lawan.

[ Ve = { lawan1, lawan2, lawan3..., lawan 12 } ]

Vd = Variabel nilai dadu yang bernilai random dari satu sampai enam. [ Vd = rand(6)+1 ]

Vt = Vp + Vd

Vj = Variabel nilai langkah yang dimiliki oleh kubu yang sedang bermain. Nilai Variabel ini diambil dari nilai variabel dadu.

[ Vj = Vd ]

Vr = Variabel nilai posisi pintu rumah dari setiap kubu.

[ Vr[merah] = 5; Vr[kuning] = 18; Vr[hijau] = 31;Vr[biru] = 44 ] Va = Variabel nilai posisi aman yang berada dekat finish.

[ Va = {56,57,58,59,60,61} ]

(30)

16

Sr = Variabel switch untuk menentukan jika ada bidak pemain teman yang berada di pintu rumah.

[ if Vp[merah] == Vr[merah]; Sr = true; end ] [ if Vp[kuning] == Vr[kuning]; Sr = true; end ] [ if Vp[hijau] == Vr[hijau]; Sr = true; end ] [ if Vp[biru] == Vr[biru]; Sr = true; end ]

Sb = Variabel switch bidak yang telah memenuhi kondisi untuk dijalankan. Jika Sb == true maka bidak yang memenuhi kondisi akan dimainkan.

if Sb == true lawan. Jika kondisi tidak terpenuhi maka sistem akan melakukan cek apakah nilai dadu sama dengan enam dan ada musuh di pintu rumah kubu yang sedang

bermain? Jika benar, maka sistem akan memanggil aturan “Go Out First”. Pseucode untuk Hit First dapat ditulis sebagai berikut :

(31)

17

2. Go Out First

Pada aturan ini, jika nilai dadu bernilai enam, nilai langkah tidak sama dengan nol, posisi bidak berada di rumah dan jika tidak ada bidak di pintu rumah pemain, maka bidak yang memenuhi kondisi akan di pindahkan ke posisi pintu rumah lalu nilai langkah akan menjadi nol. Jika kondisi atas dipenuhi namun ada bidak yang berada di pintu rumah, maka bidak yang berada di pintu rumah tersebut akan di jalankan.

if Vd == 6 and Vj != 0 and Vp == 0

Pada aturan ini, jika posisi bidak tidak berada di finish, bidak tidak berada di dalam rumah dan nilai langkah tidak sama dengan nol, maka sistem melakukan sorting nilai variabel posisi bidak-bidak kubu yang sedang bermain secara ascending. Jika nilai variabel posisi bidak ditambah nilai dadu lebih kecil dari nilai maksimal jalur dan nilai variabel posisi bidak ditambah nilai dadu tidak sama dengan nilai variabel bidak-bidak lainnya (bidak lainnya dari kubu yang sedang bermain), maka jalankan bidak yang memenuhi kondisi.

(32)

18

3.1.5. Flowchart

Flowchart digunakan untuk membantu menyusun sebuah gambaran aliran program sehingga dapat mudah dipahami. Flowchart sistem yang akan digunakan didalam implementasi strategi pada game Ludo dapat dilihat pada Gambar 3.5.

Gambar 3.5. Flowchart sistem

Pada Gambar 3.5 dapat dilihat ketika permainan dimulai, sistem akan menyimpan variabel posisi dan switch setiap bidak. Lalu sistem akan mengaktifkan switch pemain yang akan bermain sesuai urutan gilirannya. Selanjutnya sistem akan melakukan proses untuk mendapatkan variabel nilai dadu. Hasil dari variabel nilai

(33)

19

dadu, variabel posisi dan switch akan mempengaruhi proses penentuan aturan yang akan di panggil sesuai dengan strategi yang telah di berikan kepada masing-masing kubu. Jika ada aturan yang dapat dijalankan, bidak yang memenuhi kondisi akan di jalankan. Jika tidak ada aturan yang dapat dijalankan dan nilai dadu adalah enam, variabel langkah akan di ubah menjadi nol dan proses pelemparan dadu akan di panggil kembali oleh sistem. Jika nilai dadu tidak sama dengan enam, maka variabel langkah akan di ubah menjadi nol dan switch pemain yang sedang bermain akan di matikan. Sistem akan kembali mengulang rangkaian proses ini dari awal selama permainan berlangsung.

3.1.6. Strategi Ludo

Pada sub-bab 3.1.4 Pseudocode, telah dijelaskan rancangan aturan-aturan yang digunakan untuk pengambilan keputusan strategi permainan Ludo. Aturan-aturan tersebut dapat di gabungkan berdasarkan prioritas dan dari aturan-aturan tersebut dapat berlakukan enam kemungkinan strategi.

1. Strategi 1 : Go Out First > Hit First > Quick Finish

Strategi ini memprioritaskan agar semua bidak pemain dikeluarkan terlebih dahulu dari rumah jika mendapatkan nilai dadu enam walaupun ada bidak lawan yang bisa dimakan. Jika nilai dadu enam namun ada bidak teman yang berada di pintu rumah, maka bidak tidak dikeluarkan dari rumah dan sistem akan menjalankan bidak yang berada di pintu rumah tersebut. Selanjutnya jika kondisi tersebut tidak terpenuhi dan nilai dadu tidak enam maka sistem akan melakukan cek posisi bidak lawan yang bisa dimakan. Jika tidak ada bidak yang bisa dimakan, sistem akan memainkan bidak dengan posisi terdekat ke garis finish.

2. Strategi 2 : Go Out First > Quick Finish > Hit First

Strategi ini memiliki prioritas utama yang sama seperti strategi 1. Perbedaan strategi ini adalah jika nilai dadu tidak enam maka sistem akan memainkan bidak dengan posisi terdekat ke garis finish. Jika tidak ada bidak yang bisa dimainkan, maka dapat dipastikan aturan Hit First juga tidak akan menemukan bidak yang bisa dimainkan.

(34)

20

3. Strategi 3 : Hit First > Go Out First > Quick Finish

Strategi ini memprioritaskan untuk memakan bidak lawan jika nilai variabel posisi bidak yang berada diluar rumah ditambah variabel dadu sama dengan variabel posisi lawan. Jika nilai dadu sama dengan enam dan ada bidak lawan yang berada di pintu rumah, sistem akan mengeluarkan bidak dari rumah untuk memakan bidak lawan selama ada bidak yang bisa di keluarkan dari rumah. Selanjutnya jika kondisi tersebut tidak terpenuhi dan nilai dadu sama dengan enam, sistem akan mengeluarkan bidak selama tidak ada bidak teman yang berada di pintu rumah. Jika nilai dadu enam namun ada bidak teman yang berada di pintu rumah, maka bidak tidak dikeluarkan dari rumah dan sistem akan menjalankan bidak yang berada di pintu rumah tersebut. Jika kondisi tersebut tidak terpenuhi, sistem akan memainkan bidak dengan posisi terdekat ke garis finish.

4. Strategi 4 : Hit First > Quick Finish > Go Out First

Strategi ini memiliki prioritas utama yang sama seperti strategi 3. Perbedaan strategi ini adalah jika tidak ada bidak yang bisa dimakan dan nilai dadu sama dengan enam, sistem akan memilih untuk memainkan bidak dengan posisi terdekat ke garis finish walaupun masih ada bidak yang belum keluar rumah. Selanjutnya Jika tidak ada bidak yang bisa dimainkan dan nilai dadu bernilai enam, sistem akan mengeluarkan bidak selama tidak ada bidak teman yang berada di pintu rumah. Jika nilai dadu enam namun ada bidak teman yang berada di pintu rumah, maka bidak tidak dikeluarkan dari rumah dan sistem akan menjalankan bidak yang berada di pintu rumah tersebut.

5. Strategi 5 : Quick Finish > Go Out First > Hit First

Strategi ini memprioritaskan agar bidak yang telah berada di luar rumah di mainkan untuk sampai ke finish terlebih dahulu walaupun nilai dadu sama dengan enam. Jika kondisi tersebut tidak terpenuhi dan nilai dadu sama dengan enam, sistem akan mengeluarkan bidak selama tidak ada bidak teman yang berada di pintu rumah. Jika nilai dadu enam namun ada bidak teman yang berada di pintu rumah, maka bidak tidak dikeluarkan dari rumah dan sistem akan menjalankan bidak yang berada di pintu rumah tersebut. Jika aturan Quick Finish tidak terpenuhi, dapat dipastikan aturan Hit First juga tidak akan terpenuhi.

(35)

21

6. Strategi 6 : Quick Finish > Hit First > Go Out First

Strategi ini serupa dengan strategi 5 namun memiliki alur aturan yang berbeda. Strategi ini memiliki prioritas utama yang sama untuk menjalankan bidak yang berada di luar rumah mencapai garis finish terlebih dahulu. Walaupun prioritas selanjunyta adalah aturan Hit First, jika kondisi pada aturan Quick Finish tidak terpenuhi maka dapat dipastikan kondisi pada aturan Hit First juga tidak akan terpenuhi.

3.2.Perancangan Antar Muka

Aplikasi ini dirancang berbasis Windows, sederhana dan mudah digunakan, dibangun dengan menggunakan engine RPG Maker VxAce dan menggunakan Ruby Game Scripting System.

3.2.1 Menu utama

Menu utama ditampilkan setelah user membuka aplikasi permainan ludo. Didalam menu utama terdapat window command yang digunakan yaitu “mulai permainan

untuk memulai proses permainan Ludo” dan “keluar untuk mengakhiri aplikasi

permainan Ludo”. Dalam menu utama terdapat judul dan latar belakang yang akan di

gunakan pada permainan Ludo.

Gambar 3.6. Rancangan menu utama

(36)

22

Keterangan berdasarkan Gambar 3.6. sebagai berikut: 1. Gambar background dari apklikasi ini

2. Judul : merukana label nama dari aplikasi ini

3. Mulai Permainan: Untuk memulai proses permainan aplikasi ini 4. Keluar : Menu untuk keluar dari aplikasi ini

3.2.2. Menu option

Menu option ditampilkan setelah user memulai permainan. Pada menu ini, user menentukan strategi yang akan diberikan ke setiap kubu.

Keterangan berdasarkan Gambar 3.7. sebagai berikut :

1. Window yang berisi daftar nama kubu (Merah,Kuning,Hijau dan Merah). 2. Window command untuk memilih kubu yang akan diterapkan atau digantikan

strateginya.

3. Window yang berisi keterangan dari strategi yang telah dipilih.

4. Window command dari daftar strategi yang bisa dipilih. Window ini akan muncul jika pemain telah memilih pada window 2.

Gambar 3.7. Rancangan menu option

(37)

23

3.2.3. Menu permainan

Menu permainan ditampilkan setelah user menentukan strategi yang akan di terapkan pada masing-masing kubu. Proses permainan dilakukan pada menu ini.

Gambar 3.8. Rancangan menu permainan

Keterangan berdasarkan Gambar 3.8. sebagai berikut : 1. Rumah kubu merah

2. Rumah kubu kuning 3. Rumah kubu hijau 4. Rumah kubu biru 5. Pintu kubu merah 6. Pintu kubu kuning 7. Pintu kubu hijau 8. Pintu kubu biru

9. Titik finish kubu merah 10.Titik finish kubu kuning 11.Titik finish kubu hijau 12.Titik finish kubu biru

(38)

24

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1. IMPLEMENTASI

Tahapan implementasi ini dilakukan setelah tahapan analisis dan perancangan. Pada tahapan ini penulis menerapkan hasil analisis dan perancangan dengan membuat aplikasi permainan Ludo menggunakan Ruby Game Scripting System.

Beberapa Software yang digunakan pada tahapan implementasi ini terdiri dari : a. RPG Maker VXace

Software yang digunakan untuk membantu dan memudahkan pembuatan aplikasi permainan Ludo.

b. GIMP2

Software editor gambar yang digunakan untuk membuat aset grafis dalam permainan Ludo.

c. Audacity 2.1.2

Software editor suara yang digunakan untuk membuat aset suara dalam aplikasi permainan Ludo.

Adapun hardware yang digunakan untuk membangun dan menguji sistem ini adalah notebook dengan sistem operasi Windows 7 Ultimate, Processor Intel ® Core ™ i3 CPU 2.20 GHz, harddisk 700 GB, dan RAM 2 GB dan uji coba langsung pada Windows 7.

4.1.1 Tampilan menu utama

Tampilan menu utama saat pertama kali aplikasi dibuka, di menu ini terdapat dua menu yang dapat diakses. Menu mulai untuk mengakses proses permainan dan menu keluar untuk keluar dari aplikasi. Di halaman utama juga ditampilkan latar belakang gambar permainan Ludo. Tampilan halaman utama dapat dilihat pada Gambar 4.1.

(39)

25

Gambar 4.1. Tampilan menu utama

4.1.2. Tampilan menu option

Pada menu ini, pemain memilih strategi yang diterapkan ke masing-masing kubu. Gambar 4.2. menunjukkan tampilan menu option.

Gambar 4.2. Tampilan menu option

Ketika user ingin memilih atau mengganti strategi yang akan di terapkan ke kubu tertentu, user dapat menekan tombol enter pada keyboard dan window daftar strategi yang dapat diterapkan akan di tampilkan.Tampilan menu daftar strategi dapat dilihat pada Gambar 4.3.

(40)

26

Gambar 4.3. Tampilan menu daftar strategi

Setelah user selesai memilih strategi pada setiap kubu, user dapat melanjutkan

ke proses permainan dengan menekan tombol “x” pada keyboard.

4.1.3 Tampilan menu permainan

Menu permainan merupakan menu dimana proses permainan ludo dilakukan. Tampilan menu permainan dapat dilihat pada gambar 4.4.

Gambar 4.4 Tampilan menu permainan

(41)

27

Selama proses permainan berlangsung, tidak ada input dari user yang bisa dilakukan. Permainan akan berlangsung secara otomatis. Pengambilan keputusan strategi dilakukan sesuai dengan hasil input user dalam menu option. Agar sistem mengetahui strategi apa yang di terapkan ke masing-masing kubu maka penulis memberikan variabel pada masing-masing kubu. Daftar variabel-variabel tersebut dapat dilihat pada Tabel 4.1.

Tabel 4.1. Daftar variabel nilai untuk penentuan strategi Strategi Nilai variabel Keterangan Prioritas Strategi

1 0 Go Out First > Hit First > Quick Finish menerapkan strategi 2 ke kubu yang dipilih, sistem akan merubah nilai variabel kubu yang dipilih menjadi satu.

4.2. PENGUJIAN

4.2.1 Analisis pengujian strategi

Pengujian terhadap strategi yang telah di terapkan pada aplikasi permainan Ludo ini dilakukan dengan skenario kondisi nilai dadu yang bernilai random dari satu sampai enam dan pengujian dilakukan sebanyak 20 kali untuk menentukan kubu mana yang memiliki strategi terbaik. Karena jumlah strategi yang diterapkan melebihi jumlah kubu pemain maka pengujian dilakukan dengan sistem gugur, dimana dua strategi yang memiliki tingkat kemenangan terendah dari empat strategi pertama yang di adu setelah 20 kali pengujian digantikan oleh strategi lainnya.

(42)

28

Pengujian grup pertama dilakukan dengan penerapan strategi 1 kepada kubu merah, strategi 2 kepada kubu kuning, strategi 3 kepada kubu hijau dan strategi 4 kepada kubu biru. Hasil pengujian pertama dapat dilihat pada Tabel 4.2.

Tabel 4.2. Hasil pengujian grup pertama Kubu Merah Kuning Hijau Biru strategi 3 memiliki total kemenangan yang paling tinggi yaitu delapan kemenangan dengan persentasi kemenangan sebesar 40%. Namun tingkat kemenangan sebesar 40% belum bisa dikategorikan sebagai kemenangan yang dominan karena persentasi kemenangan strategi lain yang tidak berbeda jauh dengan strategi 3 seperti strategi 1 yang memiliki persentasi kemenangan sebesar 30%.

Pemenang dari pengujian grup pertama yang akan di adu pada pengujian grup kedua adalah strategi 1 dan strategi 3. Pengujian grup kedua dilakukan dengan penerapan strategi 1 kepada kubu merah, strategi 3 kepada kubu kuning, strategi 5 kepada kubu hijau dan strategi 6 kepada kubu biru. Hasil pengujian grup kedua dapat dilihat pada Tabel 4.3.

Tabel 4.3. Hasil pengujian grup kedua

(43)

29

Pada Tabel 4.3. dapat dilihat strategi 3 pada kubu kuning masih mendapatkan tingkat kemenangan tertinggi dengan tingkat persentasi kemenangan sebesar 60%. Jika dibandingkan dari pengujian grup pertama, tingkat persentasi kemenangan strategi 3 disini dapat dikatakan dominan. Strategi 5 hanya mendapatkan persentasi kemenangan sebesar 5% dengan total kemenangan sebanyak satu kali dan strategi 6 tidak pernah menang sama sekali.

Berdasarkan hasil pengujian grup kedua, strategi 5 dan 6 mendapatkan tingkat kemenangan yang sangat rendah dibandingkan strategi 2 dan 4 yang sebelumnya di uji pada grup pertama. Penulis melakukan uji coba tambahan terhadap strategi 2,4,5 dan 6 sebanyak 20 kali, untuk melihat tingkat kemenangan yang dapat dicapai oleh strategi 5 dan 6. Hasil pengujian tambahan dapat dilihat pada Tabel 4.4.

Tabel 4.4. Hasil pengujian tambahan

Kubu Merah Kuning Hijau Biru

Strategi 2 4 5 6

Total Menang 9 8 1 2

Persentasi

Kemenangan 45% 40% 5% 10%

Dari Tabel 4.4. dapat dilihat tingkat kemenangan strategi 2 adalah yang paling tinggi dengan persentasi kemenangan sebesar 45%. Strategi 4 memiliki persentasi kemenangan sebesar 40% atau selisih satu kemenganan dengan strategi 2. Strategi 5 dan 6 mendapatkan tingkat kemenangan terendah dengan persentasi kemenangan sebesar 5% dan 10%.

Dari hasil pengujian yang dilakukan dapat disimpulkan aturan Hit First yang menjadi prioritas pada strategi 3 dan 4 merupakan aturan yang paling penting. Hal ini dikarenakan jika pemain mendapatkan kesempatan untuk memakan bidak lawan maka pemain akan memilih untuk melakukannya terlebih dahulu. Aturan ini dapat memperlambat proses bidak lawan untuk mencapai finish. Sebaliknya ketika strategi yang memprioritaskan Quick Finish seperti strategi 5 dan 6 maka ketika satu bidak berada diluar rumah, bidak tersebut akan terus dimainkan walaupun pemain mendapatkan nilai dadu enam sehingga jika bidak tersebut dimakan oleh bidak lawan,

(44)

30

pemain harus menunggu agar mendapatkan nilai dadu enam untuk mengeluarkan bidak kembali dari rumah dan untuk mendapatkan nilai dadu enam tidak mudah karena kemungkinan yang dimiliki adalah satu banding enam.

Aturan Go Out First merupakan aturan yang penting kedua setelah aturan Hit First. Dari hasil uji coba yang dilakukan, dapat dilihat pada pengujian grup pertama, strategi 3 dan 4 memiliki prioritas utama yang sama namun strategi 4 memiliki prioritas kedua yang berbeda yaitu Quick Finish. Dari hasil pengujian grup pertama dapat dilihat persentasi kemenangan strategi 3 dan 4 memiliki selisih sebesar 30%. Strategi 3 yang menjadikan Go Out first sebagai prioritas kedua mendapatkan kemenangan lebih banyak dibandingkan strategi 4 yang menjadikan Quick Finish sebagai prioritas kedua. Hal ini dikarenakan jika banyak bidak yang berada di luar rumah, pemain akan mendapatkan lebih banyak options yang dapat dilakukan. Persamaan tersebut dapat juga dilihat pada strategi 1 dan 2 pada pengujian grup pertama dimana strategi 1 menggunakan Hit First sebagai prioritas kedua sedangkan strategi 2 menggunakan Quick Finish sebagai prioritas kedua. Strategi 1 mendapatkan kemenangan lebih banyak dari pada strategi 2.

(45)

31

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan hasil, implementasi, dan pengujian sistem ini, maka kesimpulan yang dapat penulis hasilkan adalah sebagai berikut:

1. Dalam penelitian ini telah dibangun sebuah aplikasi permainan Ludo yang dapat diberikan beberapa strategi yang telah dirancang untuk pengambilan keputusan dengan menggunakan ruby game scripting system.

2. Aplikasi dapat menunjukkan enam strategi yang dapat diterapkan dalam empat kubu pemain yang berbeda dan mengetahui strategi mana yang terbaik yang dapat digunakan.

3. Dari hasil ujicoba yang di lakukan dalam implementasi kecerdasan buatan ini, maka dapat disimpulkan tidak ada strategi yang memiliki tingkat kemengangan 100% karena faktor nilai dadu yang random juga mempengaruhi pengambilan keputusan.

4. Dengan nilai variabel dadu yang random, dapat diketahui persentasi tingkat kemenangan strategi pengambilan keputusan yang diterapkan pada strategi 3 merupakan strategi terbaik.

(46)

32

5.2Saran

Adapun saran-saran yang dapat diberikan penulis untuk pengembangan dan perbaikan sistem ini selanjutnya adalah sebagai berikut:

1. Penelitian selanjutnya akan lebih baik jika melibatkan manusia sebagai pemain untuk melihat apakah strategi yang diterapkan mampu melawan kecerdasan manusia.

2. Penelitian selanjutnya akan lebih baik jika strategi yang telah diterapkan bisa memiliki aturan-aturan baru yang jumlahnya lebih dari tiga.

(47)

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.

(48)

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

(49)

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.

(50)

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.

(51)

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

(52)

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.

(53)

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.

(54)

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.

(55)

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.

(56)

vii

AN IMPLEMENTATION OF RUBY GAME SCRIPTING SYSTEM IN LUDO GAME

ABSTRACT

Ludo is a traditional game played by four players in which each player has one goal to

win the game. Although the Ludo players have one goal, but there are some strategies

that can be done to achieve that outcome. By doing some tests on some of the

strategies that will be applied to each team in the Ludo game, we can know the

strategies and rules which will achieve the fastest and most efficient. The author use

the Ruby Game Scripting System with an application called RPGmakerVXace for the

implementation of artificial intelligence and make the Ludo game application.

Keyword: Ludo Game, Ruby Game Scripting System.

(57)

IMPLEMENTASI RUBY GAME SCRIPTING SYSTEM PADA GAME LUDO

SKRIPSI

DICKO IFENTA 121421088

PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA MEDAN 2017

(58)

ii

IMPLEMENTASI RUBY GAME SCRIPTING SYSTEM

PADA GAME LUDO

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer

DICKO IFENTA 121421088

PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA MEDAN 2017

(59)

ii

PERSETUJUAN

Judul : IMPLEMENTASI RUBY GAME SCRIPTING

SYSTEM PADA GAME LUDO

Kategori : SKRIPSI

Nama : DICKO IFENTA

NIM : 121421088

Program Studi : EKSTENSI S1 ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA Komisi Pembimbing :

Pembimbing I Pembimbing II

Prof.Dr.Opim Salim Sitompul,M.Sc Dian Rachmawati, S.Si, M.Kom NIP. 19610817 198701 1 001 NIP. 19830723 200912 2 004

Diketahui/disetujui oleh

Program Studi Ekstensi S1 Ilmu Komputer

Ketua,

Dr. Poltak Sihombing, M.Kom NIP. 19620217 199103 1 001

(60)

iii

PERNYATAAN

IMPLEMENTASI RUBY GAME SCRYPTING SYSTEM PADA GAME LUDO

SKRIPSI

Saya menyatakan bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Januari 2017

DICKO IFENTA 121421088

(61)

iv

PENGHARGAAN

Segala puji dan syukur penulis ucapkan kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya kepada penulis sehingga dapat menyelesaikan skripsi ini sesuai dengan instruksi dan peraturan yang berlaku di Fakultas Ilmu Komputer dan Teknologi Informasi serta shalawat dan salam penulis hadiahkan kepada Nabi Besar Muhammad SAW.

Dalam penyusunan dan penulisan skripsi ini, penulis banyak mendapat bantuan, dukungan dan bimbingan dari berbagai pihak. Pada kesempatan ini penulis ingin mengucapkan rasa terima kasih dan penghargaan kepada:

1. Bapak Prof. Dr. Runtung, S.H., M.Hum selaku Pejabat Rektor Universitas Sumatera Utara.

2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc, sebagai Dekan dan Dosen Pembimbing I di Fakultas Ilmu Komputer dan Teknologi Informasi.

3. Bapak Dr. Poltak Sihombing, M.Kom sebagai Ketua Program Studi S1 Ilmu Komputer.

4. Ibu Maya Silvi Lydia, B.Sc., M.Sc. selaku sekretaris Program Studi S1 Ilmu Komputer.

5. Ibu Dian Rachmawati, S.Si, M.Kom, selaku Dosen Pembimbing II yang telah meluangkan waktu, tenaga, dan pikiran dalam membimbing, mengarahkan, menasehati, memotivasi, dan menyemangati penulis agar dapat menyelesaiakan skripsi ini.

8. Teristimewa orang tua yang penulis sayangi, Ibunda Enita dan Ayahanda Ifzal Jhon yang tidak henti-hentinya memberikan doa, motivasi, dan dukungan yang selalu menjadi sumber semangat penulis.

(62)

v

9. Guru penulis mulai dari SD, SMP, SMA yang telah mengantarkan penulis ke jenjang perguruan tinggi dengan ilmu yang diberikan.

10. Sahabat-sahabat penulis Haidar Rizali Fikri, T. Zikri Rachman, Nugra Saragih, Chasika Rani Purba, Fitria Andhika, Rini Chairan Harahap, dan Denny Dwi Putra yang selalu menemani dan memberi motivasi kepada penulis.

11. Teman-teman seperjuangan, mahasiswa/i S1 Ekstensi Ilmu Komputer angkatan 2012 yang selalu memberi dukungan.

12. Semua pihak yang terlibat langsung dan tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah membantu menyelesaikan skripsi ini.

Penulis menyadari bahwa skripsi ini masih memiliki banyak kekurangan, baik dari segi teknik, tata penyajian ataupun dari segi tata bahasa. Oleh karena itu, penulis bersedia menerima kritik dan saran dari pembaca dalam upaya perbaikan skripsi ini.

Semoga skripsi ini dapat bermanfaat bagi penulis dan pembaca, khususnya rekan-rekan mahasiswa lainnya yang mengikuti perkuliahan di Universitas Sumatera Utara.

Medan, Januari 2017

Dicko Ifenta

(63)

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.

(64)

vii

AN IMPLEMENTATION OF RUBY GAME SCRIPTING SYSTEM IN LUDO GAME

ABSTRACT

Ludo is a traditional game played by four players in which each player has one goal to

win the game. Although the Ludo players have one goal, but there are some strategies

that can be done to achieve that outcome. By doing some tests on some of the

strategies that will be applied to each team in the Ludo game, we can know the

strategies and rules which will achieve the fastest and most efficient. The author use

the Ruby Game Scripting System with an application called RPGmakerVXace for the

implementation of artificial intelligence and make the Ludo game application.

Keyword: Ludo Game, Ruby Game Scripting System.

(65)

viii

1.5. Manfaat Penelitian 3

1.6. Metodologi Penelitian 3

1.7. Sistematika Penulisan 4

Bab 2 Tinjauan Pustaka

2.1. Permainan Ludo 5

2.1.1. Aturan Permainan Ludo 5

2.2. Bahasa Pemrograman Ruby 6

2.2.1. Sejarah Perkembangan Ruby 7

2.2.2. Kelebihan Bahasa Pemrograman Ruby 7

2.3. RPG Maker Vx Ace 8

2.3.1. Ruby Game Scripting System 8

Bab 3 Analisis dan Perancangan

3.1. Analisis Sistem 9

3.1.1. Analisis Masalah 9

3.1.2. Analisis Persyaratan 10

3.1.3. Pemodelan Sistem 12

3.1.4. Pseudocode 15

3.1.5. Flowchart 18

3.1.6. Strategi Ludo 19

(66)

ix

3.2. Perancangan Antar Muka (Interface) 21

3.2.1. Menu Utama 21

3.2.2. Menu Option 22

3.2.2 Menu Permainan 23

Bab 4 Implementasi dan Pengujian

4.1. Implementasi 24

4.1.1. Tampilan Menu Utama 24

4.1.2. Tampilan Menu Option 25

4.1.3. Tampilan Menu Permainan 26

4.2 Pengujian 27

4.2.1 Analisis Pengujian Strategi 27

Bab 5 Kesimpulan dan Saran

5.1 Kesimpulan 31

5.2 Saran 32

Daftar Pustaka 33

Lampiran 34

(67)

x

Daftar Tabel

Hal.

4.1. Daftar variabel nilai untuk penentuan strategi 27

4.2. Hasil pengujian grup pertama 28

4.3. Hasil pengujian grup kedua 28

4.4. Hasil pengujian tambahan 29

(68)

xi

Daftar Gambar

Hal.

3.1. Diagram Ishikawa 10

3.2. Use Case Diagram 12

3.3. Activity Diagram 13

3.4. Sequence Diagram 14

3.5. Flowchart sistem 18

3.6. Rancangan menu utama 21

3.7. Rancangan menu option 22

3.8. Rancangan menu permainan 23

4.1. Tampilan menu utama 25

4.2. Tampilan menu option 25

4.3. Tampilan menu daftar strategi 26

4.4. Tampilan menu permainan 26

Gambar

Gambar 3.1. Diagram Ishikawa
Gambar 3.2 Use Case Diagram
Gambar 3.3. Activity Diagram
Gambar 3.4. Sequence Diagram
+7

Referensi

Dokumen terkait

Hasil penelitian ini menunjukkan bahwa variabel kepuasan kerja memediasi secara positif dan signifikan pengaruh pemberdayaan pegawai terhadap kinerja Pegawai Dinas Catatan

Pada minggu ketujuh sampai dengan minggu keduapuluh menghasilkan CV positif dan SV positif, berarti dari segi biaya yang dikeluarkan lebih kecil dari yang

Diharapkan dengan adanya sistem ini, Race Motor dapat lebih mudah dalam pemberian informasi, meningkatkan pelayanan kepada pelanggan khususnya yang berada diluar

Keyword : DM, Pulmonary TB, Random blood glucose levels , X-ray chest. Universitas

a. Bapak Munir selaku guru Madrasah Ibtidaiyah Negeri 4 Tulungagung yang mengajar mata pelajaran Al- Qur’an Hadits dikelas 5 pada jam 12.30 menggunakan model kooperatif

Penyelesaian berangka bagi masalah aliran lapisan sempadan olakan bebas mantap terhadap silinder bulat mengufuk yang dijanakan oleh pemanasan Newtonan, iaitu pemindahan haba

sampel yang diinginkan oleh peneliti sesuai dengan subjek

Melalui perumpamaan tentang orang Samaria yang murah hati, realitas hidup Kristen harus membangun kasih yang utuh dan lebih tinggi derajatnya yaitu kasih yang