MENGEMBANGKANAPLIKASI GAME TIC-TAC-TOE MULTIPLAYER DENGAN FITUR KONEKSI BLUETOOTH BERBASIS ANDROID
Yoga Arjanggi Nofianto1, Suwanto Raharjo2, Erfanti Fatkhiyah3
1,2,3
Teknik Informatika, FTI, IST AKPRIND,
arjanggia@gmail.com1, wa2n@akprind.ac.id2, erfanti@akprind.ac.id3
ABSTRACT
From many facilities that can be used on Android smartphone such as internet, e-mail, 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
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.
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.
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.
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
Gambar 1 Kemungkinan memenangkan permainan tic-tac-toe(Thota, et al., 2014)
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-8000-00805F9B34FB.
128bit_UUID = 16_atau_32bit_UUID*296 + base_UUID
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
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.
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.
Gambar 3 Tampilan Awal
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 5 Tampilan Activity List Device
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.
f. 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.
Button perintah suara
Button ini juga hanya dapat diklik sekali tiap giliran, ditunjukkan pada potongan source code berikut:
Jika sedang giliran pemain maka akan memanggil fungsi initVoice() fungsi ini mengaktifkan masukan perintah suara, berikut adalah source code initVoice():
Gambar 7Penggunaan
button
3x3
private View.OnClickListener handleClickVoice = new
View.OnClickListener() {
@Override
public void onClick(View view) {
if(isTurn) {
initVoice(); }else{
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.
g. Perintah suara yang dapat dikenali
Adapun perintah suara yang dapat dikenali dalam game tic-tac-toe dapat dilihat pada Tabel 2.
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();}
}
Tabel 2 Perintah suara pada game tic-tac-toe
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.
Perintah/command Hasil 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
Tengah kiri, blok 4
Pojok kanan bawah, bawah kanan, blok 9
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.
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.