DAFTAR ISI ABSTRAK ...................................................................... i KATA PENGANTAR ..................................................... ii DAFTAR ISI ................................................................... iii DAFTAR TABEL ........................................................... xi DAFTAR GAMBAR ...................................................... xiv
BAB I PENDAHULUAN 1.1 Latar Belakang Masalah ........................................... I-1 1.2 Identifikasi Masalah ................................................. I-3 1.3 Maksud dan Tujuan .................................................. I-3 1.4 Batasan Masalah ....................................................... I-4 1.5 Metodologi Penelitian .............................................. I-4 1.6 Sistematika Penulisan ............................................... I-5
BAB II LANDASAN TEORI 2.1 Java ........................................................................... II-1 2.1.1 Sejarah Perkembangan Java .................................. II-1 2.1.2 Edisi Java ............................................................... II-2 2.2 J2ME ........................................................................ II-3 2.2.1 Konfigurasi ........................................................... II-4 2.2.1.1 Connected Device Configuration (CDC)............ II-5 2.2.1.2 Connected Limited Device Configuration (CLDC) .. II-5 2.2.2 Profil J2ME ........................................................... II-6 2.2.3 Java Virtual Machine (JVM) ................................. II-7 2.2.4 MIDP (Mobile Information Device Profile) .......... II-7
iii
Daftar Isi
2.2.5 MIDlet ................................................................... II-9 2.2.6 J 2ME Wieless Toolkit ........................................... II-9 2.2.6.1 Emulator dalam J2ME Wireless Toolkit ............ II-10 2.2.7 Siklus Hidup Aplikasi J2ME ................................. II-10 2.2.7.1 Method startApp() .............................................. II-11 2.2.7.2 Method pauseApp() ............................................ II-12 2.2.7.3 Method destroyApp().......................................... II-12 2.3 Pembuatan User Interface ........................................ II-13 2.3.1 Struktur GUI didalam MIDP ................................. II-13 2.3.1.1 Model High-Level API ....................................... II-14 2.3.1.2 Model Low-Level API ........................................ II-14 2.4 Sekilas Mengenai Mobile Phone .............................. II-15 2.5 Game ........................................................................ II-16 2.5.1 Jenis-jenis Game .................................................... II-16 2.5.1.1 Maze Game ......................................................... II-17 2.5.1.2 Board Game ........................................................ II-17 2.5.1.3 Card Game ......................................................... II-17 2.5.1.4 Quiz Game .......................................................... II-18 2.5.1.5 Puzzle Game ....................................................... II-18 2.5.1.6 Fighting Game .................................................... II-18 2.5.1.7 Racing Game ...................................................... II-19 2.5.1.8 Turn-Based Strategy Game ................................. II-19 2.5.1.9 Real-Time Strategy Game ................................... II-19 2.5.1.10 First Person Shooter.......................................... II-20 2.5.1.11 Third Person 3D Games ................................... II-20 2.5.1.12 Adventure Game ............................................... II-20 Laporan Tugas Akhir Studi dan Eksplorasi MIDP 2.0 Dalam Pembuatan Aplikasi Games Ponsel Berbasis Java
iv
Daftar Isi
2.5.1.13 Sport ................................................................. II-20 2.5.2 Langkah-langkah Membuat Suatu Game .............. II-21 2.5.2.1 Mencari Ide......................................................... II-21 2.5.2.2 Membuat Game Design Document..................... II-22 2.5.2.3 Membuat Prototype ............................................ II-24 2.5.2.4 Membuat Game .................................................. II-24 2.5.3 Panduan Dalam Membuat Game ........................... II-24 2.6 Konsep Game TicTacToe ......................................... II-28 2.6.1 Algoritma Pencarian Artificial Intellegence .......... II-28 2.6.2 Konsep Dasar Algoritma Depth-First Search ....... II-28 2.6.3 Konsep Dasar Algoritma MINIMAX .................... II-30
BAB III STUDI DAN EKSPLORASI 3.1 Studi MIDP 2.0 ........................................................ III-1 3.1.1 Paket javax.microediton.lcdui ............................... III-1 3.1.1.1 Arsitektur lcdui ................................................. III-4 3.1.1.2 Kelas Display .................................................... III-4 3.1.1.3 Kelas Displayable ............................................. III-6 3.1.1.4 Kelas Screen ...................................................... III-7 3.1.1.5 Kelas Canvas ..................................................... III-7 3.1.1.6 Kelas Graphics .................................................. III-8 3.1.1.7 Kelas Font ......................................................... III-13 3.1.1.8 Kelas Command ................................................ III-15 3.1.1.9 Kelas List .......................................................... III-16 3.1.1.10 Kelas Alert ........................................................ III-17 3.1.1.11 Kelas Ticker ...................................................... III-18 Laporan Tugas Akhir Studi dan Eksplorasi MIDP 2.0 Dalam Pembuatan Aplikasi Games Ponsel Berbasis Java
v
Daftar Isi
3.1.1.12 Kelas TextBox................................................... III-19 3.1.1.13 Kelas Form ........................................................ III-19 3.1.1.14 Kelas Item ......................................................... III-20 3.1.1.15 Kelas TextField ................................................. III-21 3.1.1.16 ChoiceGroup ..................................................... III-22 3.1.1.17 Kelas DateField ................................................. III-23 3.1.1.18 Kelas Gauge ...................................................... III-24 3.1.1.19 Kelas Image....................................................... III-25 3.1.1.20 Kelas ImageItem ............................................... III-26 3.1.1.21 Kelas StringItem ............................................... III-28 3.1.2 Paket javax.microedition.lcdui.game .................... III-28 3.1.2.1 Kelas GameCanvas ........................................... III-28 3.1.2.2 Kelas Layer ....................................................... III-29 3.1.2.3 Kelas LayerManager ......................................... III-30 3.1.2.4 Kelas Sprite ....................................................... III-33 3.1.2.4.1 Sprite Frames .................................................... III-34 3.1.2.4.2 Frames Sequence .............................................. III-35 3.1.2.4.3 Sprite Transforms ............................................. III-36 3.1.2.4.4 Sprite Drawing.................................................. III-36 3.1.2.5 Kelas TiledLayer ............................................... III-37 3.1.3 Paket javax.microedition.io .................................. III-39 3.1.3.1 Koneksi Soket ................................................... III-40 3.1.3.2 Koneksi Datagram............................................. III-40 3.1.3.3 Koneksi Bluetooth ............................................. III-41 3.1.3.4 Koneksi HTTP .................................................. III-41 3.1.4 Paket javax.microedition.rms ............................... III-42 Laporan Tugas Akhir Studi dan Eksplorasi MIDP 2.0 Dalam Pembuatan Aplikasi Games Ponsel Berbasis Java
vi
Daftar Isi
vii
3.1.4.1 Ruang Penyimpanan Data ................................. III-43 3.1.4.1.1 Volatile RAM ................................................... III-43 3.1.4.1.2 Ruang Persisten ................................................ III-44 3.1.4.1.3 Ruang Penyimpanan Remote ........................... III-44 3.1.5 Paket javax.microedition.media ............................ III-44 3.1.6 Paket javax.microedition.pki ................................ III-49 3.2 Eksplorasi MIDP 2.0 Dalam Pembuatan Game Ponsel ...................................................................... III-50 3.2.1 Menjalankan J2ME Wireless Toolkit ................... III-50 3.2.2 Struktur Direktori dan File Pada MIDP 2.0 .......... III-51 3.2.3 Analisis Package MIDP 2.0 .................................. III-53 3.2.3.1 User Inteface Package ......................................... III-53 3.2.3.1.1 Menampilkan Teks ........................................... III-55 3.2.3.1.2 Menampilkan Gambar ...................................... III-55 3.2.3.1.2.1 Menampilkan Gambar JPEG ......................... III-56 3.2.3.1.2.2 Menampilkan Gambar BMP .......................... III-56 3.2.3.1.2.3 Menampilkan Gambar GIF ............................ III-57 3.2.3.1.2.4 Menampilkan Gambar PNG .......................... III-57 3.2.3.1.2.5 Menampilkan Gambar TARGA .................... III-58 3.2.3.1.2.6 Menampilkan Gambar TIFF .......................... III-58 3.2.3.1.3 Menampilkan Menu List .................................. III-59 3.2.3.1.4 Menampilkan Grafik ........................................ III-59 3.2.3.1.5 Menampilkan Animasi Gambar 3D .................. III-60 3.2.3.2 Sound Package .................................................... III-61 3.2.3.2.1 Menampilkan Audio dan Video ....................... III-62 3.2.3.2.1.1 Menampilkan Video dengan Format MPEG . III-62 Laporan Tugas Akhir Studi dan Eksplorasi MIDP 2.0 Dalam Pembuatan Aplikasi Games Ponsel Berbasis Java
Daftar Isi
viii
3.2.3.2.1.2 Menampilkan Video dengan Format 3gp ...... III-62 3.2.3.2.1.3 Menampilkan Video dengan Format mov ..... III-63 3.2.3.2.1.4 Menampilkan Video dengan format avi ........ III-63 3.2.3.2.1.5 Memainkan File Audio dengan format mp3 .. III-63 3.2.3.2.1.6 Memainkan File Audio dengan format wav .. III-63 3.2.3.2.1.7 Memainkan File Audio dengan format aif ..... III-63 3.2.3.2.1.8 Memainkan File Audio dengan format wma . III-64 3.2.3.3 Game Package ..................................................... III-64 3.2.3.4 application Lifecycle Package ............................. III-65 3.2.3.5 Networking Package ............................................ III-65 3.2.3.6 Public Key Package ............................................. III-66 3.2.3.7 Persistence Package ............................................. III-67 3.2.3.8 Core Packages ..................................................... III-68 3.2.4 Analisis Kebutuhan Game Berdasarkan Genre Game Terhadap Package Yang Tersedia di MIDP 2.0 .... III-70 3.2.4.1 Maze Game .......................................................... III-70 3.2.4.2 Board Game ......................................................... III-70 3.2.4..3 Card Game .......................................................... III-72 3.2.4.4 Quiz Game ........................................................... III-72 3.2.4.5 Puzzle Game ........................................................ III-73 3.2.4.6 Fighting Game ..................................................... III-73 3.2.4.7 Racing Game ....................................................... III-74 3.2.4.8 Real-Time Strategy Game ................................... III-74 3.2.4.9 First Person Shooter ............................................ III-75 3.2.4.10 Adventure Game ................................................ III-76 3.2.4.11 Sport .................................................................. III-77 Laporan Tugas Akhir Studi dan Eksplorasi MIDP 2.0 Dalam Pembuatan Aplikasi Games Ponsel Berbasis Java
Daftar Isi
3.2.5 Pendeklarasian Kelas .............................................. III-77 3.2.5.1 Contoh Include Package ...................................... III-77 3.2.5.2 Mendeklarasikan Sebuah kelas yang diturunkan . III-77 3.2.5.3 Pendeklarasian sebuah kelas atau antarmuka ...... III-77 3.2.6 Akses Tombol Untuk Game ................................... III-78 3.2.7 Tampilan Game di Emulator dan HP...................... III-79 3.2.8 Multiplayer Game ................................................... III-82 3.2.8.1 Koneksi ................................................................ III-82 3.2.8.2 Package Yang Digunakan .................................... III-83 3.2.8.3 Setting JWTK ...................................................... III-83
BAB IV STUDI KASUS 4.1 Memulai MIDlet ....................................................... IV-1 4.1.1 Lingkungan Pengembangan MIDP ........................ IV-1 4.1.2 Menginstall J2SE SDK ........................................... IV-2 4.1.3 Menginstall J2ME Wireless Toolkit ....................... IV-2 4.1.4 Menginstall Editor Teks ......................................... IV-3 4.1.5 Membuat Projek Baru............................................. IV-3 4.2 Studi Kasus ................................................................ IV-6 4.2.1 Mencari Ide Game .................................................. IV-7 4.2.2 Membuat Game Design Document ........................ IV-7 4.2.2.1 Keterangan Umum Game .................................... IV-8 4.2.2.2 Jalan Cerita Game................................................ IV-8 4.2.2.3 Gaya, genre dan penampilan game ...................... IV-8 4.2.2.4 Deskripsi Gameplay ............................................ IV-8 4.2.2.5 Kebutuhan Minimum Untuk Peralatan Pemain ... IV-9 Laporan Tugas Akhir Studi dan Eksplorasi MIDP 2.0 Dalam Pembuatan Aplikasi Games Ponsel Berbasis Java
ix
Modellig
Daftar Isi
4.2.2.6 Tools yang akan digunakan ................................. IV-9 4.2.3 Membuat Game ...................................................... IV-9 4.2.3.1 Membuat Screen Intro Permainan ....................... IV-10 4.2.3.2 Membuat Screen Menu Pilihan ........................... IV-11 4.2.3.3 Membuat Screen Help dan Story Permainan ....... IV-12 4.2.3.4 Membuat Screen Canvas Permainan ................... IV-12 4.2.3.5 Membuat Project Game ....................................... IV-13 4.2.3.6 Tampilan Game ................................................... IV-16 4.2.4 Analsisi Studi Kasus Dengan Hasil Eksplorasi ...... IV-18
BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan ................................................................ V-1 5.2 Saran .......................................................................... V-2
LAMPIRAN DAFTAR PUSTAKA
Laporan Tugas Akhir Studi dan Eksplorasi MIDP 2.0 Dalam Pembuatan Aplikasi Games Ponsel Berbasis Java
x