ARTIKEL ILMIAH PENELITIAN
“RANCANG BANGUN GAME SEDERHANA DENGAN REST WEB SERVICE YANG DITERAPKAN PADA SISTEM OPERASI ANDROID“
Disusun Oleh :
Nama
: Budiawan
NIM
: A11.2008.04482
Program Studi
: Teknik Informatika
FAKULTAS ILMU KOMPUTER UNIVERSITAS DIAN NUSWANTORO SEMARANG 2013
RANCANG BANGUN GAME SEDERHANA DENGAN REST WEB SERVICE YANG DITERAPKAN PADA SISTEM OPERASI ANDROID BUDIAWAN Program Studi Teknik Informatika - S1, Fakultas Ilmu Komputer, Universitas Dian Nuswantoro Semarang URL : http://dinus.ac.id/ Email :
[email protected]
ABSTRAK Perkembangan aplikasi game saat ini sangat pesat, bermula dari aplikasi dengan user pada perangkat tunggal, kemudian muncul bentuk permainan dengan banyak user melalui banyak perangkat pada permainan yang sama melalui internet atau biasa disebut dengan game online. Salah satu bagian terpenting dari game online adalah distribusi dan sinkronisasi data antara client dan server. Untuk dapat menerapkan sinkronisasi data yang terintegrasi tersebut, dapat menggunakan Web Service. Penggunaan Web Service dimaksudkan agar proses update data dilakukan sekali pada sisi server sehingga lebih hemat waktu dan tenaga. Sedangkan untuk distribusi data dapat menggunakan salah satu arsitektur dari web service yaitu REST web service. Penerapan REST web service mendukung penggunaan XML dan JSON yang mempercepat pertukaran data pada sistem sehingga aplikasi akan lebih cepat dan efisien. Aplikasi game ini dapat dimainkan di perangkat mobile dengan sistem operasi android. Diperlukan koneksi internet untuk menghubungkan server dengan aplikasi game ini. Karena aplikasi ini harus diakses secara online maka koneksi internet mempengaruhi jalannya aplikasi ini. Pembuatan aplikasi game ini menggunakan Eclipse disisi client dan PHPStorm disisi server. Sistem Operasi Android yang digunakan untuk menjalankan aplikasi game ini dengan Android Gingerbread 2.3.0. Metode pengembangan perangkat lunak yang digunakan dalam pembuatan aplikasi game ini adalah metode Extreme Programming. Pada perkembangan lebih lanjut, aplikasi ini memerlukan sistem enkripsi data untuk masalah keamanan yang dapat mendukung REST web service. Kata Kunci = Game, Rest Web Service, Rest, Web Service, Android 1. PENDAHULUAN
keunggulan
pada
1.1 Latar Belakang
perangkat
mobile.
Perkembangan teknologi saat
masyarakat
saat
masing-masing
ini
Mayoritas pun
sudah
ini khususnya teknologi mobile sudah
memiliki perangkat mobile. Menurut
sangat
vendor
Nielsen Company (2013), di Amerika
pasar
Serikat saat ini 60% masyarakat
pesat.
berlomba-lomba
Banyak meramaikan
perangkat mobil, mereka memproduksi
menggunakan
perangkat
mobile
dan menjual produk tersebut dengan
smartphone. Bahkan di Hong Kong
pengguna smartphone sangat tinggi
aplikasi pada perangkat mobile baik
yaitu mencapai nilai 87%, sedangkan
yang diunduh dengan gratis atau
di Indonesia walaupun terbilang masih
berbayar.
sedikit yaitu 23% tapi angka tersebut
Perkembangan aplikasi game
masih terus meningkat mengingat
saat ini sangat pesat, bermula dari
perkembangan perangkat mobile dan
aplikasi dengan user pada perangkat
antusias masyarakat sangat tinggi[1].
tunggal, kemudian muncul bentuk
Perkembangan pasar mobile di seluruh
permainan dengan banyak user melalui
dunia yang mengalami peningkatan
banyak perangkat pada permainan
yang cukup pesat memacu banyak
yang sama melalui internet atau biasa
pengembang aplikasi untuk membuat
disebut dengan game online. Salah
aplikasi yang menarik pada perangkat
satu bagian terpenting dari game
mobile seperti smartphone.
online
Saat ini terdapat berbagai jenis
adalah
distribusi
dan
sinkronisasi data antara client dan
aplikasi pada perangkat smartphone,
server.
seperti aplikasi game, hiburan, berita,
haruslah dirancang sedemikian rupa
dan
sebagainya.
survey
Nielsen
Bentuk
pemrosesan
data
Namun
menurut
sehingga dapat didistribusikan melalui
Company
(2011),
jaringan yang ada kepada seluruh user
aplikasi game merupakan aplikasi
yang ada.
yang paling populer di kalangan
Untuk
dapat
menerapkan
pengguna smartphone. Berdasarkan
sinkronisasi data yang terintegrasi
hasil riset Nielsen, 64% pengguna
tersebut, dapat menggunakan Web
handphone memainkan aplikasi game
Service. Web service dapat dibangun
dalam kurun waktu 30 hari. Aplikasi
dengan
terpopuler berikutnya adalah aplikasi
pemrograman apa saja dan juga dapat
cuaca yang digunakan 60% pengguna
diimplementasikan
handphone, disusul aplikasi social
manapun.
media dengan 56% dan aplikasi peta
merupakan aplikasi logika yang dapat
dengan 51% pengguna [2]. Hal ini
diakses
menunjukkan
game
menggunakan standar internet yang
merupakan aplikasi yg paling sering
dideskripsikan dalam format XML dan
digunakan oleh pengguna smartphone,
diidentifikasi
dan merupakan jenis aplikasi yg paling
Resource
populer
Penggunaan Web Service dimaksudkan
di
aplikasi
antara
berbagai
jenis
menggunakan
Karena
dan
pada Web
platform Service
dipublikasikan
dengan
Identifier
bahasa
Universal (URI)
[3].
agar proses update data dilakukan
menggunakan
sekali pada sisi server sehingga lebih
sistem operasi Android untuk media
hemat waktu dan tenaga.
pengimplementasian aplikasi ini.
Sedangkan
untuk
distribusi
smartphone
berbasis
1.2 Tujuan
data dapat menggunakan salah satu
Berkaitan dengan hal-hal yang
arsitektur dari web service yaitu REST
telah dijelaskan di atas, maka dpat
web
service
dikembangkan sebuah aplikasi game
XML
kuis sederhana menggunakan sistem
format
operasi Android dengan menerapkan
pertukaran data [4]. Penelitian lain
REST web service agar proses update
yang
data dilakukan lebih efisien.
service.
mendukung maupun
REST
web
penggunaan
JSON
telah
sebagai
dilakukan
sebelumnya
menunjukkan bahwa format JSON cocok untuk digunakan pada REST
2. TINJAUAN PUSTAKA
web service untuk lingkungan mobile.
2.1 Web Service
Nurzhan Nurseitov, Michael Paulson, Randall
Reynolds,
Izurieta
(2009)
dan
telah
Clemente melakukan
Dalam dinyatakan
Microsoft bahwa
(2000)
web-service
merupakan tahapan ketiga dari tahapan
penelitian untuk mengukur performa
evolusi
XML dan JSON sebagai format untuk
Provider)
pertukaran
pertama ditekankan pada penyediaan
data.
Hasilnya
ASP
(Application
dimana
Service
pada
tahapan
menunjukkan bahwa JSON lebih cepat
aplikasi
desktop
sedangkan
pada
dan
tahapan
kedua
ditekankan
pada
membutuhkan
resource
lebih
daripada
XML
sedikit [5].
penyediaan aplikasi berbasis client-
Penggunaan arsitektur REST Web
server.
Service dimaksudkan agar user dapat
komponen-komponen
terhubung ke server dan mempercepat
blocks software disediakan sebagai
proses pertukaran data.
service dan disebarkan lewat jaringan
Dengan kelebihan dari REST web service
diatas
dikembangkan kuis
maka
dapat
sebuah aplikasi game
sederhana
Pada
tahapan
ketiga
atau
ini,
building
internet untuk diintegrasikan dengan aplikasi-aplikasi lain [6]. Menurut Kreger (2001) web-
dengan
service diartikan sebagai sebuah antar
kerja
muka (interface) yang menggambarkan
yang ada pada REST web service untuk
sekumpulan operasi-operasi yang dapat
melakukan
diakses melalui jaringan, misalnya
mengimplementasikan
update
sistem
data
dan
internet, dalam bentuk pesan XML [7].
requestor/consumer [7]. Interaksi yang
Web-service dapat dibangun dengan
terjadi antara ketiga komponen tersebut
menggunakan bahasa pemrograman
juga melibatkan operasi publish, find
apa
dan
saja
dan
diimplementasikan manapun.
dapat
pada
platform
bind.
menyediakan
Service service
provider yang
dapat
ini
dimungkinkan
diakses melalui jaringan komputer,
web-service
berkomunikasi
misalnya internet. Kemudian, service
menggunakan sebuah standar format
provider mendeskripsikan service yang
data yang universal yaitu XML dan
dibangun dan mem-publish-kan service
menggunakan protokol SOAP. Karena
description tersebut ke service registry
web-service menggunakan format data
atau
XML,
consumer. Service requestor/consumer
karena
Hal
juga
maka
web-service
juga
secara
langsung
mewariskan sifat multitier dari XML
menggunakan
operasi
sehingga
memungkinkan
mendapatkan
service
integrasi
antar
web-service
aplikasi.
Pada
sistem
terjadinya atau
multi-tier,
ke
service
find
untuk
description
secara lokal maupun melalui service registry.
Service
description
yang
aplikasi maupun dokumen XML dapat
diperoleh itu kemudian digunakan
dilewatkan ke pihak lain dan diolah
untuk mem-bind service provider dan
oleh pihak tersebut.
berinteraksi dengan implementasi web-
Dalam sistem ini dimungkinkan
service yang akan digunakan tersebut.
suatu aplikasi dapat mengambil data
Al Shahwan dan Moessner
dari satu sumber tanpa harus tahu
(2010) dan HostBridge Technology
bahwa
tersebut
(2009) mengelompokkan web service
dihasilkan melalui proses pengolahan
berdasarkan arsitektur yang digunakan
oleh sistem lain sehingga dapat terjadi
dalam implementasinya yaitu REST
integrasi data maupun aplikasi yang
dan SOAP-based web service[5].
sering
sebenarnya
disebut
data
dengan
A2A
2.2 REST Web Service
(application to application). Dalam
Istilah REST yang merupakan
Kreger (2001) dinyatakan juga bahwa
singkatan dari Representational State
model
web-service
Transfer pertama kali digunakan oleh
didasarkan pada interaksi antara 3
Roy Thomas Fielding, salah seorang
komponen yang berperan dalam web-
pelopor proyek web server Apache,
service, yaitu: service provider, service
pada disertasi doktornya yang berjudul
registry
Architectural Styles and the Design of
dari
sebuah
dan
service
Network-based Software Architectures
REST web service menampilkan
di University of California pada tahun
semua resource dan interaksinya
2000. Fielding (2000) mengidentifikasi
dengan interface yang seragam,
empat
tidak
prinsip
(constraints)
dalam
seperti
RPC
yang
REST, yaitu [8]:
menampilkan fungsi yang ada
1. Resource Identification
melalui
Semua statenya)
resource
yang
method
yang
bisa
(serta
dipanggil secara remote. Dalam
berhubungan
REST web service untuk uniform
dengan aplikasi diberikan identifier
interface
yang unik dan identifier tersebut
Uniform Resource Identifier(URI).
harus
Konsep
URI pada REST web service
resource disini bukan hanya hal
berupa hyperlink terhadap resource
statis yang langsung berhubungan
meskipun REST constraint tidak
dengan
juga
menyatakan URI harus berupa
yang
hyperlink, namun karena teknologi
dokumen
yang digunakan pada web service
bersifat
global.
aplikasi
namun
termasuk
informasi
dibutuhkan
seperti
transaksi.
ini
menggunakan
adalah web sehingga URI berupa
REST
resource adalah
hyperlink.
Jika
menggunakan
semua hal yang bisa diakses dan
teknologi lain, REST URI tentu
ditransfer melalui web antara client
akan berupa hal yang berbeda,
dan server. Dan karena protokol
namun
yang
terhadap sebuah resource.
digunakan
berkomunikasi
adalah
untuk HTTP,
tetap
berupa
address
3. Self-Describing Message
berbagai macam tipe file bisa
Untuk
setiap
interaksi
ditransfer, teks file, flash movie,
dengan
gambar dll. Sehingga dalam REST
antarmuka yang seragam, REST
system representasi dari resource
membutuhkan
tergantung dari tipe yang diminta
resource
client
semua aspek penting yang dimiliki
(MIME
didefinisikan
type)
didalam
yang protokol
request. 2. Uniform Interface Semua interaksi dibangun dengan antarmuka yang seragam.
oleh
resource
melalui
representasi
yang
dari
menggambarkan
resource
tersebut.
Representasi dari resource sendiri adalah semua hal yang dikirim antara
cilent
Representasi
dan merupakan
server. state
sementara dari data sebenarnya
menciptakan aplikasi mereka sendiri
yang terletak di suatu tempat
untuk
penyimpanan. Dengan kata lain
peranti bergerak. Awalnya, Google
representasi
stream
Inc. membeli Android Inc., pendatang
yang
baru yang membuat peranti lunak
biner
merupakan
besama
menjelaskan
metadata
bagaimana
stream
digunakan
untuk
ponsel.
oleh
bermacam
Kemudian
untuk
tersebut digunakan baik untuk
mengembangkan Android, dibentuklah
client maupun untuk server. Bisa
Open Handset Alliance, konsorsium
terdapat banyak jenis client yang
dari 34 perusahaan peranti keras,
me-request resource yang ada,
peranti lunak, dan telekomunikasi,
oleh karena itu representasi setiap
termasuk
client
Motorola, Qualcomm, T-Mobile, dan
pun
dapat
Representasinya
berbeda.
dapat
berupa
gambar, text file, stream XML atau stream
JSON,
tapi
Google,
HTC,
Intel,
Nvidia. Pada
Juli
2000,
Google
kesemua
bekerjasama dengan Android Inc.,
representasi tersebut harus tersedia
perusahaan yang berada di Palo Alto,
melalui URI yang sama. Untuk
California
kasus request yang dilakukan oleh
pendiri Android Inc. bekerja pada
manusia (human user) biasanya
Google, di antaranya Andy Rubin,
representasi berupa laman web
Rich Miner, Nick Sears, dan Chris
sehingga
White. Pada saat perilisan perdana
menjadi
bentuk
representasi yang dapat dibaca. 4. Stateless Interaction
Serikat.
Para
android, 5 November 2007, Android bersama
Setiap interaksi antara client dan
Amerika
Open
Handset
menyatakan
Alliance
mendukung
server harus memiliki state sendiri
pengembangan standar terbuka pada
(atau
perangkat
dengan
kata
lain
tidak
seluler.
Di
lain pihak,
dipengaruhi session client). Jadi server
Google merilis kode–kode Android di
hanya akan memantau resource state
bawah lisensi Apache, sebuah lisensi
bukan client session.
perangkat lunak dan standar terbuka
2.3 Android
perangkat seluler
Android adalah sistem operasi
Di dunia ini terdapat dua jenis
untuk telepon seluler yang berbasis
distributor sistem operasi android.
Linux. Android menyediakan platform
Pertama yang mendapat dukungan
terbuka bagi para pengembang buat
penuh dari Google atau Google Mail
Services (GMS) dan kedua adalah yang
sebagian besar fungsi yang sama
benar-benar bebas distribusinya tanpa
dengan yang terdapat pada core
dukungan
libraries
dikenal
langsung sebagai
Google Open
atau
Handset
pemrograman
Java. Setiap aplikasi menjalankan
Distribution (OHD). Diagram
bahasa
prosesnya sendiri dalam android,
berikut
menunjukan
dengan
komponen utama dari sistem operasi Android :
mesin
virtual
Dalvik
(Dalvik VM). 4.
Aplikasi Framework Pengembang
memiliki
penuh menuju API
akses
framework
yang sama dengan yang digunakan oleh
aplikasi
inti.
Arsitektur
aplikasi dirancang agar komponen dapat digunakan kembali (reuse) Gambar 2.1: Arsitektur Android
dengan mudah. Setiap aplikasi
1. Linux Kernel
dapat memanfaatkan kemampuan
Seperti dapat dilihat pada gambar
ini
Linux Kernel menyediakan driver
keamanan
layar, kamera, keypad, Wifi, flash
framework).
memory,
sama memungkinkan komponen
audio,
(interprocess untuk
2.
3.
dan
IPC
communication)
mengatur
aplikasi
dan
(sesuai
dengan yang
batasan
didefinisikan
Mekanisme
yang
diganti oleh pengguna. 5. Application
keamanan. Kernel juga bertindak
Android
sebagai lapisan abstrak antara
aplikasi inti (native) seperti email
hardware dan software.
client, map, SMS, kalender, dan
Libraries
lainnya. Semua aplikasi tersebut
Android menyertakan libraries C /
ditulis
C++
pemrograman Java. Pada layer
yang
digunakan
oeleh
telah
menyertakan
menggunakan
developer
bahasa
berbagai komponen dari sistem
inilah
menempatkan
android.
aplikasi yang dibuat.
Android Runetime
Saat ini operasi android memiliki
Android terdiri dari satu set core
beberapa versi, versi terbaru (sampai
libraries
tulisan ini dibuat) adalah versi 4.3
yang
menyediakan
(Jelly Bean).
3. METODE PENGUMPULAN DATA
struktur
data,
arsitektur
perangkat
Dalam Pengumpulan data dilakukan
lunak, representasi interface, dan detail
dengan cara kajian pustaka mengenai
(algoritma) prosedural. Tahapan ini
teori – teori dan data-data yang terkait
akan menghasilkan dokumen yang
berupa buku, jurnal, dan artikel dalam
disebut software requirment. Dokumen
web.
inilah
Teori
tersebut
diantaranya
yang
akan
digunakan
mengenai perancangan dan dasar –
proggammer
dasar penerapan REST web service
aktivitas pembuatan sistemnya.
pada game android.
Dalam
untuk
proses
ini
melakukan
juga
akan
4. HASIL DAN PEMBAHASAN
menghasilkan desain interface yang
4.1 Analisa Kebutuhan User
nantinya digunakan untuk membuat
Dalam pembangunan aplikasi
tampilan dari aplikasi game yang akan
Game kuis sederhana yang menerapkan
dibuat. Berikut adalah tampilan desain
REST web service berbasis Android
interface-nya :
tentunya diperlukan analisa apa saja yang dibutuhkan oleh user dalam hal ini masyarakat yang menggunakan aplikasi ini. User memerlukan suatu sistem yang mencakup: 1. Mengambil data pertanyaan dan skor dari server. 2. Menampilkan
pertanyaan
seputar sejarah Indonesia. 3. Menampilkan
daftar
pertanyaan dan jawabannya setelah game berakhir. 4. Menampilkan
nilai
skor
tertinggi dari server. 4.2 Desain Proses desain akan menerjemahkan syarat
kebutuhan
ke
sebuah
perancangan perangkat lunak yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada :
Gambar 4.1 : Desain Halaman Login
Gambar 4.2 : Halaman Registrasi
Gambar 4.5 : Selesai Game
Gambar 4.6 : Halaman Score Gambar 4.3 : Menu Utama 5. PENUTUP 5.1 Kesimpulan Setelah
melakukan
analisis
merancang dan mengimplementasikan REST Web Service pada aplikasi game kuis
sederhana
pada
handphone
Android, diperoleh kesimpulan bahwa diterapkannya
REST
Web
Service
membuat aplikasi dapat diakses secara online. Gambar 4.4 : Halaman Main Kuis
Selain
itu
mempercepat
pendistribusian data dari server ke client. Tetapi karena aplikasi ini harus
diakses secara online maka koneksi internet
mempengaruhi
jalannya
aplikasi ini.
[3] Prasetyo,
Hendro
Implementasi Architecture
Berdasarkan kesimpulan diatas, maka ada beberapa saran yang dapat diberikan
dalam
pengembangan
aplikasi ini, yaitu : 1. Untuk pengembangan lebih lanjut
2005.
Service (SOA)
Teknologi
5.2 Saran
J.
Web
Oriented
Menggunakan
Service.
Skripsi.
Universitas Widya Dharma. [4] Kumar Pavan, Otti P. 2011. On the Design of Web Services: SOAP vs REST University of North Florida.
dalam proses penyimpanan data,
[5] HostBridge Technology. 2009. SOAP
diperlukan sistem enkripsi data
and REST : Choosing formal and
untuk
masalah
informal
dapat
mendukung
keamanan REST
yang web
service. Sehingga data yang terdapat pada
server
dapat
terjamin
keamanannya.
integration. JSON team. Intoducing to JSON. [6] Microsoft Corp. (2000). Application Service
2. Aplikasi game sederhana ini hanya
Web services for CICS
Provider:
Evolution
and
Resources. White Paper, USA.
dapat digunakan pada sistem operasi Android saja. Diharapkan pada
[7] Kreger,
H.
(2001).
Web-services
pengembangan berikutnya, aplikasi
Conceptual Architecture (WSCA 1.0).
ini dapat dikembangkan pada sistem
IBM Software Group, USA.
operasi mobile lainnya jelas.
[8] Fielding,
Roy
Thomas
(2000).
Architectural Styles and the Design of DAFTAR PUSTAKA
Network-based
[1] http://www.nielsen.com/us/en/newswir e/2013/whos-winning-the-u-s-
Architectures.
Software Disertasi
Doktoral.
University of California, Irvine.
smartphone-market-.html diakses pada [9] Adams, Ernest (2010). Fundamentals
21 oktober 2013.
of game design 2nd edition. Berkeley: [2] http://www.nielsen.com/us/en/newswir
New Riders Publishing.
e/2011/games-most-popular-mobileapp-category.html
diakses
tanggal 25 September 2013.
pada
[10] Scheel, Jesse. (2008). The art of game design: a book of lenses. Burlington: Morgan Kaufmann Publishers