RANCANG BANGUN GAME SERVER TIC TAC TOE DENGAN
BLUETOOTH SEBAGAI FITUR KOMUNIKASI
Devva Maulana Alfitrah1) Jusak2) Pauladie Susanto3)
Program Studi/Jurusan Sistem Komputer Institut Bisnis dan Informatika Stikom Surabaya
Jl. Raya Kedung Baruk 98 Surabaya, 60298
Email: 1)14410200035@stikom.com, 2)jusak@stikom.edu, 3)pauladie@stikom.edu
Abstrak: Tic tac toe merupakan sebuah board game yang dimainkan oleh dua orang saling bergantian mengisi sebuah arena berbentuk kotak berukuran 3x3 dengan simbol “x” dan “o”. Pemain yang dapat menandai kotak secara berurutan dengan arah diagonal, vertikal maupun horizontal pertama kali akan menjadi pemenangnya. Pada penelitian sebelumnya tic tac toe digunakan sebagai media penelitian program kecerdasan buatan. Sebagian besar pengujiannya dilakukan dengan melawan manusia. Pada penelitian ini akan dibuat game server tic tac toe untuk pertandingan kecerdasan buatan tic tac toe yang diimplementasikan ke dalam arduino dengan menggunakan modul bluetooth HC-05 sebagai media pengiriman data secara nirkabel. Modul yang terpasang di arduino bertindak sebagai slave sedang bluetooth pada sisi server sebagai master. Game Server yang dibuat pada penelitian ini menunjukkan komunikasi antar server dan klien menggunakan bluetooth dapat berjalan dengan baik. Dengan persentase keberhasilan pengiriman data sebesar 100% pada ukuran papan yang bervariasi.
Kata kunci: Game Server, Tic Tac Toe, Bluetooth, HC-05, Arduino, Kecerdasan buatan
Tic Tac Toe merupakan sebuah board game berukuran 3x3 yang dimainkan oleh dua orang yang saling bergantian mengisi papan tersebut dengan simbol “X” dan “O”. Permainan berakhir jika pemain dapat membuat sebuah deret simbol secara horizontal, vertikal maupun diagonal pada papan permainan. Dengan semakin berkembangnya program komputer dibidang kecerdasan buatan, permainan Tic Tac Toe dipilih sebagai bahan penelitian karena dapat menggambarkan proses pemilihan keputusan didalam otak hingga membentuk kesimpulan. Sayangnya, belum ada platform untuk menguji coba dua program kecerdasan kedalam satu arena permainan Tic Tac Toe.
Aplikasi game server Tic Tac Toe berbasis desktop memanfaatkan teknologi komunikasi bluetooth dengan model jaringan klien server diusukan untuk melakukan proses komunikasi antar program kecerdasan buatan, dengan membuat satu buah jaringan ad-hoc dengan satu bluetooth master sebagai server dan dua bluetooth slave sebagai klien. Penulis menggunakan modul
mendukung mode master dan slave untuk membentuk jaringan ad-hoc piconet yang dapat menunjang penelitian ini.
Game AI
Game AI adalah kecerdasan buatan yang mencakup semua teknik yang digunakan dalam pembuatan lawan bermain dalam suatu permainan. Teknik tersebut diantaranya adalah pathfinding (pencarian jalan), planning (perencanaan) dan decision making (penentuan keputusan), learning (pembelajaran), dan sebagainya (Christianto, 2017).
Bluetooth
Sebuah teknologi komunikasi wireless (tanpa kabel) yang beroperasi dalam pita frekuensi 2,4 GHz unlicensed ISM dengan menggunakan sebuah frequency hopping tranceiver yang mampu menyediakan layanan komunikasi data dan suara secara real-time antara host-host bluetooth dengan jarak jangkauan layanan yang terbatas. Bluetooth sendiri dapat berupa card yang bentuk dan
JCONES Vol. 7, No. 2 (2018) 1-8
Journal of Control and Network Systems
Situs Jurnal : http://jurnal.stikom.edu/index.php/jconedigunakan untuk wireless local area network (WLAN) dimana menggunakan frekuensi radio standar IEEE 802.11, hanya saja pada bluetooth mempunyai jangkauan jarak layanan yang lebih pendek dan kemampuan transfer data yang lebih rendah (Wibisono, Purwanto, & Prasetyanto, 2015) Modul Bluetooth HC-05
Modul Bluetooth SPP (Serial Port Protocol) yang mudah digunakan untuk komunikasi serial wireless (nirkabel). HC-05 menggunakan modulasi bluetooth V2.0+EDR (Enchanced Data Rate) 3 Mbps dengan memanfaatkan gelombang radio berfrekuensi 2,4 GHz. Modul ini dapat diguanakan sebagai mode slave maupun master (Wibisono, Purwanto, & Prasetyanto, 2015).
Spesifikasi teknis modul HC-05 1. Level tegangan kerja 3.3V.
2. Modul memiliki 2 mode kerja (pemilihan mode kerja Bluetoothdengan mengubah status pin 34 – KEY). Status ini dapat dirubah menggunakan at command.
3. Baudrate 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, dapat di set sesuai dengan kebutuhan user.
4. Kebutuhan Arus : Pairing 20~30mA. Setelah Pair: 8mA.
5. Frekuensi yang digunakan : 2.5 GHz
METODE
Game server Tic Tac Toe dirancang untuk dapat dimainkan dua klien melalui jaringan bluetooth. Pada tahap awal dilakukan perancangan antarmuka selanjutnya merancang sistem komunikasi.
Perancangan Antarmuka
Antarmuka program dirancang menggunakan program visual studio dengan bahasa C#. Alur program Game Server ditunjukkan pada flowchar gambar 1.
Gambar 1. Flowchart antarmuka
a. splash screen
Pada halaman ini ditampilkan progress bar yang menunjukkan proses loading aplikasi menunggu resource program selesai diunduh dari OS.
b. Halaman Utama
Pada menu utama ditampilkan dua pilihan tombol yaitu tombol konfigurasi untuk menuju halaman konfigurasi bluetooth dan keluar untuk mengakhiri aplikasi.
c. Halaman Konfigurasi Bluetooth
Pada halaman konfigurasi bluetooth terdapat dua komponen pengaturan penting yaitu pengaturan bluetooth untuk proses scaning dan pairing perangkat bluetooth dan pengaturan port SPP yang digunakan untuk jalur komunikasi selama permainan berlangsung.
d. Halaman Konfigurasi permainan
Pada Halaman ini pengguna diberikan pilihan ukuran papan permainan mulai dari 3x3 hingga 9x9.
e. Halaman Papan Permainan
Terdapat 3 komponen utama pada halaman ini yang pertama arena permainan, pada arena papan permainan pengguna dapat melihat kondisi papan permainan saat ini. Yang kedua jendela aktifitas, jendela ini menampilkan aksi yang dilakukan oleh setiap pemain. Yang ketiga tombol mulai, tombol ini digunakan untuk memulai permainan dan juga memulai ulang permainan
Perancangan Program
Pada penelitian ini penulis merancang
aplikasi permainan Tic Tac Toe yang dapat
dimainkan oleh program kecerdasan buatan
secara
nirkabel
dengan
menggunakan
bluetooth. Algoritma yang digunakan adalah
scaning bluetooth, pairing bluetooth, port SPP
query, protokol komunikasi server klien.
a. Fungsi Scan BluetoothFungsi scan ini berisi perintah – perintah yang digunakan untuk mencari perangkat bluetooth pada jangkauan area kurang dari 100m. perangkat yang dicari harus berada pada mode discoverable.
Kode Program Scaning Bluetooth
private void btn_scan_Click(object sender, EventArgs e)
{
Thread bluetoothScanThread = new Thread(new ThreadStart(scan));
bluetoothScanThread.Start(); }
public void scan() {
client = new BluetoothClient();
devices = client.DiscoverDevicesInRange(); foreach (BluetoothDeviceInfo d in devices) {
item.Add(d.DeviceName); }
Func<int> del = delegate() { lb_bluetooth.DataSource = items; return 0; }; Invoke(del); }
b. Fungsi pair bluetooth
Fungsi pair digunakan untuk melakukan pemasangan antar perangkat bluetooth yang sudah dikenali melalui proses scaning. Pairing dilakukan dengan menggunakan method PairRequest yang terdapat pada kelas BluetoothSecurity pada pustaka InTheHand.Net.Bluetoth .
Kode Program Pairing Bluetooth
private void pair() { var addr = BluetoothAddress.Parse(deviceInfo.DeviceAdd ress.ToString()); var serviceClass = BluetoothService.SerialPort; try
Kode Program Pairing Bluetooth
if(!BluetoothSecurity.PairRequest(add,
null)) {
Console.WriteLine("Request failed");
}else{
Console.WriteLine("Request Success");
timer1.Stop();
}
timer1.Start();
}
catch (Exception ex) { Console.WriteLine("Exception : " + ex.Message); } BluetoothEndPoint ep = new BluetoothEndPoint(addr, BluetoothService.SerialPort, 1); }
c. Fungsi SPP Query
Fungsi ini digunakan untuk mempopulasi port serial yang digunakan sebagai service port bluetooth. Pencarian dilakukan berdasarkan kolom deskripsi pada informasi perangkat yang bernilai “Standard Serial over Bluetooth Link”. Deskripsi tersebut merupaka penanda utnuk port serial bluetooth services. Proses pencarian menggunakan method yang dimiliki oleh pustaka
System.Management. yang terdapat pada kelas
Management.Object dan Management. Object.Searcher.
d. Protokol Komunikasi Server Klien
Proses komunikasi yang terjadi dilakukan secara bergantian dan selalu diinisasi oleh server sebagai koordinator komunikasi. Hal ini bertujuan untuk meminimalisir terjadinya kerusakan data akibat pengiriman data yang tidak terkontrol. Algoritma protokol komunikasi ditunjukkan pada gambar 2.
Mula-mula insialisasi koneksi BT menjalankan fungsi bukaKoneksiSerial akan dieksekusi untuk menghubungkan bluetooth melalui SPP. Permainan dimulai ketika tombol mulai pada halaman papan permainan ditekan. Proses komunikasi diawali dengan server mengirim kan kondisi isi papan permainan saat ini kepada klien 1, kemudian server akan menunggu balasan dari klien 1, setelah mendapat balasan dari klien 1 server melakukan pembaharuan arena permainan pada server, lalu melakukan pengecekan kondisi menang pada papan permainan. Apabila ditemukan kondisi menang maka proses komunikasi akan diakhiri, apabila kondisi menang belum terpenuhi maka proses komunikasi dilanjutkan ke klien 2
Gambar 2. Flowchart protokol server klien Proses komunikasi antara server dan klien permainan Tic Tac Toe menggunakan format perintah yang telah ditentukan untuk menyeragamkan bahasa komunikasi. Sehingga proses komunikasi dapat berjalan lancar dan meminimalisir terdadinya kesalahan. Perintah yang digunakan dapat dilihat pada tabel 1.
Tabel 1. Perintah komunikasi game server
Head Isi Tail Keterangan <N> ? / Meminta identitas nama
pemain ke klien
<N> Data / Mengirimkan nama pemain ke server
<S> Data / Mengirimkan ukuran arena ke klien
<S> / Mengirimkan balasan ukuran arena ke server
<A> Data / Mengirimkan data kondisi arena ke klien
<M> Data / Mengirimkan data langkah ke server
Pada sisi pengirim setiap data yang akan dikirim harus memiliki head sebagai penanda data yang sedang dikirim dan tail sebagai penanda dari akhir paket data yang dikirim.
Gambar 3. Contoh pengiriman arena Pada sisi penerima penterjemahan dilakukan dengan cara menyimpan data pembacaan pada buffer ke dalam sebuah array. Kemudian dilakukan pemisahan antara head, isi dan tail.
Gambar 4. Proses pemisahan data
Proses pemisahan data dapat dilihat pada gambar 4. Data dipisahkan dengan mengambil 3 byte head yang berada pada awal paket kiriman dan 1 byte tail penutup di akhir paket.
private string getHead() {
string head = string.Empty;
for(short i=0;i<3;i++) {
head = head + dataIN[i]; }
return head; }
Setelah memisahkan head, program akan memilah head berdasarkan pada tabel 1. Kemudian mengenumerasi informasi langkah klien yang berada pada paket data.
HASIL DAN PEMBAHASAN
Hasil dan pengujian yang akan dilakukan oleh peneliti akan dijelaskan dan diuraikan pada bab ini. Tahapan pengujian yang akan dilakukan meliputi pengujian aplikasi game server Tic Tac Toe, pengujian koneksi bluetooth dan ketepatan pengiriman dan penerimaan data oleh server dank klien.
Pengujian Arduino UNO R3
Pengujian arduino UNO R3 dilakukan dengan meng-upload program software serial ke arduino dan menampilkan hasilnya ke serial monitor.
Gambar 5. Hasil pengujian arduino uno Hasil dari pengujian didapatkan jendela serial monitor menampilkan bilangan 0 hingga 10 tampak pada gambar 5. Menunjukkan program yang di-upload berhasil dijalankan dengan baik. Berdasarkan pengujian ini Arduino dinyatakan dapat berfungsi dengan baik.
Pengujian HC-05
Gambar 6. Hasil scaning bleutooh
Gambar 7. Hasil pairing bluetooth
Gambar 8. Hasil pengiriman data melalui HC-05 Berdasarkan pada gambar 11 dan gambar 12
Pada gambar 13 dapat disimpulkan bahwa pengiriman dan penerimaan data melalui modul bluetooth HC-05 berhasil dilakukan. Menunjukkan perangkat modul HC-05 berfungsi dengan baik serta dapat digunakan untuk medukung pengujian selanjutnya.
Pengujian Waktu Scanning Bluetooth
Pengujian dilakukan dengan melakukan proses scanning sebanyak 10 kali untuk memastikan ketepatan waktu scanning.Tabel 2. Hasil pengujian waktu scanning No Lama Waktu (detik)
1 10.34 2 10.34 3 10.35 4 10.34 5 10.34 6 10.35 7 10.34 8 10.42 9 10.40 10 10.35
Berdasarkan hasil percobaan yang ditunjukkan pada tabel 4.2 dapat ditarik kesimpulan bahwa proses scanning perangkat bluetooth menggunakan game server membutuhkan waktu rata-rata sebesar 10.36 detik.
Pengujian Waktu Pairing Bluetooth
Pengujian dilakukan dengan melakukan proses pairing sebanyak 10 kali untuk memastikan ketepatan waktu pairing
.
Tabel 3. Hasil pengujian waktu pairing Bluetooth No Lama Waktu (detik)
1 3.60 2 2.58 3 2.74 4 2.75 5 3.03 6 3.27 7 3.16 8 2.94 9 2.88 10 2.84
Berdasarkan hasil percobaan yang ditunjukkan pada tabel 4.3 dapat ditarik kesimpulan bahwa proses pairing perangkat bluetooth
dihasilkan merupakan akumulasi waktu proses pairing ditambahkan dengan waktu yang dibutuhkan user untuk memasukkan password perangkat bluetooth.
Pengujian Antarmuka Aplikasi
Pengujian antarmuka aplikasi dilakukan dengan mencoba seluruh komponen antarmuka yang terdapat pada setiap halaman program game server Tic Tac Toe, lalu menilai keseuaian respon dengan indikator yang telah ditentukan.
Gambar 9. Hasil splash screen
Gambar 10. Hasil jendela menu utama Tabel 4. Hasil pengujian halaman utama
No Komponen Antarmuka Indikator Keberhasilan Hasil 1 Tombol konfigurasi Jendela halaman konfigurasi bluetooth terbuka Sesuai 2 Tombol keluar Program game server tic tac toe dapat diakhiri.
Sesuai
Pada tabel 4 merupakan hasil pengujian komponen antarmuka pada halaman menu utama. Dari hasil pengujian tersebut menunjukkan setiap komponen antar muka dapat berfungsi dengan baik sesuai dengan indikator yang ditentukan
Gambar 11. Hasil jendela konfigurasi koneksi
Tabel 5. Hasil pengujian halaman konfigurasi Bluetooth
No Komponen Antarmuka
Indikator
Keberhasilan Hasil 1 Tombol scan Perangkat
bluetooth disekitar dapat dideteksi dan ditampilkan pada kotak daftar perangkat bluetooth Sesuai
2 Tombol pair Muncul jendela pesan pemberitahuan pairing success Sesuai 3 ComboBox P1 ComboBox akan menampilkan daftar port yang sudah terinstall Sesuai 4 ComboBox P2 ComboBox akan menampilkan daftar port yang sudah terinstall Sesuai 5 Tombol refresh Muncul pesan notifikasi pemberitahuan waktu eksekusi proses query port Sesuai
6 Tombol next Jendela halaman konfigurasi permainan terbuka
Pada tabel 5 merupakan hasil pengujian komponen antarmuka pada halaman konfigurasi bluetooth. Dari hasil pengujian tersebut menunjukkan setiap komponen antar muka dapat berfungsi dengan baik sesuai dengan indikator yang ditentukan
Gambar 12. Hasil jendela konfigurasi permainan Tabel 6. Hasil pengujian halaman konfigurasi
permainan No Komponen Antarmuka Indikator Keberhasilan Hasil 1 ComboBox ukuran arena ComboBox akan menampilkan daftar ukuran arena 3 – 9. Sesuai 2 Tombol buat mulai Jendela halaman papan permainan akan terbuka Sesuai
Pada tabel 6 merupakan hasil pengujian komponen antarmuka pada halaman konfigurasi permainan. Dari hasil pengujian tersebut menunjukkan setiap komponen antar muka dapat berfungsi dengan baik sesuai dengan indikator yang ditentukan
Gambar 13. Hasil jendela papan permainan
Tabel 7. Hasil pengujian halaman papan permainan No Komponen Antarmuka Indikator Keberhasilan Hasil 1 Tombol buat mulai Jendela halaman papan permainan akan terbuka Sesuai 2 Tombol mulai Muncul jendela pemberitahuan bahwa permainan dimulai Sesuai 4 Tombol jendela keluar Proses aplikasi tic tac toe pada task manager tidak ada artinya program berhasil diakhiri Sesuai 5 Tombol jendela kembali Jendela halaman konfigurasi permainan terbuka. Sesuai
Pada tabel 7 merupakan hasil pengujian komponen antarmuka pada halaman menu utama. Dari hasil pengujian tersebut menunjukkan setiap komponen antar muka dapat berfungsi dengan baik sesuai dengan indikator yang ditentukan
Pengujian Game Server
Pengujian pada ukuran permainan 3x3
Tabel 8. Penerimaan data P1 ukuran papan 3x3 Iterasi Server P1 Langkah 0 <A>---/ <A>---/ P1(A0) 1 <A>X---O----/ <A>X---O----/ P2(B1), P1(C2) 2 <A>X-O-O---X/ <A>X-O-O---X/ P2(B2), P1(C0) 3 <A>X-O-O-XOX/ <A>X-O-O-XOX/ P2(C1), P1(B0) Pada pengujian pengiriman data dari server ke klien 1, data yang dikirim dari server ke klien merupakan isi arena permainan pada program game server. Pada iterasi 0 merupakan kondisi mula-mula isi arena permainan ketika permainan pertama kali dimulai.
Pada iterasi 1 kondisi arena saat itu merupakan hasil dari langkah yang telah dilakukan oleh klien 1 dan klien 2 pada iterasi ke 0. Tahapan yang sama terjadi pada iterasi 2 dan 3.
Gambar 14. Hasil akhir permainan 3x3 Tabel 9. Indikator keberhasilan pengiriman data
No Indikator Keberhasilan
1 Data yang dikirim oleh server dengan data yang diterima oleh P1
2 Data yang dikirim oleh server dengan data yang diterima oleh P2
Tabel 10. Rekap pengujian transmisi data pada 6 model arena
Percobaan Arena Indikator Penilaian Hasil 1 3x3 1 Sesuai 2 3x3 2 Sesuai 3 3x3 1 Sesuai 4 3x3 2 Sesuai 5 3x3 1 Sesuai 6 4x4 2 Sesuai 7 4x4 1 Sesuai 8 4x4 2 Sesuai 9 4x4 1 Sesuai 10 4x4 2 Sesuai 11 5x5 1 Sesuai 12 5x5 2 Sesuai 13 5x5 1 Sesuai 14 5x5 2 Sesuai 15 5x5 1 Sesuai 16 6x6 2 Sesuai 17 6x6 1 Sesuai 18 6x6 2 Sesuai 19 6x6 1 Sesuai 20 6x6 2 Sesuai 21 7x7 1 Sesuai 22 7x7 2 Sesuai 23 7x7 1 Sesuai 24 7x7 2 Sesuai 25 7x7 1 Sesuai 26 9x9 2 Sesuai 27 9x9 1 Sesuai 28 9x9 2 Sesuai 29 9x9 1 Sesuai 30 9x9 2 Sesuai
Berdasarkan hasil pengujian yang dilakukan sebanyak 30 kali, menunjukkan proses pengiriman
dan penerimaan data antara server dengan klien pertama dan server dengan klien kedua berjalan dengan baik pada ukuran arena yang bervariasi, dengan persentase keberhasilan mencapai 100%.
KESIMPULAN
1. Game Server Tic Tac Toe dengan bluetooth sebagai fitur komunikasinya dapat dioperasikan dengan baik dengan tingkat akurasi pengiriman data sebesar 100% pada ukuran arena yang bervariasi.
2. Model jaringan server klien dengan satu bluetooth master dan 2 bluetooth slave sebagai klien dapat diterapkan pada bluetooth menggunakan modul HC-05 dengan teknologi bluetooth versi 3.0. Berdasarkan hasil pengujian sebelumnya
.
Saran
Berdasarkan hasil dari penelitian dan hasil percobaan yang telah dilakukan, penulis dapat memberikan beberapa saran untuk mengembangkan aplikasi Game Server ini: 1. Aplikasi dapat dikembangkan untuk
mengakomodasi hingga 6 klien. Karena berdasarkan spesifikasi teknologi bluetooth 3.0 dapat melayani hingga 7 klien.
2. Mengimplementasikan algoritma penjadwalan pada Game Server untuk menghindari penumpukan data pada buffer yang menyebabkan data permainan menjadi kacau (corrupt).
DAFTAR PUSTAKA
Chritianto, E. D. (2017). Implementasi Metode Alpha-Beta Pruning pada Permainan Tic Tac Toe dengan Visualisasi Simple Direct Media Layer. JCONES.
Wibisono, H., Purwanto, Y., & Prasetyanto, W. A. (2015). Rancang Bangun Sistem Komunikasi Data Game Controller Menggunakan Bluetooth Pada Robot Humanoid Soccer. The 3rd Indonesian Symposium on Robot Soccer Competition. HC-05 Bluetooth Module. (2017). Retrieved from
Components101:
https://components101.com/wireless/hc-05-bluetooth-module