Post on 18-Mar-2019
7
BAB 2
LANDASAN TEORI
2.1 Game
2.1.1 Pengertian Mobile Game
Menurut Anonim1, mobile game adalah sebuah video game yang
dimainkan dalam mobile phone, smartphone, PDA atau handheld computer;
tidak termasuk yang dimainkan dengan handheld video game seperti Playstation
Portable atau Nintendo DS.
Menurut Lam (2003, p9), mobile game adalah game yang tidak hanya
dapat dimainkan melalui telepon selular, namun dapat dikembangkan dalam
berbagai macam mobile handset seperti PDA, Symbian OS dan Microsoft’s
Smartphone.
Mobile game dimainkan dengan menggunakan teknologi yang ada di
dalam alat itu sendiri, contohnya software game yang telah ada dalam telepon
selular itu sendiri. Untuk game yang dimainkan secara online, terdapat beberapa
teknologi yang umum digunakan, misalnya dengan pesan teks (SMS), pesan
multimedia (MMS) atau GPRS untuk mengidentifikasi lokasi.
2.1.2 Sejarah Singkat Mobile game
Pada awalnya, game pada telepon selular hanya bersifat sebagai fitur
tambahan, namun pada kenyataannya banyak konsumen telepon selular yang
8
menyambut baik fitur tambahan ini. Kini, telepon selular tidak hanya berfungsi
sebagai alat komunikasi tapi juga memberikan hiburan bagi para penggunanya.
Sejarah mobile game dimulai pada tahun 1997an dimana Nokia merilis
tipe game baru yang dapat dimainkan dengan menggunakan telepon selular.
Game pertama yang sangat populer tersebut adalah “Snake”.
Pada tahun 1999-an, muncul lagi trend baru mobile game dengan game
berbasis WAP dan game berbasis SMS. Di era ini, dirilislah game I-Mode,
layanan internet wireless, yang begitu populer di Jepang dan negara lain.
Telepon selular pun sudah mampu digunakan untuk bermain game secara
multiplayer karena adanya dukungan jaringan internet.
Di tahun 2001, dengan adanya perkembangan spesifikasi dari telepon
selular, game telah dimainkan pada layar berwarna dengan dukungan grafik yang
lebih baik dan sudah mampu untuk di-download. Pada masa itu, pengguna
telepon selular mulai berlomba-lomba membeli dan menyimpan berbagai
hiburan ke dalam telepon selular. Telepon selular pun berkembang ke arah
menggunakan microcomputer sehingga dukungan grafik dan suara yang baik
dapat digunakan pada mobile game.
Pada tahun 2003, Nokia memperkenalkan platform N-Gage dan
game online dengan platform tersebut. Hingga saat ini, telepon selular telah
banyak yang mendukung grafik 3D, kualitas suara dan resolusi tampilan yang
baik, dan memori yang memadai. Berbagai platform pemrograman game (J2ME,
Symbian, Windows Mobile) sudah didukung dengan pustaka yang semakin
lengkap (Pelkonen, 2004, p4).
9 2.1.3 Kelebihan Mobile Game
Menurut Anonim2 (2003, p4), beberapa kelebihan dari mobile game
diantaranya, yaitu:
1. Potensi peminat yang besar.
Pada saat ini, di setiap negara maju selain Amerika Serikat, jumlah populasi
yang memiliki telepon selular lebih besar dibandingkan dengan yang
memiliki komputer di rumah. Potensi peminat mobile phone lebih besar
dibandingkan dengan potensi pasar dari platform lain, seperti Playstation dan
Gameboy. Kini, jumlah telepon selular yang digunakan lebih dari satu milyar
dan diperkirakan akan terus berkembang.
2. Portabilitas.
Pada jaman sekarang, orang lebih suka memainkan game yang dapat
dimainkan kapan saja mereka suka. Ini sebabnya GameBoy telah menjual
lebih banyak console game dibandingkan dengan console game lainnya.
Portabilitas merupakan suatu hal yang penting bagi masyarakat sekarang.
Sebuah handphone mungkin bukan sebuah alat game yang bagus jika
dibandingkan dengan modern console atau komputer, tapi hampir setiap
waktu orang membawa telepon selular.
3. Terjaring.
Telepon selular sangat mendukung multiplayer game karena telepon selular
merupakan networked device walaupun masih terdapat kekurangan lainnya.
10 2.1.4 Pengertian Music game
Music game merupakan salah satu dari beragam genre game yang ada
saat ini. Salah satu karakteristik dari game ini adalah adanya musik yang menjadi
komponen penting dalam permainan.
Menurut Anonim3, music game adalah sebuah permainan dimana hampir
seluruh permainannya ditujukan untuk permainan yang menggunakan notasi
musik dan sebuah lagu. Music game dapat memiliki beberapa jenis bentuk dan
sering kali digabungkan dengan puzzle game seperti yang digunakan
"rhythmically generated puzzles".
2.2 Java 2 Micro Edition (J2ME)
Menurut Anonim4, J2ME adalah satu set spesifikasi dan teknologi yang
fokus kepada perangkat konsumen. Perangkat ini memiliki jumlah memori yang
terbatas, menghabiskan sedikit daya dari baterai, layar yang kecil dan bandwith
jaringan yang rendah.
J2ME membawa Java ke dunia informasi, komunikasi dan perangkat
komputasi selain perangkat komputer desktop, yang biasanya lebih kecil. J2ME
bisa digunakan pada telepon selular, pager, Personal Digital Assistant (PDA)
dan sejenisnya (Shalahuddin dan Rosa, 2006, p5).
2.2.1 Arsitektur J2ME
Menurut Keogh, arsitektur J2ME terdiri atas 3 lapisan perangkat lunak
(gambar 2.1), yaitu: lapisan konfigurasi, lapisan profile, dan lapisan Mobile
Information Device Profile (MIDP).
11
Gambar 2.1 Lapisan Arsitektur J2ME
(Keogh, 2003, p36)
2.2.1.1 Konfigurasi J2ME
Konfigurasi merupakan lapisan pertama dalam arsitektur J2ME. Lapisan
ini mengandung Java Virtual Machine (JVM) yang secara langsung berhubungan
dengan sistem operasi dan menangani interaksi antara profile dengan JVM.
Konfigurasi mendefinisikan minimum Java libraries dan kapabilitas yang
dimiliki oleh para developer J2ME. Artinya antara mobile device yang Java
enabled maka akan ditemukan konfigurasi yang sama.
Jadi konfigurasi hanya mengatur hal-hal yang berkaitan dengan
“kesamaan”, bukan mengatur hal-hal yang “membedakan”, sehingga konfigurasi
memastikan portabilitas antar device.
Menurut Wiryasantika (2003, p3), perkembangan konfigurasi ditentukan
oleh Java Community Process (JCP), sebuah badan non-profit yang berkutat
dengan perkembangan Java. Dua konfigurasi yang telah didefinisikan,
diantaranya yaitu Connected Device Configuration (CDC) dan Connected
Limited Device Configuration (CLDC).
12 2.2.1.1.1 Connected Device Configuration (CDC)
Connected Device Configuration (CDC) bertujuan untuk
mengaplikasikan kemampuan-kemampuan utama dari tiap-tiap jenis device,
dimana target CDC tersebut adalah memiliki minimal memori 2MB termasuk
RAM dan ROM. CDC menspesifikasikan Java 2 Platform Virtual Machine
secara penuh dan disebut juga Compact Virtual Machine (CVM).
Walaupun CVM mendukung fitur yang sama seperti J2SE Virtual
Machine, CVM dirancang untuk konsumen dan embedded device. Ini berarti
bahwa J2SE Virtual Machine telah dikembangkan ulang untuk disesuaikan
dengan batasan-batasan dari device yang memiliki resource terbatas (Piroumian,
2002, p3).
2.2.1.1.2 Connected Limited Device Configuration (CLDC)
Tujuan dari Connected Limited Device Configuration (CLDC) adalah
untuk menggambarkan suatu platform Java standar untuk device dengan
spesifikasi memori 260 KB. Karena variasi sistem perangkat lunak yang luas
pada berbagai personal device, CLDC membuat asumsi minimum tentang
lingkungan dimana CLDC berada. Sebagai contoh, sebuah OS mungkin akan
mendukung berbagai proses secara bersamaan, yang lainnya mungkin atau
mungkin tidak mendukung sistem file (Piroumian, 2002, p7).
13
Gambar 2.2 Hubungan Antara J2SE, CDC Dan CLDC
(Piroumian, 2002, p10).
Dari gambar di atas (gambar 2.2) kita dapat dilihat bahwa CLDC
merupakan subset dari CDC. Dapat diketahui juga bahwa CDC dan CLDC
merupakan subset dari platform J2SE.
2.2.1.2 Profile J2ME
Lapisan kedua dari arsitektur J2ME adalah lapisan profile. Lapisan ini
terdiri atas sekumpulan Application Programming Interface (API). Profile
merupakan kebalikkan dari konfigurasi, yaitu mengatur hal-hal yang spesifik
untuk sebuah device.
Profile terdiri atas class-class Java yang menyediakan implementasi dari
fitur-fitur untuk small computing device. Saat ini terdapat 7 profile dalam J2ME
(Keogh, 2003, p13-14).
14 2.2.1.3 Mobile Information Device Profile (MIDP)
Mobile Information Device Profile (MIDP) merupakan lapisan ketiga
dalam arsitektur J2ME. Menurut Keogh (2003, p36), lapisan MIDP mengandung
Java API untuk koneksi jaringan pemakai dan sebagai penghubung antar
pemakai. Lapisan ini juga mampu mengakses ke libraries CLDC dan libraries
MIDP .
Menurut Anonim4, MIDP menggambarkan model aplikasi, UI API,
penyimpanan dan jaringan yang kuat, permainan dan media API, kebijakan
keamanan, penyebaran aplikasi dan ketetapan over-the-air.
2.2.1.3.1 MIDlet
Menurut Hartanto (2003, p5) MIDlet adalah aplikasi yang dibuat dengan
menggunakan J2ME dengan MIDP. MIDP dikhususkan untuk digunakan pada
telepon selular dengan kemampuan CPU, memory, keyboard, dan layar yang
terbatas, seperti misalnya pada telepon selular, pager, PDA, dan sebagainya.
Arsitektur tingkat tinggi dari sebuah aplikasi MIDP ditunjukkan oleh gambar 2.3.
15
Gambar 2.3 Arsitektur Aplikasi MIDP
(Hartanto, 2003, p5)
Secara umum, terdapat beberapa hal penting dalam membuat sebuah
aplikasi MIDlet, yaitu menyangkut lifecycle, user interface, command handling,
deployment dan Application Management.
2.2.1.3.2 Siklus Hidup MIDlet
Siklus hidup dari sebuah MIDlet ditangani oleh Application Management
Software (AMS). AMS ini adalah sebuah lingkungan dimana siklus dari sebuah
MIDlet mampu diciptakan, dijalankan, dihentikan, maupun dihilangkan. AMS
sering pula dinamakan dengan Java Application Manager (JAM).
MIDlet memiliki beberapa state yaitu Pause, Active, dan Destroy. Ketika
masing-masing state dipanggil, beberapa metode-metode standar yang
bersesuaian dipanggil. Method-method ini merupakan bawaan dari J2ME.
16
Gambar 2.4 Life Cycle Dan Perubahan Status MIDlet
(Hartanto, 2003, p6)
Dari gambar di atas (gambar 2.4), dapat dijelaskan bahwa:
1. Ketika MIDlet pertama kali diciptakan dan diinisialisasi, maka MIDlet
akan berada dalam state “Pause”.
2. Apabila terjadi kesalahan selama konstruksi MIDlet, maka MIDlet akan
berpindah ke state “Destroy”, dan MIDlet batal diciptakan dengan jalan
memanggil fungsi standar destroyApp().
3. Selanjutnya, ketika MIDlet dijalankan, maka MIDlet akan berada pada
state “Active”, dalam hal ni fungsi standar yang dipanggil adalah
startApp().
4. Akan tetapi jika di tengah jalan MIDlet dehentikan sementara, maka
MIDlet akan berada dalam state “pause” dengan jalan memanggil fungsi
standar pauseApp(). Pada state ini diperlukan proses cleanup terhadap
garbage collector yang dihasilkan.
17 2.3 Model Proses Rekayasa Piranti Lunak
Menurut Pressman (2001, p28), ada enam tahap dalam Linear Sequential
Model (Waterfall Model), yaitu:
Gambar 2.5 Linear Sequential Model
1. Rekayasa sistem (system engineering)
Aktivitas ini dimulai dengan penetapan kebutuhan dari semua elemen sistem.
Gambaran sistem ini penting jika perangkat lunak harus berinteraksi dengan
elemen-elemen lain, seperti hardware, manusia dan database.
2. Analisa kebutuhan perangkat lunak (software requirement analysis)
Yang dilakukan pada tahap ini adalah untuk mengetahui kebutuhan piranti
lunak, sumber informasi piranti lunak, fungsi-fungsi yang dibutuhkan,
kemampuan piranti lunak dan antarmuka piranti lunak tersebut.
18
3. Perancangan (design)
Tahap ini menitikberatkan pada empat atribut program, yaitu struktur data,
arsitektur piranti lunak, rincian prosedur dan karakter antarmuka. Tahap ini
pula menerjemahkan kebutuhan ke dalam sebuah representasi perangkat
lunak yang dapat dinilai kualitasnya sebelum dilakukan pengkodean.
4. Pengkodean (coding)
Tahap pengkodean yang dilakukan adalah memindahkan hasil perancangan
menjadi suatu bentuk yang dapat dimengerti oleh mesin, yaitu dengan
membuat program.
5. Pengujian (testing)
Tujuan dari tahap pengujian adalah agar output yang dihasilkan oleh program
sesuai dengan yang diharapkan. Pengujian dilakukan secara menyeluruh
hingga semua elemen, perintah dan fungsi dapat berjalan sebagaimana
mestinya.
6. Pemeliharaan (maintenance)
Tahap pemeliharaan dilakukan dengan tujuan mengantisipasi kebutuhan
pemakai terhadap fungsi-fungsi baru yang dapat timbul sebagai akibat
munculnya sistem operasi baru, teknologi baru dan hardware baru.
2.4 Flowchart
Menurut Dewi, flowchart adalah representasi grafik dari langkah-langkah
menyelesaikan suatu permasalahan yang terdiri atas sekumpulan simbol, dimana
masing-masing simbol merepresentasikan suatu kegiatan tertentu. Flowchart
19
diawali dengan penerimaan input, pemrosesan input, dan diakhiri dengan
penampilan output.
Berikut ini adalah simbol-simbol yang terdapat dalam flowchart, antara
lain:
1. Simbol Input
Simbol input digambarkan dengan bangun jajar genjang. Simbol ini
digunakan untuk melambangkan kegiatan penerimaan input.
Gambar 2.6 Simbol Input
(Dewi, 2005, p3)
2. Simbol Proses
Simbol proses digambarkan dengan bangun persegi panjang (gambar 2.7).
Simbol ini digunakan untuk melambangkan kegiatan pemrosesan input.
Gambar 2.7 Simbol Proses
(Dewi, 2005, p3)
20
3. Simbol Percabangan
Simbol percabangan digambarkan dengan bangun belah ketupat (gambar
2.8). Simbol ini melambangkan percabangan, yaitu pemeriksaan terhadap
suatu kondisi. Dalam simbol ini, dituliskan keadaan yang harus dipenuhi.
Gambar 2.8 Simbol Percabangan
(Dewi, 2005, p4)
4. Simbol Garis Alir
Simbol garis alir atau flow lines digambarkan dengan anak panah (gambar
2.9). Simbol ini digunakan untuk menghubungkan setiap langkah dalam
flowchart dan menunjukkan kemana arah aliran diagram. Anak panah ini
harus mempunyai arah dari kiri ke kanan atau dari atas ke bawah.
Gambar 2.9 Simbol Garis Alir
(Dewi, 2005, p4)
5. Simbol Terminator
Simbol terminator digambarkan dengan bangun seperti gambar 2.10.
Terminator berfungsi untuk menandai awal dan akhir dari suatu flowchart.
Simbol ini biasanya diberi label START untuk menandai awal dari
21
flowchart, dan label STOP untuk menandai akhir dari flowchart. Dalam
sebuah flowchart pasti terdapat sepasang terminator yaitu terminator start
dan terminator stop.
Gambar 2.10 Simbol Terminator
(Dewi, 2005, p5)
2.5 Unified Modelling Language (UML)
Menurut Booch et.al (1999, p3), Unified Modelling Languange (UML)
adalah sebuah bahasa pemodelan umum yang bertujuan untuk menspesifikasi,
menvisualisasi, merancang dan mendokumentasikan sebuah piranti lunak.
UML menawarkan sebuah standar untuk merancang model sebuah sistem.
Dengan menggunakan UML dapat dibuat model untuk semua jenis aplikasi
piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem
operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun.
UML lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa
berorientasi objek karena UML juga menggunakan class dan operation dalam
konsep dasarnya.
2.5.1 Use Case Diagram
Use case diagram menggambarkan behaviour/fungsionalitas dari sistem,
sub-sistem atau class seperti yang akan ditampilkan pada user (Booch et.al, 1999,
p63). Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan
22
“bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor
dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke
sistem, meng-create sebuah daftar belanja, dan sebagainya.
Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang
berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use
case diagram dapat membantu dalam penyusunan requirement sebuah sistem,
mengkomunikasikan rancangan dengan klien, dan merancang test case untuk
semua feature yang ada pada sistem.
Gambar 2.11 Contoh Use Case Diagram
(Dharwiyanti dan Wahono, 2003, p5)
2.5.2 Activity Diagram
Activity diagram menggambarkan berbagai alir aktivitas dalam sistem
yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang
mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat
23
menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi
(Dharwiyanti dan Wahono, 2003, p7).
Activity diagram merupakan state diagram khusus, di mana sebagian
besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya
state sebelumnya (internal processing). Oleh karena itu activity diagram tidak
menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem)
secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas
dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu use
case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use
case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan
aktivitas.
Sama seperti state, standar UML menggunakan segiempat dengan sudut
membulat untuk menggambarkan aktivitas. Decision digunakan untuk
menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan
proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat
berupa titik, garis horizontal atau vertikal.
Activity diagram dapat dibagi menjadi beberapa object swimlane untuk
menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.
24
Gambar 2.12 Contoh Activity Diagram
(Dharwiyanti dan Wahono, 2003, p8)
2.5.3 Class Diagram
Class adalah sebuah spesifikasi yang jika diinstansiasi akan
menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain
berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem,
sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut
(metoda/fungsi).
Class diagram menggambarkan struktur dan deskripsi class, package dan
objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi,
dan lain-lain. Class memiliki tiga area pokok, yaitu nama, atribut dan metoda.
Atribut dan metoda dapat memiliki salah satu sifat berikut:
1. Private, tidak dapat dipanggil dari luar class yang bersangkutan
25
2. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-
anak yang mewarisinya
3. Public, dapat dipanggil oleh siapa saja
Hubungan antar class terdiri atas:
1. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan
class yang memiliki atribut berupa class lain, atau class yang harus
mengetahui eksistensi class lain. Panah navigability menunjukkan arah
query antar class.
2. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari
class lain dan mewarisi semua atribut dan metoda class asalnya dan
menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang
diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
4. Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari
satu class kepada class lain.
26
Gambar 2.13 Contoh Class Diagram
(Dharwiyanti dan Wahono, 2003, p6)
2.5.4 Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di
sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message
yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi
vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).
Sequence diagram biasanya digunakan untuk menggambarkan skenario
atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event
untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas
tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output
apa yang dihasilkan. Masing-masing objek, termasuk aktor, memiliki lifeline
vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek
lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi
27
operasi/metoda dari class. Activation bar menunjukkan lamanya eksekusi sebuah
proses, biasanya diawali dengan diterimanya sebuah message.
Gambar 2.14 Contoh Sequence Diagram
(Dharwiyanti dan Wahono, 2003, p9)
2.6 Hypertext Transfer Protocol (HTTP)
HTTP merupakan salah satu koneksi yang didukung oleh semua
handphone MIDP (Anonim5, 2003, p8). HTTP pendukung yang bertugas dalam
MIDP adalah HTTP pendukung client. Ini berarti MIDlet bertindak seperti web
browser. HTTP request akan dikirim ke HTTP server kemudian diterima
kembali sebagai HTTP response.
28
Gambar 2.15 Jaringan MIDP HTTP
(Anonim5, 2003, p8)
2.7 Global System for Mobile Communication (GSM)
Menurut Anonim11, GSM merupakan standar global untuk komunikasi
selular sekaligus sebagai teknologi selular yang paling banyak digunakan orang
di seluruh dunia. GSM merupakan sebuah teknologi komunikasi selular yang
bersifat digital. Teknologi ini memanfaatkan gelombang mikro dan pengiriman
sinyal yang dibagi berdasarkan waktu, sehingga sinyal informasi yang dikirim
akan sampai pada tujuan.