Anda di halaman 1dari 10

Vol.13 No.2.

Agustus 2012 Jurnal Momentum ISSN : 1693-752X

Perekayasaan Teknologi XML Dan XMPP Dalam Membangun Aplikasi Jaringan


Multiplayer Online Game Ular Tangga Berbasis Web Dengan Mengimplementasikan
Teknologi Bi-Directional Stream Over Synchronous Http

Oleh:

Ir. Zefri Yenni, MM ; Haddad Shamir*)

Universitas Putra Indonesia ”YPTK” Padang

Intisari

Penelitian ini merekayasa teknologi Extensible Markup Language (XML) dan Extensible Messaging
and Presence Potocol (XMPP) untuk menghadirkan komunikasi realtime pada aplikasi web. Dengan tujuan
mengaplikasi jaringan permainan ular tangga multiplayer berbasis web, dengan memanfaatkan software library
jQuery sebagai alat bantu perekayasaan XML dan Strophe.js yang mengimplementasikan protokol XMPP dalam
JavaScript yang keduanya dibangun menggunakan JavaScript.

Penggunaan teknik Bi-directional Stream Over Synchronous HTTP meningkatkan respon dan kinerja
jaringan dimana aplikasi web bekerja tanpa melakukan refreshing halaman.Dengan menggunakan utilitas
Strophe Builder yang tersedia pada library Strophe.js. Stanza XML direkayasa dengan mengacu kepada protokol
permainan yang telah didefinisikan. Pendekatan dengan penggunaan permainan ular tangga dapat membantu
anak-anak menghafal hari-hari besar nasional.

Kata kunci : Jaringan Multiplayer Online,XML,XMPP dan Java Script

I. PENDAHULUAN memberikan perbandingan metoda BOSH


Salah satu teknologi yang dengan metoda polling yang umum digunakan.
memungkinkan komputer dapat saling Berbeda dengan teknologi polling biasa yang
berkomunikasi adalah XML (Extensible Mark melakukan sampling untuk mendapatkan status
up Language). Sesuai dengan sifatnya yang ketersediaan data melalui interval waktu
“Extensible”, XML dapat diperluas untuk tertentu, BOSH membuka soket (koneksi)
memenuhi kebutuhan programmer dalam selama mungkin (dikenal dengan sebutan long
menciptakan protocol komunikasi. polling) sehingga seketika data tersedia, data
Protokol XMPP (Extensible dapat langsung diproses tanpa harus menuggu
Messaging and Presence Protocol) adalah penjemputan data sesuai dengan interval waktu
salah satu protokol yang dibangun di atas polling.
teknologi XML. Protokol ini memungkinkan 2.TINJAUAN PUSTAKA
komunikasi data berbasis XML secara real a.Unified Modelling Language (UML)
time. Sesuai dengan sifatnya yang Unified Modeling Language (UML)
“Extensible”, protokol ini dapat diperluas adalah bahasa pemodelan general-purpose
sesuai kebutuhan. Untuk itu penulis terstandar dalam bidang perekayasaan
melakukan penelitian untuk merekayasa perangkat lunak berorientasi objek.
teknologi XML dan XMPP dalam membangun UML digunakan untuk mencirikan,
aplikasi jaringan Multiplayer Online Game menampilkan, mengubah, membangun dan
“Ular Tangga” berbasis Web.Dimana dalam mendokumentasikan artefak dari sistem
penelitian ini akan memanfaatkan teknologi perangkat lunak berorientasi objek dalam
Opensource dan Openstandard, termasuk pengembangannya
didalamnya teknologi HTTP (Hypertext b. Use Case Diagram
Transfer Protocol), BOSH (Bi-directional Use case diagram adalah diagram yang
Stream Over Synchronous HTTP) serta menggambarkan fungsionalitas yang iharapkan
JavaScript Framework jQuery dan Strophe.js. dari sebuah sistem. Diagram ini secara umum
Implementasi teknologi Bi-directional merupakan pola perilaku sistem dan urutan
Stream Over Synchronous HTTP (BOSH) yang transaksi yang berhubungan yang dilakukan
digunakan dalam penelitian ini akan oleh satu aktor. Association digunakan untuk
menggambarkan bagaimana actor terlibat dalam use case.
Contoh use case diagram dapat dilihat pada gambar 1 berikut.

Gambar 1. Contoh Use Case Diagram

c. Package Diagram mengorganisasikan sebuah diagram yang besar


Package diagram merupakan diagram kedalam menjadi beberapa diagram kecil.
yang memperlihatkan bagaimana elemen Packages digambarkan sebagai direktori / file
model diorganisasikan/dikelompokan kedalam folders yang berisi model-model elemen.
packages. Packages digunakan untuk

Gambar 2. Contoh Package Diagram

d. HTTP atau mengerjakan fungsi lain, akan


mengembalikan response message kepada
HTTP berfungsi sebagai protokol client.
request-response dalam komputasi client- Protokol HTTP didesain untuk
server. Sebuah web browser akan berperan mengizinkan mediator untuk meningkatkan
sebagai client sedangkan aplikasi yang kinerja atau menyanggupkan komunikasi
melayani request akan berfungsi sebagai antara client dan server. Website dengan trafik
server. Client akan mengirimkan HTTP tinggi mendapatkan keuntungan dengan server
request message kepada server, sedangkan web cache yang menyampaikan konten atas
server yang menyimpan konten atau nama server asli, yang disebut origin server
menyediakan resource (misalnya file HTML) untuk meningkatkan waktu respon. HTTP

106
Proxy memfasilitasi komunikasi saat client h.Java Script
berada pada jaringan privat dengan menjadi JavaScript adalah bahasa yang
mediator antara client dan server. berbentuk kumpulan skrip yang pada
Resource HTTP diidentifikasikan dan fungsinya berjalan pada suatu dokumen
ditemukan pada jaringan dengan menggunakan HTML, bahasa ini adalah bahasa skrip pertama
Uniform Resource Identifiers (URI) dan untuk web. Bahasa pemrograman ini
Uniform Resource Locator (URL). URL akan memberikan kemampuan tambahan terhadap
digunakan oleh client untuk melakukan bahasa HTML dengan mengizinkan
permintaan (request) terhadap sebuah resource pengeksekusian perintah-perintah di sisi client,
dengan berbasis kepada skema URI http atau yang artinya di sisi browser bukan di sisi
https. server web. JavaScript mampu mengakses
Document Object Model serta melakukan
e. HTTP Request Method manipulasi terhadapnya.
Protokol HTTP mendefinisikan
sembilan metode yang mengindikasikan aksi i. Extensible Messaging and Presence
yang akan dikerjakan pada sebuah resource. Protocol (XMPP)
f.Web Server Extensible Messaging and Presence
Web server adalah sekumpulan Protocol (XMPP) adalah protokol komunikasi
hardware maupun software yang berfungsi berstandar terbuka untuk message oriented
mengantarkan konten web yang dapat diakses middleware berbasis XML.
melalui internet. Web server secara umum
digunakan untuk meng-hosting website, j.BOSH
application server, atau dalam penelitian ini BOSH membutuhkan mediator antara
digunakan sebagai proxy yang memediasi client XMPP dan server XMPP yang disebut
komunikasi antara aplikasi jaringan connection manager. Connection manager
(javascript) dengan XMPP server. pada dasarnya adalah sebuah HTTP server
yang berfungsi menjembatani koneksi antara
g. Extensible Markup Language (XML) client dengan server XMPP.
XML (eXtensible Markup Language)
adalah sebuah bahasa markah untuk 3.PENGUJIAN SISTEM
mendeskripsikan data. XML merupakan 1. Pengujian Aplikasi Referee
turunan (subset) atau versi ringkas dari SGML
(Standard Generalized Markup Language), Aplikasi referee adalah aplikasi yang
sedangkan SGML merupakan sebuah standar mengontrol jalannya permainan ular tangga.
ISO untuk format dokumen. SGML tidak Aplikasi ini juga berfungsi untuk memediasi
berisi berupa tag-tag siap pakai seperti halnya komunikasi antar aplikasi player.
bahasa HTML, melainkan berupa aturan-
aturan standar dalam pembuatan tag-tag format a.Eksekusi Aplikasi Referree
dokumen. SGML banyak dipakai untuk
mengelola dokumen dalam jumlah besar, Pada keadaan ini, aplikasi referee
frekuensi revisi tinggi dan dibutuhkan dalam menunggu permintaan register dari aplikasi
beragam format tampilan. SGML jarang player. Tombol “Start Game” dalam keadaan
dipakai karena sangat rumit dan kompleks. disabled. Tombol tersebut akan enable jika
XML dibuat dengan konsep yang lebih sudah ada 2 aplikasi player yang melakukan
sederhana dan ringkas, tujuannya agar bisa register
dipakai sebagai aplikasi desktop dan jaringan
internet

107
Vol.13 No.2. Agustus 2012 Jurnal Momentum ISSN : 1693-752X

Gambar 3.Eksekusi Aplikasi Referee

b.. Eksekusi Aplikasi Referee Memulai yang berfungsi untuk menginisialisasi


Permainan permainan yang jika diklik akan memulai rutin
permainan seperti yang terlihat pada gambar 4
Tombol Start Game akan aktif jika di bawah
aplikasi romeo dan aplikasi juliet melakukan
register. Tombol Start Game adalah tombol

Gambar 4.Eksekusi Aplikasi Referee Memulai Permainan

c. Eksekusi Aplikasi Referee Pada Saat sinyal draw sekaligus menampilkan status
Permainan Berakhir permainan dari permainan dimulai hingga
selesai seperti yang terlihat pada gambar 5 di
Aplikasi referee akan menampilkan bawah.
log selama permainan. Log ini member laporan
Vol.13 No.2. Agustus 2012 Jurnal Momentum ISSN : 1693-752X

Gambar 5. Eksekusi Aplikasi Referee Pada Saat Permainan Berakhir

2 Pengujian Aplikasi Player a. Eksekusi Aplikasi Player Juliet


Aplikasi Juliet adalah aplikasi yang
Aplikasi Player adalah aplikasi antar menyediakan antar muka permainan ular
muka pemain ular tangga. Aplikasi ini tangga. Aplikasi ini memiliki tombol operasi,
berjumlah dua buah yaitu diberi nama “Juliet” penampil log permainan dan papan permainan
dan “Romeo”. Juliet dan Romeo dapat seperti yang terlihat pada gambar 6.
digeneralisir menjadi aplikasi player.

Gambar 6. Eksekusi Aplikasi Player Juliet

b. Eksekusi Aplikasi Player Romeo tangga. Aplikasi ini memiliki tombol operasi,
penampil log permainan dan papan permainan
Aplikasi Romeot adalah aplikasi yang seperti yang terlihat pada gambar 7.
menyediakan antar muka permainan ular
Gambar 7. Eksekusi Aplikasi Player Romeo

c. Eksekusi Aplikasi Player Saat Permainan pelemparan dadu. Aplikasi juga menampilkan
Berjalan informasi angka dadu, giliran pelemparan dadu
dan informasi hari-hari penting jika bidak
Tombol “DRAW!” akan bergantian berada pada kotak tertentu.
aktif dan non aktif tergantung kepada giliran

Gambar 8. Eksekusi Aplikasi Player Saat Permainan Berjalan

110
Vol.13 No.2. Agustus 2012 Jurnal Momentum ISSN : 1693-752X

d. Eksekusi Aplikasi Player Pada Saat pemenang pada unit penampil log seperti yang
Permainan Berakhir terlihat pada gambar 9 Di bawah.

Aplikasi player akan menampilkan


status permainan berakhir dan player

Gambar 9. Eksekusi Aplikasi Player Pada Saat Permainan Berakhir

3 Pengujian Jaringan Gambar 10 di bawah menunjukkan


bahwa Strophe.js melakukan koneksi ke http-
Pengujian jaringan dilakukan untuk bind selama 55,42 detik yang menandakan
membuktikan koneksi BOSH yang dibangun. mekanisme BOSH sedang bekerja. Mekanisme
Pengujian ini membuktikan bahwa koneksi ini membuka koneksi dalam waktu yang lama
BOSH berjalan dengan baik yang kepada server sehingga data dapat dikirimkan
memungkinkan komunikasi real time dapat kepada client seketika data tersebut tersedia
berlangsung pada aplikasi web. tanpa harus melakukan polling secara berkala.
a. Pengujian Jaringan Aplikasi Referee
Vol.13 No.2. Agustus 2012 Jurnal Momentum ISSN : 1693-752X

Gambar 10. Pengujian Jaringan Aplikasi Referee

b. Pengujian Jaringan Aplikasi Player mekanisme BOSH sedang bekerja. Mekanisme


Juliet ini membuka koneksi dalam waktu yang lama
kepada server sehingga data dapat dikirimkan
Gambar 11 di bawah menunjukkan kepada client seketika data tersebut tersedia
bahwa Strophe.js melakukan koneksi ke http- tanpa harus melakukan polling secara berkala.
bind selama 32,4 detik yang menandakan

Gambar 11. Pengujian Jaringan Aplikasi Juliet


Vol.13 No.2. Agustus 2012 Jurnal Momentum ISSN : 1693-752X

c. Pengujian Jaringan Aplikasi Player mekanisme BOSH sedang bekerja. Mekanisme


Romeo ini membuka koneksi dalam waktu yang lama
kepada server sehingga data dapat dikirimkan
Gambar 12 di bawah menunjukkan kepada client seketika data tersebut tersedia
bahwa Strophe.js melakukan koneksi ke http- tanpa harus melakukan polling secara berkala.
bind selama 1 menit yang menandakan

Gambar 12. Pengujian Jaringan Aplikasi Romeo

4 Kesimpulan anak-anak menghafal hari-hari besar


Berdasarkan hasil penelitian yang telah nasional.
dilakukan maka dapat diambil beberapa
kesimpulan diantaranya sebagai berikut: DAFTAR PUSTAKA
1. Penggunaan teknik Bi-directional Stream Alamsyah, Andry (2003). Pengantar
Over Synchronous HTTP meningkatkan JavaScript. From
respon dan kinerja jaringan dimana http://ikc.dinus.ac.id/umum/andry-
aplikasi web bekerja tanpa melakukan javascript.php, 5 Maret 2012
refreshing halaman.
2. Kinerja aplikasi jaringan berbasis web Fielding, Roy, dkk (1999). Hypertext Transfer
dapat ditingkatkan menggunakan BOSH Protocol – HTTP/1.1. From
dengan memanfaatkan Strophe.js untuk http://www.ietf.org/rfc/rfc2616.txt, 20 Maret
berhubungan dengan XMPP server yang 2011
melayani koneksi antar aplikasi.
3. Stanza XML direkayasa dengan Flanagan, David (2001). JavaScript: The
menggunakan utilitas Strophe Builder Definitive Guide, 4th Edition. United States of
yang tersedia pada library Strophe.js. America: O’Reilly
Stanza XML direkayasa dengan mengacu
kepada protokol permainan yang telah Flanagan, David (2011). jQuery Pocket
didefinisikan. Reference. United States of America: O’Reilly
4. Pendekatan dengan penggunaan
permainan ular tangga dapat membantu Harold, Elliotte Rusty (2004). XML in a
Nutshell. United States of America: O’Reilly
Loreto, S., dkk (2011). Known Issues and Best Thomas, Stephen A (2001). HTTP Essentials:
Practices for the Use of Long Polling and Protocols for Secure, Scalable Web Sites.
Streaming in Bidirectional HTTP. From United States of America: Wiley
http://www.rfc-editor.org/rfc/rfc6202.txt, 20
Maret 2012 Walmsley, Priscilla (2001). Definitive XML
Schema. United States of America: Prentice
McFarland, David Sawyer (2011). JavScript & Hall
jQuery: The Missing Manual. United States of
America: Pogue Press Wright, William (2003). Jabber Developer’s
Handbook, United States of America: Sams
Moffitt, Jack (2010). Professional XMPP
Programming with Javascript and jQuery. York, Richard (2009). Beginning JavaScript
Indianapolis: Wiley and CSS Development with jQuery. United
States of America: Wrox
Paterson, Ian, dkk (2010). XEP-0124:
Bidirectional-streams Over Synchronous
HTTP (BOSH). From
http://xmpp.org/extensions/xep-0124.html, 20
Maret 2012

Ray, Erik T (2003). Learning XML, Second


edition. United States of America: O’Reilly

Saint-Andre, Peter, dkk (2009). XMPP: The


Definitive Guide, United States of America:
Oreilly

Saint-Andre, Peter (2011). Extensible


Messaging and Presence Protocol (XMPP):
Core. From http://xmpp.org/rfcs/rfc6120.html,
20 Maret 2012

Saint-Andre, Peter, Ed (2004). Extensible


Messaging and Presence Protocol (XMPP):
Instant Messaging and Presence. From
http://xmpp.org/rfcs/rfc6121.html, 20 Maret
2011

Saint-Andre, Peter (2011). Extensible


Messaging and Presence Protocol (XMPP):
Address Format. From
http://xmpp.org/rfcs/rfc6122.html, 20 Maret
2012

Sikos, Leslie (2011). Web Standards:


Mastering HTML5, CSS3, and XML. United
States of America: Apress

Saint-Andre, Peter (2007). A Uniform


Resource Name (URN) Namespace for
Extension to the Extensible Messaging and
Presence Protocol (XMPP). From
http://www.rfc-editor.org/rfc/rfc4854.txt, 23
Maret 2012

114

Anda mungkin juga menyukai