iii
UNIVERSITAS BINA NUSANTARA
________________________________________________________________ Jurusan Tekhnik Informatika
Skripsi Sarjana Komputer Semester Ganjil tahun 2006/2007
ANALISIS DAN PERANCANGAN APLIKASI GAME MULTIPLAYER MICRO MONSTER DI TELEPON SELULER
Lincoln Kwebiger Luhukay 0700704425
Hadit Jusiardhy 0700704772
Lauw Novianus 0700704860
Kelas/Kelompok : 07 PHT/4
Abstrak
Manusia sangat membutuhkan hiburan, namun kesibukan yang padat sering menjadi penghambat. Untuk mengatasi hal tersebut, digabungkanlah game dengan teknologi informasi yaitu telpon seluler. Tujuan penulisan skripsi ini ialah menciptakan game multiplayer pada telepon seluler dengan data yang tersentralisasi, dan memberikan alternatif game bagi gamers handphone. Metode yang digunakan dalam penulisan skripsi ini yaitu metode analisis dan perancangan. Hasil yang berhasil dicapai adalah terciptanya game Micro Monster yang mampu mengimplementasikan sistem multiplayer. Kesimpulan yang diambil adalah game Micro Monster merupakan game multiplayer yang dibangun dengan kombinasi penggunaan teknologi J2ME dan Java Servlet, dimana data-data game dan pemain disimpan pada database server.
Kata Kunci
iv
ANALISA DAN PERANCANGAN APLIKASI GAME MULTIPLAYER MICRO MONSTER DI TELEPON SELULER
SKRIPSI
Disusun oleh :
Lincoln K. Luhukay Hadit Jusiardhy Lauw Novianus
0700704425 0700704772 0700704860
Disetujui oleh :
Pembimbing
Gintoro S.Kom., MM. Kddsn : D1843
Universitas Bina Nusantara Jakarta
v PRAKATA
Puji dan Syukur penulis haturkan kepada Tuhan Yang Maha Esa, karena Berkat dan Karunia-Nya-lah penulis dapat menyelesaikan penyusunan skripsi ini. Adapun pada kesempatan ini penulis juga mau mengucapkan terima kasih kepada orang-orang yang telah banyak membantu penulis dalam penyusunan skripsi ini, yaitu :
1. Orang tua penulis yang telah banyak mendukung, baik materil maupun moril, segala usaha penulis.
2. Prof. Dr. Gerardus Polla, M. App. Sc, selaku Rektor Universitas Bina Nusantara 3. Gintoro, S. Kom, MM., selaku dosen pembimbing yang telah banyak meluangkan
waktunya untuk membimbing penulis.
4. Para dosen yang telah memberikan bekal ilmu, yang menjadi modal dasar bagi penulis dalam penyusunan skripsi.
5. Bapak David Setiabudi, S.Sn, AmRo, yang telah bersedia meluangkan waktunya untuk diwawancarai.
6. Teman-teman seperjuangan yang telah banyak memberikan dorongan dan semangat kepada penulis dalam menyelesaikan skripsi ini.
7. Semua pihak yang telah secara langsung maupun tidak langsung telah membantu dalam penulisan skripsi ini.
Akhir kata penulis berharap skripsi ini dapat bermanfaat bagi kita semua. Jakarta, Januari 2007
vi DAFTAR ISI
Halaman Judul Luar ... i
Halaman Judul Dalam ... ii
Halaman Persetujuan Softcover ... iii
Abstrak ... iv
Prakata ... v
Daftar Isi ... vi
Daftar Tabel ... xi
Daftar Gambar ... xiv
Daftar Lampiran ... xxi
BAB 1 PENDAHULUAN 1.1 Latar Belakang ... 1
1.2 Ruang Lingkup ... 2
1.3 Tujuan Dan Manfaat ... 3
1.4 Metodologi ... 4
1.5 Sistematika Penulisan ... 5
BAB 2 LANDASAN TEORI 2.1 Game ... 7
2.1.1 Sejarah Game ... 7
vii
2.1.3 Role-Playing Game (RPG) ………... 9
2.2 Java ……….. 11
2.2.1 Sejarah Java ... 11
2.2.2 Java 2 Standard Edition (J2SE) ……….. 12
2.2.3 Java 2 Micro Edition (J2ME) ……….. 13
2.2.3.1 Pengertian J2ME ……….. 13 2.2.3.2 Arsitektur J2ME ……….. 13 2.2.3.2.1 Konfigurasi J2ME ……….. 14 2.2.3.2.1.1CDC ……….. 15 2.2.3.2.1.2CLDC ……….. 15 2.2.3.2.2 Profile J2ME ……… 16 2.2.3.2.3 MIDP ………... 18
2.2.4 Java 2 Enterprise Edition (J2EE) ……….………. 19
2.3 Grafik dan Sprite ... 20
2.4 Entity Relationship Diagram (ERD) ...……….. 22
2.4.1 Entity ………. 22
2.4.2 Relationship ………. 22
2.5 Jenis-Jenis Koneksi ………. 23
2.6 Flowchart ………. 28
2.7 Unified Modelling Language (UML) ………. 32
2.7.1 Definisi UML ………. 32
2.7.2 Komponen-Komponen UML ………. 32
viii
2.7.2.2 Activity Diagram ………. 34
2.7.2.3 Class Diagram ………. 35
2.7.2.4 Sequence Diagram ...37
BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Analisa ... 38
3.1.1 Analisa Pasar ………... 38
3.1.1.1Pasar Global ………...………… 38
3.1.1.2Pasar Indonesia ………... 39
3.1.2 Sasaran User Dan Kegunaan Aplikasi ………. 42
3.1.3 Analisa Pengguna ………... 43
3.1.4 Gambaran Umum Game Yang Akan Dibuat ……… 45
3.1.4.1 Introduction …….………... 45
3.1.4.2 Storyline ………..………. 46
3.1.4.3 Gameplay ………... 46
3.1.4.4 Fitur Pada Game ………... 51
3.1.4.5 Resources ………... 51
3.1.5 Analisa Konfigurasi J2ME ... 52
3.1.6 Analisa Profile J2ME ... 53
3.1.7 Analisa Koneksi ... 53
3.1.8 Time Frame Dan SDM ... 54
3.2 Perancangan ... 56
ix
3.2.2 Pendefinisian Fungsionalitas Aplikasi Game ………. 57
3.2.3 Perancangan SequenceDiagram ……….. 84
3.2.4 Pendefinisian Class-Class ………. 117
3.2.4.1 Pendefinisian Class Pada Client ……….. 117
3.2.4.2 Pendefinisian Class Pada Server ……….. 149
3.2.5 Rancangan Layar Aplikasi ………... 153
3.2.5.1 Pemetaan Fungsi Aplikasi dan Storyboard ……... 153
3.2.5.2 Rancangan Storyboard ……….. 157
3.2.6 Rancangan Basis Data Aplikasi ……….. 171
3.2.6.1 Pendefinisian Tabel ……….. 171
3.2.6.2 Entity Relationship Diagram (ERD) ……… 179
3.2.6.3 Pemetaan Tabel dan Layar ... 180
3.2.7 Modul Pada Aplikasi Client ... 181
3.2.8 Modul Pada Aplikasi Server ... 233
BAB 4 IMPLEMENTASI DAN EVELUASI 4.1 Implementasi ... 243
4.1.1 Kebutuhan Sumber Daya Aplikasi ... 243
4.1.1.1 Kebutuhan Perangkat Lunak ... 243
4.1.1.2 Kebutuhan Perangkat Keras ... 243
4.1.1.3 Kebutuhan Perangkat Jaringan ... 244
4.1.1.4 Kebutuhan Sumber Daya manusia ... 245
x
4.1.2.1 Instalasi Pada Server ... 245
4.1.2.2 Instalasi Pada Client ... 246
4.1.3 Cara Penggunaan Aplikasi ... 246
4.1.3.1 Sisi Client ... 246
4.1.3.2 Sisi Server ... 269
4.1.4 Estimasi Biaya ... 270
4.2 Evaluasi ... 271
4.2.1 Perbandingan Dengan Game Sejenis ... 271
4.2.2 Evaluasi Dari Pengguna ... 272
4.2.3 Evaluasi Dari Pengembang ... 274
4.2.3.1 Kelebihan ... 274
4.2.3.2 Kekurangan ... 275
BAB 5 KESIMPULAN DAN SARAN 5.1 Kesimpulan ... 276
5.2 Saran ... 276
Daftar Pustaka ... 278 Riwayat Hidup
xi
Tabel 3.1 Penjelasan Action Dalam Pertarungan ... 48
Tabel 3.2 Peraturan Perolehan Experience Dan Gold ... 50
Tabel 3.3 Daftar Resources Game Micro Monster ... 51
Tabel 3.4 Perbandingan Antara CDC Dan CLDC ... 52
Tabel 3.5 Perincian Time Frame ……… 54
Tabel 3.6 Tabel Penjelasan Proses View Intro ... 60
Tabel 3.7 Tabel Penjelasan Proses View KeyInfo ... 61
Tabel 3.8 Tabel Penjelasan Proses View About ... 62
Tabel 3.9 Tabel Penjelasan Proses Create New Game ... 63
Tabel 3.10 Tabel Penjelasan Proses Load Game ... 66
Tabel 3.11 Tabel Penjelasan Proses View Status ... 68
Tabel 3.12 Tabel Penjelasan Proses Buy Item ... 69
Tabel 3.13 Tabel Penjelasan Proses Sell Item ... 71
Tabel 3.14 Tabel Penjelasan Proses Set Challenge ... 73
Tabel 3.15 Tabel Penjelasan Proses Waiting Confirmation ……… 73
Tabel 3.16 Tabel Penjelasan Proses Check Challenge ... 75
Tabel 3.17 Tabel Penjelasan Proses Set Confirmation ... 76
Tabel 3.18 Tabel Penjelasan Proses Select Action ... 77
Tabel 3.19 Tabel Penjelasan Proses Check Opponent Action ………. 78
Tabel 3.20 Tabel Penjelasan Proses Take Item Or Gold ……… 79
Tabel 3.21 Tabel Penjelasan Proses Loosing Item Or Gold ……… 80
Tabel 3.22 Tabel Penjelasan Proses Pause Or Stop Playing ……….... 82
xii
Tabel 3.24 Fungsi-Fungsi Pada Class Intro ... 119
Tabel 3.25 Fungsi-Fungsi Pada Class Menu ... 121
Tabel 3.26 Fungsi-Fungsi Pada Class KeyInfo ... 122
Tabel 3.27 Fungsi-Fungsi Pada Class About ... 123
Tabel 3.28 Fungsi-Fungsi Pada Class FormRegister ... 124
Tabel 3.29 Fungsi-Fungsi Pada Class MonsterList ... 126
Tabel 3.30 Fungsi-Fungsi Pada Class GameScreen ... 128
Tabel 3.31 Fungsi-Fungsi Pada Class Barn ... 130
Tabel 3.32 Fungsi-Fungsi Pada Class ShopScreen ... 131
Tabel 3.33 Fungsi-Fungsi Pada Class ShopTrans ... 133
Tabel 3.34 Fungsi-Fungsi Pada Class SellTrans ... 134
Tabel 3.35 Fungsi-Fungsi Pada Class BuyTrans ... 135
Tabel 3.36 Fungsi-Fungsi Pada Class OpponentList ... 136
Tabel 3.37 Fungsi-Fungsi Pada Class ConfirmBattle ... 138
Tabel 3.38 Fungsi-Fungsi Pada Class BattleScreen ... 140
Tabel 3.39 Fungsi-Fungsi Pada Class PascaBattle ... 141
Tabel 3.40 Fungsi-Fungsi Pada Class DataMonster ... 143
Tabel 3.41 Fungsi-Fungsi Pada Class Monster ... 144
Tabel 3.42 Fungsi-Fungsi Pada Class ConnectServer ... 146
Tabel 3.43 Fungsi-Fungsi Pada Class Gambar ... 147
Tabel 3.44 Fungsi-Fungsi Pada Class Aktor ... 148
Tabel 3.45 Fungsi/Menu VS Layar (Storyboard) ... 153
xiii
Tabel 3.47 Definisi Tabel MS_Monster ... 172
Tabel 3.48 Definisi Tabel MS_Item ... 173
Tabel 3.49 Definisi Tabel UserMonster ... 174
Tabel 3.50 Definisi Tabel UserItem ... 175
Tabel 3.51 Definisi Tabel Battle ... 176
Tabel 3.52 Definisi Tabel BattleAction ... 177
Tabel 3.53 Definisi Tabel PascaBattle ... 178
Tabel 3.54 Pemetaan Tabel Dengan Layar ... 180
Tabel 4.1 Spesifikasi Kebutuhan Perangkat Keras Untuk Server ... 244
Tabel 4.2 Spesifikasi Kebutuhan Perangkat Keras Untuk Client ... 244
Tabel 4.3 Estimasi Biaya ... 270
Tabel 4.4 Perbandingan Game Micro Monster Dengan Game Sejenis ... 271
xiv
Gambar 2.1 Contoh Layar Status Yang Menunjukkan Atribut-Atribut Pemain …. 10
Gambar 2.2 Lapisan Dari Arsitektur J2ME ... 13
Gambar 2.3 Hubungan Antara J2SE, CDC dan CLDC ... 16
Gambar 2.4 Contoh Sprite Pada Game Suikoden II ... 20
Gambar 2.5 Gambaran Penyimpanan File PNG ... 21
Gambar 2.6 Contoh Filmstrip ... 21
Gambar 2.7 Jaringan MIDP HTTP ... 24
Gambar 2.8 Komunikasi Dengan Serial Cable Antara Handphone ... 26
Gambar 2.9 Komunikasi Infra-Red Antara Handphone ... 26
Gambar 2.10 Komunikasi Bluetooth Antara Handphone ... 27
Gambar 2.11 Komunikasi SMS Antara Handphone Dan Server ... 28
Gambar 2.12 Simbol Terminator ……….. 29
Gambar 2.13 Simbol Proses ……….. 30
Gambar 2.14 Simbol Percabangan ……….. 30
Gambar 2.15 Simbol Input ……….. 31
Gambar 2.16 Simbol Garis Alir ……….. 31
Gambar 2.17 Contoh Use Case Diagram ……….. 34
Gambar 2.18 Contoh Activity Diagram ……….. 35
Gambar 2.19 Contoh Class Diagram ……….. 36
Gambar 2.20 Contoh Sequence Diagram ……….. 37
Gambar 3.1 Time Frame ... 54
Gambar 3.2 Flowchart Aplikasi Micro Monster ... 56
xv
Gambar 3.4 Use Case Challanging Subsystem ……….. 58
Gambar 3.5 Use Case Challanged Subsystem ……….. 58
Gambar 3.6 Use Case Battle Subsystem ……….. 59
Gambar 3.7 Use Case Pasca Battle Subsystem ……….. 59
Gambar 3.8 Activity Diagram Pada Proses View Intro ………. 60
Gambar 3.9 Activity Diagram Pada Proses View KeyInfo ………. 61
Gambar 3.10 Activity Diagram Pada Proses View About ………. 62
Gambar 3.11 Activity Diagram Pada Proses Create New Game ………. 64
Gambar 3.12 Activity Diagram Pada Proses Load Game ……….. 66
Gambar 3.13 Activity Diagram Pada Proses View Status ……….. 67
Gambar 3.14 Activity Diagram Pada Proses Buy Item ……….. 69
Gambar 3.15 Activity Diagram Pada Proses Sell Item ……….. 71
Gambar 3.16 Activity Diagram Pada Proses Set Challenge ……….. 72
Gambar 3.17 Activity Diagram Pada Proses Waiting Confirmation ………. 74
Gambar 3.18 Activity Diagram Pada Proses Check Challenge ……… 75
Gambar 3.19 Activity Diagram Pada Proses Set Confirmation ………. 76
Gambar 3.20 Activity Diagram Pada Proses Select Action ……….. 77
Gambar 3.21 Activity Diagram Pada Proses CheckOpponent Action ……….. 78
Gambar 3.22 Activity Diagram Pada Proses Take Item Or Gold ………….……... 80
Gambar 3.23 Activity Diagram Pada Proses Loosing Item Or Gold ………... 81
Gambar 3.24 Activity Diagram Pada Proses Pause Or Stop Playing ………... 83
Gambar 3.25 Class Diagram Pada Proses View Intro ……….. 84
xvi
Gambar 3.27 Class Diagram Pada Proses View KeyInfo ……….. 85
Gambar 3.28 Sequence Diagram Pada Proses View KeyInfo ……… 86
Gambar 3.29 Class Diagram Pada Proses View About ……….. 86
Gambar 3.30 Sequence Diagram Pada Proses View About ……….. 87
Gambar 3.31 Class Diagram Pada Proses Create New Game ……… 88
Gambar 3.32 Sequence Diagram Pada Proses Create New Game ……….. 90
Gambar 3.33 Class Diagram Pada Proses Load Game ……….. 91
Gambar 3.34 Sequence Diagram Pada Proses Load Game ……….. 93
Gambar 3.35 Class Diagram Pada Proses View Status ……….. 94
Gambar 3.36 Sequence Diagram Pada Proses View Status ……….. 95
Gambar 3.37 Class Diagram Pada Proses Buy Item ……….. 95
Gambar 3.38 Sequence Diagram Pada Proses Buy Item ……….. 98
Gambar 3.39 Class Diagram Pada Proses Sell Item ……….. 99
Gambar 3.40 Sequence Diagram Pada Proses Sell Item ……….. 101
Gambar 3.41 Class Diagram Pada Proses Set Challenge …..……….... 102
Gambar 3.42 Sequence Diagram Pada Proses Set Challenge ..………. 103
Gambar 3.43 Class Diagram Pada Proses Waiting Confirmation ……… 104
Gambar 3.44 Sequence Diagram Pada Proses Waiting Confirmation ……….. 105
Gambar 3.45 Class Diagram Pada Proses Check Challenge ………..………. 105
Gambar 3.46 Sequence Diagram Pada Proses Check Challenge ……….…… 106
Gambar 3.47 Class Diagram Pada Proses Set Confirmation ……….. 107
Gambar 3.48 Sequence Diagram Pada Proses Set Confirmation ………..…… 108
xvii
Gambar 3.50 Sequence Diagram Pada Proses Select Action ……….….… 110
Gambar 3.51 Class Diagram Pada Proses Check Opponent Action ………..…. 110
Gambar 3.52 Sequence Diagram Pada Proses Check Opponent Action …….…... 112
Gambar 3.53 Class Diagram Pada Proses Take Item Or Gold ………...112
Gambar 3.54 Sequence Diagram Pada Proses Take Item Or Gold ……….…. 114
Gambar 3.55 Class Diagram Pada Proses Loosing Item Or Gold ……….….. 114
Gambar 3.56 Sequence Diagram Pada Proses Loosing Item Or Gold ……….…... 115
Gambar 3.57 Class Diagram Pada Proses Pause Or Stop Playing ……….…... 116
Gambar 3.58 Sequence Diagram Pada Proses Loosing Item Or Gold ……….……117
Gambar 3.59 Atribut Pada Class MainMidlet ………... 117
Gambar 3.60 Atribut Pada Class Intro ………... 119
Gambar 3.61 Atribut Pada Class Menu ………... 120
Gambar 3.62 Atribut Pada Class KeyInfo ………... 122
Gambar 3.63 Atribut Pada Class About ………... 123
Gambar 3.64 Atribut Pada Class FormRegister ……… 124
Gambar 3.65 Atribut Pada Class MonsterList ……… 125
Gambar 3.66 Atribut Pada Class GameScreen ……… 127
Gambar 3.67 Atribut Pada Class Barn ……… 129
Gambar 3.68 Atribut Pada Class ShopScreen ……… 131
Gambar 3.69 Atribut Pada Class ShopTrans ……… 132
Gambar 3.70 Atribut Pada Class SellTrans ……… 133
Gambar 3.71 Atribut Pada Class BuyTrans ……… 135
xviii
Gambar 3.73 Atribut Pada Class ConfirmBattle……… 137
Gambar 3.74 Atribut Pada Class BattleScreen ……… 139
Gambar 3.75 Atribut Pada Class PascaBattle ……… 141
Gambar 3.76 Atribut Pada Class DataMonster ……… 142
Gambar 3.77 Atribut Pada Class Monster ……… 144
Gambar 3.78 Atribut Pada Class Aktor ……… 148
Gambar 3.79 Rancangan Layar Intro ……… 157
Gambar 3.80 Rancangan Layar Menu ……… 158
Gambar 3.81 Rancangan Layar KeyInfo ……… 158
Gambar 3.82 Rancangan Layar About ……… 159
Gambar 3.83 Rancangan Layar FormRegister ……… 159
Gambar 3.84 Rancangan Layar MonsterList ……… 160
Gambar 3.85 Rancangan Layar GameScreen ……… 160
Gambar 3.86 Rancangan Layar Barn ……… 161
Gambar 3.87 Rancangan Layar ShopScreen ……… 162
Gambar 3.88 Rancangan Layar ShopTrans ……… 163
Gambar 3.89 Rancangan Layar BuyTrans ……… 163
Gambar 3.90 Rancangan Layar SellTrans ……… 164
Gambar 3.91 Rancangan Layar OpponentList ……… 164
Gambar 3.92 Rancangan Layar ConfirmBattle ……… 165
Gambar 3.93 Rancangan Layar ConfirmBattle(Ditantang) ……….. 166
Gambar 3.94 Rancangan Layar ConfirmBattle(Deal) ……….. 166
xix
Gambar 3.96 Rancangan Layar Battle(Result) ……….. 168
Gambar 3.97 Rancangan Layar PascaBattle(Item) ……….. 169
Gambar 3.98 Rancangan Layar PascaBattle(Lost) ……….. 169
Gambar 3.99 Rancangan Layar PascaBattle(Game Over) ……….. 170
Gambar 3.100 Entity Relationship Diagram Aplikasi Micro Monster ……… 179
Gambar 4.1 Layar Intro ………. 246
Gambar 4.2 Layar Menu ………. 247
Gambar 4.3 Layar Menu(In GameScreen) ………... 248
Gambar 4.4 Layar KeyInfo ………. 248
Gambar 4.5 Layar About ………. 249
Gambar 4.6 Layar FormRegister ………. 249
Gambar 4.7 Layar FormRegister(Username Already) ……… 250
Gambar 4.8 Layar FormRegister(Error Username) ……… 250
Gambar 4.9 Layar FormRegister(Error Password) ……… 251
Gambar 4.10 Layar MonsterList ………. 252
Gambar 4.11 Layar GameScreen ……….. 252
Gambar 4.12 Layar Barn ……….. 253
Gambar 4.13 Layar ShopScreen ……….. 254
Gambar 4.14 Layar Shop ……….. 254
Gambar 4.15 Layar BuyTrans ……….. 255
Gambar 4.16 Layar BuyTrans(Money Not Enough) ………... 256
Gambar 4.17 Layar BuyTrans(Inventory Is Full) ………... 256
xx
Gambar 4.19 Layar SellTrans ……….. 257
Gambar 4.20 Layar OpponentList ……….. 258
Gambar 4.21 Layar ConfirmBattle ……….. 259
Gambar 4.22 Layar ConfirmBattle(Waiting) ……… 259
Gambar 4.23 Layar ConfirmBattle(Accept) ……… 260
Gambar 4.24 Layar ConfirmBattle(Challenge Accepted) ……….. 260
Gambar 4.25 Layar BattleScreen ……… 261
Gambar 4.26 Layar BattleScreen(Waiting) ……… 261
Gambar 4.27 Layar BattleScreen(Action) ……… 262
Gambar 4.28 Layar BattleScreen(Result) ……… 262
Gambar 4.29 Layar PascaBattle(Get Item) ……… 263
Gambar 4.30 Layar PascaBattle(Item Info) ……… 264
Gambar 4.31 Layar PascaBattle(Message) ……… 264
Gambar 4.32 Layar PascaBattle(Get Money) ……… 265
Gambar 4.33 Layar PascaBattle(Ended) ……… 266
Gambar 4.34 Layar PascaBattle(Waiting) ……… 266
Gambar 4.35 Layar PascaBattle(Lost Item) ……… 267
Gambar 4.36 Layar PascaBattle(Lost Money) ……… 268
Gambar 4.37 Layar PascaBattle(Game Over) ……… 268
Gambar 4.38 Contoh Tabel MS_Item ……… 269
Gambar 4.39 Contoh Tabel MS_Monster ……… 270 DAFTAR LAMPIRAN
xxi
Contoh Isi Data Dari Pendefinisian Tabel ... L1 Kuisioner Analisa ... L4 Kuisioner Evaluasi ... L6 Daftar Item Game Micro Monster ... L8 Daftar Monster Game Micro Monster ... L9