IMPLEMENTASI ALGORITMA GADDAG DAN NEGASCOUT UNTUK OPTIMALISASI COMPUTER PLAYER DALAM PERMAINAN SCRABBLE.
IMPLEMENTASI ALGORITMA GADDAG DAN NEGASCOUT
UNTUK OPTIMALISASI COMPUTER PLAYER DALAM
PERMAINAN SCRABBLE
SKRIPSI
Diajukan untuk Memenuhi Sebagian dari Syarat untuk Memperoleh Gelar Sarjana Komputer
Program Studi Ilmu Komputer
Oleh:
Renisa Suryahadikusumah 1005215
PROGRAM STUDI ILMU KOMPUTER
FAKULTAS PENDIDIKAN MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS PENDIDIKAN INDONESIA 2014
(2)
Oleh
Renisa Suryahadikusumah
Sebuah skripsi yang diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Komputer pada Fakultas Pendidikan Matematika dan Ilmu Pengetahuan
Alam
© Renisa 2014
Universitas Pendidikan Indonesia Oktober 2014
Hak Cipta dilindungi undang-undang.
Skripsi ini tidak boleh diperbanyak seluruhya atau sebagian, dengan dicetak ulang, difoto kopi, atau cara lainnya tanpa ijin dari penulis
(3)
IMPLEMENTASI ALGORITMA GADDAG DAN NEGASCOUT UNTUK OPTIMALISASI COMPUTER PLAYER DALAM PERMAINAN SCRABBLE
RENISA SURYAHADIKUSUMAH 1005215
DISETUJUI DAN DISAHKAN OLEH PEMBIMBING
Pembimbing I,
Rosa Ariani Sukamto, M.T. NIP. 198109182009122003
Pembimbing II,
Harsa Wara P, M.Pd NIP. 198008102009121003
Mengetahui,
Ketua Program Studi Ilmu Komputer
Jajang Kusnendar, M.T. NIP. 197506012008121001
(4)
DAFTAR ISI
ABSTRAK………i
KATA PENGANTAR………..………..iii
UCAPAN TERIMAKASIH………..………..iv
DAFTAR ISI………....…..……….vi
DAFTAR GAMBAR………..………....ix
DAFTAR TABEL………..………xii
DAFTAR LISTING………..………xiii BAB I PENDAHULUAN ... Error! Bookmark not defined.
1.1 Latar Belakang Masalah ... Error! Bookmark not defined.
1.2 Rumusan Masalah ... Error! Bookmark not defined.
1.3 Batasan Masalah... Error! Bookmark not defined.
1.4 Tujuan Penelitian... Error! Bookmark not defined.
1.5 Manfaat Penelitian... Error! Bookmark not defined.
1.6 Sistematika Penulisan... Error! Bookmark not defined.
BAB II TINJAUAN PUSTAKA ... Error! Bookmark not defined.
2.1 Game ... Error! Bookmark not defined.
2.2 Scrabble... Error! Bookmark not defined.
2.3 Kecerdasan Buatan ... Error! Bookmark not defined.
2.3.1 Kecerdasan Buatan ... Error! Bookmark not defined.
2.3.2 Kecerdasan Buatan dalam Permainan ... Error! Bookmark not defined.
(5)
2.5 Algoritma GADDAG ... Error! Bookmark not defined.
2.6 Algoritma Minimax ... Error! Bookmark not defined.
2.7 Algoritma Negascout... Error! Bookmark not defined.
2.8 Cocos 2d-x... Error! Bookmark not defined.
BAB III METODE PENELITIAN ... Error! Bookmark not defined.
3.1 Desain Penelitian ... Error! Bookmark not defined.
3.2 Metode Penelitian... Error! Bookmark not defined.
3.2.1 Proses Pengumpulan Data ... Error! Bookmark not defined.
3.2.2 Proses Pembangunan Perangkat Lunak . Error! Bookmark not defined.
3.2.3 Teknik Analisis Data ... Error! Bookmark not defined.
3.3 Alat dan Bahan Penelitian ... Error! Bookmark not defined.
BAB IV HASIL PENELITIAN DAN PEMBAHASAN ... Error! Bookmark not defined.
4.1 Perumusan Masalah... Error! Bookmark not defined.
4.2 Pengumpulan Data ... Error! Bookmark not defined.
4.2.1. Studi Literatur ... Error! Bookmark not defined.
4.2.2. Observasi Permainan Scrabble ... Error! Bookmark not defined.
4.3 Pembahasan Game ... Error! Bookmark not defined.
4.3.1. Perancangan Gameplay ... Error! Bookmark not defined.
4.3.2. Antarmuka Game ... Error! Bookmark not defined.
4.3.3. Kecerdasan Buatan pada Game ... Error! Bookmark not defined.
(6)
4.4.1. Konversi Kamus kedalam Graf dengan Algoritma GADDAG ... Error! Bookmark not defined.
4.4.2. Penelusuran Langkah Menggunakan Algoritma GADDAG ... Error! Bookmark not defined.
4.4.3. Perhitungan Evaluasi Nilai Langkah .... Error! Bookmark not defined.
4.4.4. Pembuatan Game Tree... Error! Bookmark not defined.
4.4.5. Pencarian Langkah Optimal Menggunakan Algoritma Negascout Error! Bookmark not defined.
4.5 Pengujian Game ... Error! Bookmark not defined.
4.5.1. Performansi Computer Player ... Error! Bookmark not defined.
4.5.2. Penilaian Kualitas Permainan Berdasarkan Hasil Bermain Player
Error! Bookmark not defined.
BAB V PENUTUP ... Error! Bookmark not defined.
5.1 Kesimpulan... Error! Bookmark not defined.
5.2 Saran ... Error! Bookmark not defined.
DAFTAR PUSTAKA ... Error! Bookmark not defined.
(7)
IMPLEMENTASI ALGORITMA GADDAG DAN NEGASCOUT UNTUK OPTIMALISASI COMPUTER PLAYER DALAM PERMAINAN
SCRABBLE
ABSTRAK
Scrabble merupakan salah satu permainan yang termasuk kedalam board games yang memerlukan strategi tersendiri untuk mendapatkan skor yang tinggi sehingga permainan dapat dimenangkan. Eksistensi scrabble dapat terlihat salah satunya dari adanya penyelenggaraan rutin turnamen. Seiring berkembangnya teknologi, bermunculan permainan scrabble yang dibuat ke dalam bentuk computer game sebagai sarana hiburan atau sarana berlatih untuk meningkatkan kemampuan bagi pengguna terutama yang memiliki ketertarikan terhadap turnamen scrabble. Agar computer game dapat mendukung sebagai sarana berlatih turnamen maka perlu diterapkan aturan turnamen didalamnya. Computer player dilibatkan sebagai lawan main dimana kecerdasan buatan dapat diterapkan pada computer player agar dapat berpikir sesuai dengan aturan yang ada dalam scrabble. Dalam penelitian ini dipilih Algoritma GADDAG dan Negascout untuk diterapkan pada computer player. Berdasarkan hasil penelitian yang dilakukan, kedua algoritma dapat menyelesaikan permainan kurang dari batas waktu serta mampu membentuk bingo setiap kali mendapatkan blank tiles namun di sisi lain memori yang dibutuhkan menjadi salah satu perhatian disebabkan banyaknya node yang dibangkitkan dan dilibatkan dalam proses berpikir. Selain itu computer game yang dibuat terbukti memiliki kualitas yang baik dimana dari segi aspek kemudahan penggunaan, kelengkapan fitur, performansi, dan kegunaan masing- masing mendapatkan nilai rata rata 80% berdasarkan hasil penilaian pengguna. Computer game yang dibangun juga dinilai dapat menjadi salah satu pilihan sarana berlatih turnamen scrabble.
(8)
IMPLEMENTATION OF GADDAG AND NEGASCOUT ALGORITHM FOR OPTIMALIZATION OF COMPUTER PLAYER IN SCRABBLE
GAME
ABSTRACT
Scrabble is one of board games that require it own strategy to get a big score in the end so the game can be won. The existence of scrabble can be seen from the tournaments that are regularly held. As the development of technology, there are a lot of scrabble are made in form of computer game as a means of entertainment and practice to improve the ability especially user who have interests in scrabble tournament.In order to make computer game that support tournament practicing,it is necessary to apply the rules of the tournament. Computer player is involved as an opponent and has an artificial intelligent so it could think according to the rules in scrabble. This research choose GADDAG and Negascout algorithm to be applied in computer player. According to the result of research that has been done, both algorithm could finished the game before the time is up and formed bingo when it get a blank tiles but in the other side, memory that needed is one of the concerns because there is a lot of node are made and involved in the process. Moreover, the computer game that has been created has good quality in aspects of ease of use, completeness of features, performance, and usability that each get an average value 80% according to user judgement. The computer game that has been created also considered to be the one of option game for practicing scrabble tournament.
(9)
BAB I PENDAHULUAN
1.1Latar Belakang Masalah
Permainan merupakan salah satu sarana hiburan bahkan sebagai sarana untuk belajar. Selain itu permainan dapat melibatkan pemain untuk menyelesaikan permainan sesuai dengan aturan yang ada dalam permainan sehingga pemain memerlukan strategi untuk dapat menyelesaikan bahkan memenangkan permainan. Menurut Salen & Zimmerman (2003) permainan atau game didefinisikan sebagai sebuah sistem dimana pemain (players) terlibat dalam permasalahan buatan, ditentukan oleh aturan, yang memberikan hasil terukur.
Terdapat beberapa jenis permainan yang ada, Crawford (1984) membagi permainan dalam beberapa jenis yaitu board games, card games, athletic games, children’s game, dan computer games. Dari berbagai jenis permainan tersebut, survey dari ESA (Entertainment Software Association) pada tahun 2014 board games termasuk kedalam jenis permainan yang sering dimainkan baik berupa online games maupun mobile games, detail dari survey dapat dilihat pada gambar 1.1 . Board game sering dimainkan karena daya tariknya dimana keadaan permainan akan berbeda dengan keadaan saat bermain sebelumnya sehingga pemain tidak mudah merasa jenuh. Jumlah pemain
board game terdiri dari dua pemain atau lebih sehingga terdapat interaksi sosial antar pemain yang pada akhirnya dapat menambah keseruan dari
(10)
permainan yang dimainkan. Selain itu, seringkali board games membutuhkan strategi dalam bermain sebagai contoh catur, monopoli, scrabble, dan stratego sehingga dapat melatih daya pikir pemain.
Gambar 1.1 Kepopuleran board gametahun 2014
Salah satu permainan dari jenis board game adalah scrabble, kegunaan
scrabble sendiri tidak hanya sebagai sarana hiburan tetapi juga dapat menjadi sarana berlatih strategi serta memperkaya kosa kata dalam bahasa Inggris. Eksistensi yang dimiliki scrabble dapat terlihat salah satunya dengan adanya turnamen yang rutin digelar di beberapa negara dimana terdapat salah satu komite yang menangani peraturan turnamen dan jadwal global tournaments
(11)
3
Seiring perkembangan teknologi, permainan scrabble dibuat ke dalam bentuk
computer game. Sebuah computer game dapat menjadi sarana untuk berlatih dan meningkatkan keahlian seseorang dalam bermain scrabble terutama bagi pengguna yang memiliki ketertarikan terhadap turnamen scrabble. Computer game yang dibuat dapat memiliki nilai lebih sebagai sarana berlatih untuk turnamen dengan cara menerapkan aturan turnamen. Sementara itu salah satu
computer game scrabble yang telah beredar adalah Scrabble yang dikembangkan oleh funkitron diproduksi oleh Game House dan berlisensi dari
Hasbro. Computer game tersebut tidak melibatkan aturan turnamen yang ditetapkan oleh WESPA dimana kamus yang dipakai adalah OSPD (Official Scrabble Player Dictionary) karena aturan yang dipakai berdasarkan aturan standar dari Hasbro serta tidak menerapkan aturan waktu (http://www.funkitron.com/HowToPlay/HowToPlay.htm). Selain computer game tersebut, terdapat pula aplikasi bernama Quackle berupa analysis tool yang memiliki kelebihan fitur dengan memperlihatkan daftar kemungkinan – kemungkinan langkah terbaik yang diurutkan dan kamus yang dapat dipilih salah satunya adalah CSW12 namun sama halnya dengan computer game
sebelumnya dimana pada aplikasi Quackle tidak diterapkan aturan waktu (http://www.word-buff.com/free-scrabble-game.html). Berdasarkan kedua aplikasi tersebut maka dibuat computer game dengan menerapkan aturan turnamen dan memiliki konsep berdasarkan kelebih dan kekurangan kedua aplikasi tersebut.
(12)
Permainan scrabble yang berupa computer game pada umumnya melibatkan dua pemain dimana salah satu pemain merupakan computer player
yang menjadi lawan pengguna. Adanya peran computer player sebagai lawan pengguna menjadikan computer player sebagai salah satu aspek penting dalam pembuatan permainan scrabble , oleh karena itu dalam hal tersebut kecerdasan buatan dapat diterapkan. Penerapan kecerdasan buatan diperlukan dalam perancangan computer player agar dapat berpikir dan mengambil keputusan untuk mencapai kemenangan, selain itu di sisi lain kecerdasan buatan dapat berperan sebagai game solver bagi pengguna untuk mencari jalan keluar. Kecerdasan buatan dianggap perlu dalam pembuatan computer player
mengingat kerumitan yang ada dalam permainan scrabble. Beberapa kerumitan yang dimiliki permainan scrabble diantaranya adalah beberapa faktor yang harus dipertimbangkan saat pemain menaruh sebuah kata hasil penyusunan dari beberapa huruf yang ada pada rack . Saat giliran tiba, akan muncul beberapa kemungkinan kata yang dapat ditaruh di atas papan. Salah satu pertimbangan adalah langkah mana yang dapat diambil untuk mendapat skor yang tinggi mengingat terdapat keunikan pada papan scrabble yaitu double word, triple word, double letter, triple letter serta bobot yang dimiliki setiap huruf. Pertimbangan lainnya adalah perancangan game yang membutuhkan computer player yang dapat berpikir cepat mengingat adanya batasan waktu 25 menit dalam satu permainan dalam turnamen untuk setiap pemain.
(13)
5
Permainan scrabble memerlukan proses berpikir untuk penyusunan huruf dalam pembentukan kata serta mencari langkah yang memungkinkan untuk menaruh huruf yang sudah disusun. Sebelumnya telah dilakukan penelitian oleh Nathaniel, Sherriff, dan Randy (2007) mengenai penerapan kecerdasan buatan dalam permainan scrabble melibatkan algoritma DAWG (Directed Acyclic Word Graph) yang berperan untuk menyusun huruf dan pencarian langkah. Selain algoritma DAWG, terdapat pula algoritma GADDAG atau
dikenal sebagai “two way” DAWG. Algoritma GADDAG dinilai lebih cepat
dikarenakan pada algoritma DAWG membutuhkan algoritma backtracking
untuk melakukan pengecekan penyusunan kata dari urutan belakang.
Berdasarkan penelitian yang sudah dilakukan oleh Steven A.Gordon (A Faster Scrabble Move Generation Algorithm,1994) keuntungan dari kecepatan algoritma GADDAG adalah jika permainan scrabble menggunakan aturan batasan waktu permainan sehingga dibutuhkan proses berpikir yang cepat, selain itu pada akhir permainan dimana susunan huruf yang dimiliki lawan dapat diterka sehingga algoritma yang cepat dapat membuat pencarian yang lebih mendalam untuk menentukan langkah apa saja yang memungkinkan untuk diambil. Setelah seluruh langkah yang memungkinkan didapat maka perlu pertimbangan selanjutnya untuk mengambil keputusan langkah yang paling optimal. Memilih langkah dengan poin tertinggi bukanlah cara yang terbaik sehingga salah satu cara yang dapat dilakukan untuk pengambilan langkah optimal saat permainan berlangsung berdasarkan penelitian Sheppard (2002) adalah evaluasi pada rack berupa tiles yang tersisa dan perbandingan
(14)
tiles vokal dan konsonan jika sebuah langkah diambil, dimana dengan cara ini pemain dapat memanfaatkan good tiles dengan baik sehingga dapat meraih poin yang tinggi pada beberapa giliran kedepan. Selain hal tersebut, evaluasi
rack diperlukan karena saat permainan berlangsung pemain tidak dapat mengetahui tiles yang dimiliki lawan serta tiles seperti apa yang akan didapatkan kedepannya.
Keadaan akan berbeda ketika permainan mendekati akhir dimana pemain dapat mengetahui tiles yang dimiliki lawan sesuai keadaan papan karena dalam letter bag tidak ada lagi tiles yang tersisa. Pengambilan langkah yang optimal pada keadaan tersebut dapat dilakukan dengan cara yang berbeda dengan membentuk sebuah game tree berisi alur permainan yang dapat terjadi hingga akhir kemudian dilakukan evaluasi dengan menerapkan konsep algoritma minimax. Hal ini seringkali dilakukan dalam permainan yang termasuk kedalam kategori board games dengan tujuan untuk minimalisasi kemungkinan kekalahan dengan cara maksimalisasi keadaan dimana salah satunya diterapkan dalam permainan checkers oleh Kurniawan, Delima, dan Antonius (2012). Berdasarkan penjelasan tersebut maka algoritma NegaScout
dapat diterapkan saat mendekati akhir permainan untuk menghindari kekalahan maupun meminimalisasi selisih poin kekalahan atau memaksimalkan selisih poin kemenangan dalam scrabble. Algoritma
NegaScout merupakan optimalisasi dari algoritma Minimax dengan melakukan pendekatan dari negamax sehingga negascout dinilai sebagai algoritma yang tepat untuk diterapkan karena jumlah node yang dilibatkan
(15)
7
pada pohon pencarian lebih sedikit sehingga pencarian langkah yang terbaik dapat dilakukan lebih cepat. Berdasarkan uraian masalah tersebut maka penelitian ini akan difokuskan pada implementasi algoritma GADDAG dan algoritma NegaScout pada computer player dalam permainan scrabble serta kualitas dari permainan yang dikembangkan.
1.2Rumusan Masalah
Berdasarkan latar belakang, terdapat beberapa rumusan masalah yaitu
1. Bagaimana mengimplementasikan algoritma GADDAG dan NegaScout
pada computer player dalam permainan scrabble?
2. Bagaimana performansi algoritma GADDAG dan NegaScout untuk memenangkan computer player dalam permainan scrabble?
3. Bagaimana penilaian dan tanggapan pengguna terhadap permainan
scrabble yang dikembangkan? 1.3Batasan Masalah
Beberapa batasan masalah dalam penelitian yang dilakukan adalah sebagai berikut :
1. Ukuran papan yang digunakan sesuai standar yaitu 15 X 15 petak. 2. Kecerdasan buatan yang diterapkan difokuskan pada penyusunan kata
dan pencarian langkah optimal. Berkaitan dengan hal tersebut algoritma yang digunakan dalam pencarian kata adalah algoritma GADDAG dan untuk pencarian langkah optimal adalah algoritma
(16)
3. Kamus yang digunakan dalam permainan berasal dari Collins Scrabble Words (CSW) tahun 2012.
4. Aplikasi dikembangkan menggunakan framework Cocos 2d – x. 5. Aturan yang dipakai dalam permainan sesuai dengan aturan turnamen
berdasarkan waktu,jenis kamus, jumlah pemain, serta papan yang digunakan.
6. Optimalisasi pada computer player berdasar dari performansi algoritma yang diukur dari indikator kecepatan, node yang dibangkitkan, serta kemenangan computer player.
7. Permainan yang dikembangkan difokuskan kepada pengguna yang terbiasa bermain scrabble menggunakan teknik turnamen.
1.4Tujuan Penelitian
Penelitian dilakukan untuk mengetahui bagaimana implementasi serta mengukur perfomansi algoritma GADDAG untuk mencari kemungkinan kata yang dapat dibuat dan algoritma NegaScout untuk pencarian solusi optimum sehingga computer player dapat memenangkan permainan scrabble serta penilaian pengguna terhadap permainan yang dikembangkan.
1.5Manfaat Penelitian a. Bagi peneliti
1. Menambah wawasan mengenai kecerdasan buatan terutama algoritma yang digunakan.
2. Memberikan gambaran lebih lanjut untuk pengembangan permainan yang berdasar dari scrabble.
(17)
9
b. Bagi dunia penelitian dan masyarakat umum
1. Menambah studi literatur dalam perancangan computer player untuk permainan scrabble.
2. Menambah studi literatur algoritma yang diterapkan dalam penelitian terutama untuk pembuatan permainan strategi dan berkaitan dengan penyusunan huruf.
1.6Sistematika Penulisan
Sistematika dalam penulisan skripsi ini adalah sebagai berikut :
BAB I PENDAHULUAN
Bab pendahuluan membahas mengenai latar belakang masalah, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode yang digunakan serta sistematika penulisan.
BAB II KAJIAN PUSTAKA
Bab ini berisi landasan teori serta informasi yang dijadikan sumber berkaitan dengan perancangan permainan, kecerdasan buatan, serta algoritma yang diterapkan di dalam penelitian.
BAB III METODE PENELITIAN
Bab ini berisi langkah – langkah yang dilakukan dalam penelitian dengan membahas lebih lanjut permasalahan serta melakukan pengembangan model untuk dapat menyelesaikan masalah.
(18)
BAB IV HASIL PENELITIAN DAN PEMBAHASAN
Bab ini memuat hasil analisis dari penelitian yang dilakukan serta pembahasan penerapan algoritma dalam menjawab dan menyelesaikan permasalahan.
BAB V PENUTUP
Bab penutup berisi kesimpulan dari hasil analasis dari penelitian sebagai jawaban dari rumusan masalah serta saran dari penulis yang dapat menunjang untuk pengembangan penelitian lebih lanjut.
(19)
BAB III
METODE PENELITIAN
3.1Desain Penelitian
Gambar 3.1 Skema Desain Penelitian
Desain Penelitian dibuat untuk menggambarkan tahapan yang dilakukan oleh peneliti selama penelitian berlangsung. Model yang Tahap requirement definition
Perumusan masalah
Observasi dan studi literatur permainanscrabble
Studi literatur kecerdasan buatan
Tahap system and software design
Perancangan
gameplay
Perancangan kecerdasan buatan
Tahap integration system and testing
Menerapkan kecerdasan buatan kedalam game
Pengujian performansi kecerdasan buatan
Tahap implementation and unit testing
Implementasi
gameplay
Implementasi modul kecerdasan buatan
Dokumentasi dan hasil analisis pengujian
(20)
digunakan untuk membuat desain pengembangan aplikasi adalah model
waterfall Ian Summerville. Berdasarkan skema desain pengembangan aplikasi pada gambar 3.1, tahapan yang dilakukan dalam penelitian adalah:
1. Perumusan masalah, merupakan tahap awal dalam penelitian dimana perumusan masalah dapat membantu dalam penentuan tujuan dan target yang harus dicapai saat penelitian dilakukan. Permalasahan yang diangkat adalah bagaimana membuat sebuah
computer player untuk permainan scrabble dengan menerapkan kecerdasan buatan agar dapat memenangkan permainan.
2. Observasi dan studi literatur permainan scrabble, observasi dilakukan dengan cara memainkan permainan scrabble yang sudah ada di pasaran. Tujuan observasi tersebut dilakukan peneliti agar dapat memahami alur dan aturan permainan dengan baik serta mengetahui perbedaan pada masing masing permainan. Selain itu observasi dapat membantu peneliti dalam mengetahui kecerdasan buatan yang dapat diterapkan dalam permainan scrabble sehingga dapat menunjang dalam pemilihan algoritma yang tepat dan strategi untuk memenangkan permainan. Sementara itu, studi literatur pemainan scrabble dilakukan untuk mengatahui riset – riset yang sudah dilakukan sebelumnya termasuk strategi mengenai permainan scrabble.
(21)
3. Studi literatur kecerdasan buatan dilakukan untuk mencari teori dan cara kerja yang berkaitan dengan kecerdasan buatan yang dapat diterapkan kedalam permainan scrabble.
4. Perancangan gameplay berdasar pada hasil observasi peneliti dimana dalam tahap ini melibatkan pemilihan kamus, alur permainan dan cara bermain, serta asumsi aturan pada permainan yang dibuat agar dapat menjawab permasalahan yang ada.
5. Perancangan kecerdasan buatan merupakan tahap dimana peneliti menentukan algoritma yang cocok untuk diterapkan serta tujuan tahap ini dilakukan untuk mengetahui batasan peran kecerdasan buatan dalam game.
6. Implementasi gameplay merupakan tahap dimana peneliti mengimplementasikan rancangan gameplay pada tahap sebelumnya setelah itu dilakukan testing untuk mengetahui apakah permainan yang dibuat sudah berjalan sesuai alur yang diinginkan atau tidak.
7. Implementasi modul kecerdasan buatan merupakan tahap dimana algoritma yang dipilih sebagai kecerdasan buatan diimplementasikan dalam bentuk modul (unit program) setelah itu dilakukan testing untuk mengetahui apakah algoritma sudah berjalan dengan baik atau belum.
(22)
8. Menerapkan kecerdasan buatan kedalam game dilakukan untuk menyempurnakan game yang dibuat sehingga game siap untuk diuji pada tahap berikutnya.
9. Pengujian performansi kecerdasan buatan, pada tahap ini game
yang telah dibangun kemudian diujicoba. Uji coba dilakukan untuk memastikan implementasi kecerdasan buatan berjalan dengan baik setelah itu dilakukan pengukuran performansi dari kecerdasan buatan berdasarkan kecepatan, memori yang terpakai serta kemenangan.
10.Dokumentasi dan hasil analisis pengujian, setelah tahap pengujian selesai selanjutnya diambil kesimpulan yang berupa hasil analisis dari pengujian yang telah dilakukan kemudian seluruh kegiatan penelitian serta hasil penelitian didokumentasikan ke dalam bentuk tulisan serta dokumen teknis.
3.2Metode Penelitian
3.2.1 Proses Pengumpulan Data
Peneliti mengumpulkan data serta informasi untuk menunjang penelitian yang dilakukan. Pengumpulan data dilakukan dengan cara studi literatur dan observasi.
a. Studi Literatur
Mengumpulkan data serta informasi mengenai kecerdasan buatan, algoritma GADDAG, algoritma Negascout,
(23)
scrabble, pengembangan game melalui e-book, jurnal, karya ilmiah, internet, serta perpustakaan.
b. Observasi
Observasi dilakukan untuk mengetahui dan memahami aturan dasar, gameplay, dan strategi pada permainan
scrabble dengan cara memainkan permainan scrabble yang sudah ada sebelumnya.
c. Wawancara
Wawancara merupakan salah satu kegiatan yang dilakukan dalam uji coba langsung kepada pengguna. Uji coba yang dilakukan merupakan uji coba terbatas dengan mengambil lokasi di Universitas Pendidikan Indonesia yang dilakukan pada anggota klub scrabble bernama ESCAPE (English Scrabble Player) yang merupakan bagian dari EWC (English Writing Community). Responden merupakan anggota klub yang terbiasa dengan teknik bermain turnamen. Wawancara yang dilakukan bertujuan untuk mendapatkan penilaian terhadap game yang dibangun selain itu dengan dilakukannya wawancara maka peneliti dapat mempelajari lebih dalam mengenai jawaban yang diberikan oleh setiap responden dan mendapatkan masukan yang lebih terperinci untuk pengembangan selanjutnya.
(24)
Sebelum responden melakukan wawancara, terlebih dahulu responden memainkan game yang telah dibangun.
3.2.2 Proses Pembangunan Perangkat Lunak
Pembangunan perangkat lunak pada penelitian menggunakan model waterfall(Sommerville,2011) dimana proses yang berjalan adalah sebagai berikut:
Gambar 3.2 Model waterfall pembangunan perangkat lunak (Sommerville,2011)
Berdasarkan gambar 3.2 model waterfall yang dipakai terdiri dari beberapa aktivitas beruparequirements definition,
system and software design, implementation and unit testing,
integration and system testing, operation and maintanance. Pada model waterfall sommerville, dapat terjadi kemungkinan untuk kembali ke tahap sebelumnya jika saat berada pada aktivitas
(25)
tertentu membutuhkan perbaikan. Penjabaran aktivitas pada model
waterfall adalah sebagai berikut :
a. Requirements definition
Tahap awal dimana adanya analisis untuk menentukan kebutuhan, batasan, dan tujuan (goal) dari perangkat lunak sesuai yang diinginkan. Hal tersebut kemudian didefinisikan secara rinci dan terbentuk sebagai spesifikasi sistem.
b. System and software design
System design merupakan proses perancangan perangkat keras maupun perangkat lunak yang dilibatkan untuk menunjang sistem yang akan dibangun. Sementara itu
software design merupakan proses perancangan yang melibatkan identifikasi dan menggambarkan dasar sistem serta hubungan satu sama lain.
c. Implementation and unit testing
Pada tahap ini, software design yang telah dilakukan sebelumnya kemudian diimplementasikan dalam bentuk unit program. Setelah unit program dibuat, kemudian dilakukan testing pada unit program tersebut untuk memastikan implementasi berjalan dengan baik.
(26)
d. Integration and system testing
Setelah semua unit program berhasil diimplementasikan dan lolos testing maka dilanjutkan dengan mengintegrasikan setiap unit untuk membentuk sistem yang diinginkan. Sistem yang sudah dibentuk kemudian di tes kembali untuk memastikan unit program dapat berjalan satu sama lain dalam sistem dan sistem yang dibuat sudah memenuhi kebutuhan.
e. Operation and maintanance
Tahap ini merupakan tahap dimana sistem sudah dipasang kemudian melakukan maintanance ketika terdapat kesalahan atau error yang tidak ditemukan sebelumnya saat pembangunan sistem berlangsung. Maintanance juga dilakukan jika terdapat kebutuhan baru yang perlu ada pada sistem.
3.2.3 Teknik Analisis Data
Penilaian game yang dibangun dilakukan dengan cara wawancara dan meliputi 4 aspek yaitu kemudahan penggunaan, kelengkapan fitur, performansi, serta kegunaan. Setiap pertanyaan yang menyangkut setiap aspek disediakan jawaban dengan menggunakan skala Likert dalam 5 pilihan skala. Skala Likert
menurut Sugiyono (2009) digunakan untuk mengukur sikap, pendapat, dan persepsi seseorang atau sekelompok orang tentang
(27)
fenomena sosial. Hasil dari penilaian game berupa data kualitatif dan disajikan dalam bentuk persentase. Persentase dari hasil penilaian didapatkan dari melakukan perhitungan rating scale dengan rumus sebagai berikut (Sugiyono,2009) :
P =
Keterangan:
P = Angka Persentase
Skor ideal = skor tertinggi tiap butir × Jumlah responden × Jumlah butir
3.3Alat dan Bahan Penelitian
Penelitian dilakukan dengan melibatkan beberapa perangkat yang berupa perangkat keras dan perangkat lunak dengan spesifikasi sebagai berikut
Perangkat keras :
1. Processor Core i5-4200U 2.30 GHz 2. RAM 4 GHz
3. Harddisk 500 GB
4. Monitor Resolusi 1366 x 768, 32 bit 5. Mouse dan Keyboard
Perangkat lunak : 1. Notepad ++
(28)
2. Bahasa pemograman C++ 3. Visual Studio 2012
4. Game Framework Cocos2d –x 5. Inkscape
Selain perangkat dengan spesifikasi diatas, penelitian juga melibatkan beberapa bahan sebagai berikut :
1. Jurnal, karya ilmiah,serta e-book yang berkaitan dengan kecerdasan buatan, algoritma GADDAG, algoritma Negascout
serta permainan scrabble.
2. CSW (Collins Scrabble Words) tahun 2012, merupakan kamus yang dipakai dalam permainan dalam bentuk text file dengan format .txt .
3. Tutorial yang berisi pembuatan permainan menggunakan game framework Cocos2d –x yang diakses melalui internet.
4. Aturan permainan untuk keperluan pengujian. Pembuatan aturan permainan berdasarkan hal berikut
Tabel 3.1 Aturan permainan scrabble tanpa media elektronik
No Jenis permainan Ukuran papan Jumlah pemain Batasan waktu 1 Turnamen 15 x 15
petak 2 orang
25 menit/ pemain 2 Normal 15 x 15
petak
2 – 4
(29)
Tabel 3.2Aturan dan Kecerdasan Buatan Scrabble Menggunakan Media Elektronik
Nama AI (Pembuat) Maven (Hasbro)
Quackle
(Jason Katz-Brown & John O'Laughlin)
Ukuran papan 15 x 15 petak
Dapat di atur oleh pengguna (7 – 40
petak) Jumlah pemain 2 – 4 orang Dapat diatur oleh
pengguna Batasan waktu Tidak ada Tidak ada
Jenis Permainan (game) Analysis Tool
Jenis kamus
Official Scrabble Player Dictionary
(OSPD)
Sowpods, Twl (English Tournament World
List) , Ods,CSW (Colllins Scrabble
Words)
Kecerdasan buatan DAWG dan B*
GADDAG, static evaluation,dan
simulation
Berdasarkan tabel 3.1 dan tabel 3.2 maka aturan permainan yang dipakai dalam penelitian ini sesuai dengan tujuan penelitian adalah
a. Papan berukuran 15 x 15 petak b. Jumlah pemain terdiri dari 2 player
c. Setiap pemain memiliki waktu 25 menit dalam satu ronde 5. Berkaitan dengan penelitian maka disiapkan pula bahan untuk
(30)
dilakukan dengan cara bermain langsung game yang telah dibangun beberapa kali untuk mendapatkan data hasil bermain
computer player. Setiap hasil uji coba dikelompokan berdasaran waktu yang dihabiskan secara keseluruhan; berdasarkan algoritma GADDAG;dan algoritma NegaScout, poin yang dihasilkan, dan
node yang dibangkitkan. Beberapa uji coba dilakukan dengan melawan player yang selalu mengambil poin tertinggi dari pilihan langkah yang ada (greedy). Hal ini dilakukan untuk mengetahui kemungkinan cara greedy dalam memenangkan permainan.
6. Transkrip wawancara yang ditujukan kepada responden yang terbiasa bermain scrabble menggunakan aturan turnamen.
(31)
BAB V
PENUTUP
5.1Kesimpulan
Berdasarkan hasil penelitian implementasi algoritma GADDAG dan
Negascout untuk pembuatan computer player pada permainan Scrabble ini, maka dapar diambil beberapa kesimpulan sebagai berikut :
1. Algoritma GADDAG diimplementasikan dengan cara pembuatan graf yang berupa hasil konversi dari kamus dimana kemudian dilakukan penelusuran pada graf tersebut untuk mendapatkan kemungkinan langah yang diambil. Setiap kemungkinan langkah dievaluasi dan langkah dengan evaluasi tertinggi dipilih sebagai solusi. Sementara itu algoritma Negascout dapat diimplementasikan pada saat mendekati akhir permainan dengan cara melakukan pembuatan game tree terlebih dahulu yang berisi seluruh kemungkinan alur permainan hingga akhir. Selanjutnya algoritma Negascout diimplementasikan pada game tree
tersebut dengan cara penelusuran dan evaluasi sehingga menghasilkan langkah yang optimal.
2. Performansi dari indikator waktu yang dihasilkan dari computer player
relatif cepat terbukti dari keseluruhan pengujian yang dilakukan dimana permainan dapat diselesaikan sebelum batas waktu 25 menit habis. Berdasarkan 40 kali pengujian yang dilakukan, waktu yang dihabiskan paling cepat untuk menyelesaikan satu ronde permainan adalah 1 menit 4 detik sementara waktu yang dihabiskan paling banyak
(32)
adalah 17 menit 6 detik. Sementara itu 27 kali dari 40 kali uji coba dapat menghasilkan bingo dimana 24 kali diantaranya dikarenakan dalam rack yang dimiliki terdapat blank tiles sedangkan 3 kali diantaranya tidak memiliki blank tiles. Hal ini membuktikan bahwa masih terdapat kemungkinan pembentukan bingo tanpa blank tiles
tergantung pada tiles yang dimiliki dan keadaan papan. Computer player mampu mengalahkan lawan dengan teknik selalu mengambil poin terbesar pada setiap langkah dengan persentase kemenangan 70% dari 20 kali uji coba sehingga membuktikan bahwa strategi dibutuhkan untuk mencapai kemenangan dalam permainan scrabble. Namun di sisi lain cara kerja yang dilakukan melibatkan pembuatan node dalam prosesnya dimana hasil konversi dari kamus yang dipakai menghasilkan 2.611.993 node pada graf sementara game tree yang dibuat pada saat bermain dapat mencapai lebih dari 10.000 node sehingga dibutuhkan memori yang relatif besar.
3. Berdasarkan uji coba kepada responden dengan memainkan game
didapatkan hasil bahwa game yang dibangun memiliki nilai dengan persentase aspek kemudahan penggunaan mencapai 80%, aspek kegunaan mencapai 82%, aspek performansi non-player mencapai 90%, dan aspek kelengkapan fitur mencapai 80% sehingga kualitas
game termasuk kedalam kategori baik. Game yang dibangun juga dapat dijadikan sebagai sarana untuk berlatih scrabble sesuai dengan nilai yang diraih pada aspek kegunaan.
(33)
5.2Saran
Computer player serta game yang dibuat masih dapat dikembangkan lebih lanjut untuk menutupi kekurangan yang ada sesuai dengan hasil penelitian yang dilakukan. Berdasarkan hal tersebut maka saran yang diberikan dalam penelitian ini adalah sebagai berikut :
1. Computer player masih memiliki peluang kekalahan jika lawan main memiliki strategi mengenai positioning tiles mengingat pada papan
scrabble terdapat beberapa keunikan sehingga perlu ditambahkan evaluasi untuk mempertimbangkan hal ini.
2. Waktu yang dihabiskan untuk menelusuri kemungkinan langkah lebih banyak jika melibatkan blank tiles. Pada penelitian selanjutnya, waktu penelusuran tersebut dapat dipersingkat dengan cara sudah mengetahui terlebih dahulu huruf yang akan dipakai untuk blank tiles sehingga tidak perlu melakukan penelusuran dari huruf A-Z.
3. Proses pembentukan game tree melibatkan pembuatan node sehingga mempengaruhi memori yang dipakai dalam permainan. Memori yang dipakai dapat diperkecil dengan melakukan seleksi node yang perlu dibentuk terlebih dahulu sehingga game tree yang dibentuk lebih sederhan dan waktu evaluasi game tree lebih singkat.
4. Perlu ditambahkan beberapa fitur yang belum tersedia pada game
(34)
5. Jumlah sampel yang dilibatkan dalam pengujian lebih baik ditambah agar hasil penilaian yang didapat mengenai game dan computer player
(35)
DAFTAR PUSTAKA
Appel, A. W., & Jacobson, G. J. 1988. The world's fastest Scrabble
program.Communications of the ACM, 31(5), 572-578.
Brown,Jason-Katz dan O’Laughlin, John. 2007. How Quackle Plays Scrabble. (online),(http://people.csail.mit.edu/jasonkb/quackle/doc/how_quackle_pla ys_scrabble.html, diakses 16 Juni 2014)
Connolly, F., & Gren, D. 2012. Smart Scrabble playing-strategies and their impact.
Dapkus, M. R. A. H. M., & Rudwick, D. S. P. T. Creating Human-Like Suboptimal Players For Scrabble®.
Effendi, A. K., Delima, R., & Chrismanto, A. R. 2012. Implementasi Algoritma
Negascout Untuk Permainan Checkers. Jurnal Informatika, 8(1).
Gordon, S. A. 1994. A faster Scrabble move generation algorithm. Software: Practice and Experience, 24(2), 219-232.
Gordon, S. 1993. A comparison between probabilistic search and weighted heuristics in a game with incomplete information. In AAAI Fall 1993 Symposium on Games: Playing and Learning, AAAI Press Technical Report FS9302, Menlo Park, CA.
Juul, J. 2003. The game, the player, the world: looking for a heart of gameness. In DIGRA Conference.
(36)
Millington, Ian. 2006. Artificial Intelligence for Game. San Francisco: Morgan Kaufmann
Nathaniel, J., Sherriff, S., & Randy, R. 2007. Analisis Dan Disain Permainan
Scrabble Tingkat Mahir Dengan Pendekatan Intelejensia Semu. Skripsi Jurusan Informatika Universitas Bina Nusantara.
Reinefeld, A. 1983. An improvement of the Scout tree-search algorithm. ICCA Journal, 6(4), 4-14.
Russel, Stuart dan Norvig, Peter. 2010. Artificial Intelligence: A Modern Approach. New Jersey: Prentice Hall International, Inc
Sheppard, B. 2002. Towards Perfect Play of Scrabble. PhD thesis. Computer Science, Universiteit M aastricht, 2(00), 2.
Shoham, Y., & Leyton-Brown, K. (2008). Multiagent systems: Algorithmic, game-theoretic, and logical foundations. Cambridge University Press.
Sommerville, Ian. 2011. Software Engineering 9th Edition. Boston: Pearson
Sturtevant, N. R. 2003. Multi-Player Games: Algorithms and Approaches.
Disertasi University Of California. Los angeles.
Sugiyono. 2012. Metode Penelitian Pendidikan Pendekatan Kuantitatif, Kualitatif, dan R&D. Bandung: Alfabeta
WESPA Rules Commitee.2011.Game Rules. (online),( http://www.wespa.org/rules/RulesV2nov11.pdf , diakses 28 Mei 2014)
(37)
(1)
adalah 17 menit 6 detik. Sementara itu 27 kali dari 40 kali uji coba dapat menghasilkan bingo dimana 24 kali diantaranya dikarenakan dalam rack yang dimiliki terdapat blank tiles sedangkan 3 kali
diantaranya tidak memiliki blank tiles. Hal ini membuktikan bahwa
masih terdapat kemungkinan pembentukan bingo tanpa blank tiles
tergantung pada tiles yang dimiliki dan keadaan papan. Computer
player mampu mengalahkan lawan dengan teknik selalu mengambil
poin terbesar pada setiap langkah dengan persentase kemenangan 70% dari 20 kali uji coba sehingga membuktikan bahwa strategi dibutuhkan untuk mencapai kemenangan dalam permainan scrabble. Namun di
sisi lain cara kerja yang dilakukan melibatkan pembuatan node dalam
prosesnya dimana hasil konversi dari kamus yang dipakai menghasilkan 2.611.993 node pada graf sementara game tree yang
dibuat pada saat bermain dapat mencapai lebih dari 10.000 node
sehingga dibutuhkan memori yang relatif besar.
3. Berdasarkan uji coba kepada responden dengan memainkan game
didapatkan hasil bahwa game yang dibangun memiliki nilai dengan
persentase aspek kemudahan penggunaan mencapai 80%, aspek kegunaan mencapai 82%, aspek performansi non-player mencapai
90%, dan aspek kelengkapan fitur mencapai 80% sehingga kualitas game termasuk kedalam kategori baik. Game yang dibangun juga
(2)
5.2Saran
Computer player serta game yang dibuat masih dapat dikembangkan lebih
lanjut untuk menutupi kekurangan yang ada sesuai dengan hasil penelitian yang dilakukan. Berdasarkan hal tersebut maka saran yang diberikan dalam penelitian ini adalah sebagai berikut :
1. Computer player masih memiliki peluang kekalahan jika lawan main
memiliki strategi mengenai positioning tiles mengingat pada papan
scrabble terdapat beberapa keunikan sehingga perlu ditambahkan
evaluasi untuk mempertimbangkan hal ini.
2. Waktu yang dihabiskan untuk menelusuri kemungkinan langkah lebih banyak jika melibatkan blank tiles. Pada penelitian selanjutnya, waktu
penelusuran tersebut dapat dipersingkat dengan cara sudah mengetahui terlebih dahulu huruf yang akan dipakai untuk blank tiles sehingga
tidak perlu melakukan penelusuran dari huruf A-Z.
3. Proses pembentukan game tree melibatkan pembuatan node sehingga
mempengaruhi memori yang dipakai dalam permainan. Memori yang dipakai dapat diperkecil dengan melakukan seleksi node yang perlu dibentuk terlebih dahulu sehingga game tree yang dibentuk lebih
sederhan dan waktu evaluasi game tree lebih singkat.
4. Perlu ditambahkan beberapa fitur yang belum tersedia pada game
(3)
5. Jumlah sampel yang dilibatkan dalam pengujian lebih baik ditambah agar hasil penilaian yang didapat mengenai game dan computer player
(4)
DAFTAR PUSTAKA
Appel, A. W., & Jacobson, G. J. 1988. The world's fastest Scrabble program.Communications of the ACM, 31(5), 572-578.
Brown,Jason-Katz dan O’Laughlin, John. 2007. How Quackle Plays Scrabble. (online),(http://people.csail.mit.edu/jasonkb/quackle/doc/how_quackle_pla ys_scrabble.html, diakses 16 Juni 2014)
Connolly, F., & Gren, D. 2012. Smart Scrabble playing-strategies and their impact.
Dapkus, M. R. A. H. M., & Rudwick, D. S. P. T. Creating Human-Like Suboptimal Players For Scrabble®.
Effendi, A. K., Delima, R., & Chrismanto, A. R. 2012. Implementasi Algoritma Negascout Untuk Permainan Checkers. Jurnal Informatika, 8(1).
Gordon, S. A. 1994. A faster Scrabble move generation algorithm. Software: Practice and Experience, 24(2), 219-232.
Gordon, S. 1993. A comparison between probabilistic search and weighted heuristics in a game with incomplete information. In AAAI Fall 1993 Symposium on Games: Playing and Learning, AAAI Press Technical Report FS9302, Menlo Park, CA.
Juul, J. 2003. The game, the player, the world: looking for a heart of gameness. In DIGRA Conference.
(5)
Millington, Ian. 2006. Artificial Intelligence for Game. San Francisco: Morgan Kaufmann
Nathaniel, J., Sherriff, S., & Randy, R. 2007. Analisis Dan Disain Permainan Scrabble Tingkat Mahir Dengan Pendekatan Intelejensia Semu. Skripsi Jurusan Informatika Universitas Bina Nusantara.
Reinefeld, A. 1983. An improvement of the Scout tree-search algorithm. ICCA Journal, 6(4), 4-14.
Russel, Stuart dan Norvig, Peter. 2010. Artificial Intelligence: A Modern Approach. New Jersey: Prentice Hall International, Inc
Sheppard, B. 2002. Towards Perfect Play of Scrabble. PhD thesis. Computer Science, Universiteit M aastricht, 2(00), 2.
Shoham, Y., & Leyton-Brown, K. (2008). Multiagent systems: Algorithmic, game-theoretic, and logical foundations. Cambridge University Press.
Sommerville, Ian. 2011. Software Engineering 9th Edition. Boston: Pearson
Sturtevant, N. R. 2003. Multi-Player Games: Algorithms and Approaches. Disertasi University Of California. Los angeles.
Sugiyono. 2012. Metode Penelitian Pendidikan Pendekatan Kuantitatif, Kualitatif, dan R&D. Bandung: Alfabeta
(6)