BAB II TINJAUAN TEORI

advertisement
BAB II
TINJAUAN TEORI
Pada Bab ini, diberikan penjelasan mengenai teori dasar yang berkaitan dengan
pelaksanaan tugas akhir. Tinjauan teori yang dibahas dalam bab ini adalah basis data,
pemodelan data, normalisasi basis data, MMORPG, dan arsitektur client-server.
II.1 Basis Data
Bagian ini akan menjelaskan dua buah konsep basis data yaitu basis data relasional
dan basis data berorientasi objek. Dua buah jenis basis data tersebut masing-masing
memiliki konsep dan model yang berbeda satu sama lain. Masing-masing jenis akan
memiliki metode sendiri baik dalam penyimpanan, pengambilan, ataupun pengelolaan
data. Penjelasan konsep basis data ini akan digunakan sebagai bahan analisis
mengenai konsep basis data yang cocok bagi Massively Multiplayer Online RolePlaying Game.
II.1.1 Basis Data Relasional
Basis data adalah suatu koleksi data yang menyimpan informasi yang relevan
terhadap suatu enterprise [SIL02]. Data dalam basis data disimpan secara sistematis
sehingga dapat digunakan oleh program komputer untuk menjawab pertanyaan atau
menyelesaikan permasalahan. Basis data relasional adalah basis data yang sesuai
dengan model relasional.
Model data adalah sekumpulan dari kakas konseptual untuk menggambarkan data,
hubungan antar data, semantik data, dan batasan konsistensi [SIL02]. Model
relasional pertama kali diperkenalkan oleh E. F. Codd dalam paper-nya sebagai
model matematika yang didefinisikan dalam logika predikat dan teori himpunan
[COD70]. Saat ini, model relasional merupakan model data utama dalam aplikasi
pemrosesan data komersial. Dalam model relasional, data terorganisasi sebagai relasi.
Elemen dari relasi tersebut disebut tuple. Relasi dapat juga dilihat sebagai tabel,
sedangkan sebuah tuple akan menjadi satu baris di dalam tabel. Nama kolom dari
relasi disebut sebagai atribut. Sebuah atribut dapat diacu dengan namanya [GER95].
II-1
II-2
Dalam model data relasional, terdapat beberapa istilah yang digunakan. Sebuah
skema basis data relasional adalah sekumpulan skema relasi yang memiliki nama.
Skema basis data juga dapat mengandung definisi integrity constraint yang harus
dipenuhi oleh instans basis data pada setiap waktu. Dengan kata lain, skema basis data
adalah desain lojik dari suatu basis data. Sekumpulan relasi yang termasuk dalam
skema basis data disebut juga sebagai relasi dasar (base relations). Instans basis data
adalah suatu snapshot dari kondisi data di dalam basis data dengan skema tertentu
pada satu waktu tertentu. Sebuah state basis data adalah suatu himpunan dari instans
relasi, yaitu koleksi seluruh tuple dari setiap instans relasi pada suatu waktu tertentu.
Sebagai contoh, sebuah skema relasi: Customer-schema = (customername, customer-street, customer-city), yang menyatakan definisi
suatu bentuk relasi dengan atribut customer-name, customer-street, dan
customer-city. Dari skema relasi tersebut dapat dibentuk suatu relasi:
customer(Customer-schema), yang menyatakan customer merupakan
relasi dari Customer-schema. Kemudian, pada suatu waktu tertentu, instans relasi
customer dapat memiliki tuple-tuple tertentu, misalnya seperti pada Tabel II-1.
Tabel II-1 Customer Relation
customer-name
Customer-street
customer-city
Adams
Spring
Pittsfield
Brooks
Senator
Brooklyn
Curry
North
Rye
Glenn
Sand Hill
Woodside
Model relasional juga memperkenalkan konsep key. Secara konseptual, sesuai dengan
teori himpunan, tiap tuple dalam relasi adalah unik. Meskipun begitu, perbedaan
antara tuple harus dapat diekspresikan melalui atributnya. Oleh karena itu, satu atau
lebih atribut dari relasi harus bernilai sedemikian sehingga tiap tuple di relasi tersebut
II-3
dapat diidentifikasi secara unik melalui atribut-atribut tersebut. Atribut-atribut yang
menyatakan keunikan tuple dalam relasi disebut atribut key.
Selain mendefinisikan struktur dari data, model relasional juga mendefinisikan caracara untuk memanipulasi data, yaitu dengan aljabar relasional dan kalkulus relasional,
dan cara-cara untuk menspesifikasikan dan menjaga integritas data, yaitu dengan
integrity constraint. Dengan model relasional, seorang perancang basis data dapat
membuat representasi informasi yang konsisten.
Model relasional sendiri memiliki beberapa kelebihan yang membuatnya banyak
diadaptasi. Berikut ini adalah kelebihan-kelebihan model relasional:
1. Telah dipelajari secara luas, terbukti pada prakteknya, dan didasarkan oleh
model teoretis formal. Hampir semua hal yang diketahui mengenai model
relasional telah terbukti secara matematis.
2. Menyediakan pandangan abstrak mengenai data. Pada dasarnya, model
relasional mengabstraksikan struktur fisik penyimpanan data dari struktur lojik
data. Model relasional menyediakan cara untuk mendeskripsikan data dalam
struktur yang lebih alami, dibandingkan dengan model yang ada sebelumnya
(model hirarkis dan network), tanpa memaksa adanya struktur tambahan untuk
representasi mesin [COD70].
3. Menyediakan antarmuka yang deklaratif dengan kalkulus relasional.
II.1.2 Basis Data Berorientasi Objek
Salah satu teknik representasi data adalah dengan menggunakan paradigma
berorientasi objek. Penjelasannya, paradigma ini merepresentasikan fakta-fakta di
dunia nyata sebagai sekumpulan objek yang dikelompokkan berdasarkan kemiripan
sifat-sifat yang dimilikinya. Pengelompokan tersebut pada akhirnya menghasilkan apa
yang disebut sebagai kelas (class). Yang dimaksud sebagai sifat-sifat dalam objek
adalah informasi-informasi atau atribut-atribut yang dimiliki oleh objek beserta
operasi-operasi yang dapat dilakukan oleh objek tersebut [CAT91].
Paradigma ini populer digunakan dalam dunia pemrograman dan dianggap sebagai
paradigma pemrograman modern menggantikan pemrograman prosedural. Hal ini
II-4
terlihat dari maraknya penggunaan Java dan C++ sebagai bahasa pemrograman sudah
mendukung pemrograman berorientasi objek. Beberapa kemampuan khusus yang
dimiliki oleh jenis bahasa pemrograman ini adalah inheritance, enkapsulasi data (data
encapsulation), identitas objek (objek identity), dan polimorfisme (polymorphism).
Dengan berkembangnya paradigma pemrograman berorientasi objek, maka model
data yang dipakai juga harus dikembangkan untuk menyesuaikannya. Sebelumnya
model data yang sangat luas digunakan adalah model data relasional. Model data ini
biasa digunakan dalam konsep basisdata relasional. Model data relasional bersifat
memiliki tipe data sederhana, jumlah satuan data relatif kecil, dan biasanya memiliki
fields yang bersifat atomik [SIL02].
Saat ini, model data relasional dianggap tidak dapat menyesuaikan lebih jauh dengan
konsep berorientasi objek. Ada beberapa halangan yang sudah tidak bisa ditoleransi
lagi jika menggunakan model data relasional dalam konsep berorientasi objek. Salah
satu penyebabnya adalah ketidakmampuan model relasional menangani tipe data
kompleks, dan solusinya adalah menggunakan model data berorientasi objek.
Tipe data kompleks merupakan salah satu kebutuhan yang harus dipenuhi konsep
berorientasi objek. Contoh sederhananya adalah alamat. Dalam model relasional,
alamat direpresentasikan sebagai satuan data atomik bertipe string. Kondisi ini berarti
menghilangkan detail dalam alamat yang mungkin saja dibutuhkan secara terpisah
ketika mengeksekusi query, misalnya nama jalan, kode pos, atau kota dalam alamat.
Ketika menggunakan model data yang sama alamat dipecah menjadi lebih dari satu
komponen, maka representasinya dalam tabel relasional akan menjadi rumit.
Konsekuensinya, eksekusi query pun akan menjadi lebih sulit [SIL02]. Contoh
lainnya adalah ketika harus merepresentasikan atribut multivalued dari skema EntityRelationship (skema E-R), misalnya nomor telepon. Ketika seseorang memiliki
nomor telepon lebih dari satu, maka akan terasa boros dan berlebihan jika melakukan
normalisasi dengan membuat relasi baru dalam menangani hal ini.
Secara kasar, objek merupakan representasi dari entitas dalam skema E-R. Paradigma
ini didasarkan pada enkapsulasi data menjadi satu satuan unit. Sederhananya, suatu
objek diasosiasikan atau berhubungan dengan hal-hal berikut [SIL02]:
II-5
1. Satu atau lebih variabel (variable) mengandung informasi mengenai objek, dan
satu atau lebih variabel tersebut dikorespondensikan sebagai atribut dalam skema
E-R.
2. Satu atau lebih pesan (message) untuk respon objek.
3. Satu atau lebih metode (method) sebagai operasi yang dapat dijalankan terkait
objek tersebut.
Pada kondisi tertentu, ada kemungkinan bahwa terdapat lebih dari satu objek yang
memiliki variabel, pesan, dan metode yang sama. Dalam hal ini, objek-objek serupa
tersebut memiliki sebuah kelas (class) yang sama, dan setiap objek spesifik disebut
sebagai instance. Selain itu, mungkin saja terjadi bahwa suatu kelas memiliki sifat
lebih umum (superclass) dan lebih terspesialisasi (subclass) dimana subclass
memiliki sebagian properti superclass, dan akhirnya disebut turunan dari superclass.
Kondisi ini melahirkan konsep yang disebut sebagai inheritance. Konsep-konsep di
atas merupakan hal yang penting dalam paradigma berorientasi objek.
Untuk menangani model data berorientasi objek, muncullah sebuah konsep basisdata
baru yang disebut basisdata berorientasi objek. Konsep basisdata ini memiliki
kapabilitas untuk menangani konsep berorientasi objek dan berkorespondensi dengan
pemrograman berorientasi objek. Basisdata berorientasi objek bisa menutupi
kekurangan-kekurangan yang muncul pada basisdata relasional saat menangani objek.
Dengan basisdata berorientasi objek, penyimpanan objek dapat dilakukan seutuhnya
dalam bentuk objek, tidak dalam tabel relasi yang rumit seperti dalam basisdata
relasional. Berikut adalah gambaran umum perbedaan penyimpanan objek dalam
basisdata relasional dengan basisdata berorientasi objek:
Basisdata relasional
Basisdata berorientasi objek
Gambar II-1 Gambar Penyimpanan Objek [DB406]
II-6
II.2 Pemodelan Data
Dalam ilmu komputer, pemodelan data adalah proses dalam membuat model data
dengan mengaplikasikan teori data model untuk membentuk instans model data. Teori
model data adalah sebuah deskripsi model data formal. Ketika data dimodelkan maka
proses penstrukturan dan pengorganisasian data dilakukan. Struktur data tersebut
kemudian diimplementasikan dalam sebuah basis data management system. Dalam
proses penambahan untuk mendefinisikan dan mengorganisasikan data, pemodelan
data akan memunculkan (baik secara eksplisit dan implisit) batasan-batasan dari data
yang diletakkan dalam struktur [DAT06].
Mengatur kuantitas besar dalam data terstruktur maupun tidak terstruktur merupakan
fungsi utama dari sistem informasi. Model data menggambarkan struktur data untuk
penyimpanan dalam basis data management system. Model data biasanya tidak
menggambarkan data tidak terstruktur, seperti dokumen word processing, email,
gambar, audio, dan video.
II.2.1 Model Data
Instan dari dari model data[DAT06] bisa berupa satu dari :
1. Skema konseptual (model data) menggambarkan semantik dari domain yang
menjadi cakupan dari model data. Sebagai contoh, model data dari area kerja dari
sebuah organisasi atau industri. Model ini terdiri dari kelas
entitas
(merepresentasikan beberapa hal utama dalam domain) dan relationship
(hubungan atara pasangan entitas). Skema konseptual membuat spesifik beberapa
jenis fakta atau proporsi yang bisa diekspresikan melalui model.
2. Skema logis menggambarkan semantik, seperti yang direpresentasikan dengan
sebuah teknologi manipulasi data secara khusus. Skema ini bisa terdiri dari
deskripsi dari tabel dan kolom, kelas berorientasi objek, XML, dan lain-lain
3. Skema fisik menggambarkan struktur fisik dimana data akan disimpan. Hal ini
berkaitan erat dengan partisi, CPU, tablespaces, dan lain-lain
Sebagai salah satu referensi dalam pemodelan data, dilihat lebih jauh sebuah kerangka
alternatif Zachman Framework [ZAC08]. Instans model data bisa berupa salah satu
dari :
II-7
1. Skema model data konseptual, mencakup kelas entitas
2. Skema model data kontekstual, menggambarkan semantik dari organisasi. Skema
ini terdiri dari relationship (hubungan antara pasangan kelas entitas)
3. Skema model data logis, direpresentasikan dengan sebuah teknologi manipulasi
data khusus. Skema ini bisa terdiri dari deskripsi dari tabel dan kolom, kelas
berorientasi objek, XML, dan lain-lain
4. Skema model data fisik, menggambarkan bagaimana dan tempat data akan
disimpan. Hal ini berkaitan erat dengan partisi, CPU, tablespaces, dan lain-lain
4. Pendefinisian data, kode aktual dari sebuah basis data dalam platform tertentu.
5. Manipulasi data, menggambarkan operasi-operasi yang diaplikasikan dalam
skema.
II.2.2 Entity Relationship Model
Entity Relationship Model (ERM) adalah metode pemodelan skema data relasional
yang digunakan untuk memodelkan sistem dan batasannya dalam pendekatan topdown. Pendekatan ini biasa digunakan dalam Relational Database Design. Diagram
yang dibentuk menggunakan metode ini disebut Entity Relationship Diagram atau
ERD. ERM adalah representasi abstrak konseptual dari dari data terstruktur. Hasil
dari Entity Relationship Model adalah ERD [PET84].
Tahap pertama dari desain sistem informasi menggunakan model ini selama
requirement analysis untuk menggambarkan kebutuhan informasi atau tipe informasi
yang akan disimpan dalam basis data. Teknik pemodelan data bisa digunakan dalam
menggambarkan ontology (sebuah overview dan pengklasifikasian dari persetujuan
user dan hubungannya) untuk universe of discourse (area kerja).
Ada beberapa konvensi untuk ERD [PET76]. Konvensi utama dari ERD adalah :
1. Entitas merepresentasikan objek diskrit. Entitas bisa direpresentasikan dalam kata
benda. Entitas direpresentasikan dalam bentuk kotak bersisi empat
2. Relasi menggambarkan bagaimana dua atau lebih entitas saling berhubungan.
Relasi bisa direpresentasikan dalam kata kerja. Relasi bisa direpresentasikan
dalam bentuk diamonds yang dihubungkan dengan garis masing-masing ke entitas
yang terhubung.
II-8
3. Entitas dan relasi bisa memiliki atribut.
4. Setiap entitas harus memiliki atribut unik yang biasa disebut primary key.
5. ERD tidak terdiri dari hanya satu entitas atau satu relasi. ERD terdiri dari
kumpulan entitas dan relasi yang berhubungan
6. Associative Entity digunakan untuk menyelesaikan permasalahan dari dua entitas
dengan relasi banyak ke banyak
7. Unary Relaionship adalah sebuah relasi antara beberapa baris dari tabel.
II.3 Normalisasi Basis Data
Normalisasi Basis data adalah teknik untuk mendesain tabel-tabel basis data relasional
untuk meminimalisasi duplikasi dari informasi akhir dan untuk merancang basis data
dalam menghadapi masalah logis. struktural, dan anomali data. Sebagai contoh, ketika
banyak instans dari informasi yang sama terdapat pada tabel maka kemungkinan
konsistensi data ketika di-update akan sulit dan akan menyebabkan integritas data
yang hilang. Tabel yang sudah dinormalisasi akan memiliki kemungkinan yang lebih
kecil untuk mendapatkan masalah tersebut, karena struktur normalisasi akan membuat
data menjadi satu instans saja [SIL02].
Semakin tinggi derajat normalisasi akan melibatkan lebih banyak tabel dan
menciptakan kebutuhan untuk melakukan join yang akan mengurangi performansi.
Teori basis data menggambarkan derajat normalisasi akan meningkat dengan
seiringnya kesuksesan normalisasi. Tabel dalam kondisi 3NF secara konsekuen akan
memenuhi aturan kondisi 2NF, tetapi tidak sebaliknya.
II.3.1 Permasalahan yang diselesaikan oleh normalisasi
Sebuah tabel yang tidak dinormalisasi mungkin akan memiliki kekurangan dalam
konsistensi dari berbagai hal dan anomali mencakup operasi data [SIL02].
1. Informasi bisa diekspresikan dalam banyak record sehingga proses update akan
menghasilkan inkonsistensi secara logis (anomali update).
2. Terdapat kondisi fakta tidak bisa disimpan secara keseluruhan (anomali insert).
3. Terdapat kondisi penghapusan data menyebabkan penghapusan pada fakta yang
tidak ingin dihapus (anomali delete).
II-9
Secara ideal, basis data relasional harus didesain dengan memikirkan kemungkinan
update, insert, dan, delete anomali. Bentuk normal dari teori basis data relasional
menyediakan panduan untuk memutuskan apakah desain sudah dapat menghadapi
anomali tersebut. Terdapat kemungkinan untuk membenarkan desain yang tidak
normal untuk menjadi normal dengan cara normalisasi.
II.3.2 Functional Dependency
Functional Dependency (FD) adalah batasan dari relasi yang legal. FD memberikan
cara untuk mengekspresikan fakta kasus yang akan dimodelkan dalam basis data
[SIL02]. FD bisa digunakan dalam dua cara:
1. Menguji relasi untuk melihat apakah relasi tersebut legal di bawah himpunan FD
yang ada. Jika relasi R legal di bawah himpunan FD, maka dapat dikatakan bahwa
R memuaskan seluruh isi dari himpunan FD.
2. Menspesifikkan batasan dari himpunan relasi yang legal. Harus diperhatikan
bahwa setiap relasi harus memuaskan seluruh isi dari himpunan FD yang ada.
Sebuah cara untuk mengidentifikasi FD dengan lebih jelas adalah dengan mengikuti
aksioma Amstrong yang berisi:
1. Aturan reflexity, jika a adalah kumpulan atribut dan b adalah bagian dari a, maka
aÆb.
2. Aturan augmentation, jika a Æ b dan c adalah kumpulan dari atribut maka ca Æ
cb.
3. Aturan transitivity, jika a Æ b dan b Æ c maka a Æ c.
Selain terdapat aturan tambahan yang juga diturunkan dari aksioma Amstrong, yaitu:
1.
Aturan Union, jika a Æ b dan a Æ c maka a Æ bc.
2.
Aturan Decomposition, jika a Æ bc maka a Æ b dan a Æ c.
3.
Aturan Pseudotransitivity, jika a Æ b dan cb Æ d maka ac Æ d
Untuk mengurangi usaha yang digunakan untuk menguji pelanggaran yang ada.
Himpunan FD bisa dibentuk dalam bentuk yang lebih sederhana. Bentuk paling
sederhana dari himpunan FD disebut kondisi canonical cover. Dalam canonical cover
perlu didefinisikan atribut ekstra yang ada dalam himpunan FD. Cara menguji apakah
sebuah atribut bisa dinyatakan atribut ekstra adalah:
II-10
1.
Atribut A adalah atribut ekstra di a jika A adalah bagian a dan F = (F - {aÆb}) U
{(a – A) Æ b}.
2.
Atribut A adalah atribut ekstra di b jika A adalah bagian b dan F = (F - {aÆb}) U
{(a Æ b-A)}
Untuk merubah himpunan FD dalam kondisi canonical cover dilakukan algoritma:
Fc = F
Repeat
Gunakan aturan union untuk mengganti dependency dalam Fc dengan bentuk:
a1Æb1 dan a1Æb2 dengan a1 Æ b1b2
Cari FD aÆb dalam Fc yang memiliki atribut ekstra, jika ditemukan buang
atribut ekstra tersebut.
Until Fc tidak berubah lagi
II.3.3 Derajat Normalisasi
Derajat normalisasi terdiri dari beberapa derajat. Derajat normal menggambarkan
kriteria untuk menghadapi inkonsistensi dan anomali [SIL02].
1. First Normal Form
Suatu relasi disebut 1NF jika kondisi semua nilai atributnya harus sederhana atau
atomik yang tidak bisa dibagi-bagi lagi (tidak boleh ada atribut yang komposit
atau multivalue)
2. Second Normal Form
a. Dibuat berdasarkan full functional dependency (ketergantungan fungsional
penuh)
b. Berada dalam bentuk normal pertama (1NF) dan setiap atribut bukan kunci
bergantung penuh pada kunci primer
c. Di dalam tabel tidak ada redudansi atau pengulangan data dan null value
3. Third Normal Form
a. Harus berada dalam bentuk normal ke dua (2NF)
b. Ketergantungan field-field yang bukan PK adalah harus secara mutlak
(full-dependent).
Artinya
harus
(ketergantungan secara transitif)
4. Boyce-Codd Normal Form
tidak
ada
transitive
dependency
II-11
a. Secara praktis, tujuan rancangan basis data adalah cukup sampai pada level
3NF. Akan tetapi untuk kasus-kasus tertentu kita bisa mendapatkan
rancangan yang lebih baik lagi apabila bisa mencapai ke BCNF
b. Setiap atribut kunci (key) pada suatu relasi adalah kunci kandidat
c. Kunci kandidat adalah atribut-atribut dari entitas yang mungkin dapat
digunakan sebagai kunci (key) atribut
d. BCNF hampir sama dengan 3NF, dengan kata lain setiap BCNF adalah
3NF
II.4 Massively Multiplayer Online Role-Playing Game
Bagian ini akan membahas tentang dasar pengetahuan dari Massively Multiplayer
Online Game (MMORPG). MMORPG akan dicoba digambarkan pada bagian ini.
Literatur yang ditemukan untuk MMORPG tidak banyak sehingga memaksa penulis
untuk lebih menganalisis karakteristik dari MMORPG.
II.4.1 Definisi
Massive
Multiplayer
Online
Role-Playing
Game
(MMORPG)
MMORPG adalah suatu jenis permainan berbasiskan konsep permainan Role Playing
Game yang bisa dimainkan dari berbagai tempat dan waktu oleh banyak pemain
[WIS07]. Untuk lebih memahami bentuk permainan MMORPG yang berbasiskan
konsep permainan RPG, akan dibahas terlebih dahulu konsep RPG. (Wikipedia)
II.4.2 Role-Playing Game (RPG)
RPG adalah suatu jenis permainan dimana pemainnya akan memainkan karakter
buatan dan akan menjalankannya untuk mengikuti alur cerita. Dalam RPG seorang
pemain akan bebas mengontrol karakternya untuk mengikuti alur cerita yang
disediakan oleh sistem permainan. Dalam RPG, permainan tidak akan selalu
mengarah pada satu cerita baku karena pemain akan mengontrol keberjalanan cerita
sesuai dengan keinginannya dalam menjalankan karakternya.
Komponen RPG
Komponen- komponen yang membangun suatu permainan RPG bisa dibagi menjadi
dua jenis yaitu komponen utama dan komponen pendukung. Karakter dan cerita
II-12
merupakan komponen utama dalam RPG sedangkan komponen pendukungnya terdiri
dari banyak hal diantaranya dunia permainan, daerah, lingkungan, non-playable
character, dan barang.
1.
Karakter
Karakter adalah sebuah objek dalam permainan yang akan dikontrol penuh oleh
pemain. Karakter akan dapat melakukan aksi sesuai dengan keinginan pemain.
Pemain akan dapat memilih langkah-langkah yang dilaluinya untuk memilih alur
cerita sehingga setiap pilihan langkahnya bisa saja merubah alur cerita. Karakter akan
memiliki
keberadaan
status
dalam
dirinya
ini
merepresentasikan
erat
dengan
keberadaan
kemampuan
dirinya.
yang
Representasi
dimilikinya
untuk
mendukungnya dalam menjalani alur cerita permainan.
2.
Alur Cerita
Alur cerita adalah sebuah skenario permainan yang disediakan oleh sistem permainan.
Alur cerita pada RPG biasanya diturunkan menjadi tugas-tugas yang berkaitan.
Tugas-tugas yang berkaitan ini akan merangkaikan sebuah cerita bagi si pemain untuk
dinikmati. Tugas-tugas yang dilakukan oleh pemain biasanya akan memberikan efek
pada si pemain dan alur cerita selanjutnya. Efek yang terjadi setelah pemain
menyelesaikan satu tugas nantinya akan memberikan pilihan tugas-tugas baru dan
pemain bisa memilihnya untuk melanjutkan alur ceritanya.
3.
Dunia Permainan
Dunia permainan adalah dunia yang menjadi latar dari permainan itu dilakukan.
Dunia bisa diartikan dalam artian teritorial (daerah) dan lingkungan. Dalam
pengertian daerah, dunia permainan akan dibagi-bagi menjadi bagian-bagian daerah
yang bisa dikunjungi oleh pemain. Dalam pengertian lingkungan, dunia permainan
akan berupa suasana keramaian ataupun gambar dan musik yang mendukung
permainan
II-13
4.
Non-Playable Character (NPC)
NPC adalah objek-objek dalam permainan yang biasanya memiliki sifat yang sama
dengan karakter dan hidup dalam permainan. NPC dalam permainan bisa dibagi
menjadi dua bagian besar yaitu NPC bukan musuh dan NPC musuh.
NPC bukan musuh
NPC bukan musuh adalah objek dalam permainan yang memiliki kecerdasan buatan
untuk mendukung permainan. NPC pada permainan biasanya memiliki tugas untuk :
a. Berjualan barang
NPC ini bertugas untuk berinteraksi dengan pemain untuk melakukan penjualan
barang atau pembelian barang dari pemain
b. Memberikan misi
NPC ini bertugas memberikan tugas pada pemain untuk diselesaikan pemain dan
biasanya juga akan memberikan imbalan pada pemain.
c. Mendukung misi
NPC ini bertugas menjadi sarana pendukung permainan dalam rangka pemain
dalam menyelesaikan tugas. Jika pemain berinteraksi dengan NPC jenis ini pada
saat menjalankan tugas yang memang berhubungan dengan NPC ini biasanya
akan memberikan efek yang berhubungan dengan tugas yang sedang dijalani.
d. Tidak berguna
NPC ini biasanya hanya memiliki kecerdasan untuk berinteraksi singkat dengan
pemain. Interaksi yang terjadi dengan NPC jenis ini tidak akan memiliki efek pada
perjalanan alur cerita. NPC jenis ini akan cenderung digunakan sebagai penunjuk
jalan, penjelas keadaan atau cerita, pendukung suasana.
NPC musuh
NPC musuh adalah objek dalam permainan yang memiliki kecerdasan buatan untuk
melawan pemain. NPC musuh pada permainan biasanya dibagi berdasarkan sifatnya :
a. Pasif
NPC musuh ini tidak akan menyerang pemain walaupun pemain mendekatinya.
NPC musuh ini biasanya akan menyerang pemain ketika pemain memancingnya
untuk melakukan serangan pada pemain.
b. Aktif
NPC musuh ini akan selalu menyerang pemain waktu pemain mendekatinya.
II-14
5.
Barang
Barang adalah suatu jenis objek dalam permainan yang berupa berbagai macam
benda. Barang bisa dikelompokkan menjadi dua buah barang yaitu:
a. Barang Tugas
Barang tugas adalah suatu jenis barang yang biasa digunakan untuk
menyelesaikan tugas
b. Barang Biasa
Barang biasa adalah suatu jenis barang yang bisa digunakan sepanjang permainan
selama kondisi masih mendukung untuk menggunakan barang tersebut
II.4.3 Transformasi RPG menjadi MMORPG
MMORPG merupakan permainan bergenre RPG dan bisa dimainkan oleh banyak
orang. Dari kebanyakan MMORPG, dapat disimpulkan bahwa MMORPG berjalan di
atas komputer yang terhubung oleh jaringan. Banyak pemain dari banyak lokasi
terhubung lewat jaringan sehingga bisa memainkan MMORPG dengan bersamasama. Konsep permainan yang mendasari MMORPG tetap sama dengan RPG tetapi
ada perubahan yang menjadi poin kelebihan MMORPG.
1.
Satu Dunia dan Satu Waktu untuk Banyak Pemain
Dalam MMORPG, satu dunia permainan akan dimasuki oleh banyak pemain dari
berbagai tempat. Mereka harus menggunakan daerah dan lingkungan yang sama
untuk mencapai tujuannya. Dalam mencapai tujuannya masing-masing, pemain harus
bisa menggunakan resource yang digunakan juga oleh banyak pemain lain. Semua
pemain akan tersinkronisasi lokasi dan kegiatannya pada satu komputer server yang
menangani dunia permainan secara keseluruhan.
2.
Interaksi Sosial Antar Pemain
Dalam MMORPG, pemain bisa saling berinteraksi. Interaksi yang dilakukan bisa
berbagai macam bergantung pada basis permainan. Interaksi yang terjadi antar
pemain membuat bentuk alur cerita menjadi semakin beragam. Interaksi yang
mungkin terjadi antar pemain adalah seperti berbincang-bincang, bertransaksi (jual
beli barang), bertarung, dan lain sebagainya. Dengan adanya konsep interaksi antar
II-15
pemain pada permainan, membuat MMORPG semakin kelihatan seperti kehidupan
nyata.
II.4.4 Sejarah MMORPG
MMORPG adalah kelas baru dari domain lingkungan Online multi pemain yang
memungkinkan banyak pemain bisa berinteraksi dengan sesamanya dan mencapai
tujuan yang terstruktur. Multi-User Domain (MUD) yang pertama yaitu sebuah
permainan petualangan dalam dunia yang tetap yang mendukung banyak pemain
untuk masuk dalam waktu yang sama dibuat pada tahun 1979 oleh Roy Trubshaw dan
Richard Bartle. MUD diturunkan dari tabel-top RPG seperti Dungeons and Dragons,
dua jenis genre yang muncul pada waktu bersamaan, berkembang di awal tahun tujuh
puluhan, dan menjadi populer selama tahun delapan puluhan. Masing-masing genre
permainan memperbolehkan pemain untuk membentuk karakternya sendiri dengan
basis atribut angka-angka (contoh : Strength, dexterity, inteligence) dan pekerjaan
yang sesuai dengan template (contoh : Warrior, Cleric, Druid) dimana setiap template
pekerjaan tersebut memiliki kelebihan dan kekurangan tersendiri. Alur permainan
biasanya berkisar sekitar kombinasi dari story-telling dan optimasi logistik di bawah
pekerjaan utama membunuh monster dan meningkatkan level serta kemampuan.
Dalam RPGs, seorang administrator server mengontrol sejumlah kejadian dengan
random yang mengambil referensi dari diagram serta tabel. Dalam MUDs, semua
kejadian diatur oleh server.
Sejalan dengan meningkatnya kapabilitas grafik dan proses dari PC modern serta
didukung juga dengan aksebilitas yang semakin luas, maka memungkinkan
pembuatan MUDs dengan grafik yang baik pada awal tahun sembilan puluhan.
Ultima Online, diluncurkan pada tahun 1997 dan dikenali sebagai MMORPG yang
pertama (kuat, grafik yang baik, lingkungan Online yang bisa mendukung ribuan
pemain bermain pada waktu yang sama). Jumlah pemain aktif yang bisa didukung
oleh Ultima adalah yang membedakan MMORPG dengan grafik MUDs. MMORPG
yang kedua, EverQuest, diluncurkan pada tahun 1999, dengan cepat meraih 400 ribu
pemain dan masih menjadi MMORPG yang paling populer di Amerika Utara sampai
tahun 2004 walaupun ada sepuluh MMORG yang bermunculan setelahnya.
II-16
II.4.5 Penggambaran Permainan MMORPG
Dalam permainannya, sebuah karakter akan hidup dan berpetualang untuk mencari
tujuan hidupnya masing-masing sementara dunia yang dipetualangi juga terus
berjalan dengan berjalannya waktu. Dalam kehidupannya karakter ini akan bisa
melakukan hal-hal yang biasanya bisa dilakukan manusia seperti makan, tidur, duduk,
berpakaian, berjalan, dan lain sebagainya. Karakter yang dimainkan tersebut akan
melakukan pertarungan dan menyelesaikan tugas-tugas yang ada sehingga
kemampuannya akan terus naik dengan mekanisme level ataupun peningkatan status.
Dalam dunia MMORPG sebuah karakter akan dapat berinteraksi dengan karakter lain
yang dimainkan oleh player lain ataupun dengan karakter buatan yang memiliki
kecerdasan buatan.
Permainan MMORPG akan terhubung melalui jaringan dan nantinya akan
membutuhkan server sebagai pusat data. Permainan bersifat konkuren dan sinergis
dalam sudut pandang permain. Permainan MMORPG biasanya akan terus berlanjut
secara kontinyu sehingga pemain dari berbagai tempat bisa terus memainkannya.
Selain itu pemain dari tempat yang lain harus bisa melihat dunia yang sama dengan
dunia yang dilihat dari sudut pandang pemain lain.
Pemain atau pengguna harus membeli atau mendownload MMORPG yang spesifik
dan membayar secara bulanan untuk mengakses server MMORPG. Pemain melihat
dunia dalam grafik 3D real-time, dan menggunakan avatar (grafik manusia yang
merepresentasikan pemain dalam permainan) untuk berinteraksi dengan lingkungan
dan sesama pemain lain lewat kombinasi dari pemakaian mouse dan perintah
keyboard. Komunikasi antar pemain dilakukan dengan chat dan salam beranimasi
serta ekspresi-ekspresi. Dunia MMORPG sangat luas dan direalisasikan dalam detil
grafis yang baik. Biasanya dibutuhkan banyak waktu untuk mengelilingi seluruh
dunia MMORPG, walaupun biasanya ada sarana transportasi yang memungkinkan
pemain untuk berpindah tempat dengan cepat antar lokasi dalam dunia. Pemain
diberikan kontrol terhadap penampilan karakter atau avatar mereka. Sebagai contoh,
dalam MMORPG Star Wars Galaxies, pemain diperbolehkan mengatur jenis kelamin,
ras (Wookie, Manusia, Rodian, dan lain-lain), warna kulit, umur, tinggi badan, berat
II-17
badan, bentuk tubuh, raut muka, raut alis, bentuk hidung, bentuk mata, warna mata,
warna rambut, bentuk mulut, bentuk bibir.
Pemain memilih profesinya dari sejumlah pilihan profesi yang disediakan oleh
permainan MMORPG. Perubahan dan karakteristik pekerjaan bergantung pada desain
lingkungan MMORPG. Setiap profesi memiliki kelebihan dan kekurangannya
tersendiri. Banyak MMORPG yang didesain untuk membuat pemain harus
mengkolaborasikan profesinya untuk dapat mencapai tujuannya. Pada permulaannya,
MMORPG banyak berlatar khayalan abad pertengahan dan hanya berorientasi pada
pertarungan sehingga profesi yang ada hanya berkisar pada profesi pertarungan
seperti warior, archer, healer, dan lain-lain. Dewasa ini, MMORPG sudah
memberikan alternatif profesi yang beragam. Sebagai contoh, dalam Star Wars
Galaxy, seseorang bisa menjadi musisi, juru masak, penata rambut, ahli pengobatan,
atau praktisi politik.
Goal dan Penghargaan dalam MMORPG biasanya menggunakan penjadwalan rasio
random berdasarkan kondisi operan. Pada tahap awal, pertambahan kemampuan
sangat cepat atau hampir terjadi secara instan. Semakin lama pertambahan
kemampuan menjadi semakin sulit dan semakin tidak terjangkau. Sebagian besar
bentuk kemahiran dalam MMORPG membutuhkan kerjasama yang baik antara
banyak pengguna, biasanya saling menguntungkan. Dalam Star Wars Galaxies.
Pemain yang bertugas sebagai surveyor menempatkan bahan dasar kimia dan mineral
di sepanjang planet-planet. Untuk menuai hasilnya, surveyors harus membeli
peralatan pertambangan dari seorang pemain yang bekerja sebagai arsitek. Alternatif
lainnya, surveyors bisa menjual tempat tersebut kepada para penambang. Surveyors
yang memilih cara untuk menuai hasil bisa memilih untuk menjadi resource brokers
yang menjual resource tersebut ke artisan atau manufacturers yang membutuhkan
resources untuk memproduksi barang. Pertarungan, kesehatan, atau pakaian dijual di
pasar bebas dan dibeli oleh pedagang, dokter, ataupun elemen profesi yang lainnya.
Pada akhirnya, pemain memutuskan bentuk pengembangan yang akan dikejar,
kekayaan, dan kompleksitas lingkungan dan mengeliminasi kebutuhan untuk
menyelesaikan tujuan atau jalan cerita. Setiap pemain dimotivasi dengan berbagai
II-18
kombinasi dari seluruh kemungkinan penghargaan. Hasilnya adalah petualangan,
cerita, dan yang paling penting adalah interaksi dan relasi yang terjadi antar pemain.
Secara fungsional lingkungan permainan dibentuk untuk memfasilitasi jaringan sosial
dan hubungannya. Contohnya dengan pertarungan grup (kolaborasi sementara antar
pemain), guild (organisasi tetap yang dibentuk oleh pemain), dan aliansi ideologi
(persetujuan antar grup ras dan guilds).
Kolaborasi berorientasi pertarungan dalam MMORPG menjadi semakin kompleks
ketika pemain sudah berkembang melebihi pemain pemula. Biasanya dalam skenario
berorientasi pertarungan, empat sampai delapan pemain akan berkonfrontasi dengan
banyak musuh yang didukung oleh artificial intelegence. Grup dari pemain ini
biasanya disusun dari komposisi yang seimbang dan harus berkomunikasi serta
menggunakan kemampuan individunya sesuai strategi yang ditentukan grup. Dalam
kondisi yang kritis, beberapa musuh akan kabur dari pertarungan. Dalam dungeon,
semakin dalam tempatnya maka semakin sulit musuh yang akan dihadapi. Jika sukses,
maka pemain akan kembali dengan kekuatan yang bertambah. Kekuatan yang
ditambahkan pada pemain biasanya dibagi dengan pembagi jumlah pemain dalam
grup. Semakin banyak pemain yang bertarung bersama, semakin sedikit penghargaan
yang diterima. Kolaborasi antar pemain menjadi salah satu daya tarik tersendiri dalam
MMORPG sehingga banyak ditonjolkan dan menjadi tujuan utama permainan. (white
paper)
II.5 Arsitektur Komputer Client-Server
Dalam Komputasi, arsitektur jaringan adalah desain dari jaringan komputer. Dalam
telekomunikasi, pengertian dari arsitektur jaringan memiliki arti [COU01]:
1. Prinsip dasar desain, konfigurasi fisik, organisasi fungsional, prosedur
operasional, dan format data digunakan sebagai dasar dari desain, konstruksi,
modifikasi, dan operasi dari jaringan komunikasi.
2. Struktur dari jaringan komunikasi yang sudah ada termasuk konfigurasi fisik,
fasilitas, struktur operasional, prosedur operasional, dan format data yang
digunakan.
II-19
Dengan pengembangan dari komputasi terdistribusi, pengertian dari arsitektur
jaringan juga digunakan untuk memperjelas klasifikasi dan implementasi dari
arsitektur komputasi terdistribusi. Sebagai contoh adalah arsitektur aplikasi dari
jaringan telepon PSTN sudah menjelaskan tentang Advanced Intelligent Network.
Banyak jumlah pengklasifikasian tetapi semuanya berujung pada dumb network
(contohnya internet) dan intelligent computer network (contohnya jaringan telepon
PSTN). Jaringan lain terdiri dari berbagai macam elemen dari dua tipe klasik ini untuk
membuat mereka tepat untuk berbagai macam tipe dari aplikasi. Sekarang contextaware network yang merupakan sintesis dari dua yang sudah banyak dikenal karena
kemampuannya untuk mengkombinasikan elemen terbaik dari keduanya.
Jaringan komputer disusun dari banyak komputer yang terhubung dan saling
berkomunikasi di atas perantara kabel atau wireless untuk membagi data dan resource
lain. Sebagai contoh, jaringan komputer rumah mungkin terdiri dari dua atau lebih
komputer yang membagi file dan printer dengan menggunakan jaringan. Ukuran dan
scalability dari jaringan komputer dapat dideterminasi dengan medium fisik
komunikasi dan software yang mengontrol komunikasi .
Client-server adalah arsitektur komputer yang terdiri dari client dan server dan
hampir selalu diimplementasikan dalam jaringan komputer. Setiap client atau server
terhubung pada sebuah jaringan yang juga bisa disebut sebagai node atau simpul.
Bentuk paling dasar dari arsitektur client-server hanya terdiri dari dua tipe simpul
yaitu client dan server. Tipe arsitektur seperti ini sering disebut sebagai two-tier.
Arsitektur ini mendukung komputer untuk melakukan proses sharing file dan
resource. Setiap instans dari software pada client bisa mengirimkan permintaan data
ke satu atau lebih server yang terhubung lewat jaringan. Dalam sisi lain, server dapat
menerima permintaan data, memprosesnya, dan mengembalikan permintaan data
tersebut ke client. Walaupun konsep ini bisa diaplikasikan untuk banyak
permasalahan untuk banyak jenis aplikasi, tetapi arsitektur dasar aplikasi tetap sama.
Dewasa ini, client yang paling sering ditemui adalah browser web. Server biasanya
diimplementasikan sebagai web servers, server basis data, dan server email.
Permainan online biasanya mengikuti arsitektur client-server juga. Dalam kasus
II-20
MMORPG, server biasanya dikelola oleh perusahaan yang menjual permainan.
Dalam kasus lain, salah satu pemain akan bertindak sebagai server dan menjalankan
konfigurasi permainan dalam mode server.
II.5.1 Karakteristik Client-Server
Pada bagian ini akan diberikan beberapa karakteristik client-server [COU01].
Karakteristik dari client adalah :
1. Menginisiasi request data
2. Menunggu dan menerima balasan request data
3. Biasanya terhubung ke sedikit server dalam satu waktu
4. Biasanya berinteraksi langsung dengan pengguna akhir menggunakan graphical
user interface.
Karakteristik dari server adalah :
1. Bersifat pasif
2. Menunggu permintaan dari client
3. Setelah
menerima
permintaan,
memproses
mereka,
dan
memberikan
pengembalian permintaan dari client
4. Biasanya menerima koneksi dari sejumlah besar client
5. Biasanya tidak berinteraksi langsung dengan pengguna akhir
II.5.2 Arsitektur Multi-tiered
Beberapa desain lebih rumit dan terdiri dari tiga jenis simpul yaitu:
1. Client
2. Server aplikasi yang memproses data untuk client
3. Server basis data yang menyimpan daya untuk server aplikasi
Konfigurasi ini disebut arsitektur three-tier. Konfigurasi ini adalah tipe yang paling
umum dalam arsitektur client-server. Desain yang mencakup lebih dari dua tier sering
disebut multi-tiered atau n-tiered.
Keuntungan dari arsitektur n-tiered ini adalah lebih scalable, karena mereka
menyeimbangkan dan mendistribusikan proses di antara multiple node, redundant
node, dan server khusus. Hal ini adalah cara untuk meningkatkan performansi dan
reliability karena proses bisa diakomodasi secara simultan.
II-21
Kerugian dari arsitektur n-tiered adalah :
1. Semakin banyak pekerjaan dalam jaringan, semakin terbebani beban lalu lintas
jaringan
2. Semakin sulit untuk memrogram dan mengujinya daripada arsitektur two-tier
karena banyak devices yang digunakan untuk menyelesaikan permintaan client
II.5.3 Keuntungan Arsitektur Client-Server
Keuntungan dari arsitektur client-server adalah [COU01]:
1. Dalam banyak kasus, arsitektur client-server memungkinkan langkah dan
tanggung jawab dari sistem komputasi untuk mendistribusikan proses di antara
beberapa komputer bebas yang saling mengidentifikasi satu sama lain lewat
jaringan. Hal ini memberikan keuntungan tambahan untuk arsitektur ini yaitu
mengurangi perawatan. Sebagai contoh : dimungkinkan untuk digantikan,
dibenarkan jika rusak, ditingkatkan kualitasnya, ataupun untuk melakukan
pemindahan server tanpa mempengaruhi client. Kebebasan dalam perubahan ini
biasa disebut juga sebagai enkapsulasi.
2. Semua data disimpan di server. Server memiliki tingkat keamanan yang lebih
tinggi daripada client lain. Server bisa lebih baik mengontrol akses dan resource
untuk menjamin hanya client tertentu yang bisa mengakses atau merubah data.
3. Ketika data di-sentralisasi, meng-update beberapa data akan lebih mudah untuk
diatur.
4. Banyak teknologi client-server yang tersedia, sudah didesain dengan tingkat
keamanan yang baik, kemudahan penggunaan, dan friendliness dalam user
interface
5. Arsitektur ini berfungsi untuk banyak jenis client dengan kapabilitas yang berbeda
II.5.4 Kerugian Arsitektur Client-Server
Kerugian dari arsitektur client-server adalah :
1. Kemacetan lalu lintas jaringan bisa menjadi masalah sejak kemunculan paradigma
client-server. Seiring dengan banyaknya permintaan data client yang simultan ke
server, bisa terjadi overloading pada server. Dibandingkan dengan jaringan peer
to peer, bandwidth jaringan semakin meningkat jika simpul ditambahkan.
II-22
2. Paradigma client-server memiliki kekurangan pada sisi robustness dari jaringan
peer to peer (P2P). Di bawah client-server, jika terjadi kegagalan server maka
permintaan client tidak bisa diselesaikan. Pada jaringan P2P, resource bisa
didistribusikan di antara banyak simpul. Walaupun satu atau banyak simpul keluar
dan mengacuhkan proses download file, simpul lain yang tersisa masih terus
melakukan proses pen-download-an data.
Download