Institutional Repository | Satya Wacana Christian University: Penerapan Finite State Automata pada Permainan Kartu Domino atau Permainan Gaple

  

Penerapan Finite State Automata Pada

Permainan Kartu Domino Atau Permainan Gaple

Artikel Ilmiah

  

Peneliti :

Venezia Thalia Metekohy (672013145)

Prof. Dr. Ir. Eko Sediyono, M.Kom

  

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Salatiga

  

September 2017

  1. Pendahuluan

  Teori Bahasa dan Automata merupakan salah satu bagian ilmu komputer yang didasari oleh model dan gagasan mendasar mengenai komputer. Sebagai keluaran dari automata, bahasa memungkinkan penyampaian gagasan dan pemikiran manusia, sedangkan sebagai ilmu yang juga mempelajari mengenai mesin abstrak, automata dapat membaca input berupa string dari alphabet yang diberikan dari input file [1].

  Dengan menerapkan Teori Bahasa dan Automata menggunakan konsep finite state , yang terbagi atas fungsi sebagai pengenal yaitu string-string dari suatu bahasa, dalam

  Automata

  hal ini bahasa sebagai masukan dari automata dan fungsi sebagai pembangkit yaitu string-string dari suatu bahasa, dimana bahasa sebagai keluaran dari automata. Salah satu contoh penerapan Teori Bahasa dan Automata juga dapat diterapkan pada permainan kartu domino atau permainan gaple. Gaple adalah permainan atau game sederhana yang digemari setiap kalangan, tua muda, kaya, miskin, perkotaan, pedesaan, semua gemar dengan permainan domino atau gaple. Permainan sederhana ini dapat mengasah kemampuan otak untuk mengatur strategi yang baik, bagaimana cara menentukan alur permainan, bagaimana cara agar dapat menghentikan pergerakan lawan atau menge-gap lawan. Bermain gaple tidak hanya mengeluarkan kartu yang berada pada tangan lalu menghabiskannya, strategi atau caranya juga bisa dengan membaca dan menghitung kartu yang ada di table game dan membandingkanya dengan kartu yang ada di tangan, dengan begitu tinggal mengisi ruas yang lain dan kartu akan cepat habis dibanding pemain lain .

  Dalam penerapannya dapat difokuskan pada alur jalan permainan gaple untuk 4 (empat) orang pemain, dengan masing-masing pemain mendapat 7 (tujuh) kartu dari hasil acakan. Setiap yang ada menyatakan tahap per tahap dari permainan, mulai dari initial state sampai

  state

  dengan final state yang merupakan hasil akhir dari permainan dan fungsi transisi menyatakan semua state berikutnya yang dimungkinkan. Berdasarkan latar belakang tersebut maka dilakukan penelitian untuk menerapkan Teori Bahasa dan Automata dengan konsep finite state automata pada alur permainan kartu domino atau permainan gaple.

  2. Tinjauan Pustaka

  Banyaknya penelitian sebelumnya yang menjelaskan tentang penerapan teori bahasa dan automata, salah satunya pada artikel ilmiah yang berjudul “Perancangan dan Implementasi Finite

  State Automata

  Pada Game Kuis Ular Tangga Berbasis Android” , menjelaskan bagaimana menerapkan dan mengimplementasikan teori bahasa automata pada game quiz ular tangga yang dikembangkan dalam satu aplikasi berbasis android. Pada penelitian ini Finite State Automata yang digunakan adalah NDFA (Non Deterministic Finite Automata), Finite Automata yang memiliki state yang banyaknya berhingga (terbatas) dan dapat berpindah-pindah dari satu state ke state yang lain. Perubahan state dinyatakan dengan fungsi transisi. State adalah kondisi atau keadaan atau kedudukan, dengan prinsip kerja sebagai berikut : (1) Menerima input string, (2) Membaca karakter awal dengan kontrol berada pada state awal, (3) Dengan kontrol atau karakter awal yang telah dibaca tadi, state akan berpindah ke state baru, (4) Proses berlanjut sampai semua string terserap habis, dan (5) Jika state akhir yang ditempati string habis tersebut berada dalam himpunan final state yang telah ditentukan, maka string tersebut diterima atau dikenali oleh Finite State Automata tersebut. Jika tidak, maka string tersebut ditolak atau tidak dikenali oleh Finite State Automata itu. Beberapa kesimpulan yang didapat bahwa semakin komplek desain automata, maka semakin banyak behavior game yang dapat dijalankan. Automata dapat membantu pengembangan game ular tangga sehingga game memiliki beberapa kemungkinan yang bisa terjadi. Game kuiz ular tangga membantu user dalam proses belajar yang tidak membosankan [2].

  Penelitian yang kedua “Perancangan dan Implementasi Finite Automata pada Simulasi

  

Vending Machine”. Menjelaskan bahwa Finite Automata dapat dijadikan sebagai logika dasar

  untuk membuat simulasi vending machine. Pada penelitian ini Finite State Automata yang digunakan adalah NDFA (Non Deterministic Finite Automata), dengan pendefinisian tupel pada batasan masalah dengan input adalah koin Rp 500,- dan Rp 1000,-, dan output-nya adalah empat macam minuman ringan atau makanan ringan, dengan sebelas input pada mesin ini dan Sembilan

  . Lewat rancangan state diagram berdasarkan konsep Mealy Machine yang telah dibuat,

  output

  maka aplikasi simulasi vending machine dapat dibuat, dan hasil dari setiap input yang dipilih oleh user pada aplikasi sesuai dengan hasil rancangan tersebut [3].

  Berdasarkan penelitian yang pernah dilakukan tentang teori bahasa dan automata dan , maka akan dilakukan penelitian tentang penerapan Finite State Automata Pada

  finite automata

  permainan kartu domino atau permainan gaple yang akan lebih difokuskan pada alur permainannya.

  Finite state automata / state otomata merupakan suatu model matematika dari suatu

  sistem yang menerima input dan output diskrit. Finite state automata merupakan mesin otomata dari bahasa regular. Suatu finite state automata memiliki state yang banyaknya berhingga, dan dapat berpindah-pindah dari suatu state ke state lain. Secara formal finite state automata dinyatakan oleh 5 tupel atau atau M=(Q,

  ∑, δ, S, F), dimana: [4] Q = himpunan state Σ = himpunan alfabet masukan δ = fungsi transisi S = initial state atau state awal F = final state atau himpunan state akhir

  Contoh State Diagram Finite State Automata [4] Gambar 1

  Keterangan dari Gambar 1, sebagai berikut: Q = {q , q , q }

  1

2 S = q

  F = {q }

  1

  , a), q ), ( (q , b), q ), ( (q , a), q ), ( (q , b), q ), ( (q , a), q ), ( (q , b), q )}

  1

  1

  1

  

1

  2

  2

  1

  2

  2

  δ = { ( (q

  Finite state automata yang memiliki tepat satu state berikutnya untuk setiap simbol

  masukan yang diterima disebut Deterministic Finite Automata (DFA). Berbeda halnya dengan

  (N-DFA) dari suatu input bisa dihasilkan lebih dari satu state

  Non Deterministic Finite Automata berikutnya.

  NDFA (Non Deterministic Finite Automata) adalah salah satu bagian dari automata berhingga atau Finite State Automata (FSA). Pada Non Deterministic Finite Automata dimungkinkan satu simbol menimbulkan transisi ke lebih dari satu kondisi dan

  (NFA)

  memberikan beberapa kemungkinan gerakan sehingga keluarannya tidak dapat dipastikan. Selain itu dimungkinkan juga terjadinya transisi spontan atau transisi

  • –ε.

  NDFA (Non Deterministic Finite Automata) didefenisikan sebagai M yang merupakan sebuah koleksi dari 5 obyek (Q,

  Σ , s , F , ∆ ) dimana : adalah sebuah himpunan hingga dari state. Q Σ adalah sebuah abjad masukan. s adalah salah satu kedudukan di dalam Q yang ditetapkan sebagai kedudukan permulaan.

F adalah sebuah koleksi dari kedudukan-kedudukan yang diterima atau final (koleksi / himpunan

dari kondisi akhir).

   adalah sebuah relasi pada (Q x Σ) x Q dan dinamakan relasi transisi.

  

Gambar 2 Rangkaian NDFA (Non Deterministic Finite Automata) [5]

  Rangkaian pada Gambar 2 tergolong dalam NDFA (Non Deterministic Finite

  

Automata ) karena beberapa transisi yang berasal dari satu kondisi yaitu kondisi q0 memiliki

input

  yang sama yaitu „a‟. Rangkaian tersebut akan menerima string ab, aab, aabaab, aba, dan abaaba, tetapi tidak akan menerima string abb dan aabb. Gaple adalah permainan atau game sederhana yang disukai semua kalangan tua, muda, kaya, miskin, perkotaan, pedesaan semua suka dengan permainan ini. Bisa bermain domino gaple mampu menambah nilai plus dalam pergaulan, karena permainan ini sering dijumpai pada acara jamuan seperti hari-hari atau malam persiapan sebelum acara resepsi pernikahan, pasaran anak, dan acara lainnya.

  Kartu Domino Gaple [6] Gambar 3 Kartu gaple terdiri dari 28 kartu. Setiap kartu terdapat dua sisi angka dari 0-6. Dalam permainan gaple biasanya terdiri dari 4 orang pemain, yang setiap pemainnya diberi 7 kartu. Di kartu gapleh ada yang namanya BALAK, yaitu satu kartu yang mempunyai angka kembar di dua sisi. Contohnya: 0-0, 1-1, 2-2, 3-3, dan seterusnya. Di awal permainan biasanya dikeluarkan 1-1 lalu dilanjutkan menyusun kartu mengikuti kartu yang ada di meja. Contohnya: 1-1, 1-3, 3-4, 4-5 dan seterusnya sampai ada salah satu pemain yang kartunya habis.

  Gambar 4 Alur Permainan Kartu Domino Gaple

  Jika ternyata angka kartu di meja yang harus diisi tidak ada angkanya di kartu yang dipegang maka dilewati dan lanjut pada pemain berikutnya. Bila sudah ada yang habis maka diadakan perhitungan. Perhitungannya siapa yang paling besar dianggap sebagai yang kalah, dan biasanya yang kalah tersebut harus mengocok kartu. Dalam permainan menyusun angka dalam gaple terdapat taktik dan teknik tersendiri agar kartu di tangan bisa habis ataupun mengalahkan teman yang bersebelah. Bermain gaple tidak sama seperti bermain bola yang hanya fokus pada gawang. Dalam gaple tiap putaran akan berbeda konsep bermainnya. Peraturan bermain gaple adalah sebagai berikut :

  Terdiri dari minimal 4 orang Setiap pemain diberi 7 kartu Bila ada salah satu pemain yang mempunyai minimal 5 kartu balak maka akan dilakukan pengocokan ulang Penyusunan kartu dilakukan secara bergiliran atau berurutan, biasanya mengikuti arah jarum jam Bila saat giliran angka kartu di tangan tidak ada yang cocok dengan kartu di meja permainan maka pemain tersebut lewat ke pemain berikutnya Penyusunan kartu dilakukan sampai kartunya habis dan langsung diadakan perhitungan angka masing-masing pemain, jika masih tersisa akan dihitung jumlah angka yang paling besar itulah yang kalah

  Pemain yang kartunya habis cepat dinyatakan sebagai pemenang Kartu awal yang dikeluarkan oleh pemain yang menang pada game sebelumnya tidak boleh balak 6 dan balak kosong

  Seperti yang telah dikatakan sebelumnya, bermain gaple merupakan permainan dengan teknik dan strategi walaupun hanya harus mengisi susunan kartu. Beda kartu maka beda pula konsep dan teknik yang dimainkan. Untuk dapat menggunakan teknik harus pandai dalam menghitung kartu yang ada. Misalnya, ada 5 kartu yang mempunyai angka 3 (3-0, 3-1, 3-2, 3-3,

  3-4) maka mudah untuk memenangkan permainan. Walaupun tidak menang, juga tidak akan kalah. Kenapa? karena angka 3 sudah banyak yang dimiliki maka besar kemungkinan pemain lain akan memilih lewat saat kartu angka 3 dikeluarkan ke meja bermain. Tapi sebisa mungkin angka 3 yang sudah dikeluarkan jangan diisi oleh kartu sendiri, biarkan diisi oleh pemain lainnya, hanya mengisi kartu yang di ruas berbeda, karena dengan pemain lain mengisi angka 3 yang dikeluarkan di meja bermain maka jumlah angka 3 di meja menjadi 2 dan di tangan ada 4 buah kartu angka 3 lagi. Jumlah semua angka ada 7 kartu. Contoh nya angka 3, ada di : 3-0, 3-1, 3-2, 3-3, 3-4, 3-5 dan 3-6. Jadi dengan 2 kartu di meja dan 4 kartu di tangan membuat angka 3 tersisa 1 lagi ditangan pemain lain. Terserah kapan akan dikeluarkan lagi kartu yang berisi angka 3 lagi yang pasti pemain lain yang harus mengisi lagi kartu angka 3 tersebut. Sekarang ada 3 kartu angka 3 lagi ditangan. Anggap saja kartu yang ada di tangan sisa 3 kartu yang berisi angka 3 semua, misalnya 3-1, 3-3 dan 3-5. Kesempatannya adalah pada saat giliran main maka dapat melempar kartu dan di antara kedua ruas pengisian adalah angka 1 atau 5. Bila angka 1 maka otomatis lempar yang 3-1 dan tidak akan mungkin dilewati karena tidak ada lagi yang mempunya angka 3. Bila telah dikeluarkan kartu balak 3 (3-3) maka tunggu saja sampai kesempatan bermain selanjutnya kartu di tangan akan cepat habis karena kartu dengan angka 3 telah dikunci dengan kartu yang ada di tangan.

3. Metode dan Perancangan

  Ada beberapa tahapan yang dilakukan untuk menyelesaikan penelitian ini, terbagi atas : (1) Identifikasi Masalah, (2) Studi Literatur/ Studi Pemahaman, (3) Perancangan Finite State , (4) Pengujian dan implemetasi sistem, (5) Tahap penulisan laporan.

  Automata Tahapan Penelitian

  Gambar 3

  Tahapan penelitian sesuai dengan Gambar 3 akan dijelaskan sebagai berikut, Tahap

  

Identifikasi Masalah : Pada tahapan ini dilakukan analisis terhadap permasalahan yang ada,

  terkait dengan proses penerapan Finite State Automata pada permainan kartu domino atau permainan gaple; Tahap Studi Literatur/ Studi Pemahaman : dalam tahapan ini dilakukan pengumpulan data dari jurnal-jurnal atau buku-buku terkait, atau dari sumber-sumber terpercaya seperti dosen, mengenai pembahasan terkait penelitian; Tahap Perancangan Sistem : pada tahap ini akan dilakukan perancangan dengan menggunakan NDFA (Non-Deterministic Automata);

  

Tahap Implementasi dan Pengujian sistem : dalam tahapan ini akan dilakukan pengujian atau

  evaluasi dari sistem yang telah dibuat apakah sudah berjalan semestinya atau sudah layak. Jika belum maka akan dilakukan perbaikan-perbaikan yang diperlukan; Tahap Penulisan Laporan: dalam tahap ini dilakukan penulisan laporan dari tahapan penelitian yang dilakukan. Use case

  

diagram menggambarkan kebutuhan sistem dari sudut pandang user, difokuskan pada proses

  komputerisasi, menggambarkan antara use case dan actor use case menggambarkan proses sistem (kebutuhan sistem dari sudut pandang user) [2].

  Gambar 4 Use Case Diagram

  Gambar 4 menunjukkan use case diagram. Player dapat memilih menu untuk dimainkan yaitu mulai, pada Tentang (About) yaitu berisi mengenai penjelasan permainan serta tata cara dalam permainan, player akan memulai permainan sesuai dengan kartu pertama yang ada pada meja permainan. Pada saat permainan telah berjalan player dapat membuang kartu setelah itu ganti pemain. Jika kartu pass maka akan lewati atau ganti main kembali, jika permainan telah selesai maka akan kembali ke menu utama untuk bermain ulang atau bisa langsung memilih untuk keluar, dan menu exit untuk keluar dari permainan.

4. Hasil dan Pembahasan

4.1 Hasil

  Rancangan state diagram pada alur permainan domino atau permainan gaple dapat dilihat pada Gambar 5, yang menjelaskan tentang alur atau proses bermain yang dilakukan oleh 4 (empat) pemain. State yang dilakukan oleh pemain pada permainan domino atau permainan gaple sesuai rancangan state diagram pada Gambar 5 adalah sebagai berikut.

1. Masuk ke permainan 2.

  Mulai permainan 3. Menyatakan player 1 4. Menyatakan player 2 5. Menyatakan player 3 6. Menyatakan player 4 7. Hasil akhir dari permainan 8. Selesai

  Rancangan State Diagram Alur Permainan Kartu Domino Gambar 5

  Gambar 5 menunjukkan rancangan diagram state alur permainan kartu domino dengan

  tuple sebagai berikut :

  Q = {Q1, Q2, Q3,Q4, Q5, Q6, Q7, Q8} = {1, 0, a, b, c, d, e, f, g, h, i, 0, 1, 2, 3, 4, 5, 6}

  Σ S = {Q1} F = {Q8}

  = {{((Q1,1), Q2), ((Q1,a), Q2), ∆

  ((Q2,1), Q3), ((Q2,b), Q3) ((Q3,0), Q4), ((Q3,1), Q4), ((Q3,2), Q4), ((Q3,3), Q4), ((Q3,4), Q4), ((Q3,5), Q4),

  ((Q3,6), Q4), (Q3,0), Q4), (Q3,c), Q4), (Q3,1), Q7), (Q3,e), Q7) ((Q4,0), Q5), ((Q4,1), Q5), ((Q4,2), Q5), ((Q4,3), Q5), ((Q4,4), Q5), ((Q4,5), Q5),

  ((Q4,6), Q5), ((Q4,0), Q5), ((Q4,c), Q5), (Q4,1), Q7), (Q4,e), Q7) ((Q5,0), Q6), ((Q5,1), Q6), ((Q5,2), Q6), ((Q5,3), Q6), ((Q5,4), Q6), ((Q5,5), Q6),

  (Q5,6), Q6), ((Q5,0), Q6), ((Q5,c), Q6), ((Q5,1), Q7), ((Q5,e), Q7) ((Q6,1), Q3), ((Q6,d), Q3), ((Q6,1), Q7), ((Q6,e), Q7) ((Q7,f), Q8), (Q7,g), Q8), ((Q8,h), Q1), ((Q8,i), Q1)} Ada 8 state yang digunakan yaitu (Q1) Masuk permainan, (Q2) Mulai, (Q3) Player 1,

  (Q4) Player 2, (Q5) Player 3, (Q6) Player 4 (Q7) Hasil akhir, (Q8) Selesai. Untuk keterangan alphabet masukan yaitu (1) true, (0) false, (a) Ya untuk bermain, (b) Bagikan kartu pada pemain, (c) lewati ke pemain berikutnya (pass), (d) Lanjut bermain kembali ke Player 1, (e) permainan selesai pada meja bermain, (f) Keadaan menang (win), (g) Keadaan kalah (lose), (h) Bermain ulang (retry), (i) Keluar dari permainan (exit). (0) Kartu kosong tanpa bulatan, (1) Kartu dengan bulatan satu, (2) Kartu dengan bulatan dua, (3) Kartu dengan bulatan tiga, (4) Kartu dengan bulatan empat, (5) Kartu dengan bulatan lima, (6) Kartu dengan bulatan penuh.

  

Tabel 1 Relasi Transisi

1 a b c d e f g h i

  1

  2

  3

  4

  5

  6 Q2 Ø Q2 Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Q1 Q3 Ø Ø Q3 Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Q2 Q7 Q4 Ø Ø Q4 Ø Q7 Ø Ø Ø Ø Q4 Q4 Q4 Q4 Q4 Q4 Q4 Q3 Q7 Q5 Ø Ø Q5 Ø Q7 Ø Ø Ø Ø Q5 Q5 Q5 Q5 Q5 Q5 Q5 Q4 Ø Ø Ø Ø Ø Ø Ø

  Q7 Q6 Q6 Q7 Q6 Q6 Q6 Q6 Q6 Q6 Q6 Q5 Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø

  Q3 Q3 Q6 Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø

  Q8 Q8 Q7 Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø

  Q1 Q1 Q8

  Tabel 1 menjelaskan tentang perpindahan state apabila ada input yang masuk. Seperti pada tabel Q1 mendapat input 1 ke Q2, begitu juga dengan Q2 mendapat input 1 (true) ke Q3, input b juga ke Q3, begitu seterusnya sampai ke Q8. Perpindahan state akan bernilai Ø (Bahasa kosong) apabila tiap input yang masuk tidak sesuai[1]. Seperti pada tabel, Q1 input 0 hasilnya adalah Ø (Bahasa kosong). Sama halnya dengan Q2 input a menghasilkan Ø (bahasa kosong), begitu seterusnya.

  Algoritma pada permainan kartu domino atau permainan gaple adalah sebagai berikut : 1. Kartu dibagikan ke 4 pemain, masing-masing pemain mendapatkan7 kartu.

  

2. Jika kartu telah dibagikan dan salah satu pemain mendapatkan kartu 5 balak, maka permainan

akan diulang (kartu dikocok dan dibagi kembali).

  3. Permainan dimulai.

  

4. Apabila kartu di tangan pemain tidak cocok dengan kartu terakhir yang ada di meja main (pass),

maka dilewati ke pemain selanjutnya.

  5. Jika kartu dari salah satu pemain sudah habis, maka permain selesai. Dialah pemenangnya.

  

6. Jika semua pemain tidak bisa melanjutkan jalannya permainan, maka pemenang dari game akan

diambil dari jumlah kartu yang terkecil.

  

7. Pemenang dari game putaran pertama berhak mengeluarkan kartu pada permainan selanjutnya.

  4.2 Pembahasan

  Hasil implementasi sistem berdasarkan perancangan yang telah dilakukan akan dijelaskan melalui Gambar 6 sampai dengan Gambar 12, yang akan dijelaskan sebagai berikut.

  Tampilan Home Screen Gambar 6

  Gambar 6 merupakan tampilan pertama kali saat aplikasi dijalankan, terdiri atas 3 (tiga) menu yaitu Mulai, Tentang, dan Keluar. Pada tab Tentang akan ditampilkan penjelasan permainan serta tata cara dalam permainan, dan pada tab Keluar digunakan untuk menutup aplikasi.

  Game Interface Permainan untuk Player 1 Gambar 7

  Gambar 7 merupakan game interface saat pemain memilih tab Mulai, angka-angka akan otomatis keluar pada kolom-kolom yang tersedia dan itu merupakan ketujuh kartu dari player 1, dan pada bagian bawah terdapat kolom untuk buang kartu, untuk meng-input kartu yang akan dibuang pada kolom meja permainan. Jika kartu telah di-input maka secara otomatis permainan akan dilanjutkan kepada player berikutnya yaitu player 2.

  

Gambar 8 Tampilan Game Interface untuk Player 2

  Gambar 8 merupakan game interface untuk player 2, tidak berbeda jauh dengan penjelasan pada Gambar 10. Setiap pemain secara otomatis akan mendapat kartu yang telah diacak untuk kemudian dibuang pada kolom meja permainan. Seperti pada Gambar 8, kolom meja permainan telah terbuang kartu dari player 1 yaitu kartu 5 dengan angka sisi kiri 0 dan angka pada sisi kanan 5.

  

Gambar 9 Tampilan Pemberitahuan Letak Kartu Gambar 9 merupakan tampilan yang akan keluar pada saat player telah meng-input kartu pada kolom buang kartu, maka akan muncul alert atau pemberitahuan letak kartu pada meja permainan. Contoh pada gambar 9, kartu yang di-input adalah kartu 2 yaitu kartu dengan sisi kiri 0 dan sisi kanan 3 setelah pilih tombol lanjut maka pemberitahuan akan muncul “Ada di belakang!

  ” yang berarti nilai dari sisi kiri 0 cocok dengan nilai kartu di kolom meja permainan pada bagian belakang.

  

Gambar 10 Tampilan Pemberitahuan Kartu Tidak Cocok

  Gambar 10 merupakan tampilan yang akan keluar berupa alert atau pemberitahuan pada saat player meng-input kartu pada kolom buang kartu dan tidak ada kartu yang bernilai sama di depan atau di belakang pada kolom meja permainan.

  

Gambar 11 Tampilan Permainan Selesai Gambar 11 merupakan tampilan yang akan keluar pada saat permainan telah selesai, alert atau pemberitahuan akan otomatis keluar, seperti pada Gambar 11, permainan di menangkan oleh player 1 karena kartu telah habis terlebih dahulu dari player 2, 3, dan 4.

  

Gambar 12 Tampilan Menu Tentang Permainan Domino

  Gambar 12 merupakan tampilan yang akan keluar saat pemain memilih menu tentang, akan menampilkan penjelasan permainan serta tata cara dalam permainan. Selanjutnya akan dijelaskan mengenai implementasi program yang telah dibuat untuk aplikasi permainan domino atau permainan gaple. Penjelasan dapat dilihat melalui Kode

  Program 1 sampai dengan Kode Program 7.

  Perintah untuk Menambah Data 28 Kartu

  Kode Program 1

  Kode Program 1 merupakan perintah untuk menambah data 28 kartu pada permainan domino gaple, masing-masing kartu ditambahkan kemudian akan ditampilkan pada setiap kolom kartu untuk setiap player pada permainan.

  Kode Program 2 Perintah untuk Acak Kartu

  Kode Program 2 merupakan perintah untuk mengacak 28 kartu, secara otomatis saat masuk pada permainan setiap pemain telah mendapat 7 kartu masing-masing yang telah diacak sebelumnya.

  Perintah untuk Acak Kartu dari Sebelumnya

  Kode Program 3

  Kode Program 3 merupakan perintah untuk mengacak kartu sama seperti sebelumnya, jadi setiap kartu yang dibagikan akan diacak kemudian dari kartu yang telah dibagikan akan diacak lagi untuk kemudian dibagikan kepada pemain berikutnya agar setiap nilai dari kartu yang keluar tidak bernilai sama.

  Perintah untuk Sembunyikan Panel Pemain

  Kode Program 4

  Kode Program 4 merupakan perintah untuk menyembunyikan panel pemain lain. Seperti pada program ketika saat player 1 akan meng-input kartu untuk dibuang pada kolom meja permainan maka panel dari pemain lainnya tidak akan ditampilkan, begitu juga dengan player 2 dan seterusnya hingga permainan selesai.

  Kode Program 5 Perintah untuk Pemberitahuan Letak Kartu

  Kode Program 5 merupakan perintah untuk memberitahukan letak kartu yang telah di- oleh pemain yang kemudian akan dibuang ke kolom meja permainan, apakah nilai dari sisi

  input kiri dan kanan kartu cocok dengan nilai dari kartu yang ada di meja permainan, jika ada maka akan keluar alert kartu ada didepan atau kartu ada di belakang. Kemudian pemberitahuan akan keluar jika nilai dari kartu pemain tidak cocok dengan nilai sisi kartu yang ada pada kolom meja permainan.

  Kode Program 6 Perintah if untuk Proteksi Saat Salah Membuang Kartu

  Kode Program 6 merupakan perintah if untuk proteksi pada saat pemain memilih kartu yang telah dibuang ke kolom meja permainan, maka akan keluar alert “Maaf kartu yang anda pilih telah dibuang”, kemudian pemain tetap mempunyai kesempatan untuk memasukkan kartu ulang jika kartu yang dimasukkan juga tidak sesuai dengan nilai kartu yang ada pada kolom meja permainan maka permainan akan dilanjutkan ke pemain selanjutnya.

  Kode Program 7 Perintah else

  Kode Program 7 merupakan perintah else dari perintah if sebelumnya, jika kartu yang dimasukkan tidak sesuai dengan nilai kartu yang ada pada kolom meja permainan maka permainan akan dilanjutkan ke pemain selanjutnya dengan memilih tombol lewat.

  Pengujian merupakan hal terpenting yang bertujuan untuk menemukan kesalahan atau kekurangan dari perangkat lunak yang akan diuji. Pengujian bermaksud untuk mengetahui perangkat lunak yang dibuat sudah memenuhi kriteria yang sesuai dengan tujuan perancangan perangkat lunak tersebut, dalam hal ini pengujian program permainan domino atau permainan gaple yang telah dibuat. Adapun teknik pengujian yang dilakukan yaitu pengujian black box, pengujian berfokus pada persyaratan fungsionalnya. Hasil pengujiannya akan ditunjukan pada tabel 2 dan tabel 3 dengan penjelasan sebagai berikut.

  

Tabel 2 Hasil Pengujian Program pada Menu Utama

Kelas Uji Skenario Uji Hasil yang diharapkan Kesimpulan

  Memilih tombol Mulai Menampilkan area Berhasil dijalankan permainan Menu Utama Memilih tombol Tentang Menampilkan penjelasan Berhasil dijalankan mengenai permainan

  Memilih tombol Keluar Keluar dari permainan Berhasil dijalankan

  Hasil Pengujian Program pada Mulai Game

  Tabel 3 Kelas Uji Skenario Uji Hasil yang diharapkan Kesimpulan

  Pembagian kartu secara Saat masuk ke area Berhasil dijalankan

acak bermain, pemain

mendapat kartu secara acak sesuai dengan fungsi

  • nya

  array Buang kartu Meng-input kartu untuk Berhasil dijalankan dibuang ke meja permainan dapat dilakukan Mulai Game Lanjut permainan ke Setelah kartu dibuang, Berhasil dijalankan

pemain berikutnya permainan akan dialihkan

ke pemain berikutnya Lewati, alert posisi kartu, Lewati ke pemain Berhasil dijalankan dan pass berikutnya,

  Akan muncul alert posisi kartu, Dan saat keadaan pass akan dilanjutkan ke pemain berikutnya Permainan selesai Setelah selesai bermain, Berhasil dijalankan pemberitahuan pemenang dari permainan akan muncul Keluar Berhasil keluar dari Berhasil dijalankan permainan Program telah didemokan dan dicoba oleh kurang lebih 3 orang mahasiswa FTI UKSW dan program berjalan dengan baik sesuai dengan konsep permainan domino atau permainan gaple.

  5. Simpulan

  Berdasarkan hasil penelitian, dan implementasi finite state automata pada alur logis permainan kartu domino atau permainan gaple yang dilakukan dapat diambil kesimpulan bahwa : (1) Finite state automata digunakan sebagai logika dasar untuk melakukan pemetaan system dalam permainan kartu domino; (2) Pemetaan yang dilakukan adalah membagi tiap sistem ke dalam bentuk state sehingga memudahkan penyelesaian sistem yang dapat menghasilkan output pada permainan kartu domino; (3) Algoritma dan pseudocode merupakan gambaran aplikasi yang dibuat untuk menjelaskan proses jalannya permainan; (4) permainan domino gaple merupakan salah satu permainan yang dapat membantu user untuk belajar dalam bentuk permainan, karena domino gaple merupakan salah satu permainan yang dapat mengasah kemampuan berpikir. Saran pengembangan yang dapat diberikan untuk penelitian lebih lanjut adalah sebagai berikut: (1) Grafik game yang dapat dikembangkan menjadi 3D; (2) Pilihan untuk memilih berapa pemain yang akan bermain dalam game; (3) game yang telah dibuat adalah game yang sederhana untuk itu diperlukan adanya pengembangan game sistem lain seperti, sudut pandang pemain ke meja permainan, pembesaran gambar pada setiap panel pemain dan lain-lain agar lebih bervariasi dan lebih menarik untuk dimainkan.

  6. Daftar Pustaka [1] Pelupessy, J. A., Pakereng, M. A. I., 2016.

  Penerapan Finite State Automata Pada Pemetaan Sistem Parkiran Kendaraan Motor di Kampus UKSW Salatiga, Skripsi, Salatiga: Universitas Kristen Satya Wacana.

  [2] Yohannes, Y., Pakereng, M. A. I., Prestiliano, J., 2013. Perancangan Dan Implementasi Finite State Automata Pada Game Quiz Ular Tangga Berbasis Android, Skripsi, Salatiga:Universitas Kristen Satya Wacana.

  [3] Irawan, J. Ch., Pakereng, M. A. I., Somya, R., Perancangan dan Implementasi Finite

  Automata pada Simulasi Vending Machine, Skripsi, Salatiga: Universitas Kristen Satya Wacana.

  Utdirartatmo, F., 2001. Teori Bahasa dan Otomata. Yogyakarta: Penerbit JJ Learning.

  [4]

  [5] Sutopo, M., 2010, Nondeterministic Finite Automata (NFA)

  Diakses tanggal 10 desember 2016 [6] Pohan., 2015, Aturan, Tips, dan Trik Main Gaple

   Diakses tanggal 3 juli 2017

Dokumen yang terkait

Institutional Repository | Satya Wacana Christian University: Perancangan dan Pembuatan Sistem untuk Mengelola Data Template MBU Menggunakan JSON (JavaScript Object Notation) dan PRPC (Pega Rules Process Commander): Studi Kasus PT. Asuransi Sinarmas

0 0 25

Institutional Repository | Satya Wacana Christian University: Penerapan Finite State Automata pada Proses Transaksi Via ATM

0 3 18

Institutional Repository | Satya Wacana Christian University: Perancangan Kriptografi Block Cipher Menggunakan Pola Pangkat Ajun Inspektur Polisi

0 0 27

Institutional Repository | Satya Wacana Christian University: Perancangan Kriptografi Block Cipher 64 bit Menggunakan Pola Kesenian Drumblek

0 0 29

Institutional Repository | Satya Wacana Christian University: Perancangan dan Implementasi Website Sistem Informasi Tugas Akhir FTI UKSW Menggunakan Teknologi SOAP Web Service

1 4 26

Institutional Repository | Satya Wacana Christian University: Perancangan Modul Korwil Menggunakan Platform PEGA System di PT. Asuransi Sinarmas Jakarta

0 2 24

Institutional Repository | Satya Wacana Christian University: Perancangan Kriptografi Block Cipher 256-bit Berbasis Pola Batik Totogan Banyuwangi

0 0 28

Institutional Repository | Satya Wacana Christian University: Analisis Perbandingan Algoritma Depth First Search dengan Algoritma Dijkstra dalam Menentukan Jalur Terpendek Tempat Wisata di Kota Surakarta

0 0 19

Institutional Repository | Satya Wacana Christian University: Implementasi dan Perancangan Sistem Pembayaran Pajak Parkir di Dinas Perhubungan (Dishub) Kota Salatiga

0 1 29

Institutional Repository | Satya Wacana Christian University: Perancangan Kriptografi Block Cipher Menggunakan Pola Tari Purisari Pati

0 0 28