Pemodelan Data pada Massively Multiplayer Online Role-Playing Game LAPORAN TUGAS AKHIR
Disusun sebagai syarat kelulusan tingkat sarjana
oleh : Simon Batara / 13503109
PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2008
Lembar Pengesahan Program Studi Sarjana Teknik Informatika Pemodelan Data pada Massively Multiplayer Online Role-Playing Game
Tugas Akhir Program Studi Sarjana Teknik Informatika ITB
Oleh: Simon Batara / 13503109
Telah disetujui dan disahkan sebagai laporan Tugas Akhir di Bandung, pada tanggal
Februari 2008
Pembimbing
Adi Mulyanto, S.T., M.T. NIP 131789702
ii
ABSTRAK Massively Multiplayer Online Role-Playing Game (MMORPG) adalah suatu jenis permainan berbasiskan konsep permainan Role Playing Game (RPG) yang bisa dimainkan dari berbagai tempat dan berbagai waktu oleh bayak pemain. Permainan MMORPG secara umum berbasiskan perjalanan kehidupan dari sebuah karakter yang dimainkan oleh player atau pemain. Pemain MMORPG dari suatu tempat harus bisa melihat dunia yang sama dengan dunia yang dilihat dari sudut pandang pemain lain. MMORPG merupakan sistem aplikasi yang memiliki beberapa karakteristik. Beberapa karakteristik MMORPG memberikan konsekuensi MMORPG sebagai suatu aplikasi client-server. MMORPG memiliki elemen-elemen yang membentuk permainannya. Selain elemen-elemen tersebut, MMORPG juga memiliki banyak proses yang harus diakomodir untuk dapat membentuk dunia permainan di antaranya: interaksi antar pemain yang bermain di tempat yang berbeda. Untuk mendukung teknis dunia permainan MMORPG dibutuhkan suatu model data yang diimplementasikan sebagai media penyimpanan data permainan. Tugas Akhir ini menghasilkan suatu rangkaian pemodelan data untuk MMORPG. Pemodelan data yang dilakukan mengambil studi kasus Nusantara Online dari Sangkuriang Studio. Dalam Tugas Akhir ini dilakukan pemodelan data yang meliputi beberapa tahapan yaitu: identifikasi entitas, identifikasi hubungan antar entitas, identifikasi kunci untuk entitas, pemodelan konseptual data, pemodelan logis data, dan pemodelan fisik data. Model konseptual data direpresentasikan dalam skema entity relationship diagram. Model logis data direpresentasikan dalam skema relasi. Untuk mendukung sistem aplikasi MMORPG yang berarsitektur client-server maka model data fisik direpresentasikan dalam model data bagian server dan model data bagian client. Model data bagian client merupakan replikasi dari sebagian relasi pada model data server. Replikasi terjadi karena terdapat data yang tidak berubah dalam keseluruhan model data MMORPG. Model data client akan meyimpan data yang tidak berubah dan menggunakannya untuk merepresentasikan tampilan grafis. Dengan menggunakan model data pada client, beban transfer data antara aplikasi client dan server bisa diminimalisir sehingga aspek real-time dalam MMORPG menjadi lebih baik.
Kata Kunci : Massively Multiplayer Online Role-Playing Game (MMORPG), Nusantara Online, client-server, real-time, model data konseptual, model data logis, model data fisik.
iii
KATA PENGANTAR Puji syukur ke hadirat Tuhan Yang Maha Esa. Dengan rahmat dan bimbingan-Nya, penulis dapat menyelesaikan Tugas Akhir yang berjudul ”Pemodelan Data pada Massively Multiplayer Online Role-Playing Game”. Pada kesempatan ini penulis ingin mengucapkan terima kasih kepada: 1. Bapak Adi Mulyanto, S.T, M.T. selaku pembimbing Tugas Akhir, atas segala pendidikan, perhatian, dan bimbingan yang sangat berharga baik selama proses pengerjaan Tugas Akhir maupun selama proses perkuliahan di ITB. 2. Ibu Fazat Nur Azizah S.T., M.Sc. atas segala kritik dan saran yang diberikan selaku penguji proposal, seminar, dan pra sidang Tugas Akhir. 3. Ibu Ir. Hira Laksmiwati Soemitro, Msc atas segala kritik dan saran yang diberikan selaku penguji sidang Tugas Akhir. 4. Bapak Wikan Danar, S.T. atas segala kritik dan saran yang diberikan selaku penguji sidang Tugas Akhir. 5. Seluruh staf akademik dan nonakademik Program Studi Teknik Informatika ITB yang telah memberikan banyak ilmu selama perkuliahan. 6. Ayah dan Ibu yang telah memberikan kepercayaan dan kasih sayang yang tulus dalam setiap langkah hidup. 7. Kakak yang telah menjadi motivasi dalam proses penyelesaian Tugas Akhir. 8. Kawan-kawan, Okta, Dani, Andoko, Adit, Jaya, Amudi, Riza, Rika, Aldo. Brahm, Gilang, Akbar, Firman, Fajar, Ronald, Rian, Budiono, Septa, Sonny yang telah memberikan arti warna persahabatan baik dalam proses Tugas Akhir ataupun proses perkuliahan di Teknik Informatika ITB. 9. Anggi Shena Permata dan Ria Rahayu yang telah memberikan inspirasi dalam menghadapi masa-masa seminar, pra sidang, dan sidang.
iv
Semoga Tugas Akhir ini dapat memberikan manfaat bagi semua pihak yang membutuhkannya. Penulis menyadari bahwa Tugas Akhir ini masih memiliki banyak kekurangan. Oleh karena itu, saran dan kritik dari pembaca sangat penulis harapkan.
Bandung, Februari 2008
Penulis
v
DAFTAR ISI
ABSTRAK ................................................................................................................... iii KATA PENGANTAR .................................................................................................. iv DAFTAR ISI................................................................................................................. vi DAFTAR GAMBAR .................................................................................................... xi DAFTAR TABEL ........................................................................................................xii BAB I
PENDAHULUAN ................................................................................... I-1
I.1
Latar Belakang ......................................................................................... I-1
I.2
Rumusan Masalah .................................................................................... I-3
I.3
Tujuan ...................................................................................................... I-3
I.4
Batasan Masalah ...................................................................................... I-3
I.5
Metodologi ............................................................................................... I-4
I.6
Sistematika Pembahasan .......................................................................... I-5
BAB II
TINJAUAN TEORI ................................................................................ II-1
II.1
Basis Data ............................................................................................... II-1
II.1.1
Basis Data Relasional ......................................................................... II-1
II.1.2
Basis Data Berorientasi Objek ........................................................... II-3
II.2
Pemodelan Data ...................................................................................... II-6
II.2.1
Model Data ......................................................................................... II-6
II.2.2
Entity Relationship Model.................................................................. II-7
II.3
Normalisasi Basis Data ........................................................................... II-8
II.3.1
Permasalahan yang diselesaikan oleh normalisasi ............................. II-8
II.3.2
Functional Dependency...................................................................... II-9
II.3.3
Derajat Normalisasi .......................................................................... II-10
II.4 II.4.1
Massively Multiplayer Online Role-Playing Game .............................. II-11 Definisi Massive Multiplayer Online Role-Playing Game (MMORPG) . .......................................................................................................... II-11
II.4.2
Role-Playing Game (RPG) ............................................................... II-11
II.4.3
Transformasi RPG menjadi MMORPG ........................................... II-14
II.4.4
Sejarah MMORPG ........................................................................... II-15
II.4.5
Penggambaran Permainan MMORPG ............................................. II-16
II.5
Arsitektur Komputer Client-Server ....................................................... II-18 vi
II.5.1
Karakteristik Client-Server............................................................... II-20
II.5.2
Arsitektur Multi-tiered ..................................................................... II-20
II.5.3
Keuntungan Arsitektur Client-Server............................................... II-21
II.5.4
Kerugian Arsitektur Client-Server ................................................... II-21
BAB III
ANALISIS ............................................................................................ III-1
III.1
Gambaran Global MMORPG ............................................................... III-1
III.1.1
Gambaran Permainan RPG .............................................................. III-1
III.1.2
Transformasi RPG menjadi MMORPG ........................................... III-2
III.2
Analisis Karakteristik Fungsional MMORPG ...................................... III-2
III.2.1
Dunia Permainan pada Awalnya Harus Diinisiasi ........................... III-3
III.2.2
Setiap Pemain Harus Masuk dalam Dunia Permainan ..................... III-3
III.2.3
Pemain Harus Berinteraksi dengan Elemen Non Pemain ................ III-4
III.2.4
Pemain Harus Berinteraksi dengan Pemain Lain ............................. III-4
III.2.5
Harus Terdapat Perubahan Kondisi dan Pengembangan Dunia....... III-5
III.2.6
Harus Terdapat Penyimpanan Data ke Basis Data ........................... III-5
III.3
Analisis Karakteristik Non Fungsional ................................................. III-6
III.3.1
Sistem Aplikasi yang Bersifat Real Time ........................................ III-6
III.3.2
Sistem Aplikasi dengan Transfer Data yang Seminimal Mungkin .. III-6
III.3.3
Sistem Aplikasi dengan Tingkat Availability yang Tinggi .............. III-6
III.3.4
Sistem Aplikasi dengan Tingkat Perubahan Data yang Tinggi........ III-7
III.3.5
Sistem Aplikasi dengan Tingkat Pemrosesan Paralel yang Tinggi .. III-7
III.3.6
Sistem Aplikasi dengan Frekuensi Akses Data yang Berbeda-beda III-7
III.3.7
Sistem Aplikasi Client-Server .......................................................... III-7
III.3.7.1
Pemain Bermain di atas Aplikasi Client ............................... III-10
III.3.7.2
Proses Sinkronisasi Dilakukan di Server .............................. III-10
III.3.7.3
Proses Pengiriman Request Data .......................................... III-11
III.3.7.4
Proses Penerimaan Request Data .......................................... III-11
III.4
Analisis Karakteristik Data ................................................................. III-12
III.4.1
Pemain ............................................................................................ III-12
III.4.2
Karakter .......................................................................................... III-13
III.4.3
Barang ............................................................................................ III-13
III.4.4
Kemampuan ................................................................................... III-14
III.4.5
Area ................................................................................................ III-14
III.4.6
Non-Playable Character (NPC) ...................................................... III-14 vii
III.5
Analisis Pemilihan Model Data .......................................................... III-16
III.5.1
Transfer Data yang Kecil ............................................................... III-16
III.5.2
Kemudahan Pemrosesan Basis Data .............................................. III-16
III.5.3
Ruang yang Dibutuhkan untuk Penyimpanan Basis Data .............. III-17
III.5.4
Proses Pengambilan Data dari Basis Data ke Server ..................... III-17
III.5.5
Kesimpulan Pemilihan Model Data ............................................... III-18
III.6
Langkah Pemodelan Data ................................................................... III-18
III.6.1
Langkah Pemodelan Konseptual .................................................... III-18
III.6.2
Langkah Pemodelan Logis ............................................................. III-20
III.6.3
Langkah Pemodelan Fisik .............................................................. III-20
III.7
Usulan Implementasi Fisik Data ......................................................... III-21
BAB IV
PEMODELAN DATA NUSANTARA ONLINE ................................. IV-1
IV.1
Nusantara Online................................................................................... IV-1
IV.2
Identifikasi Entitas ................................................................................ IV-1
IV.2.1
Player ............................................................................................... IV-2
IV.2.2
Entitas-entitas Objek Hidup ............................................................. IV-3
IV.2.2.1
Karakter................................................................................... IV-5
IV.2.2.2
Monster ................................................................................... IV-6
IV.2.2.3
NPC ......................................................................................... IV-7
IV.2.3
Area .................................................................................................. IV-7
IV.2.4
Entitas-entitas Objek Mati ................................................................ IV-7
IV.2.4.1
Ability ..................................................................................... IV-8
IV.2.4.2
Item ......................................................................................... IV-9
IV.2.4.3
Equipment ............................................................................... IV-9
IV.2.5
Quest............................................................................................... IV-10
IV.2.5.1
Quest Kill .............................................................................. IV-11
IV.2.5.2
Quest Walk ........................................................................... IV-11
IV.2.6
Inventory......................................................................................... IV-11
IV.2.7
Status Modifier ............................................................................... IV-11
IV.3
Identifikasi Hubungan antar Entitas .................................................... IV-12
IV.4
Identifikasi Kunci untuk Entitas ......................................................... IV-13
IV.5
Model Data Konseptual ...................................................................... IV-14
IV.6
Model Data Logis................................................................................ IV-16
IV.6.1
Representasi Skema Relasi............................................................. IV-17 viii
IV.6.2
Normalisasi Tabel........................................................................... IV-18
IV.6.2.1
Functional Dependency ........................................................ IV-19
IV.6.2.2
Hasil Normalisasi .................................................................. IV-31
IV.7
Model Data Fisik ................................................................................. IV-35
IV.7.1
Pertimbangan Model Fisik Data pada Client dan Server ............... IV-35
IV.7.2
Skema Model Data Fisik ................................................................ IV-36
IV.7.3
Model Data Fisik pada Server ........................................................ IV-38
IV.7.4
Model Data Fisik pada Client......................................................... IV-38
IV.7.5
Transfer Data dalam Sinkronisasi Model Data Fisik antara Server dan Client .............................................................................................. IV-40
BAB V
IMPLEMENTASI DAN PENGUJIAN ..................................................V-1
V.1
Implementasi ...........................................................................................V-1
V.1.1
Lingkungan Implementasi ..................................................................V-1
V.1.2
Implementasi Basis Data Relasional pada Server ..............................V-2
V.1.3
Implementasi File System pada Client ...............................................V-4
V.1.4
Implementasi Loading Basis Data pada Server ..................................V-9
V.1.5
Implementasi Loading Client pada Client ..........................................V-9
V.1.6
Implementasi Sinkronisasi Data .........................................................V-9
V.2 V.2.1
Pengujian ...............................................................................................V-10 Pengujian Loading Awal Pembentukan Dunia Permainan pada Server dan client ..........................................................................................V-10
V.2.2
Pengujian Loading Awal ketika Karakter Masuk dalam Dunia Permainan .........................................................................................V-12
V.2.3
Pengujian Sinkronisasi Data.............................................................V-13
BAB VI
KESIMPULAN DAN SARAN ............................................................. VI-1
VI.1
Kesimpulan ........................................................................................... VI-1
VI.2
Saran...................................................................................................... VI-2
DAFTAR REFERENSI ................................................................................................ ix LAMPIRAN A.
Deskripsi Nusantara Online ......................................................A-1
LAMPIRAN B.
Pemaparan Proses Dalam Nusantara Online............................. B-1
LAMPIRAN C.
Daftar Kebutuhan Fungsional dalam SRS ................................ C-1
LAMPIRAN D.
Use Case Nusantara Online ......................................................D-1
LAMPIRAN E.
Skenario Nusantara Online ....................................................... E-1
ix
LAMPIRAN F.
Implementasi Basis Data Relasional pada Server dengan Postgre 8.1 ............................................................................................. F-1
LAMPIRAN G.
Pengujian ..................................................................................G-1
x
DAFTAR GAMBAR Gambar II-1 Gambar Penyimpanan Objek [DB406] ................................................. II-5 Gambar III-1 Permainan RPG ................................................................................. III-1 Gambar III-2 Permainan MMORPG ....................................................................... III-2 Gambar III-3 Arsitektur Device Sistem Aplikasi MMORPG.................................. III-8 Gambar III-4 Komputer Client dan Aplikasinya ..................................................... III-9 Gambar III-5 Komputer Server dan Aplikasinya..................................................... III-9 Gambar IV-1 Identifikasi Objek dalam Nusantara Online ...................................... IV-2 Gambar IV-2 Entity Relational Diagram ............................................................... IV-15 Gambar IV-3 Replikasi Data pada Server dan Client ............................................ IV-36 Gambar V-1 Kelas DB pada Server ...........................................................................V-3 Gambar V-2 File Indeks Ability .................................................................................V-5 Gambar V-3 File Fireball.abl .....................................................................................V-6 Gambar V-4 File AbilityManager.h ...........................................................................V-7 Gambar V-5 Konstruktor Ability Manager ................................................................V-8 Gambar V-6 Ketergantungan pada File Manajer .......................................................V-8
xi
DAFTAR TABEL Tabel II-1 Customer Relation .................................................................................... II-2 Tabel IV-1 Pemetaan Skema Relasi pada Client dan Server ................................. IV-37 Tabel IV-2 Transfer Data dalam Sinkronisasi model data fisik client-server ....... IV-40 Tabel V-1 Beban Loading Awal Pembentukan Dunia Permainan (Database pada Server) ...................................................................................................V-11 Tabel V-2 Beban Loading Awal Pembentukan Dunia Permainan (Databae pada Server dan Client) .................................................................................V-11 Tabel V-3 Beban Loading Awal ketika Karakter Masuk dalam Dunia Permainan (Database pada Server) .........................................................................V-12 Tabel V-4 Beban Loading Awal ketika Karakter Masuk dalam Dunia Permainan (Database pada Server dan Client) ........................................................V-13 Tabel V-5 Beban Transfer Ability (Database pada Server) .....................................V-14 Tabel V-6 Beban Transfer Ability (Database pada Server dan Client) ....................V-14
xii