MENGEMBANGKANAPLIKASI GAME TIC-TAC-TOE MULTIPLAYER DENGAN FITUR KONEKSI BLUETOOTH BERBASIS ANDROID Yoga Arjanggi Nofianto

Jurnal SCRIPT Vol. 4 No. 2 Juni 2017

ISSN: 2338-6304

MENGEMBANGKANAPLIKASI GAME TIC-TAC-TOE MULTIPLAYER DENGAN FITUR
KONEKSI BLUETOOTH BERBASIS ANDROID
1

2

Yoga Arjanggi Nofianto , Suwanto Raharjo , Erfanti Fatkhiyah

3

1,2,3

Teknik Informatika, FTI, IST AKPRIND,
1
2
3
arjanggia@gmail.com , wa2n@akprind.ac.id , erfanti@akprind.ac.id

ABSTRACT
From many facilities that can be used on Android smartphone such as internet, email, GPS, bluetooth, camera, music player and video, games and so on, game is one of the
most amusing facilities found by smartphone users. There are many types of games, include
real-time strategy, first person shooter, and role playing game.
Tic-Tac-Toe game is a traditional game that has a real time strategy as the genre. In
this research, Tic-Tac-Toe’s game app will be built so it can be played by two people using
smartphone devices. This study used the waterfall method and created by using android
programming languange.
The game needs two smartphone devices connected to each other to be played, so it
takes bluetooth as a connection media. Bluetooth is a facility or media data transfer which is
easy and inexpensive, and also available in any android smartphones. Tic-Tac-Toe game is
also provide a features like voice command, timer, and storage score.
Keywords: game, tic-tac-toe, android, bluetooth
INTISARI
Dari banyaknya fasilitas yang dapat digunakan pada smartphone Android seperti
internet, e-mail, GPS, Bluetooth, kamera, pemutar musik dan video, game dan lain
sebagainya, game merupakan salah satu fasilitas yang menghibur pengguna smartphone.
Terdapat banyak tipe game, diantaranya real time strategy, first person shooter, dan role
playing game.
Game tic-tac-toe merupakan game tradisional yang ber-genre real time strategy,

pada penelitian ini akan dibangun aplikasi game tic-tac-toe yang dapat dimainkan dua orang
menggunakan perangkat android. Metode yang digunakan dalam penelitian ini
menggunakan metode waterfall dan dibuat dengan menggunakan bahasa pemrograman
android.
Untuk memainkan game dibutuhkan dua perangkat smartphone yang saling
terkoneksi, untuk itu dibutuhkan media koneksi antar perangkat yaitu bluetooth, bluetooth
merupakan fasilitas atau media transfer data yang mudah dan murah, selain itu perangkat
bluetooth tersedia di semua smartphone android, selain itu game tic-tac-toe yang dibuat
memiliki fitur perintah suara, timer, dan penyimpanan data skor.
Kata kunci:game, tic-tac-toe, android, bluetooth
PENDAHULUAN
Perkembangan teknologi sudah semakin pesat, salah satu teknologi itu adalah
perangkat komunikasi atau biasa disebut smartphone yangtak lepas dari dukungan sistem
operasi seperti iOS dan Android yang terus berkembang menyesuaikan kemampuan
perangkat keras yang digunakan, smartphone memiliki banyak fasilitas, antara lain
pengaksesan internet, e-mail, GPS, Bluetooth (berbagi data), pemutar musik/video, kamera,
permainan (game), dan lain sebagainya.

233


Jurnal SCRIPT Vol. 4 No. 2 Juni 2017

ISSN: 2338-6304

Dari banyaknya fasilitas yang dapat digunakan pada smartphone, permainan
merupakan salah satu fasilitas penghibur alternatif bagi pengguna smartphone.Game saat ini
sudah bisa dikatakan sebagai permainan universal. Mulai dari anak-anak, remaja sampai
dengan orang dewasa pun sudah tidak merasa asing lagi dengan game.
Permainan atau game pada smartphone juga sangat banyak dan beraneka ragam,
banyaknya genre permainan dalam smartphone seperti petualangan, arcade, adu kecepatan,
strategi, dan lain sebagainya dari yang paling mudah dimainkan hingga yang paling sulit.
Salah satu game strategy yaitu Tic-Tac-Toe, game ini merupakan game yang
dimainkan oleh dua orang, game tersebut akan diimplementasikan ke dalam teknologi
smartphone berbasis android dengan fitur koneksi bluetooth serta fitur perintah suara
menggunakan Google Voice API dan menggunakan timer (waktu) pada setiap giliran pemain
dalam game tic-tac-toe.
TINJAUAN PUSTAKA
Penelitian yang dilakukan oleh (Hidayat, 2014) dalam penelitiannya rancang bangun
game puzzle susun angka, game ini diterapkan pada android platform Gingerbread 2.3, pada
penelitian ini pembuatan game lebih mengutamakan teknik-teknik dasar pencarian sebagai

salah satu metode atau teknik untuk memecahkan masalah AI (artificial intelligence) seperti
algoritma Breadth First Search (BFS), Depth First Search (DFS), dan Best First Search selain
itu penelitian ini juga telah diuji dengan beberapa metode seperti blackbox, whitebox, metode
depth, dan metode best, dari hasil kesimpulannya aplikasi dapat melakukan pergeseran
potongan angka dan menampilkan notifikasi sesuai kondisi potongan angka, posisi state dari
masing-masing metode dapat diketahui menggunakan fitur LogCat yang terdapat pada
program Eclipse dan fitur atur dapat berjalan dengan baik jika pengguna memasukkan angka
sesuai ketentuan.
(Istiqomah, 2014)dalam penelitiannya membangun aplikasi susun aksara jawa (suraja)
dimana game ini dibuat untuk pelajar SD sebagai media belajar aksara jawa, penelitian ini
menggunakan metode research and development yaitu analisis, desain, pengembangan,
implementasi, dan evaluasi. Desain interfacegame suraja sudah sangat baik, selain itu
aplikasi dibuat menggunakan perangkat lunak Construct 2 berbasis teknologi HTML5 dengan
bantuan Crosswalk Cordova sebagai export project dan porting ke dalam bentuk aplikasi
Android (.apk). Dari hasil kesimpulan pengujian aplikasi game suraja pada aspek
functionality, efficiency, usability, portability, dan maintainability sudah baik sekali, selain itu
masih terdapat kekurangan dimana materi kurang detil dan penggunaan memori cukup
besar.
Yunis Aprilianti (Aprilianti, 2014) juga telah mengembangkan aplikasi game mobile
edukasi matematika berbasis android yang interaktif dan menarik untuk siswa sekolah dasar,

dengan adanya karakter binatang orang utan yang menjadi ikon utama dari game edukasi
matematika sebagai daya tarik bagi anak-anak untuk bermain yaitu Otan Math. Pada game
Otan Mathjuga masih memiliki kekurangan seperti keterbatasan pada isi dan tampilan soal.
Perbandingan game yang telah dibahas pada tinjauan pustaka bisa dilihat pada Tabel 1.

234

Jurnal SCRIPT Vol. 4 No. 2 Juni 2017

ISSN: 2338-6304

Tabel 1 Perbandingan game pada tinjauan pustaka

LANDASAN TEORI
Menurut (Jasson, 2009), permainan (game) adalah suatu sistem atau program
dimana satu atau lebih pemain mengambil keputusan melalui kendali pada objek didalam
permainan untuk tujuan tertentu.
Permainan tic-tac-toe dapat dimainkan oleh dua orang pemain dimana blok persegi
(3x3) dapat diisi dengan tanda silang “X” atau lingkaran “O”. Pemain akan bergantian dengan
pemain lain dengan memberikan kesempatan pada pemain lain untuk memberi tanda. Ketika

salah satu dari pemain membuat kombinasi dari 3 penanda yang sama dalam garis
horizontal, vertical maupun diagonal maka pemain telah memenangkan permainan.
Permainan tic-tac-toe dapat dimainkan oleh semua kalangan.Permainan tic-tac-toe
dapat dijadikan sebagai alat pedagogis atau strategi mengajar yaitu mengajarkan konsep
sportif.Permainan ini melibatkan fokus dan mencoba untuk mencari tahu langkah lawan
dalam mengambil keputusan (Thota, et al., 2014).
a. Cara bermain Tic-Tac-Toe
Berikut adalah cara bermain tic-tac-toe menurut (Thota, et al., 2014):
 Permainan dilakukan oleh 2 pemain
 Kedua pemain memilih masing-masing simbol/tanda “X” atau “O” untuk
menandai
 Pemain 1 memulai gilirannya untuk menempatkan tandanya pada salah satu
9 kotak
 Kemudian pemain 2 mendapat giliran untuk menempatkan tandanya pada
kotak yang kosong
 Kedua pemain memberi tanda saling bergantian
 Jika salah satu daripemain membuat kombinasi dari 3 simbol yang
samadalam garis horizontal, vertikal atau diagonal maka dinyatakan sebagai
pemenang
b. Melakukan cek pemenang dalam permainan Tic-Tac-Toe

Menurut (Thota, et al., 2014) dalam permainan tic-tac-toe ada 8 kemungkinan untuk
memenangkan permainan. Kemungkinan untuk mendapatkan 3 kombinasi vertikal, 3
kombinasi horizontal dan 2 kemungkinan diagonaldengan simbol yang sama. Oleh
karena itu cara termudah untuk menentukan pemenang adalah dengan mengecek 8
kombinasi tersebut.

235

Jurnal SCRIPT Vol. 4 No. 2 Juni 2017

ISSN: 2338-6304

Gambar 1 Kemungkinan memenangkan permainan tic-tac-toe(Thota, et al., 2014)
Bluetooth terdiri dari beragam spesifikasi protocol, umumnya berasal dari adopsi
yang sudah ada atau protokol untuk kasus spesifik (Juhara, 2016), bisa lihat pada Gambar 2.

Gambar 2 Bluetooth Protocol Stack (Juhara, 2016)
HCI adalah lapisan piranti lunak yang melewatkan semua data dari komputer ke
piranti bluetooth. Misal, komunikasi secara nirkabel dari komputer menggunakan piranti
Bluetooth yang terpasang di port USB (Universal Serial Bus), maka dibutuhkan lapisan

software yang mengerti komunikasi melalui Bluetooth dan mengirim data tersebut ke lapisan
atasnya. Semua (data dan suara) akan melalui HCI (Juhara, 2016).
L2CAP adalah lapisan inti.Semua data harus melalui lapisan ini kecuali audio
link.Lapisan ini menyediakan fitur segmentasi dan penyusunan ulang data serta protokol
multiplexing. Pada saat aplikasi mengirim paket data dalam ukuran besar, L2CAP akan
memcahnya menjadi paket-paket data yang lebih kecil lalu mengirimkannya. Sebaliknya, jika
menerima paket data yang tersegmentasi, paket-paket data akan disusun ulang. Fitur
protokol multiplexing memungkinkan L2CAP mampu menerima data lebih dari satu protokol
diatasnya pada saat bersamaan (misalnya SDP dan RFCOMM) (Juhara, 2016).
SDP berfungsi untuk menghindari konflik nomor port pada aplikasi lain. Tiap piranti
Bluetooth akan mengelola sebuah server SDP. Tiap aplikasi server yang berjalan
menggunakan nomor port tidak terpakai yang ditentukan saat run-time, lalu mendaftarkan
deksripsi layanan ke server SDP.Setiap entri deksripsi layanan pada server SDP terdiri dari
beberapa data dan dua diantaranya adalah Service ID dan Service Name.
Service ID digunakan sebagai pengenal yang unik terdiri dari 128-bit Universally
Unique Identifiers (UUID). Karena ukurannya yang besar, maka kecil kemungkinan terjadi
dua aplikasi server berbeda memiliki service ID yang sama.Bluetooth mencadangkan
beberapa UUID untuk kegunaan khusus, lihat Tabel II.2. Untuk menghasilkan UUID

236


Jurnal SCRIPT Vol. 4 No. 2 Juni 2017

ISSN: 2338-6304

berukuran 128-bit dari UUID 16-bit atau 32-bit, hanya perlu menggeser bit ke kiri (SHL)
sebanyak 96-bit dan menjumlahkan dengan UUID basis, yaitu 00000000-0000-1000-800000805F9B34FB.
96
128bit_UUID = 16_atau_32bit_UUID*2 + base_UUID
Tabel 2 UUID Tercadang(Juhara, 2016)

RFCOMM dirancang sebagai pengganti komunikasi serial RS-232 lewat kabel dan
menggunakan frekuensi radio untuk emulasi RS-232. RFCOMM menyediakan layanan
dengan keandalan hampir sama seperti TCP. Bedanya, TCP menyediakan hingga 65535
port pada satu mesin sedangkan RCOMM hanya 30 (Juhara, 2016).
Google speech API atau Google Voice search diluncrukan pada tahun 2008 di
Amerika Serikat untuk beberapa tipe smartphone. Google speech API adalah sebuah
framework yang dikembangkan oleh Google untuk mengenali suara, mengubahnya menjadi
string (teks) dan memasukkanya ke dalam halaman pencarian Google sehingga akan tampil
hasil pencarian berdasarkan input suara. Pengenalan suara dilakukan pada server Google

menggunakan algoritma Hidden Markov Model (HMM). Dengan kata lain input suara yang
diterima oleh perangkat Android (smartphone) akan dikirimkan ke server Google, yang
selanjutnya server Google melakukan pengenalan dan mengubahnya menjadi teks
menggunakan algoritma HMM. Hasil konversi suara menjadi teks kemudian dimasukkan
dalam halaman pencarian Google kemudian server Google akan mengirimkan hasil
pencarianya tersebut ke perangkat Android (Widodo, 2014).
SQLite merupakan proyek database independen, mandiri. Awalnya dikembangkan
pada tahun 2000 oleh Dr. Richard Hipp, sebagai cara ringan untuk mengelola data terstruktur
(Mednieks, Meike, Dornin, & Pan, 2013).
SQLite adalah sistem pengelolaan database yang ditujukan untuk perangkat dengan
daya komputasi terbatas.SQLite mempunyai kelebihan dan kekurangan yang mempengaruhi
desain dan implementasi aplikasi. Android menyediakan SQLiteOpenHelper sebagai
mekanisme untuk mengeksekusi perintah definisi data, misalnya perintah untuk membuat
dan mengubah database, tabel, dan skema tabel (Juhara, 2016).
PEMBAHASAN
Game Tic-Tac-Toe dan Penjelasannya
a. Tampilan Awal
Tampilan awal terdapat tiga pilihan menu yaitu Play, Skor, dan Bantuan dapat dilihat
pada Gambar 3


237

Jurnal SCRIPT Vol. 4 No. 2 Juni 2017

ISSN: 2338-6304

Gambar 3 Tampilan Awal
b. Tampilan Lobby
Tampilan lobby ini pemain dalam keadaan statestand by dan siap untuk melakukan
koneksi bluetooth, lihat Gambar 4. Pada Activity lobby menampilkan nama dan
simbol atau penanda pemain, untuk nama lawan akan dibiarkan kosong untuk
menampung nama bluetooth lawan setelah terkoneksi dengan lawan main.

Gambar 4 Activity lobby
Terdapat tombol/button scanBT (Cari Lawan Bermain) dan turnBT (Bluetooth
Visible), keduanya memiliki fungsi berbeda, scanBT akan mencari perangkat
Bluetooth yang aktif dan ditampilkan pada kelas DeviceList sedangkan turnBT akan
mengaktifkan Bluetooth agar dapat terlihat selama 300 detik.
c. Tampilan Activity List Device
Untuk memulai mencari lawan ketuk button “Cari Lawan Bermain”, activity akan
berpindah ke hasil pencarian perangkat, untuk lebih jelasnya lihat Gambar 5.

238

Jurnal SCRIPT Vol. 4 No. 2 Juni 2017

ISSN: 2338-6304

Gambar 5 Tampilan Activity List Device
Untuk melakukan koneksi ke perangkat yang baru ditemukan maupun yang sudah
dipasangkan dapat memilih perangkat, sebagai contoh akan dipilih Nurhatin dengan
alamat Bluetooth 74:23:44:13:F8:F6, lihat Gambar 3, dalam contoh kasus ini pemain
yang akan diajak bermain telah membuka aplikasi dan dalam keadaan stand by pada
activity lobby, jika terkoneksi maka, activity akan berpindah ke activitygame.
d. Proses pemilihan karakter
Secara default karakter yang digunakan pemain adalah karakter “X”, di dalam sistem
karakter “X” adalah pemain yang melakukan scan/mencari lawan sedangkan
karakter “O” adalah pemain yang menerima ajakan untuk bermain.
e. Tampilan activity game permainan tic-tac-toe
Activity ini dapat berjalan jika perangkat bluetooth kedua pemain sudah saling
terkoneksi.Activity game tic-tac-toe menampilkan kotak 3x3 sebagai arena bermain,
timeratau waktu untuk membatasi giliran, nama dan skor, serta tombol perintah
suara. Untuk lebih jelasnya lihat Gambar 6.

Gambar 6 Activity Permainan Tic-Tac-Toe

239

Jurnal SCRIPT Vol. 4 No. 2 Juni 2017

f.

ISSN: 2338-6304

Jika giliran lawan maka timer pemain lawanakan aktif dan tombol btnVoice diset
false, sebaliknya jika bukan giliran lawan timer lawan akan dinonaktifkan dan
btnVoice diset true.
Validasipada buttongame tic-tac-toe
Button atau tombol game dibagi atas button kotak 3x3 dan button untuk perintah
suara.
 Button kotak 3x3
Kotak 3x3 dapat diklik sekali setiap giliran, kotak yang sudah diberi tanda
akandisable.
Hasil screenshot penggunaan button dapat dilihat pada Gambar 7.

Gambar 7Penggunaan button 3x3


Button perintah suara
Button ini juga hanya dapat diklik sekali tiap giliran, ditunjukkan pada
potongan source code berikut:

private View.OnClickListener handleClickVoice = new
View.OnClickListener() {
@Override
public void onClick(View view) {
if(isTurn) {
initVoice();
}else{
Toast.makeText(getApplicationContext(), "Bukan
giliranmu", Toast.LENGTH_SHORT).show();}}};

Jika sedang giliran pemain maka akan memanggil fungsi initVoice() fungsi ini
mengaktifkan masukan perintah suara, berikut adalah source code initVoice():

240

Jurnal SCRIPT Vol. 4 No. 2 Juni 2017

ISSN: 2338-6304

public void initVoice(){
Intent i = new
Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
i.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
i.putExtra(RecognizerIntent.EXTRA_LANGUAGE,"id-ID");
i.putExtra(RecognizerIntent.EXTRA_PROMPT,getString(R.string.sp
eech_prompt));
try{
startActivityForResult(i, REQ_CODE_SPEECH_INPUT);
}catch (ActivityNotFoundException a){
Toast.makeText(getApplicationContext(),getString(R.string.spee
ch_not_supported),Toast.LENGTH_SHORT).show();}
}

Dapat dilihat bahwa penggunaan perintah suara hanya bisa dilakukan jika
smartphone yang digunakan mendukung perintah suara ditunjukkan pada
bagian Toast yang manampilkan R.string.speech_not_supported. Jika
smartphone mendukung perintah suara pada bagian try catchakan
mengeksekusi startActivityForResult. Berikut adalah hasil screenshot masukan
perintah suara, lihat Gambar 8. Bentuk atau model masukan perintah suara
mungkin berbeda-beda untuk setiap smartphone, tergantung dari aplikasi pihak
ketiga yang digunakan.

Gambar 8 Masukan perintah suara
g. Perintah suara yang dapat dikenali
Adapun perintah suara yang dapat dikenali dalam game tic-tac-toe dapat dilihat pada
Tabel 2.

241

Jurnal SCRIPT Vol. 4 No. 2 Juni 2017

Perintah/command

ISSN: 2338-6304

Tabel 2 Perintah suara pada game tic-tac-toe
Perintah/command
Hasil

Atas kiri, pojok kiri
atas, blok 1

Tengah kanan, blok 6

Atas tengah, blok 2

Pojok bawah kiri,
bawah kiri, blok 7

Atas kanan, pojok
atas kanan, blok 3

Bawah tengah, blok 8

Hasil

Tengah kiri, blok 4
Pojok kanan bawah,
bawah kanan, blok 9

Tengah, blok 5

h. Penyimpanan skor
Skor akan disimpan dalam database menggunakan SQLite, pada rancangan game
tic-tac-toe ini skor akan disimpan ketika kedua pemain sudah tidak saling
terkoneksi.Hasil penyimpanan nama dan skor dapat dilihat pada Gambar 9.

242

Jurnal SCRIPT Vol. 4 No. 2 Juni 2017

ISSN: 2338-6304

Gambar 9 Hasil Menyimpan Skor
KESIMPULAN
Berdasarkan hasil penelitian, analisis, perancangan sistem, dan pembuatan program,
maka dapat diambil kesimpulan sebagai berikut:
1. Telah dibuat aplikasi game tic-tac-toe multiplayer dengan memanfaatkan koneksi
bluetooth dimana dua pemain dapat bermain bersama
2. Fitur perintah suara sederhana pada aplikasi game tic-tac-toe sudah dapat berjalan
3. Game tic-tac-toe yangtelah dibuat disertakan timer (waktu) untuk setiap giliran
pemain
4. Fitur penyimpanan data skor pada game tic-tac-toe menggunakan SQLite
SARAN
Saran untuk pengembangan aplikasi game tic-tac-toe ini adalah sebagai berikut:
1. Nama yang ditampilkan pada game tic-tac-toemasih menggunakan nama perangkat
bluetooth lawan
2. Fitur perintah suara membutuhkan koneksi internet dan masih menggunakan
aplikasi pihak ketiga
3. Fitur timer masih kurang sinkron jika pemain tidak bersamaan dalam memulai
permainan baru
4. Tidak dapat melanjutkan skor permainan yang telah tersimpan dalam database
5. Program ini dapat dikembangkan lagi dengan menambah fitur bermain tic-tac-toe
secara online
DAFTAR PUSTAKA
Aprilianti, Y. (2014). Aplikasi Mobile Game Edukasi Matematika Berbasis Android.
Yogyakarta: Akprind.
Hidayat, W. (2014). Rancang Bangun Game Puzzle Menggunakan Platform Android. Jurnal
Edukasi & Penelitian Informatika.

243

Jurnal SCRIPT Vol. 4 No. 2 Juni 2017

ISSN: 2338-6304

Istiqomah, D. A. (2014). Aplikasi game susun aksara jawa (suraja) sebagai media belajar
aksara jawa kelas V SDIT salsabilah baiturrahman untuk platform android. Jurnal
Elektronik Pendidikan Informatika, 1-7.
Jasson. (2009). Role Playing Game (RPG) Maker. Penerbit Andi, Yogyakarta.
Juhara, Z. P. (2016). Panduan Lengkap Pemrograman Android. Yogyakarta: ANDI.
Mednieks, Z., Meike, G. B., Dornin, L., & Pan, Z. (2013). Enterprise Android Programming
Android Database Application For The Enterprise. Canada: John Wiley & Sons, Inc.
Thota, L. S., Elsayeed, M., Shaik, N., Gawa, T. A., Rashed, A., Refdan, M., et al. (2014).
Implementation of Tic-Tac-Toe Game in LabView. International Journal of Computer
Trends and Technology (IJCTT), 71-77.
Widodo, P. (2014). Aplikasi Konversi Suara ke Text Berbasis Android Menggunakan Google
Speech API . Bianglala Informatika Vol.2 No.2, 11-19.

244