DAFTAR REFERENSI [ANI07]
Anissimov, Michael. What is a MMORPG? (English). wiseGEEK. Retrieved on 2007-04-01.
[BOO99]
Booch, Grady, et.al. 1999. The Unified Software Development Process. Addison-Wesley.
[COD70]
Codd, E. F. 1970. A Relational Model of Data for Large Shared Data Banks. Communications of the ACM. 13(6):377-87. Association for Computer Machinery.
[COU01]
Coulouris, George dkk. 2001. Distributed System: Concepts And Design. Third Edition. Addison Wesley, London.
[DAT06]
Amber, Scott. Data Modelling 101. Retieved on 2008-01-03
[GER95]
Gertz, Michael, Udo W. Lipeck. 1995. A Diagnostic Approach to Repairiing Constraint Violation in Databases. University of Hannover.
[PET76]
Chen, Peter. 1976. The Entity-Relationship Model – Toward a Unified View of Data. Massachusetts, USA
[PET84]
Chen, Peter. 1984. Entity-Relationship Modelling : Historical Events. Future Trends, and Lesson Learned. LA 70803, USA
[RIL94]
Rilstone, Andrew (1994). Role-Playing Games: An Overview (HTML). RPGnet. Retrieved on 2006-09-01.
[RPG07]
Role-playing game - definition of Role-playing game - Labor Law Talk Dictionary. Retrieved on 2007-09-14.
[SIL02]
Silberschatz, A., H.F. Korth dan S. Sudarshan. Database System Concepts 4th Edition. McGraw Hill, New York, 2002.
[TOB07]
What IS a MMORPG actually?. Tobold's MMORPG Blog. Retrieved on 2007-04-01.
[WIS07]
Wise Geek. (2007). What is MMORPG ?. http://www.wisegeek.com/
[ZAC08]
Zachman, Zachman Frame work .ZachmanInternational. Retrieved on 2008-01-03
ix
LAMPIRAN A. Deskripsi Nusantara Online Nusantara Online adalah sebuah permainan komputer bertipe MMORPG yang dapat dimainkan oleh maksimal 1000 pemain dalam waktu yang bersamaan. Uniknya, permainan ini sangat bernuansakan kebudayaan Indonesia. Latar permainan berada pada abad ke-13 di negeri bernama Nusantara yang terdiri dari banyak sekali pulau. Permainan ini menceritakan bagaimana sebuah batu angkasa yang tiba-tiba jatuh ke bumi Nusantara membawa malapetaka dengan membangkitkan roh-roh jahat pada setiap makhluk disana, dan bagaimana dua kerajaan besar saat itu yakni Sriwijaya dan Majapahit saling bertarung untuk menguasai sebuah keris yang dapat mengendalikan roh-roh kegelapan tersebut.
Pulau-pulau yang terdapat di Nusantara Online merupakan pulau-pulau besar dan terkenal yang ada di Indonesia, seperti Jawa, Sumatra, Sulawesi, Kalimantan dan Papua. Setiap pulau dibagi menjadi beberapa area yang berbeda jenisnya dan memiliki keunikan tersendiri. Di setiap area akan dijumpai bangunan dan pemandangan alam yang mirip dengan nuansa alam Indonesia. Setiap makhluk yang ada di dalam Nusantara Online juga dirancang se-Indonesia mungkin, seperti hewan dan tumbuhan yang biasa ditemui di hutan-hutan, serta makhluk-makhluk halus yang cukup terkenal mitosnya di Indonesia. Oleh karena itu, sebagai sebuah permainan, Nusantara Online tidak hanya menghibur tapi juga memperkenalkan kebudayaan Indonesia kepada pemainnya.
Nusantara Online merupakan permainan MMORPG pertama dan satu-satunya yang dihasilkan oleh bangsa sendiri. Dengan fitur-fitur lengkap dan lebih bervariasi, bergrafis penuh tiga dimensi, dan dapat dimainkan di platform mana saja, Nusantara Online tidak akan kalah bersaing dengan MMORPG dari negara luar yang selama ini mendominasi permainan Online di Indonesia.
Adapun target pasar Nusantara Online melingkupi kalangan remaja hingga professional muda (15 – 35 tahun) dengan jenis kelamin pria dan wanita. Setahun terakhir, pasar di Indonesia sendiri sudah tumbuh sebanyak 25% dan diramalkan akan A-1
A-2
terus bertambah setiap tahunnya seiring dengan penggunaan internet yang makin meluas. Selain melalui kerjasama dengan tim lain, permainan ini akan menghasilkan pendapatan dari proses jual beli barang dan keahlian, dimana pemain harus membayar sejumlah uang (rupiah) kepada pihak pemasaran Nusantara Online untuk mendapatkan barang-barang tersebut.
Nusantara Online dikembangkan oleh tim bernama Sangkuriang Studio yang berpusat di Bandung. Nusantara Online telah dikerjakan selama kurang lebih setahun oleh belasan anggotanya yang sebagian besar masih berstatus sebagai mahasiswa. Dalam pengerjaan Nusantara Online, Sangkuriang Studio tergolong sangat mandiri tanpa investasi dari pihak luar.
A.1 Latar Belakang Nusantara Online Permainan Online belakangan ini semakin digemari, yaitu permainan yang dimainkan bersama-sama oleh lebih dari satu pemain dalam waktu bersamaan melalui internet. Salah satu tipe permainan Online yang diminati banyak orang adalah MMORPG. Banyak sekali MMORPG yang telah masuk di Indonesia, seperti Ragnarok Online, World of Warcraft, Tantra, dan Seal. Misalnya saja permainan Ragnarok Online, tercatat rata-rata 15 ribu pemain Indonesia yang bermain pada waktu bersamaan, yang sebagian besar merupakan siswa SMP dan SMU.
Nusantara Online merupakan MMORPG pertama dan satu-satunya yang dihasilkan oleh negeri sendiri dengan mengangkat tema sejarah dan kebudayaan Indonesia. Oleh karena itu, selain sebagai permainan yang menawarkan begitu banyak fitur, Nusantara Online juga diharapkan dapat meningkatkan rasa cinta dan pengetahuan pemain terhadap kebudayaan Indonesia yang beragam.
Permainan Nusantara Online memiliki grafis tiga dimensi, baik dari penggambaran karakter maupun peta, berlatar pada Nusantara abad ke-13 (daerah tersebut sekarang bernama Indonesia) yang diwarnai oleh perseteruan antara dua kerajaan hebat, Sriwijaya dan Majapahit, serta perlawanan mereka terhadap makhluk-makhluk kegelapan yang tiba-tiba menghantui Nusantara. Pemain akan berperan sebagai rakyat yang dapat membantu kerajaannya membasmi makhluk dan bersama para pemain
A-3
lainnya dapat memperluas kekuasaan dengan membentuk klan dan merebut daerahdaerah di Nusantara dari tangan makhluk ganas atau kerajaan lawan yang menguasai kota.
A.2 Fitur Utama Nusantara Online 1.
Tema yang berbudaya
Seluruh elemen dalam Nusantara Online bernuansa Indonesia jaman dulu. Sebagai contoh, kebaya untuk pakaian karakter wanita, gudeg dan makanan-makanan tradisional lainnya untuk regenerasi raga, nama-nama daerah yang sesuai dengan nama daerah di pulau Jawa dan Sumatra, keahlian-keahlian sakti sesuai cerita rakyat Indonesia, bangunan-bangunan kuno seperti candi dan kuil, bahkan Trivia seputar pengetahuan sejarah Indonesia jaman dulu dalam tahapan peningkatan keahlian atau profesi.
2.
Dunia yang luas
Dunia Nusantara terdiri dari pulau-pulau yang tersebar di seluruh Indonesia. Pulau Sumatra, Jawa, Kalimantan, Sulawesi dan Papua akan memuat ratusan daerah dengan keunikan tersendiri, mulai dari perkotaan, pedesaan, hingga ke daerah pedalaman yang berbahaya. Semua daerah tersebut dapat dikuasai oleh sekumpulan pemain, kecuali area ibukota dan kota-kota khusus milik kerajaan Sriwijaya dan Majapahit.
3.
Musuh dan sekutu yang tak terbatas
Bukan hanya makhluk ganas yang akan menjadi lawan pemain, melainkan juga NPC dan pemain lain. Sebaliknya, kerjasama dalam peperangan berskala besar juga dapat terjalin antar pemain atau antara pemain dengan NPC. Dengan kombinasi NPC dan para pemain yang terdiri dari berbagai profesi, peperangan menjadi lebih tidak menentu. Kerjasama antar pemain dapat terjadi pada tahap yang paling kecil (2 pemain) sampai ke tahap tertinggi (satu kerajaan).
4.
Teknologi yang canggih
Sistem Nusantara Online dikembangkan dengan berbasis teknologi open source yang terkini, stabil dan kuat, mulai dari server sampai client yang memanfaatkan perangkat lunak open source terbaik dan bersifat cross platform. Selain itu, network
A-4
engine yang digunakan berbasis pada teknologi yang biasa digunakan pada sistem kontrol pesawat terbang (untuk lebih jelasnya mengenai network engine yang digunakan, dapat dilihat pada bagian Analisis Teknis).
6.
Permainan yang lengkap
Terdapat banyak misi yang harus diselesaikan pemain Berburu makhluk ganas untuk menaikkan tingkat dan pengalaman Membentuk klan untuk berperang melawan kerajaan musuh Melakukan perdagangan (jual/beli) yang mempengaruhi perekonomian Dapat mengetahui profil karakter pemain lain, seperti nama, waktu kelahiran, gelar, profesi dan klan yang dimiliki. Profil ini dapat diubah sendiri oleh pemain Fitur obrolan yang menyerupai perangkat lunak Instant Messaging, dimana pemain dapat menambah pemain lain ke dalam daftar temannya. Dengan begitu, setiap saat pemain dapat mengetahui apakah temannya sedang bermain (Online) atau tidak. Terdapat banyak permainan mini seperti Scramble dan Trivia pada misi-misi tertentu Senjata yang dapat ditingkatkan kesaktiannya Adanya keahlian-keahlian menarik seperti memancing, menaiki pohon, menari, menyanyi, memasak, yang patut untuk dikuasai
LAMPIRAN B. Pemaparan Proses Dalam Nusantara Online Dalam Nusantara Online terjadi proses-proses baik dalam server maupun client. Pemaparan proses ini akan membantu dalam membentuk suatu kebutuhan fungsional. Berikut akan didefinisikan proses yang terjadi pada Nusantara Online sebagai sebuah game MMORPG.
B.1 Manajemen Akun B.1.1 Membuat akun Membuat akun adalah proses yang akan dibutuhkan dalam MMORPG Nusantara pada saat seorang pemain ingin bermain Nusantara Online. Akun akan dibuat dengan cara mendaftar pada website yang disediakan oleh server permainan. Pada proses pembuatan akun ini, proses akan dilaksanakan di dua bagian yang ada yaitu server dan client
Pada client, pemain harus membuka suatu web browser dan memilih untuk melakukan registrasi pemain. Pada website akan disediakan halaman khusus untuk memandu pemain melakukan registrasi. Setelah data disubmit oleh pemain, server akan menerima data tersebut dan akan melakukan verifikasi pada data yang yang digunakan sebagai bahan registrasi. Jika data tersebut lolos verifikasi, maka server akan membuatkan akun pemain pada server Nusantara Online.
B.1.2 Mengedit Akun Mengedit Akun adalah proses yang akan dibutuhkan dalam MMORPG Nusantara pada saat seorang pemain ingin mengedit data akunnya pada game Nusantara Online. Pengeditan hanya bisa dilakukan pada data tertentu saja yang memang diperbolehkan untuk diedit. Proses pengeditan akun dilakukan pada server dan client. Pengeditan akun akan dilakukan diinisiasi oleh seorang pemain dengan merubah data pada halaman website yang dapat menangani perubahan data akun.
1
B-2
Pada client, pemain harus membuka suatu web browser dan memilih untuk melakukan pengeditan data pemain. Pada website akan disediakan halaman khusus untuk memandu pemain melakukan pengeditan akun. Setelah data disubmit oleh pemain, server akan menerima data tersebut dan akan melakukan verifikasi pada data yang yang digunakan sebagai bahan pengeditan akun. Jika data tersebut lolos verifikasi, maka server akan mengedit akun pemain pada server Nusantara Online.
B.1.3 Menghapus Akun Menghapus akun adalah proses yang akan dibutuhkan dalam MMORPG Nusantara pada saat seorang pemain ingin menghapus data akunnya pada game Nusantara Online. Selain itu, penghapusan akun juga bisa dilakukan oleh administrator ketika administrator menganggap suatu akun sudah menggangu ataupun tidak pernah dimainkan lagi. Proses penghapusan akun dilakukan pada server dan client. Penghapusan akun akan diinisiasi oleh seorang pemain dengan memilih untuk menghapus akunnya pada halaman website yang dapat menangani penghapusan akun.
Pada client, pemain harus membuka suatu web browser dan memilih untuk melakukan penghapusan data pemain. Pada website akan disediakan halaman khusus untuk memandu pemain melakukan penhapusan akun. Setelah data disubmit oleh pemain, server akan menerima data tersebut dan akan melakukan verifikasi pada data sebagai bahan proses penghapusan akun. Jika data tersebut lolos verifikasi, maka server akan menghapus akun pemain pada server Nusantara Online.
B.2 Login Login adalah proses yang dibutuhkan untuk dapat masuk ke server Nusantara Online dan ikut bermain. Login akan dilakukan oleh pemain supaya dapat bermain dalam server. Proses Login akan diinisiasi oleh pemain yang menggunakan Nusantara Client dan akan dikirimkan ke server untuk diproses. Server akan segera mengembalikan jawaban ke client setelah melakukan verifikasi. Proses login akan ditangani pada server dan client.
Untuk login, pemain harus menjalankan program Nusantara Online Client. Pada layar login, pemain harus mengetikkan username atau id dan password yang dimiliki oleh
B-3
pemain. Setelah mengetikkannya, pemain dapat mengklik tombol login sehingga program client bisa mengirimkan data username dan password ke server. Kegiatan yang dilakukan client server selanjutnya adalah menunggu jawaban dari server. Server akan menerima data username dan password hasil kiriman dari client. Untuk selanjutnya server akan mengirimkannya lagi ke basis data. Dalam basis data akan dicek apakah username dan password pemain tersebut valid. Jika berhasil maka server akan mengirimkan kembali data karakter milik si pemain yang dibutuhkan dalam layar pemilihan karakter.
B.3 Manajemen Karakter B.3.1 Membuat Karakter Karakter adalah representasi bentuk pemain dalam dunia permainan Nusantara Online. Karakter pada umumnya berwujud manusia. Karakter inilah yang nantinya akan digerakkan dan dimanipulasi oleh pemain dengan menggunakan program Nusantara Online Client. Karakter tidak hadir begitu saja dalam permainan. Karakter harus dibuat oleh pemain. Manipulasi karakter yang dapat dilakukan oleh pemain melingkupi bentuk wajah, rambut, mata, tubuh, otot tubuh, rambut untuk jenggot dan kumis. Karakter yang dibuat juga harus memiliki arah kemampuan atau ras. Maksud arah kemampuan disini adalah seperti seorang prajurit, petani, pencuri, dan lain-lain.
Pada client akan disediakan layar khusus yang mengakomodasi pembuatan karakter. Pada layar pembuatan karakter ini, pemain dapat memilih bagian-bagian bentuk tubuh yang diinginkan. Setelah pemain menyelesaikan modifikasi pada karakter barunya maka pemain dapat mensubmit karakter barunya ke server. Jika berhasil maka foto karakter baru akan tampil pada layar pilihan karakter. Karakter baru akan diterima oleh server. Pada proses ini server akan mengirimkan lagi data karakter tersebut ke basis data untuk disimpan. Setelah itu server memberikan kiriman kembali ke server sebagai tanda bahwa karakter baru sudah terbentuk dan tersimpan.
B.3.2 Penghapusan Karakter Sebagaimana telah diketahui bahwa karakter merupakan representasi pemain dalam dunia permainan Nusantara Online. Pemain bisa menghapus karakter yang
B-4
dimilikinya. Untuk melakukan penghapusan ini, dibutuhkan verifikasi ulang dari si pemain karena hal penghapusan cukup riskan.
Supaya tidak terjadi hal-hal yang tidak diinginkan maka password pemain akan ditanyakan sekali lagi, jika berhasil maka client akan mengirimkan perintah penghapusan data karakter tersebut pada server. Jika berhasil maka karakter tersebut akan hilang dari layar pemilihan karakter. Jika password yang dikirimkannya benar, maka server yang menerima perintah penghapusan karakter tersebut dan akan menyambungkannya ke basis data. Pada basis data, data tentang karakter berikut data yang berhubungan dengannya juga akan dihapus. Setelah selesai melakukan penghapusan maka server akan mengirimkan keterangan berhasilnya proses penghapusan ke client.
B.3.3 Inisiasi Karakter atau Loading Awal Inisiasi karakter atau loading awal dibutuhkan oleh Nusantara Online untuk merepresentasikan bentuk pemain pada permainan dan merepresentasikan dunia permainan pada Client. Inisiasi terjadi pada server dan client. Pada inisiasi awal dilakukan banyak persiapan yang memungkinkan permainan dapat dilakukan dengan lancar untuk selanjutnya. Dalam proses inisiasi ini dilakukan juga proses pengiriman antar server dan client. Pemain dapat memilih karakter dari layar pemilihan karakter pada client. Setelah memilih karakter maka client akan mengirimkan data pemilihan karakter ke server dan menunggu jawaban dari server. Jika behasil maka client akan menerima data karakter pilihan dari server. Client akan merepresentasikan data tersebut dalam pola grafis yang dapat dilihat dan dimengerti si pemain dalam layar client Nusantara Online. Server akan menerima data pilihan karakter dari client dan akan meneruskan pilihan tersebut ke basis data. Dalam basis data akan dicari data karakter tersebut dan dikembalikan lagi pada server. Dalam server akan dilakukan instansiasi sebuah objek karakter dengan data dari basis data tersebut. Beberapa data yang dibutuhkan akan dikirimkan ke client sehingga karakter dapat menginterpretasikan karakter milik pemain dalam pola grafis.
B.3.4 Karakter Bergerak
B-5
Karakter
dapat
bergerak
atau
berpindah
tempat.
Dunia
permainan
akan
direpresentasikan dalam koordinat 3 dimensi melalui tiga sumbu yaitu X, Y, Z. Suatu daerah akan selalu dimulai dari titik nol dari setiap sumbu.
Pada waktu mulai permainan setelah login dan memilih karakter, karakter akan direpresentasikan dalam client lengkap dengan posisinya. Posisi karakter ini akan terletak dalam suatu daerah dan direpresentasikan dalam sumbu X,Y, dan Z. Sebuah karakter yang direpresentasikan dalam bentuk mesh harus bisa berpindah tempat. Untuk mengakomodir pergerakan maka harus terjadi validasi lokasi oleh server. Jika validasi lokasi tempuh berhasil maka data akan dikirmkan kembali ke client. Di client, akan dilakukan pergeseran mesh karakter sehingga karakter akhirnya akan berpindah tempat. Dalam perpindahan tempat, server akan memproses arah gerak dari client dengan menggunakan kecerdasan buatan path finding. Server akan melakukan validasi lokasi dan arah gerak karakter dan mengirimkannya kembali ke client jika validasi berhasil.
B.3.5 Implementasi Karakter : Status, Bentuk, Atribut Sebuah karakter merupakan representasi dari pemain yang memainkan MMORPG Nusantara. Untuk merepresentasikan seorang pemain, diperlukan satus, wujud, dan atribut dari sebuah karakter. Status, bentuk, wujud dari seorang karakter akan direpresentasikan dalam banyak representasi seperti angka atau mesh. Penulis akan membahas
lebih
detil
untuk
masing-masing
elemen
yang
ada
untuk
merepresentasikan sebuah karakter sesuai dengan lokasinya yaitu di server atau di client.
Terdapat perbedaan representasi karakter pada client dan server. Client akan merepresentasikan karakter sehingga dapat dilihat oleh pemain yang memainkannya. Representasi karakter pada client akan digunakan untuk menunjukkan wujud, status, dan bentuk sehingga pemain dapat memahami kondisi dari karakter buatannya. Pada server, representasi akan digunakan untuk menyimpan ke basis data dan mengkalkulasi game dengan mekanika game yang ada.
B.3.5.1 Status
B-6
Status akan direpresentasikan dalam beberapa jenis. Setiap jenis akan mewakili elemen dalam tubuhnya. Elemen-elemen tersebut akan dipadankan dalam parameter angka. Elemen status ini dipengaruhi dari atribut yang dimiliki. Elemen tingkat merupakan elemn penting karena akan mempengaruhi seluruh elemen status yang lain dengan sinergis. Tingkat dipengaruhi oleh pengalaman. Pengalaman akan dikalkulasi untuk dijadikan tingkat. Status akan dikalkulasikan dalam bentuk angka. 1. Tingkat
Tingkatan (level) karakter.
2. Pengalaman
Pengamalan (experience) yang telah didapat.
3. NR
Nilai Raga(Hit Point), jika mencapai 0 maka karakter mati
4. NJ
Magic Point, jumlah kekuatan yang dapat digunakan untuk mengeluarkan serangan magic atau jurus / skill lainnya
5. SR
Kesembuhan Raga (HP regen), regenerasi hp/s (tidak ditampilkan pada layar status)
6. SJ
Kesembuhan Jiwa (MP regen), regenerasi mp/s (tidak ditampilkan pada layar status)
7. TR
Ketahanan Raga (Defence)
8. TJ
Ketahanan Jiwa (Magic Defence)
9. CS
Kecepatan Serang (Attack speed), jumlah serangan fisik/menit
10. CR
Kecepatan Rapal (Cast speed), kecepatan rapal dalam persen (default 100%, kecepatan rapal dalam detik tergantung pada spell itu sendiri)
11. AS
Akurasi Serangan fisik (Hit Rating)
12. HS
Menghindari Serangan fisik (Dodge)
Atribut Atribut adalah elemen dari karakter yang akan mempengaruhi status tubuh dari karakter. Atribut bisa bertambah sinergis dengan siringnya kenaikan tingkat. Penambahan atribut dengan cara lain juga bisa didapatkan dengan menggunakan barang ataupun equipment. Atribut akan dikalkulasikan dalam bentuk angka. 1. OTT
Otot, damage fisik (melee)
2. VIT
Vitalitas, pertahanan terhadap serangan fisik, meningkatkan jumlah HP
B-7
3. SIG
Sigap, kecepatan serangan dan menghindar, meningkatkan kemungkinan miss
4. AKR
Akurasi, ketepatan serangan, menentukan kekuatan serangan jarak jauh
5. OTK
Otak, menentukan kekuatan sihir dan kekuatan serangan bertipe sihir
6. MEN
Mentalitas, pertahanan terhadap serangan sihir, meningkatkan jumlah MP
7. STA
Stamina, menentukan kemampuan regenerasi hp dan mp
8. HOK
Hoki, keberuntungan, menentukan kemungkinan serangan kritikal (fisik / melee dan jarak jauh / range)
B.3.5.2 Slot Equipment Karakter dalam kehidupannya dapat menggunakan barang dalam jangka waktu panjang. Karakter memiliki beberapa bagian tubuh yang bisa dipasangi equipment. 1. Tangan kanan
Senjata
2. Tangan kiri
Senjata / Tameng / Kosong jika menggunakan senjata 2 tangan (busur, pedang besar, atau sejenisnya)
3. Kepala Pelindung Kepala / Helm 4. Badan
Armor
5. Kaki
Sepatu
6. Aksesoris 1
Aksesoris
7. Aksesoris 2
Aksesoris
8. Aksesoris 3
Aksesoris
B.3.5.2 Slot Barang (Item) Karakter dalam kehidupannya akan memiliki tas yang berisi 25 slot barang. Karakter dapat membawa barang yang dimilikinya dalam mengahadapi musuh2nya. Isi dari slot-slot yang ada harus diimplementasikan baik di server maupun client. Representasi 25 slot dalam server lengkap dengan kondisi dan pengaruh barang tersebut.
B.3.5.3 Wujud dan Bentuk Karakter
B-8
Karakter dalam permainan akan direpresentasikan dalam bentuk tiga dimensi. Representasi karakter seutuhnya memiliki seluruh bagian tubuh manusia. Setiap bagian tubuh akan diidentifikasi menjadi bagian-bagian yang berbeda. Dari bagianbagian tubuh yang terpisah akan digabungkan menjadi satu kesatuan tubuh manusia. Contoh bentuk pembagian tubuh : Tubuh adari Karakter A terbagi menjadi lima bagian yaitu kepala, badan, kaki, tangan, dan Jenis Rambut. Bagian-bagian tubun karakter A adalah : 1. Kepala
: tipe 1
2. Badan
: tipe 2
3. Kaki
: tipe 1
4. Tangan
: tipe 2
5. Jenis Rambut
: tipe 1
Secara keseluruhan, karakter A akan memiliki janis tubuh yang merupakan hasil kombinasi dari lima poin di atas.
Pada server representasi kelas karakter akan memiliki banyak atribut yang juga merupakan instansiasi dari kelas lain. Kelas karakter merupakan kelas yang kompleks. Dalam server, seluruh atribut server akan direpresentasikan. Berbeda dengan server, representasi karakter pada client adalah representasi yang akan membantu menampilkan karakter pada layar untuk pemain. Informasi yang ada pada client akan digunakan untuk memanggil data gambar yang ada pada sistem peyimpanan file pada client
B.4 Manajemen Monster Monster adalah salah satu elemen dalam Nusantara Online. Keberadaan monster dalam game akan diatur dalam satu sinergisitas server. Dengan merubah jumlah dan lokasi monster di server maka kita bisa merubah dunia permainan. Monster adalah elemen yang hampir menyerupai manusia. Monster diimplementasikan hampir sama dengan karakter. Monster memiliki barang, equipment, bentuk tubuh, status, atribut, dll.
Pada Client, monster akan direpresentasikan sama dengan seperti karakter. Bentuk monster akan dibangkitkan oleh client dengan mengambil data pada program client
B-9
itu sendiri. Pada client, monster akan terlihat hidup karena diimplementasikan memiliki beberapa state yang nantinya akan direpresentasikan dala bentuk gerakangerakan tertentu sesuai dengan jenis monsternya, contohnya : 1. Bergerak, monster akan berjalan-berjalan 2. Idle, monster akan diam di tempat 3. Bertarung, akan memukul pemain atau monster lain. 4. Menggunakan item atau jurus. Pada server, monster akan direpresentasikan sama juga dengan karakter. Monster tidak bisa dikontrol oleh manusia. Server akan menjalankan kehidupan monster dan mengaturnya sehingga monster dapat melengkapi dunia permainan yang dimainkan oleh para pemain. Monster adalah sebuah objek yang memiliki sifat-sifat tertentu yang terimplementasi oleh mesin artificial intelegence. Mesin Kecerdasan buatan ini akan disisipkan ke dalam objek monster sehingga monster dapat terasa hidup.
B.4.1 Inisiasi Monster Sama seperti karakter, semua monster dalam dunia permainan juga harus diinisiasi. Insisiasi monster dalam dunia permainan biasa dijalankan tepat setelah dunia permainan di server di bentuk. Inisiasi monster dilakukan hanya pada server. Monster yang seharusnya ada hidup akan diinstansiasi. Setiap monster akan diidentifikasi identitasnya dengan merepresentasikan id, lokasi, status, atribut, equipment, inventory. Inisiasi monster dilakukan hanya dilakukan pada server. Ketika dunia permainan pertama kali diinstansiasi maka server akan meminta data semua monster yang ada ke basis data. Data yang berasal dari basis data akan dijadikan parameter untuk membentuk suatu objek monster yang hidup dalam server.
B.4.2 Manipulasi Monster Monster akan dipandang sebagai objek yang hidup dalam dunia permainan. Kehidupan monster akan dijiwai oleh mesin artificial intellegence. Setiap monster akan memiliki atribut dan status seperti karakter pemain. Monster juga memiliki kemampuan untuk menggunakan inventory dan mempunyai equipment. Equipment yang dimiliki monster, ketika dia mati nantinya akan dijatuhkan oleh monster. Pada pertarungan monster bisa menggunakan kemampuan atau jurus. Secara garis besar moster dan karakter memiliki banyak kesamaan.
B-10
Pada server, proses manajemen monster bisa dilakukan. Pada server, monster bisa dimatikan atau dihidupkan kembali. Pada server monster bisa dirubah lokasi serta statusnya. Seluruh manipulasi bisa dilakukan terhadap monster dari kontrol server. Server akan menerima kiriman data dari client tertentu dan mensinkronisasikannya dengan kondisi dunia permainan. Jika pengaruh yang diberikan client satu terhadap monster satu berdampak pada penglihatan pemain lain, maka pengembalian akan dikirimkan juga pada pemain itu. Pada client, monster akan direpresentasikan dalam bentuk tiga dimensi atau mesh. Pada client lewat mekanisme tertentu, pemain bisa melihat status dan atribut dari monster tertentu. Data monster juga terdapat pada client. Semua monster sudah didefinisikan lebih dulu pada server dan client sehingga tidak terdapat perbedaan data. Data yang ada pada client akan digunakan untuk membantu representasi monster pada client. Client tidak pernah mengirimkan data monster. Data monster (serangan dalam pertarungan) selalu berasal dari server karena server yang sepenuhnya memiliki hak untuk mengendalikan monster.
B.5 Inisiasi dan Manajemen NPC Seperti yang sudah diterangkan pada bagian sebelumnya, NPC adalah monster yang memiliki sifat tertentu. NPC biasanya bersifat membantu kita dalam menyelesaikan misi. NPC juga memiliki kemampuan untuk memberikan tugas pada pemain. NPC dalam permainan biasanya memiliki tugas tertentu. Kehidupan NPC sepenuhnya akan dikontrol oleh mesin artificial intelegence sama seperti monster. NPC biasanya akan memihak salah satu kubu yaitu Majapahit atau Sriwijaya. NPC tidak akan agresif menyerang. Dalam kehidupan NPC biasanya hanya akan diam tanpa melakukan halhal berarti. NPC akan menunggu sampai ada karakter yang berinteraksi dengannya dan memfungsikan dirinya sesuai dengan kemampuan dirinya seperti untuk berjualan, memberikan informasi, memberikan tugas, dan lain-lain.
Pada server, NPC akan hidup sebagai objek layaknya karakter dan monster. Objekobjek NPC yang ada dalam dunia permainan akan bisa dimanipulasi seutuhnya oleh administrator yang menjalankan server. Objek-objek NPC akan diinisiasi dari data permainan yang disimpan pada basis data. Data akan diambil dari basis data melalui prosedur atau fungsi tertentu dan dijadikan data utama untuk membentuk objek NPC.
B-11
NPC dalam server akan saling berhubungan dengan objek lain seperti objek item, equipment, dan quest.
Seperti objek hidup lain dalam dunia permainan, pada layar NPC akan direpresentasikan dalam objek 3 dimensi, memiliki bentuk dan wujud. Pada Client biasanya posisi NPC selalu pada lokasi yang sama ketika pemain lain juga melihat NPC tersebut. Client akan menerima perintah dari server dan merealisasikannya pada NPC ketika pengelola server merubah bagian-bagian tertentu dan mempengaruhi keadaan NPC.
B.6 Inisiasi dan Manajemen Item Item adalah objek yang dibentuk untuk memodifikasi status atau atribut karakter, monster, ataupun NPC. Item memiliki kapasitas untuk : 1. Dibawa dalam tas 2. Digunakan 3. Dijual-belikan 4. Dibuang 5. Diambil atau dipungut
Secara garis besar, karakter akan dapat menggunakan item dengan memanfaatkan control pada client. Ketika item digunakan maka efek yang timbul pada karakter, monster, ataupun NPC akan terjadi baik di server maupun client. Item pada satu dunia permainan memiliki jumlah pasti sehingga item mungkin saja habis di dunia. Tugas untuk pengadaan kembali item ini ada pada server. Karena kehabisan item ataupun kelangkaan item tertentu ini, kemungkinan terjadinya krisis item pada dunia permainan sangat memungkinkan. Hal ini sangat mirip pada dunia nyata dimana bisa terjadi kelangkaan barang, krisis moneter, dan lain sebagainya. Pada waktu tertentu, suatu item harus bisa diupdate kemampuannya. Hal-hal diatas biasa disebut dengan kegiatan manajemen item.
Pada awal pembentukkan dunia, objek-objek item harus dibentuk dalam dunia permainan. Item akan dibentuk secara massal lewat suatu prosedur atau fungsi.
B-12
Item juga merupakan objek dalam dunia permainan. Representasi item dalam server adalah dalam bentuk objek. Data untuk item dalam dunia permainan akan disimpan pada basis data dan akan diambil oleh program server pada awal pembentukan dunia permainan. Data itu dijadikan bahan untuk merepresentasikan objek item pada server. Objek-objek yang sudah terepresentasi pada server akan dihubung-hubungkan ke karakter, monster, ataupun NPC yang memilikinya. Modifikasi pada server terhadap item-item tertentu akan berpengaruh pada client yang melihatnya pada layar masingmasing. Server akan mengirimkan data item ketika terjadi transaksi yang berhubungan dengan item seperti proses jual-beli, penggunaan item, dan lain-lain.
Pada program client, representasi untuk item berbeda-beda. Representasi pada item bisa tidak berwujud atau bisa juga berwujud. Representasi penggunaannya juga berbeda untuk setiap item. Semua jenis representasi ini dicatat dan disimpan dalam suatu sistem penyimpanan. Pada client, item akan lebih sering tampak dalam bentuk dua dimensi karena sering ditempatkan dalam GUI saja.
B.7 Inisiasi dan Manajemen Area Karakter, NPC, ataupun monster membutuhkan tempat untuk berdiri. Seperti pada kehidupan nyata, dunia permainan juga memiliki daerah-daerah yang bisa ditempuh, disinggahi, ataupun dijadikan daerah domisili. Tempat-tempat tersebut disebut sebagai area. Secara umum, area bisa didefinisikan sebagai kumpulan koordinat dengan ukuran tertentu dengan bentuk kotak. Area akan digunakan penanda lokasi satu karakter, monster, atau NPC.
Dalam server, implementasi area cukup sederhana karena tidak perlu mendefinisikan objek mati apa saja yang ada di suatu area. Maksud dari objek mati ini adalah objekobjek seperti bangunan, pohon, rumput, dan lain sebagainya.. Area akan didefinisikan dalam server dan akan dihubungkan dengan objek-objek lain yang ada di dalam area tersebut. Untuk menginisiasi area dalam dunia permainan, program server harus mengambil data lokasi area yang terdapat di basis data. Ketika dunia permainan mulai diinisiasi maka menginisiasi area merupakan hal yang cukup penting untuk diinisiasi terlebih dahulu karena nantinya akan terdapat banyak objek lain yang membutuhkan objek area ini. Area dalam dunia permainan tidak bisa berubah secara real-time
B-13
namun bisa berubah sewaktu-waktu (biasanya dalam fase perawatan dunia permainan). Manajemen area hanya bisa dilakukan di server.
Representasi area dalam program client, merupakan representasi yang paling sulit karena dalam suatu area terdapat banyak sekali benda-benda yang harus direpresentasikan dalam model tiga dimensi. Dalam program client, tidak akan terjadi pengiriman dan penerimaan secara real-time untuk memanipulasi area. Representasi area bagi software client memakan banyak space atau tempat sehingga harus dipikirkan suatu metode penyimpanan untuk menyimpan kodisi dan struktur suatu area di client sehingga server tidak harus mengirimkan seluruh data objek yang ada di satu area.
B.8 Inisiasi dan Manajemen Equipment Equipment adalah item yang bisa dipakai oleh karakter. Penggunaan equipment adalah pemakaian slot-slot pakaian tertentu di bagian-bagian tubuh karakter seperti kepala, badan tangan dan lain sebagainya. Inisiasi dan manajemen equipment dilakukan sama halnya dengan client
B.9 Inisiasi dan Manajemen Quest Quest adalah tugas-tugas yang bisa diselesaikan oleh karakter yang dimainkan oleh seorang pemain. Quest biasanya diberikan oleh seorang NPC. Quest bisa diambil oleh seorang pemain dan diselesaikan dalam dunia permainan. Variasi dari quest dapat bermacam-macam. Quest bisa merupakan rangkaian beberapa tugas yang dijadikan satu. Quest bisa dilaksanakan dengan berbagai cara. Beberapa yang didefinisikan dalam Nusantara Online adalah : 1. Membunuh monster, dalam kuantitas tertentu 2. Mendapatkan barang (item atau equipment), dalam kuantitas tertentu 3. Berbicara dengan NPC lain 4. Berjalan ke suatu area tertentu, dalam koordinat tertentu Dengan menyelesaikan quest, pemain akan mendapatkan scenario kehidupan yang berbeda-beda. Quest dapat saling berhubungan, maksudnya adalah quest yang satu dapat menyebabkan quest yang lainnya bisa diambil ataupun malah tidak bisa diambil.
B-14
Pada server, quest merupakan objek yang harus direpresentasikan juga. Representasi quest disini diwujudkan menjadi rangkaian beberapa event tertentu. Pada waktu dunia permainan dibentuk maka seluruh data quest yang ada akan diambil dari basis data dan dibentuk objeknya di server. Quest tidak bisa dimanipulasi secara real-time. Manipulasi quest bisa dilakukan hanya pada waktu tertentu yaitu pada saat server berada pada masa perawatan (maintenance). Objek quest yang ada pada server akan berhubungan dengan objek lain yang mendukungnya seperti : 1. Objek NPC yang menjadi pemberinya 2. Objek barang yang menjadi syaratnya 3. Objek barang yang menjadi hadiahnya’ 4. Objek koordinat arean yang menjadi tujuan tempat perjalanan 5. Objek monster yang terdapat dalam perintah quest
Representasi quest dalam client biasanya akan terlihat pada saat karakter melakukan pembicaraan untuk mengambil quest atau menyelesaikannya dengan NPC. Representasi pencatatan quest biasanya dilakukan juga pada client dengan menggunakan representasi dua dimensi. Daftar quest yang sudah diambil oleh karakter dapat dilihat dan dimanipulasi oleh karakter misalnya dibuang (tidak ingin diselesaikan).
LAMPIRAN C. Daftar Kebutuhan Fungsional dalam SRS Tabel C-VI-1 Kebutuhan Fungsional dalam SRS
Nomor
Nama SRS
Keterangan
SRS SRS-F-01
Melakukan
Manajemen akun
penambahan
atau
penghapusan akun pada permainan. SRS-F-02
Melakukan
Login
login
menggunakan
untuk
dapat
aplikasi,
dengan
memasukkan user name, password, dan port yang dipilih untuk kemudian dilakukan validasi oleh sistem. SRS-F-03
Memanipulasi karakter sesuai dengan
Manipulasi karakter
keinginan player. Karakter bisa dibuat dan dihapus oleh player. SRS-F-04
Melakukan gerakan karakter dalam
Menggerakkan karakter
permainan.
Karakter
berlari, ataupun
bisa
berjalan,
berpindah tempat
dengan jauh. SRS-F-05
Melakukan pertarungan dengan monster
Bertarung
dengan menggunakan fasilitas yang ada. SRS-F-06
Melakukan interaksi dengan NPC untuk
Interaksi dengan NPC
melakukan
jual-beli
item/equipment,
meminta quest, dan berbicara. SRS-F-07
Melakukan perpindahan tempat dari satu
Berpindah area
area ke area yang lain. SRS-F-08
Meminta quest dari NPC dan melaukan
Menyelesaikan quest
objektif
yang
terdapat
pada
quest
tersebut. SRS-F-09
Melakukan jual-beli, membuang, serta
Manajemen Item C-1
C-2
memindahkan item yang dimiliki. SRS-F-10
Manajemen Equipment
Melakukan jual-beli, membuang, serta memindahkan equipment yang dimiliki.
SRS-F-11
Interaksi lain
dengan
karakter Melakukan interaksi dengan karakter lain untuk berbicara, membentuk grup, ataupun bertukar barang.
SRS-F-12
Logout
Keluar dari server.
LAMPIRAN D. Use Case Nusantara Online D.1 Use Case Global Nusantara Online Manajemen Akun *
*
Login *
*
Manipulasi Karakter *
*
Menggerakkan Karakter *
*
**
**
* *
* * *** **
* * **
Bertarung dengan monster *
*
Player
Berinteraksi dengan NPC
*
Basis Data *
*
* Berpindah Area
*
* Manajemen Quest
*
*
Manajemen Item *
*
Manajemen Equipment *
*
Berinteraksi dengan karakter lain
Gambar D-I-1 Use Case Global
D-1
***
D-2
D.2 Use Case Manajemen Akun *
* Membuat Akun
* *
*
*
*
*
*
*
Mengedit Akun
* Player
* Menghapus Akun
Gambar D-2 Use Case Manajemen Akun
D.3 Use Case Manajemen Karakter
Gambar D-3 Use Case Manajemen Karakter
D.4 Use Case Menggerakkan Karakter
Gambar D-4 Use Case Menggerakkan Karakter
D.5 Use Case Bertarung dengan Monster
Basis Data
D-3
Gambar D-5 Use Case Bertarung dengan Monster
D.6 Use Case Interaksi dengan NPC
Gambar D-6 Use Case Interaksi dengan NPC
D.7 Use Case Manajemen Quest
D-4
Gambar D-7 Use Case Manajemen Quest
D.8 Use Case Manajemen Item
Gambar D-8 Use Case Manajemen Item
D.9 Use Case Manajemen Equipment
D-5
Gambar D-9 Use Case Manajemen Equipment
D.10 Use Case Interaksi dengan Karakter Lain
D-6
Gambar D-10 Use Case Interaksi dengan Karakter Lain
LAMPIRAN E. Skenario Nusantara Online E.1 Skenario Global Nama Use Case
: Login
Pengguna
: Player dan Server
Prekondisi
: Akun sudah dibuat
Postkondisi
: Player terlogin ke server
Tabel E-1 Skenario use case Login Aksi Aktor Skenario Normal (S-01-01) 1. Player mengisi form untuk login pada client
Reaksi Sistem
2. Client menerima username dan password dari player dan mengirimkannya ke Server memeriksa user name dan password dari player. Server meminta username dan password player dari basis data 3.
Database memberikan data username dan password yang diminta 4. Server mencocokan username dan password dari player dan basis data. Username dan password cocok 5. Server mengirimkan ke client karakter yang dimiliki oleh player. Client menampilkan karakter pada layar memilih karakter
Skenario Alternatif (S-01-02) 1. Player mengisi form untuk login pada client 2. Client menerima username dan password dari player dan mengirimkannya ke Server memeriksa user name dan password dari player. Server meminta username dan password player dari basis data player. Server meminta username dan password player dari basis data 3.
Database memberikan data username dan password yang diminta 4. Server mencocokan username dan password dari player dan basis data. Username dan password tidak cocok 5. Client menampilkan layar login kembali
E.2 Skenario Manajemen Akun Nama Use Case
: Manajemen Akun – Membuat Akun
Pengguna
: Player dan Server
Prekondisi
: Akun belum dibuat E-1
E-2
Postkondisi
: Akun telah dibuat
Tabel E-2 Skenario use case Membuat Akun Aksi Aktor Skenario Normal (S-02-01) a. Player mengisi form untuk pembuatan akun.
d. Basis data menyimpan data player Skenario Alternatif (S-02-02) 1. Player mengisi form untuk pembuatan akun.
Reaksi Sistem
b. Server memeriksa data masukan dari player. Masukan seluruhnya valid. c. Server mengirimkan data player ke basis data dan membuat akun untuk player. e.
2. Server memeriksa data masukan dari player. Ada masukan yang tidak valid. 3. Server meminta player memasukkan ulang form pembuatan akun.
Nama Use Case
: Manajemen Akun – Mengedit Akun
Pengguna
: Aktor User
Prekondisi
: Player telah memiliki akun
Postkondisi
: Akun player telah diedit
Tabel E-3 Skenario use case Mengedit Akun Aksi Aktor Skenario Normal (S-02-03) 1. Player mengisi form pengeditan akun.
Reaksi Sistem
2. Server memberikan form pengeditan akun kepada player. 3. Server menigirimkan data player yang telah diedit ke basis data 4.
Basis data mengupdate data player
Nama Use Case
: Manajemen Akun – Menghapus Akun
Pengguna
: Player
Prekondisi
: Player telah memiliki akun
Postkondisi
: Akun player telah dihapus
Tabel E-4 Skenario use case Mengedit Akun Aksi Aktor Skenario Normal (S-02-04) 1. Player meminta penghapusan akun.
Reaksi Sistem
2. Server mengirimkan request penhapusan data akun player ke basis data. 3.
Basis Data menghapus akun player
E-3
Nama Use Case
: Login
Pengguna
: Player
Prekondisi
: Player telah memiliki akun dan belum masuk ke arena
permainan Postkondisi
: Player telah masuk ke arena permainan
E.3 Skenario Manajemen Karakter Nama Use Case
: Memanipulasi Karakter – Membuat Karakter
Pengguna
: Player
Prekondisi
: Player telah memiliki akun
Postkondisi
: Karakter untuk akun player tercipta
Tabel E-5 Skenario use case Membuat Karakter Aksi Aktor Skenario Normal (S-03-01) 1. Player melakukan login. 2. Player memilih menu membuat karakter
Reaksi Sistem
3. Server memberi pilihan karakter. 4.
Player memilih jenis karakter yang akan dibuat 5. Server membuat karakter untuk akun sesuai dengan jenis karakter pilihan player. 6. Server mengirimkan data karakter yang dibuat ke basis data
4.
Basis data menyimpan data karakter yang baru dibuat
Nama Use Case
: Memanipulasi Karakter – Menghapus Karakter
Pengguna
: Player
Prekondisi
: Player telah memiliki akun
Postkondisi
: Salah satu karakter dari akun player terhapus
Tabel E-6 Skenario use case Menghapus Karakter Aksi Aktor Skenario Normal (S-03-02) 1. Player melakukan login. 2. Player memilih karakter miliknya yang akan dihapus
Reaksi Sistem
3. Server meminta konfirmasi dari player untuk menghapus karakter yang dipilih. 4.
Player mengkonfirmasi penghapusan karakter. 5. Server menghapus karakter player yang telah dipilih untuk dihapus.
E-4
6.
Aksi Aktor Basis data menghapus karakter player yang dipilih
Reaksi Sistem
E.4 Skenario Menggerakkan Karakter Nama Use Case
: Menggerakkan Karakter – Berjalan
Pengguna
: Player
Prekondisi
: Player telah berada di arena permainan
Postkondisi
: Karakter milik player berjalan dari satu tempat ke tempat lain
Tabel E-7 Skenario use case Berjalan Aksi Aktor Skenario Normal (S-04-01)
1.
Reaksi Sistem
Player mengklik satu kali pada bagian dunia yang tampak pada layar. 2. Server mengecek apakah lokasi bisa dijalani. Lokasi valid 3. Server membuat karakter berjalan ke lokasi yang dituju
4. Basis data merubah data lokasi karakter Skenario Alternatif (S-04-02) 1. Player mengklik satu kali pada peta. 2. Server mengecek apakah lokasi bisa dijalani. Lokasi tidak valid 3. Server membuat karakter tidak berjalan.
Nama Use Case
: Menggerakkan Karakter – Berlari
Pengguna
: Player
Prekondisi
: Player telah berada di arena permainan
Postkondisi
: Karakter milik player berlari dari satu tempat ke tempat lain
Tabel E-8 Skenario use case Berlari Aksi Aktor Skenario Normal (S-04-03) 1. Player mengklik dua kali pada bagian dunia yang tampak pada layar.
Reaksi Sistem
2. Server mengecek apakah lokasi bisa dijalani. Lokasi valid 3. Server membuat karakter berlari ke lokasi yang dituju 4. Basis data merubah data lokasi karakter Skenario Alternatif (S-04-04) 1. Player mengklik dua kali pada peta. 2. Server mengecek apakah lokasi bisa dijalani. Lokasi tidak valid 3. Server membuat karakter tidak berlari.
E-5
Nama Use Case
: Menggerakkan Karakter – Berpindah Area
Pengguna
: Player
Prekondisi
: Player telah berada di arena permainan
Postkondisi
: Karakter milik player berpindah dari satu area ke area lain
Tabel E-9 Skenario use case Berpindah Area Aksi Aktor Skenario Normal (S-04-05) 1. Player menggerakkan karakter perpindahan perbatasan.
Reaksi Sistem ke
titik 2. Server mengecek apakah lokasi area selanjutnya valid. Lokasi valid 3. Server memindahkan karakter player ke area yang berbatasan dengan area tersebut.
4. Basis data merubah data lokasi karakter Skenario Alternatif (S-04-06) 1. Player menggerakkan karakter ke perpindahan perbatasan.
titik 2. Server mengecek apakah lokasi area selanjutnya valid. Lokasi tidak valid 3. Server memindahkan karakter player ke area tempat kota asal.
E.5 Skenario Bertarung dengan Monster Nama Use Case
: Bertarung dengan Monster – Menggunakan Jurus
Pengguna
: Player
Prekondisi
: Karakter player berhadapan dengan monster
Postkondisi
: Karakter player menyerang monster dengan menggunakan
jurus Tabel E-10 Skenario use case Menggunakan Jurus Aksi Aktor Skenario Normal (S-05-01) 1. Player mengklik monster yang akan diserang.
Reaksi Sistem
2. Server membuka panel pilihan jurus. 3. 4.
Player mengklik tombol jurus. Player memilih jurus yang akan digunakan. 5. Server memperlihatkan efek visual dari jurus. 6. Monster terkena jurus. Server mengkalkulasi efek pengurangan HP dari jurus yang diterima monster.
7.
Basis data mengupdate data karakter dan monster yang terserang jurus. 8. Monster melakukan animasi terserang.
Skenario Alternatif (S-05-02) 1. Player mengklik monster yang akan diserang. 2. Server membuka panel pilihan jurus.
E-6
3. 4.
Aksi Aktor Player mengklik tombol jurus. Player memilih jurus yang akan digunakan.
Reaksi Sistem
5. Server memperlihatkan efek visual dari jurus. 6. Monster tidak terkena jurus. Tidak ada efek pengurangan HP dari jurus yang diterima monster.
Nama Use Case
: Bertarung dengan Monster – Menggunakan Item
Pengguna
: Player
Prekondisi
: Karakter player berhadapan dengan monster
Postkondisi
: Karakter player menyerang monster dengan menggunakan
item Tabel E-11 Skenario use case Menggunakan Item Aksi Aktor Skenario Normal (S-05-03) 1. Player mengklik monster yang akan diserang.
Reaksi Sistem
2. Server membuka panel pilihan jurus. 3. 4.
Player mengklik tombol item. Player memilih item yang akan digunakan. 5. Karakter melakukan animasi penyerangan dengan item. 6. Monster terkena serangan. Server mengkalkulasi efek pengurangan HP dari serangan yang diterima monster.
7.
Basis data mengupdate data monster dan karakter 8. Monster melakukan animasi terserang.
Skenario Alternatif (S-05-04) 1. Player mengklik monster yang akan diserang. 2. Server membuka panel pilihan jurus. 3. 4.
Player mengklik tombol item. Player memilih item yang akan digunakan. 5. Karakter melakukan animasi penyerangan dengan item. 6. Monster tidak terkena serangan. Tidak ada efek pengurangan HP dari serangan yang diterima monster.
Nama Use Case
: Bertarung dengan Monster – Melarikan Eiri
Pengguna
: Player
Prekondisi
: Karakter player berhadapan dengan monster
Postkondisi
: Karakter player melarikan diri
Tabel E-12 Skenario use case Melarikan Diri Aksi Aktor Skenario Normal (S-05-05)
Reaksi Sistem
E-7
1.
Aksi Aktor Player menggerakkan badan ke arah menjauh dari monster.
Reaksi Sistem
2. Player berhasil melarikan mengejar karakter player.
diri.
Monster
2. Player gagal melarikan menyerang karakter player.
diri.
Monster
3.
Basis data mengupdate lokasi monster dan karakter Skenario Alternatif (S-05-06) 1. Player menggerakkan badan ke arah menjauh dari monster.
E.6 Skenario Interaksi dengan NPC Nama Use Case
: Interaksi dengan NPC – Mengambil Ability
Pengguna
: Player
Prekondisi
: Player berhadapan dengan pemberi ability
PostKondisi
: Player menerima quest
Tabel E-13 Skenario use case Mengambil Ability Aksi Aktor Skenario Alternatif (S-07-01) 1. Player mengklik NPC pemberi ability. 2. Player memilih opsi meminta ability.
Reaksi Sistem
3. Server melakukan validasi kepantasan karakter untuk memberi tawaran ability yang sesuai. 4. Validasi berhasil dan pemberi ability memberikan ability. 5.
Basis data mengupdate ability yang dimiliki karakter Skenario Alternatif (S-07-02) 1. Player mengklik NPC pemberi ability. 2. Player memilih opsi meminta ability. 3. Server melakukan validasi kepantasan karakter untuk memberi tawaran ability yang sesuai. 4. Validasi gagal dan pemberi ability memberikan ability.
Nama Use Case
: Interaksi dengan NPC – Bicara
Pengguna
: Player
Prekondisi
: Player berhadapan dengan NPC
PostKondisi
: Player menerima informasi dari NPC
Tabel E-14 Skenario use case Bicara Aksi Aktor Skenario Alternatif (S-07-03) 6. Player mengklik NPC.
Reaksi Sistem
7. Server melakukan validasi kepantasan NPC
E-8
Aksi Aktor
Reaksi Sistem untuk memberikan informasi atau bicara. 8. Validasi berhasil dan NPC memberikan informasi atau bicara pada karakter.
Skenario Alternatif (S-07-04) 5. Player mengklik NPC. 6. Server melakukan validasi kepantasan NPC untuk memberikan informasi atau bicara. 7. Validasi gagal dan NPC tidak memberikan informasi apapun atau diam.
E.7 Skenario Manajemen Quest Nama Use Case
: Manajemen Quest – Mengambil Quest
Pengguna
: Player
Prekondisi
: Player berhadapan dengan pemberi quest
Postkondisi
: Player menerima quest
Tabel E-14 Skenario use case Mengambil Quest Aksi Aktor Skenario Alternatif (S-07-01) 1. Player mengklik NPC pemberi quest. 2. Player memilih opsi meminta quest.
Reaksi Sistem
3. Server melakukan validasi kepantasan karakter untuk memberi tawaran quest yang sesuai. 4. Pemberi quest memberikan quest. 5. 6.
Player mengkonfirmasi akan mengerjakan quest yang telah diberikan. Basis data mengupdate data quest pada karakter 7. Pemberi quest menunggu perkembangan dari quest.
Skenario Alternatif (S-07-02) 1. Player mengklik NPC pemberi quest. 2. Player memilih opsi meminta quest. 3. Server melakukan validasi kepantasan karakter untuk memberi tawaran quest yang sesuai. 4. Pemberi quest memberikan quest. 5.
Player mengkonfirmasi tidak mau mengerjakan quest yang telah diberikan. 6. Quest tidak diberikan.
Nama Use Case
: Manajemen Quest – Menyelesaikan Quest
Pengguna
: Player
Prekondisi
: Player berhadapan dengan pemberi quest yang menuggu perkembangan dari quest
Postkondisi
: Player menyelesaikan quest
E-9
Tabel E-15 Skenario use case Menyelesaikan Quest Aksi Aktor Skenario Alternatif (S-07-03) 1. Player mengklik NPC pemberi quest.
Reaksi Sistem
2. Server melakukan validasi apakah quest telah berhasil diselesaikan. Quest sudah berhasil diselesaikan. 3.
Basis data mengupdate data karakter dan quest yang dimiliki karakter 4. Daftar quest karakter berkurang.
Skenario Alternatif (S-07-04) 1. Player mengklik NPC pemberi quest. 2. Server melakukan validasi apakah quest telah berhasil diselesaikan. Quest belum berhasil diselesaikan. 3. Daftar quest karakter tidak berkurang. 4. Pemberi quest meminta karakter untuk menyelesaikan quest yang telah diberikan.
Nama Use Case
: Manajemen Quest – Membuang Quest
Pengguna
: Player
Prekondisi
: Player berhadapan dengan pemberi quest
Postkondisi
: Player membuang quest
Tabel E-16 Skenario use case Membuang Quest Aksi Aktor Skenario Alternatif (S-07-05) 1. Player mengklik NPC pemberi quest. 2. Player memilih opsi membuang quest.
Reaksi Sistem
3. Pemberi quest meminta komfirmasi bahwa quest yang telah diberikan akan dihapus. 4.
Player mengkonfirmasi akan membuang quest yang telah diberikan. 5. Daftar quest karakter berkurang.
6.
Basis data mengupdate data quest yang dimiliki karakter. Skenario Alternatif (S-07-06) 1. Player mengklik NPC pemberi quest. 2. Player memilih opsi membuang quest. 3. Pemberi quest meminta komfirmasi bahwa quest yang telah diberikan akan dihapus. 4.
Player mengkonfirmasi tidak jadi membuang quest yang telah diberikan. 5. Daftar quest karakter tidak berkurang.
Nama Use Case
: Manajemen Quest – Share Quest dengan Teman
Pengguna
: Player
Prekondisi
: Player yang telah memiliki quest berhadapan dengan teman
Postkondisi
: Player men-share quest dengan teman
E-10
Tabel E-17 Skenario use case Share Quest dengan Teman Aksi Aktor Skenario Alternatif (S-07-07) 1. Player mengklik teman. 2. Player memilih opsi men-share quest.
Reaksi Sistem
3. Server mengirimkan permintaan share quest kepada player yang dipilih. 4. Server menerima persetujuan share dari player lain. 5.
Basis data mengupdate data quest pada karakter serta data grup 6. Quest telah ter-share.
Skenario Alternatif (S-07-08) 1. Player mengklik teman. 2. Player memilih opsi men-share quest. 3. Server mengirimkan permintaan share quest kepada player yang dipilih. 4. Server menerima penolakan share dari player lain. 5. Quest tidak ter-share.
E.8 Skenario Manajemen Item Nama Use Case
: Manajemen Item – Memindahkan Lokasi Item
Pengguna
: Player
Prekondisi
: Player telah memiliki Item
Postkondisi
: Item berpindah lokasi
Tabel E-18 Skenario use case Memindahkan Lokasi Item Aksi Aktor Skenario Alternatif (S-08-01) 1. Player membuka panel daftar item dan equipment. 2. Player men-drag item yang ingin dipindahkan ke lokasi lain di tempat item yang dibawa.
Reaksi Sistem
3. Server mengecek proses pemindahan lokasi baru item. Lokasi valid 4. Server meng-update lokasi baru dari item. 5.
Basis data mengupdate data lokasi item pada karakter Skenario Alternatif (S-08-02) 1. Player membuka panel daftar item dan equipment. 2. Player men-drag item yang ingin dipindahkan ke kotak tempat penyimpanan. 3. Server mengecek proses pemindahan lokasi baru item. Lokasi valid
Nama Use Case
: Berinteraksi dengan NPC – Membeli Item
Pengguna
: Player
E-11
Prekondisi
: Player berhadapan dengan NPC penjual Item
Postkondisi
: Player mendapatkan Item baru
Tabel E-19 Skenario use case Membeli Item Aksi Aktor Skenario Alternatif (S-08-03) 1. Player mengklik NPC penjual item. 2. Player memilih opsi membeli item.
Reaksi Sistem
3. NPC mengeluarkan daftar item yang dijual 4.
Player memilih item yang ingin dibeli. 5. Melakukan validasi kemampuan keuangan player untuk membeli item yang bersangkutan. Uang cukup. 6. Daftar item karakter ditambahkan dengan item yang baru saja dibeli.
7. Basis data mengupdate data karakter dan NPC Skenario Alternatif (S-08-04) 1. Player mengklik NPC. 2. Player memilih opsi membeli item. 3. NPC mengeluarkan daftar item yang dijual 4.
Player memilih item yang ingin dibeli. 5. Melakukan validasi kemampuan keuangan player untuk membeli item yang bersangkutan. Uang tidak cukup. 6. Menotifikasi player bahwa uang yang dimilikinya tidak cukup.
Nama Use Case
: Berinteraksi dengan NPC – Menjual Item
Pengguna
: Player
Prekondisi
: Player berhadapan dengan NPC penjual Item
Postkondisi
: Player mendapatkan uang dari hasil penjualan item
Tabel E-20 Skenario use case Menjual Item Aksi Aktor Skenario Alternatif (S-08-05) 1. Player mengklik NPC. 2. Player memilih opsi menjual item.
Reaksi Sistem
3. Daftar item yang dapat dijual ditampilkan. 4.
Player memilih item yang ingin dijual. 5. Melakukan konfirmasi bahwa item tersebut akan dijual. 6. Daftar item karakter berkurang dan uang karakter bertambah.
7.
Basis data mengupdate data karakter dan NPC
Nama Use Case
: Berinteraksi dengan NPC – Membuang Item
Pengguna
: Player
Prekondisi
: Player berada di manapun
E-12
Postkondisi
: Item player telah terbuang
Tabel E-21 Skenario use case Membuang Item Aksi Aktor Skenario Alternatif (S-08-06) 1. Player membuka panel daftar item. 2. Player men-drag salah satu item ke luar panel dan melepaskannya.
Reaksi Sistem
3. Daftar item karakter berkurang. 4.
Basis data mengupdate data item pada karakter
Nama Use Case
: Berinteraksi dengan NPC – Menggunakan Item
Pengguna
: Player
Prekondisi
: Player berada di manapun
Postkondisi
: Item player terpakai
Tabel E-22 Skenario use case Menggunakan Item Aksi Aktor Skenario Alternatif (S-08-07) 1. Player membuka panel daftar item. 2. Player men-drag salah satu item yang dimiliki ke bagian daftar item yang dipakai.
Reaksi Sistem
3. Item yang dipilih terpakai. 4.
Basis data mengupdate data item pada karakter
Nama Use Case
: Berinteraksi dengan NPC – Memungut Item
Pengguna
: Player
Prekondisi
: Player berada dekat item yang tergerletak di tanah
Postkondisi
: Daftar item player bertambah.
Tabel E-23 Skenario use case Memungut Item Aksi Aktor Skenario Alternatif (S-08-08) 1. Player melakukan double click pada item yang tergeletak di tanah.
Reaksi Sistem
2. Server melakukan pengecekan muatan item yang dibawa karakter. Muatan karakter masih cukup. 3. Daftar item karakter bertambah. 4. Basis data mengupdate data item pada karakter Skenario Alternatif (S-08-09) 1. Player melakukan double click pada item yang tergeletak di tanah. 2. Server melakukan pengecekan muatan item yang dibawa karakter. Muatan karakter tidak cukup. 3. Daftar item karakter tidak bertambah. 4. Item tergeletak kembali di tanah.
E-13
E.9 Skenario Manajemen Equipment Nama Use Case
: Manajemen Equipment – Memindahkan Lokasi Equipment
Pengguna
: Player
Prekondisi
: Player telah memiliki equipment
Postkondisi
: Lokasi equipment telah berpindah
Tabel E-24 Skenario use case Memindahkan Lokasi Equipment Aksi Aktor Skenario Alternatif (S-09-01) 1. Player membuka panel daftar item dan equipment. 2. Player men-drag equipment yang ingin dipindahkan ke lokasi lain di tempat equipment yang dibawa.
Reaksi Sistem
3. Server mengecek lokasi baru dari equipment. Lokasi valid. 4. Server meng-update lokasi baru dari equipment. 5.
Basis data mengupdate data lokasi baru equipment Skenario Alternatif (S-09-02) 1. Player membuka panel daftar item dan equipment. 2. Player men-drag equipment yang ingin dipindahkan ke kotak tempat penyimpanan. 3. Server mengecek lokasi baru dari equipment. Lokasi tidak valid.
Nama Use Case
: Manajemen Equipment – Membeli Equipment
Pengguna
: Player
Prekondisi
: Player berhadapan dengan NPC penjual Equipment
Postkondisi
: Player mendapatkan equipment baru
Tabel E-25 Skenario use case Membeli Equipment Aksi Aktor Skenario Alternatif (S-09-03) 1. Player mengklik NPC. 2. Player memilih opsi membeli equipment.
Reaksi Sistem
3. NPC mengeluarkan daftar equipment yang dijual 4.
Player memilih equipment yang ingin dibeli. 5. Melakukan validasi kemampuan keuangan player untuk membeli equipment yang bersangkutan. Uang cukup. 6. Daftar equipment karakter ditambahkan dengan equipment yang baru saja dibeli.
7. Basis data mengupdate data karakter dan NPC Skenario Alternatif (S-09-04)
E-14
1. 2.
Aksi Aktor Player mengklik NPC. Player memilih opsi membeli equipment.
Reaksi Sistem
3. NPC mengeluarkan daftar equipment yang dijual 4.
Player memilih equipment yang ingin dibeli. 5. Melakukan validasi kemampuan keuangan player untuk membeli equipment yang bersangkutan. Uang tidak cukup. 6. Menotifikasi player bahwa uang yang dimilikinya tidak cukup.
Nama Use Case
: Manajemen Equipment – Menjual Equipment
Pengguna
: Player
Prekondisi
: Player berhadapan dengan NPC penjual Equipment
Postkondisi
: Player mendapatkan uang dari hasil penjualan equipment
Tabel E-26 Skenario use case Menjual Equipment Aksi Aktor Skenario Alternatif (S-09-05) 1. Player mengklik NPC. 2. Player memilih opsi menjual equipment.
Reaksi Sistem
3. Daftar equipment yang dapat dijual ditampilkan. 4.
Player memilih equipment yang ingin dijual. 5. Melakukan konfirmasi bahwa equipment tersebut akan dijual. 6. Daftar equipment karakter berkurang dan uang karakter bertambah.
7.
Basis data mengupdate data karakter dan NPC
Nama Use Case
: Manajemen Equipment – Membuang Equipment
Pengguna
: Player
Prekondisi
: Player berada di manapun
Postkondisi
: Equipment player telah terbuang
Tabel E-27 Skenario use case Membuang Equipment Aksi Aktor Skenario Alternatif (S-09-06) 1. Player membuka panel daftar equipment. 2. Player men-drag salah satu equipment ke luar panel dan melepaskannya.
Reaksi Sistem
3. Daftar equipment karakter berkurang. 4.
Basis data mengupdate data karakter
Nama Use Case
: Manajemen Equipment – Menggunakan Equipment
Pengguna
: Player
E-15
Prekondisi
: Player berada di manapun
Postkondisi
: Equipment player terpakai
Tabel E-28 Skenario use case Menggunakan Equipment Aksi Aktor Skenario Alternatif (S-09-08) 1. Player membuka panel daftar equipment. 2. Player men-drag salah satu equipment yang dimiliki ke bagian daftar equipment yang dipakai.
Reaksi Sistem
3. Equipment yang dipilih terpakai. 4.
Basis data mengupdate data karakter
Nama Use Case
: Manajemen Equipment – Memungut Equipment
Pengguna
: Player
Prekondisi
: Player berada dekat equipment yang tergerletak di tanah
Postkondisi
: Daftar equipment player bertambah.
Tabel E-29 Skenario use case Memungut Equipment Aksi Aktor Skenario Alternatif (S-09-09) 1. Player melakukan double click pada equipment yang tergeletak di tanah.
Reaksi Sistem
2. Server melakukan pengecekan muatan equipment yang dibawa karakter. Muatan karakter masih cukup. 3. Eaftar equipment karakter bertambah. 4. Basis data mengupdate data karakter Skenario Alternatif (S-09-10) 1. Player melakukan double click pada equipment yang tergeletak di tanah. 2. Server melakukan pengecekan muatan equipment yang dibawa karakter. Muatan karakter tidak cukup. 3. Daftar equipment karakter tidak bertambah. 4. Equipment tergeletak kembali di tanah.
Nama Use Case
: Manajemen Equipment – Memodifikasi Equipment
Pengguna
: Player
Prekondisi
: Player memiliki equipment
Postkondisi
: Atribut equipment player berubah.
Tabel E-30 Skenario use case Memungut Equipment Aksi Aktor Skenario Alternatif (S-09-11) 1. Player berbicara dengan memodifikasi equipment
Reaksi Sistem NPC
untuk
E-16
Aksi Aktor
4. Basis data mengupdate data equipment Skenario Alternatif (S-09-12) 1. Player berbicara dengan NPC memodifikasi equipment
Reaksi Sistem 2. Server melakukan pengecekan equipment yang dibawa karakter. Server melakukan pengecekan pada kemampuan NPC. Equipment dirubah atributnya. 3. Atribut Equipment berubah.
untuk 2. Server melakukan pengecekan equipment yang dibawa karakter. Server melakukan pengecekan pada kemampuan NPC. Equipment tetap atributnya. 3. Atribut Equipment tetap atributnya.
E.10 Skenario Interaksi dengan Karakter Lain Nama Use Case
: Berinteraksi dengan Karakter Lain – Grup
Pengguna
: Player
Prekondisi
: Player berada dekat dengan karakter lain
Postkondisi
: Grup terbentuk.
Tabel E-31 Skenario use case Grup Aksi Aktor Skenario Alternatif (S-10-01) 1. Player mengklik karakter lain. 2. Player memilih opsi membuat grup.
Reaksi Sistem
3. Server mengirimkan permintaan membuat grup kepada player yang dipilih. 4. Server menerima persetujuan membuat grup dari player lain. 5. Grup telah terbentuk atau bertambah anggotanya. 6. Basis data mengupdate data karakter Skenario Alternatif (S-10-02) 1. Player mengklik karakter lain. 2. Player memilih opsi membuat grup. 3. Server mengirimkan permintaan membuat grup kepada player yang dipilih. 4. Server menerima penolakan membuat grup dari player lain. 5. Grup tidak terbentuk atau tidak bertambah anggotanya.
Nama Use Case
: Berinteraksi dengan Karakter Lain – Bertukar Barang
Pengguna
: Player
Prekondisi
: Player berada dekat dengan karakter lain
Postkondisi
: Kepemilikan item berpindah tangan
E-17
Tabel E-32 Skenario use case Bertukar Barang Aksi Aktor Skenario Alternatif (S-10-03) 1. Player mengklik karakter lain. 2. Player memilih opsi bertukar barang. 3. Player memilih barang milik karakter yang ingin ditukar.
Reaksi Sistem
4. Server mengirimkan permintaan pertukaran barang kepada player yang dipilih. 5. Server menerima persetujuan pertukaran barang. 6. Barang berpindah kepemilikan ke karakter lain. 7. Basis data mengupdate data karakter Skenario Alternatif (S-10-04) 1. Player mengklik karakter lain. 2. Player memilih opsi bertukar barang. 3. Player memilih barang milik karakter yang ingin ditukar. 4. Server mengirimkan permintaan pertukaran barang kepada player yang dipilih. 5. Server menerima penolakan pertukaran barang. 6. Barang tidak berpindah kepemilikan.
Nama Use Case
: Berinteraksi dengan Karakter Lain – Bertarung
Pengguna
: Player
Prekondisi
: Player berada dekat dengan karakter lain
Postkondisi
: Pertarungan antara dua karakter terjadi
Tabel E-33 Skenario use case Bertarung Aksi Aktor Skenario Alternatif (S-10-05) 1. Player mengklik karakter lain. 2. Player memilih opsi bertarung.
Reaksi Sistem
3. Server mengirimkan permintaan bertarung kepada player yang dipilih. 4. Server menerima persetujuan bertarung. 5. Pertarungan antar dua karakter terjadi. 6. Basis data mengupdate data karakter Skenario Alternatif (S-10-06) 1. Player mengklik karakter lain. 2. Player memilih opsi bertarung. 3. Server mengirimkan permintaan bertarung kepada player yang dipilih. 4. Server menerima penolakan bertarung. 5. Pertarungan antar dua karakter tidak terjadi.
Nama Use Case
: Berinteraksi dengan Karakter Lain – Chat
Pengguna
: Player
Prekondisi
: Player berada dekat dengan karakter lain
E-18
Postkondisi
: Pesan terkirim ke player lain
Tabel E-34 Skenario use case Bicara Aksi Aktor Skenario Alternatif (S-10-07) 1. Player mengklik karakter lain. 2. Player memilih opsi chat. 3. Player menuliskan pesan dikirimkan..
Reaksi Sistem
yang
ingin 4. Server mengirimkan pesan kepada player lain.
LAMPIRAN F. Implementasi Basis Data Relasional pada Server dengan Postgre 8.1 1. Player Nama
Type
Deskripsi
Id(PK)
Int2
Id player
Nama
Varchar(255)
Nama player
Email
Varchar(255)
Alamat email dari player
Password
Varchar(255)
Password player untuk login
Nama
Type
Deskripsi
Idobjekhidup
Int2
Id objekhidup
Idarea (FK)
Int2
Id dari area
Posx
Int2
Posisi dalam koordinat x
Posy
Int2
Posisi dalam koordinat y
idkingdom
Int2
Id dari kingdom yang memiliki objek
2. Objekhidup
(PK)
hidup tersebut
3. Objekhidup_status Nama
Type
Deskripsi
Idobjekhidup
Int2
Id objekhidup
Int2
Nilai Raga(Hit Point), jika mencapai 0
(PK) HP
maka objekhidup mati MP
Int2
Magic Point, jumlah kekuatan yang dapat digunakan untuk mengeluarkan serangan magic atau jurus / skill lainnya
MaxHP
Int2
Nilai maksimum dari HP
MaxMP
Int2
Nilai maksimum dari MP
F-1
F-2
RegenHP
Int2
Kesembuhan
Raga
(HP
regen),
regenerasi hp/s (tidak ditampilkan pada layar status) RegenMP
Int2
Kesembuhan
Jiwa
(MP
regen),
regenerasi mp/s (tidak ditampilkan pada layar status) DEF
Int2
Ketahanan Raga (Defence)
MagicDEF
Int2
Ketahanan Jiwa (Magic Defence)
ATTSpeed
Int2
Kecepatan
Serang
(Attack
speed),
jumlah serangan fisik/menit STR
Int2
Strength, damage fisik (melee).
VIT
Int2
Vitality, pertahanan terhadap serangan fisik, meningkatkan jumlah HP
AGI
Int2
Agility,
kecepatan
serangan
menghindar,
dan
meningkatkan
kemungkinan miss ACC
Int2
Accuracy,
ketepatan
serangan,
menentukan kekuatan serangan jarak jauh INTE
Int2
Intelligence, menentukan kekuatan sihir dan kekuatan serangan bertipe sihir
MEN
Int2
Mental, pertahanan terhadap serangan sihir, meningkatkan jumlah MP
STA
Int2
Stamina,
menentukan
kemampuan
regenerasi hp dan mp LUC
Int2
Luck,
keberuntungan,
menentukan
kemungkinan serangan kritikal (fisik / melee dan jarak jauh / range)
4. Objekhidup_bodyequipment Nama
Type
Deskripsi
Idobjekhidup (PK)
Int2
Id objekhidup
LeftHandEquip
Int2
Senjata / Tameng / Kosong jika menggunakan
F-3
senjata 2 tangan (busur, pedang besar, atau sejenisnya) HeadEquip
Int2
Kepala Pelindung Kepala / Helm
BodyEquip
Int2
Armor
LegEquip
Int2
Sepatu
Accessory1
Int2
Aksesoris
Accessory2
Int2
Aksesoris
Accessory3
Int2
Aksesoris
Nama
Type
Deskripsi
Idobjekhidup(PK)
Int2
Id dari karakter
IdPlayer(FK)
Int2
Id dari player yang memiliki karakter tersebut
Nama
Varchar(255) Nama dari karakter
Level
Int2
Tingkat dari karakter
Head
Int2
Id Mesh untuk model kepala
Body
Int2
Id Mesh untuk model badan
Leg
Int2
Id Mesh untuk model kaki
Hand
Int2
Id Mesh untuk model tangan
Hair
Int2
Id Mesh untuk model jenis rambut
Pengalaman
Int4
Pengamalan (experience) yang telah didapat
indeks
Int2
Indeks karakter ketika dimiliki player
5. Karakter
6. Monster Nama
Type
Deskripsi
IdObjekhidup(PK)
Int2
Idobjekhidup dari monster
idQuestKill(FK)
Int2
Foreign Key dari Quest Kill
Name
Varchar(255) Nama dari monster
Level
Int2
Tingkat dari monster
Body
Int2
Id Mesh untuk model badan
7. NPC
F-4
Nama
Type
Deskripsi
IdObjekhidup(PK)
Int2
Idobjekhidup dari NPC
Type NPC
Int2
Merupakan atribut ynag mendefinisikan tipe dari NPC, contoh : 1 untuk pemberi quest, 2 untuk pemilik toko, dan lain-lain
8. Area Nama
Type
Deskripsi
Id(PK)
Int2
Id dari Area
Map Width
Int2
Lebar area
Map Height
Int2
Tinggi area
Map
Int2
Map
9. Objekmati Nama Atribut
Type
Keterangan
IdObjekmati(PK)
Int2
Id untuk objekmati
Name
Varchar(255)
Nama untuk item
Description
Varchar(255)
Deskripsi dari item
NomorAnimasi
Int2
Nomor animasi ditimbulkan
DurasiAnimasi
Int2
Durasi animasi ditimbulkan
DurasiCooldown
Int2
Lama
item
bisa
digunakan
kembali Area Radius
Int2
Radius area dari item ketika digunakan
Range
Int2
Range dari item
Image
Varchar(255)
Alamat dari gambar item (untuk ditampilkan)
Sound
Varchar(255)
Alamat dari file audio (untuk dibunyikan)
10. Item
F-5
Nama Atribut
Type
Keterangan
IdObjekmati(PK)
Int2
Idobjekmati untuk item
Stackable
Boolean
True jika item bisa ditumpuk dalam inventory, false jika tidak
Price
Int4
Harga dari item
Maxstack
Int2
Jumlah maksimal jika item bisa ditumpuk
Is Equipment
Boolean
Apakah item tersebut adalah equipment
11. Ability Nama Atribut
Type
Keterangan
IdObjekmati(PK)
Int2
Idobjekmati untuk ability
Ability Type
Int2
Tipe dari ablity
Is Special Ability
Boolean
Apakah
merupakan
special
ability Is Offensive
Boolean
Apakah ability ini digunakan untuk menyerang
12. Equipment Nama Atribut
Type
Keterangan
IdObjekmati(PK)
Int2
Idobjekmati untuk equipment
Price
Int4
Harga dari equipment
Requirement Proficiency
Int2
Syarat Keperluan Kemampuan senjata
Requirement Level
Int2
Syarat
Level
untuk
menggunakan equipment Durability
Int2
Ketahanan senjata untuk tetap digunakan
Equip Type
Int2
Tipe equipment untuk dipasang pada tubuh karakter, head = 1, body =2, shoulder = 3, hand =
F-6
Nama Atribut
Type
Keterangan 4, weapon1 = 5, weapon2 = 6, leg = 7, foot = 8
13. Quest Nama
Type
Deskripsi
Idquest(PK)
Int2
Id dari Quest
IdNPC(FK)
Int2
Id
dari
NPC
yang
akan
memberikan quest Removeable
Boolean
Apakah quest tersebut bisa dibuang atau tidak
Type
Int2
Tipe utama quest tersebut. Tipe didefinisikan.
Requirement
Int2
Syarat yang dibutuhkan untuk mengambil
quest
tersebut.
Tipe didefinisikan Reward
Int2
Reward yang diberikan ketika menyelesaikan quest tersebut
14. Quest Kill Nama
Tipe
Deskripsi
Idquestkill(PK)
Int2
Id dari quest kill
IdQuest(FK)
Int2
Id
dari
quest
yang
memiliki quest kill idObjekhidup(FK)
Int2
Id dari monster yang harus dibunuh
Count
Int2
Jumlah
monster
harus dibunuh
15. Quest Walk Nama
Tipe
Deskripsi
Id(PK)
Int2
Id dari quest walk
yang
F-7
Nama
Tipe
Deskripsi
IdQuest(FK)
Int2
Id
dari
quest
yang
memiliki quest walk IdArea(FK)
Int2
Id dari area target quest
Point_X
Int2
Poin tepat dimana karakter harus menyelesaikan quest dalam koordinat X
Point_Y
Int2
Point
tepat
dimana
karakter
harus
menyelesaikan
quest
dalam koordinat Y
16. Inventory Name
Type
Deskripsi
Idinventory(PK)
Int2
Id dari inventory
idObjekhidup(FK)
Int2
Id dari objekhidup yang memiliki inventory
Jumlah
Int2
Jumlah slot item dalam inventory
17. Status Modifier Nama
Type
Deskripsi
Id(PK)
Int2
Id untuk status modifier
Target
Int2
Target yang ingin dirubah statusnya
HP
Int2
Pengubah status health point target
Max HP
Int2
Pengubah status max health point target
MP
Int2
Pengubah status magic point target
Max MP
Int2
Pengubah status max magic point target
Str
Int2
Pengubah status strength target
Vit
Int2
Pengubah status vitality target
F-8
Nama
Type
Deskripsi
Agl
Int2
Pengubah status agility
Acc
Int2
Pengubah status accuracy
Int
Int2
Pengubah status intelegence
Men
Int2
Pengubah status mental
Sta
Int2
Pengubah status stamina
Luc
Int2
Pengubah status luck
Speed
Int2
Pengubah status speed
Duration
Int2
Lama waktu status target berubah karena status modifier ini
Type
Int2
Tipe dari status modifier
Reversible
Boolean
Atribut ini
menentukan apakah
setelah selesai status modifier ini, status objek yang diubah kembali ke asal atau tidak Active
Boolean
Apakah status modifier ini sedang dalam kondisi aktif atau tidak akftif
18. Karakter_Quest Nama
Tipe
Deskripsi
IdObjekhidup(PK)
Int2
Id karakter yang memiliki quest
IdQuest(PK)
Int2
Id Quest yang dimiliki karakter
19. Objekhidup_Ability Nama
Tipe
Deskripsi
IdAbility(PK)
Int2
Id
dari
ability
yang
dimiliki objekhidup IdObjekhidup(PK)
Int2
Id dari objekhidup yang memiliki ability
20. Objekhidup_Equipment
F-9
Nama
Tipe
Deskripsi
IdObjekhidup(PK)
Int2
Id dari objekhidup yang memiliki equipment
IdEquipment(PK)
Int2
Id dari equipment yang dimiliki objekhidup
21. Objekhidup_Inventory Nama
Tipe
Deskripsi
IdObjekhidup(PK)
Int2
Id dari objekhidup yang memiliki inventory
IdInventory(PK)
Int2
Id dari inventory yang dimiliki objekhidup
22. Objekmati_Statusmodifier Nama
Tipe
Deskripsi
idObjekmati(PK)
Int2
Id
objekmati
yang
memiliki status modifier IdStatusModifier(PK)
Int2
Id Status modifier yang dimiliki objekmati
23. Inventory_Item Nama
Tipe
Deskripsi
IdItem(PK)
Int2
Id dari item yang dimiliki inventory
IdInventory(PK)
Int2
Id dari inventory yang memiliki item
Jumlah
Int2
Jumlah
dari
item
di
inventory IdSlot
Int2
Lokasi inventory
item
dalam
LAMPIRAN G. Pengujian G.1 Implementasi Basis Data pada PostgreSQL Nama Tabel
Implementasi
Keterangan
Player
Table Player
Sudah terimplementasi
Objekhidup
Table Objekhidup
Sudah terimplementasi
Objekhidup_status
Table Objekhidup_status
Sudah terimplementasi
Objekhidup_bodyequipment
Karakter
Table
Sudah
Objekhidup_bodyequipment
terimplementasi
Table Karakter
Sudah terimplementasi
Monster
Table Monster
Sudah terimplementasi
Npc
Table Npc
Sudah terimplementasi
Objekmati
Table Objekmati
Sudah terimplementasi
Ability
Table Ability
Sudah terimplementasi
Item
Table Item
Sudah terimplementasi
Equipment
Table Equipment
Sudah terimplementasi
Area
Table Area
Sudah terimplementasi
Quest
Table Quest
Sudah terimplementasi
G-1
G-2
Nama Tabel
Implementasi
Keterangan
Questkill
Table Questkill
Sudah terimplementasi
Questwalk
Table Questwalk
Sudah terimplementasi
Table Inventory
Inventory
Sudah terimplementasi
Statusmodifier
Table Statusmodifier
Sudah terimplementasi
Karakter_Quest
Table Karakter_Quest
Sudah terimplementasi
Objekhidup_Ability
Table Objekhidup_Ability
Sudah terimplementasi
Objekhidup_Inventory
Table ObjekhidupInventory
Sudah terimplementasi
Objekhidup_Equipment
Table Objekhidup_Equipment
Sudah terimplementasi
Objekmati_Statusmodifier
Inventory_Item
Table
Sudah
Objekmati_Statusmodifier
terimplementasi
Table Inventory_Item
Sudah terimplementasi
G.2 Implementasi File System pada Client G.2.1 Penstrukturan Lokasi Folder Nama Data Lokasi Folder Ability
Nusantara Æ Common
Implementasi
Keterangan
Folder Abilities
Sudah terimplementasi
Area
Nusantara Æ Common
Folder Abilities
Sudah terimplementasi
Item
Nusantara Æ Common
Folder Abilities
Sudah terimplementasi
Quest
Nusantara Æ Common
Folder Abilities
Sudah terimplementasi
G-3
Nama Data Lokasi Folder Talent
Nusantara Æ Common
Implementasi
Keterangan
Folder Abilities
Sudah terimplementasi
G.2.2 Implementasi File Indeks Nama File
Tools Penguji
Keterangan
Abilitylist.abl
UltraEdit-32
Sudah terimplementasi
Area.xml
UltraEdit-32
Sudah terimplementasi
Itemlist.itm
UltraEdit-32
Sudah terimplementasi
Quest.xml
UltraEdit-32
Sudah terimplementasi
Talents.xml
UltraEdit-32
Sudah terimplementasi
G.2.3 Implementasi File Data Nama File
Tools Penguji
Implementasi
File-file .abl (ability)
UltraEdit-32
Di
File-file .itm (item)
UltraEdit-32
dalam
Keterangan folder Sudah
abilities
terimplementasi
Di dalam folder item
Sudah terimplementasi
File-file .xml (talents)
UltraEdit-32
Di
dalam
folder Sudah
talents
terimplementasi
G.3 Pengujian Loading Basis Data pada Server Nama Kelas
Tools Penguji
Server
Microsost
Implementasi Visual Server.cpp
Studio 2008 DB
Microsost
Visual DB.h
Microsost
Visual DB.cpp
Sudah terimplementasi
Visual DriverDB.h
Studio 2008 Microsost
Sudah terimplementasi
Studio 2008 Driver DB
Sudah terimplementasi
Studio 2008 Microsost
Keterangan
Sudah terimplementasi
Visual DriverDB.cpp
Sudah
G-4
Nama Kelas
Tools Penguji
Implementasi
Studio 2008 SQLConnection.h
Microsost
terimplementasi Visual SQLConnection.h
Studio 2008 Microsost Studio 2008 SQLResultSet
Microsoft
Studio 2008 SQLException
Microsoft
Visual SQLConnection.c pp Visual SQLResultSet.h
Studio 2008
Sudah terimplementasi Sudah terimplementasi
Visual SQLResultSet.cp p Visual SQLException.h
Studio 2008 Microsoft
Sudah terimplementasi
Studio 2008 Microsoft
Keterangan
Sudah terimplementasi Sudah terimplementasi
Visual SQLException.cp p
Sudah terimplementasi
G.4 Pengujian Loading File System pada Client Nama Kelas
Tools Penguji
AbilityManager
Microsost Visual Studio AbilityManager.h
Sudah
2008
terimplementasi
Microsost Visual Studio AbilityManager.cpp
Sudah
2008
terimplementasi
Microsost Visual Studio AreaManager.h
Sudah
2008
terimplementasi
Microsost Visual Studio AreaManager.cpp
Sudah
2008
terimplementasi
Microsost Visual Studio ItemManager.h
Sudah
2008
terimplementasi
Microsost Visual Studio ItemManager.cpp
Sudah
2008
terimplementasi
Microsost Visual Studio QuestManager.h
Sudah
2008
terimplementasi
Microsost Visual Studio QuestManager.cpp
Sudah
AreaManager
ItemManager
QuestManager
Implementasi
Keterangan
G-5
Nama Kelas
Tools Penguji
TalentManager
Implementasi
Keterangan
2008
terimplementasi
Microsost Visual Studio TalentManager.h
Sudah
2008
terimplementasi
Microsost Visual Studio TalentManager.cpp
Sudah
2008
terimplementasi
G.5 Pengujian Sinkronisasi Data pada Client dan Server 1. Proses Login Nama Kelas
Tools Penguji
DriverDB
Microsoft Visual Studio Method main
Sudah
2008 dan Pg Admin III
terimplementasi
Microsoft Visual Studio Method
Sudah
2008 dan Pg Admin III
processlogin
terimplementasi
Implementasi
Keterangan
DB
Implementasi
Keterangan
2. Loading data pada Karakter Nama Kelas
Tools Penguji
DriverDB
Microsoft Visual Studio Method main
Sudah
2008 dan Pg Admin III
terimplementasi
Microsoft Visual Studio Method
Sudah
2008 dan Pg Admin III
terimplementasi
DB
loadcharacter
3. Merubah Objek Data pada Client Nama Program
Tools Penguji
Keterangan
Nusantara Online
Microsoft Visual Studio 2008
Dalam demo ditunjukkan
4. Merubah Objek Data pada Server Nama Program
Tools Penguji
Keterangan
Server
Microsoft Visual Studio 2008
Dalam demo ditunjukkan
5. Merubah Basis Data pada Server Nama Kelas
Tools Penguji
Implementasi
Keterangan
G-6
Nama Kelas
Tools Penguji
Implementasi
DB
Microsoft Visual Studio Method
Sudah
2008 dan Pg Admin III
terimplementasi
savecharacter
Keterangan