BAB II TINJAUAN PUSTAKA
II.1 Teknologi BREW BREW adalah singkatan dari Binary Runtime Environment for Wireless, merupakan platform pengembangan aplikasi untuk telepon genggam (handphone) dengan teknologi Code Division Multiple Access (CDMA). Teknologi ini diciptakan oleh Qualcomm Enterprise untuk mendukung pengembangan aplikasi berbasis chipset yang diciptakannya. BREW merupakan sebuah platform yang dapat mengunduh (download) program dan menjalankannya di dalam handset untuk bermain game, sharing file, mengirim pesan, dsb.
Gambar 2. 1 Logo Qualcomm BREW[15].
Keuntungan
memakai
platform
BREW
adalah
pengguna
dapat
mengkomunikasikan aplikasi mereka antar device apapun yang berbasiskan chipset keluaran Qualcomm. Dengan keuntungan ini, masalah interkoneksi yang sering timbul ketika mengkomunikasikan device dapat teratasi dengan mudah. BREW menghubungkan antara aplikasi dengan sistem operasi on-chip pada peralatan nirkabel agar programmer dapat mengembangkan aplikasi tanpa perlu menulis program langsung ke dalam sistem maupun mengerti akan aplikasi nirkabel. Bagi pengembang perangkat lunak, BREW merupakan sebuah set API lengkap sehingga pengembangan dapat dilakukan dalam bahasa C, C++ dan Java, dan didukung oleh platform ASIC[15]. BREW memiliki footprint 6
memory sebesar 15900 K[15]. BREW juga dikenal sebagai Pseudo Operating System (Pseudo OS) dan berjalan di atas BREW RTOS (Real Time Operating System). Diagram di bawah ini menunjukkan lapisan-lapisan dalam BREW. Di layer paling bawah terdapat fungsi-fungsi yang diberikan oleh vendor hardware. Fungsi-fungsi di layer berwarna hijau tidak salalu dimiliki oleh semua handheld, tergantung pabrikannya. BREW sendiri berada di lapisan tengah di mana aplikasi yang dibuat oleh pengembang dapat berdiri di atasnya. BREW juga mendukung virtual machine Java di atasnya.
Gambar 2. 2 Software Layering dalam BREW[3].
7
Keunggulan Platform BREW Mengembangkan aplikasi dengan BREW memiliki beberapa keunggulan, antara lain: 1. Pengembangan aplikasi dapat dilakukan dengan mudah untuk berbagai tipe handset berbasis BREW. Developer tidak perlu membuat source code berbeda untuk masing-masing handset, karena satu source code dapat dipakai di berbagi macam handset.
Gambar 2. 3 Kemudahan Pengembangan Aplikasi dalam BREW[3].
2. Mendukung teknologi hardware terkini. Berbagai teknologi mutakhir telah didukung oleh BREW, seperti Bluetooth dan GPS.
8
Gambar 2. 4 BREW Mendukung Teknologi Hardware Terkini[3].
3. Instalasi
aplikasi
dapat
dilakukan
secara
on-air,
sehingga
memudahkan proses jual-beli aplikasi. Namun dikarenakan teknologi ini belum tersedia di operator CDMA Indonesia, teknologi ini tidak akan dibahas lebih mendalam.
Gambar 2. 5 Proses Download Aplikasi dalam BREW[3].
4. Tools dan dokumentasi yang lengkap. Qualcomm menyediakan semua perlengkapan yang diperlukan dalam paket BREW SDK dan 9
SDK tools sehingga pengembang dapat menciptakan aplikasi yang menarik. Di dalam SDK telah tersedia simulator, contoh program, dokumentasi dan file-file header
yang diperlukan. SDK tools
menyediakan program-program tambahan untuk memaksimalkan aplikasi yang akan dibuat.
Gambar 2. 6 Paket Pengembangan Aplikasi BREW[3].
Pengembangan Aplikasi BREW Perangkat lunak bagi handset berbasiskan BREW dapat dikembangkan dalam bahasa C atau C++ melalui BREW SDK (Software Development Kit). SDK ini disediakan gratis oleh Qualcomm dan dapat diunduh melalui situs resmi Qualcomm (http://brew.qualcomm.com). Software Development Kit ini terdiri dari BREW Emulator dan BREW Simulator (sejak BREW versi 3.15) untuk testing selama proses pengembangan aplikasi. Berbeda dari Java Micro Edition (Java ME) di mana setiap pengembang (Developer) dapat mempublikasikan dan menjalankan perangkat lunak hasil pengembangannya ke dalam handset manapun, aplikasi BREW harus ditandai secara digital (digital signature). Teknologi BREW memberikan akses penuh ke dalam perangkat keras (hardware). Untuk itu, hanya penyedia content (content providers) dan pengembang BREW resmi yang memiliki tool untuk 10
membuatkan penanda digital (digital signature). Lebih lanjut lagi, aplikasi hasil pengembangan hanya dapat dimasukkan ke dalam handset khusus yang dapat ditest. BREW versi 3.1 ke atas merupakan handset yang "test-enabled". Setelah selesai dikembangkan dan ditest secara internal, aplikasi tersebut harus dikirimkan kepada NSTL untuk test TRUE BREW. Setelah aplikasi melewati semua test, pengembang dapat menawarkannya kepada operator layanan telekomunikasi (content provider) agar dapat diunduh oleh pelanggan melalui handset-nya. Aplikasi tersebut akhirnya ditandai (signed) oleh penyedia content agar dapat dijalankan oleh handset BREW yang didukung. Emulator
BREW
(sekarang
menjadi
BREW
Simulator)
tidak
mengemulasikan handset, melainkan mengcompile aplikasi BREW ke dalam native code dan menyambungkannya dengan BREW runtime library yang kompatibel dengan perangkat x86. Oleh karena itu, permasalahan karena pengaturan memori dan glitch karena firmware akan banyak terjadi jika debugging dilakukan tanpa handset BREW. Pengembang harus mengetes aplikasinya pada handset BREW. Untuk melakukannya, handset tersebut haruslah memiliki fasilitas untuk testing BREW (labolatorium pengembangan Qualcomm dapat melakukan test ini). Namun sejak dikeluarkannya BREW versi 3.1, persyaratan ini telah dihilangkan. Sekarang, yang dibutuhkan pengembang BREW hanyalah digital signature. Aplikasi BREW dapat ditransfer ke dalam handset menggunakan kabel Universal Serial Bus (USB) atau kabel Serial menggunakan BREW AppLoader dari Qualcomm. Sebuah aplikasi BREW harus memiliki beberapa komponen tertentu, atau sistem akan menghapusnya secara otomatis ketika sistem reboot. Komponen yang wajib dimiliki adalah sebagai berikut:
name.mif Berisi deskripsi aplikasi, feature yang digunakan dan permission yang diminta
name.mod Berisi file biner hasil kompilasi 11
name.bar Berisi resource berupa String dan Image (jika ada)
name.sig Berisi Digital Signature untuk aplikasi
Aplikasi yang tidak memiliki salah satu komponen di atas, atau memiliki komponen yang rusak (invalid), maka sistem akan menghapus aplikasi tersebut setelah reboot. Aplikasi BREW dapat dihapus dari handset pengguna untuk menghemat memori. Proses ini dinamakan "Disable/Restore", dan merupakan persyaratan bagi TRUE BREW Test Cycle. File yang telah di-save akan dipertahankan menggunakan fasilitas Disable/Restore, dan aplikasi dapat di-reload tanpa perlu membeli lagi. Dalam kondisi "Disable", semua file .bar, .mod, dan .sig akan dihapus dari handset, sementara file lain akan tetap berada di tempatnya. Selama operasi "Restore", file-file .bar, .mod, dan .sig akan diunduh dari mobile store dari carrier. Aplikasi yang sebelumnya dalam kondisi "Disable" akan berfungsi kembali seperti semula. Proses Disable/Restore ini hanya akan tersedia bagi pelanggan ketika memori handset telah penuh. II.2 Teknologi Game Dunia gaming dimulai dari tahun 1971, dengan kelahiran Galaxy Game di Stanford University, Amerika Serikat[26]. Sejak itu, game mulai terbagi dalam beberapa area, yaitu Arcade, Komputer Lab, Handheld, Console Game dan Personal Computer. Saat ini, industri game telah berkembang pesat dan bernilai lebih dari USD 10 miliar sehingga dianggap telah menyaingi industri perfilman yang telah lebih dahulu dikenal sebagai industri hiburan paling menguntungkan di dunia[13].
12
Gambar 2. 7 Data Penjualan Video Game Sampai Tahun 2007[16].
Di atas adalah data resmi penjualan game dari tahun ke tahun sampai tahun 2007 di Amerika Serikat. Terlihat bahwa dunia game terus bertumbuh dan ke depannya ini akan menjadi industri yang lebih besar, bahkan di seluruh dunia. Pada dasarnya game adalah simulasi dari dunia nyata[14]. Untuk membuatnya semakin enak dimainkan, pengembang berlomba-lomba untuk membuat game yang semakin real dan kreatif. Gaming dapat dikategorikan berdasarkan platform dan genre. Platform game menentukan dengan apa kita memainkan game tersebut. Saat ini platform game dikelompokkan dalam kategori PC, konsol dan handheld[10]. Dalam karya tulis ini akan difokuskan lebih pada platform handheld, yaitu Qualcomm BREW (Binary Runtime Environment for Wireless). Pengelompokkan game berdasarkan genre adalah hal yang cukup penting, karena dengan mengetahui jenis apa game yang kita mainkan, kita akan semakin mengenal dunia game itu sendiri. Saat ini, pengelompokkan genre game adalah sebagai berikut:[27] o Action game o Action-Adventure game o Adventure game o Construction and Management Simulation game 13
o Life Simulation game o Role-Playing game o Strategy game o Vehicle Simulation game o New genres
Action Game
Gambar 2. 8 Action Game: Street Fighter[17].
Ini adalah jenis permainan yang paling mendasar. Awal kelahiran video game dimulai dari genre ini. Jenis ini mengutamakan refleks pemain untuk menggerakkan sprite dan menghindari penghalang sepanjang permainan.
14
Action-Adventure Game
Gambar 2. 9 Action-Adventure Game: Resident Evil[18].
Action-Adventure dibedakan dari Action game melalui petualangan panjang yang harus ditempuh pemain. Petualangan ini akan membentuk plot yang menjadi jalan cerita game tersebut.
Adventure game
Gambar 2. 10 Adventure Game: Ace Attorney[19].
Game petualangan adalah salah satu genre tertua yang mempelopori kebangkitan industri ini. Pemain harus mengikuti jalan cerita permainan sampai akhir.
15
Construction and Management Simulation (CMS) game
Gambar 2. 11 CMS Game: Sim City[20].
CMS adalah genre yang menuntun pemain untuk membangun dan mengembangkan sesuatu dengan sumber daya yang terbatas.
Life Simulation
Gambar 2. 12 Life Simulation Game: The Sims[21].
Dikenal juga dengan istilah artificial life games, pemain dituntut untuk terlibat atau untuk mengendalikan kehidupan buatan (artificial).
16
Role Playing Games (RPG)
Gambar 2. 13 RPG Game: Final Fantasy[22].
Pemain menelusuri perannya sepanjang cerita, dan bertujuan mencapai misi dalam cerita tersebut. Saat ini genre RPG telah berkembang menjadi beberapa sub-genre, seperti computer and console role-playing, action role-playing, massively multiplayer online role-playing, Roguelike dan tactical roleplaying games.
Strategy games
Gambar 2. 14 Game: Civilization[23].
Genre ini memberi penekanan pada bagaimana pemain dapat mengatur taktik dan strategi untuk memenangkan permainan[11].
17
Vehicle Simulation
Gambar 2. 15 Vehicle Simulation Game: Gran Turismo[24].
Genre ini sangat kental dengan perhitungan fisis benda. Untuk memberikan kesan realistis, perhitungan pergerakan pemain dibuat setepat mungkin.
II.3 Pengembangan Game Mengembangkan sebuah game menuntut proses yang panjang dan tidak mudah. Semakin rumit sebuah video game, semakin rumit pula proses kerjanya[9]. Dahulu pengembangan game dapat dilakukan dengan oleh satu orang saja. Namun seiring perkembangan game dan kerumitannya, sekarang pengembangan
game
kebanyakan
dilakukan
secara
tim[12].
Untuk
pengembangan mobile games, ada beberapa posisi kunci yang harus diisi dalam tim pengembangan. Posisi kunci tersebut adalah:[5] Game Designer Bertanggung jawab akan seluruh proses pengembangan dan juga merancang game seperti apa yang akan dibuat. Programmer Bertugas
melakukan
coding
dan
debugging
sehingga
dapat
diimplementasikan pada hardware.
18
Audio Engineer Bertanggung jawab agar semua musik dan efek suara dapat dimasukkan ke dalam game dengan efektif dan efisien. Musisi Bertugas membuat musik dan efek suara untuk game tersebut. Game Artist Bertugas membuat desain karakter, desain environment dan juga user interface.
II.4 Tantangan Pengembangan Teknologi Mobile Computing Teknologi mobile memiliki banyak keunggulan, seperti mudah dibawa kemana-mana dan kompatibel dengan banyak platform lain. Namun teknologi ini
juga
memiliki
beberapa
pengembangan software, yaitu:
kekurangan
yang
dapat
menghambat
[5]
1. Layar yang kecil 2. Baterai yang terbatas 3. Keyboard yang kecil 4. Frekuensi prosesor yang rendah 5. Memori yang terbatas 6. Storage yang terbatas 7. Speaker yang kecil 8. Sambungan internet tidak selalu ada Untuk itulah pengembang perangkat lunak untuk telepon genggam sangat perlu untuk membuat rancangan yang seefektif dan seefisien mungkin.
19