Aplikasi Game Monopoli Multiplayer dengan Memanfaatkan Teknologi Remoting.Net.
v
ABSTRAK
Pada saat ini game merupakan hiburan yang digemari oleh banyak masyarakat. Game berkembang sangat pesat, baik dari segi grafik maupun jenisnya. Game monopoli adalah game yang berjenis board game.
Aplikasi Game Monopoli Multiplayer Dengan Memanfaatkan Teknologi Remoting.NET adalah aplikasi permainan lebih dari satu orang, dimana salah satu pemainnya merupakan server dan pemain lainnya adalah client.
Aplikasi ini ditujukan untuk mempermudah permainan monopoli. Pengembangan game “Monopoly Multiplayer” ini menggunakan Microsoft C#.NET karena memudahkan penulis dalam membuat aplikasi game yang berjenis board game ini.
(2)
vi
ABSTRAK
At this time games are entertainment what people likes. Games grow up quickly, the graphic and types. Monopoly game is board game.
“Aplikasi Game Monopoli Multiplayer Dengan Memanfaatkan Teknologi Remoting.NET” is application game with more than one person, which one player become act as a server and another player became client.
This application created for easier monopoly multiplayer. The creating “Monopoly Multiplayer” use language Microsoft C#.NET because easier writer in create application game with board game type.
(3)
vii
DAFTAR
ISI
KATA PENGANTAR...Error! Bookmark not defined. LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI ...Error! Bookmark not defined. SURAT PERNYATAAN ORISINALITAS KARYA...Error! Bookmark not defined. ABSTRAK ...Error! Bookmark not defined.
DAFTAR ISI...vii
DAFTAR GAMBAR...ix
DAFTAR TABEL ...xi
PENDAHULUAN ...Error! Bookmark not defined. 1.1 Latar Belakang ...Error! Bookmark not defined. 1.2 Perumusan Masalah ... 1
1.3 Tujuan ... 2
1.4 Batasan Masalah...Error! Bookmark not defined. 1.5 Sistematika Penulisan ... 2
BAB II LANDASAN TEORI ... 5
2.1 Aturan Permainan... 5
2.2 Algoritma Metode ... 6
2.3 Protokol Komunikasi... 7
BAB III ANALISA DAN PEMODELAN ... 9
3.1 Latar Belakang Cerita... 9
3.2 Rincian Game ... 9
3.2.1 Jenis Sprite ... 9
3.2.2 Jenis Kartu Public Funds... 10
3.2.3 Jenis Kartu Chance ... 13
3.2.4 Jenis Kartu Yellow Card... 16
3.2.5 Jenis Kartu Red Card ... 19
3.2.6 Jenis Kartu Dalam Peta International ... 22
3.2.7 Jenis Kartu Dalam Peta Italy ... 28
3.3 Arsitektur Game...Error! Bookmark not defined.35 3.3.1 Use Case ... 36
3.3.2 Activity Diagram ...Error! Bookmark not defined.7 3.3.3 Class Diagram ... 41
3.3.4 Sequence Diagram... 43
3.4 Story Board ... 56
3.5 Creative Strategy ... 57
BAB IV PERANCANGAN... 64
4.1 Form Server Data pada Komputer Server... 64
4.2 Form Client Data pada Komputer Client... 65
4.3 Form Opening pada Komputer Server ... 66
4.4 Form Playing ... 67
BAB V PENGUJIAN ... 73
5.1 Testing pada Class Remoting – ClientData ... 73
5.2 Testing pada Class Remoting – ClientPos ... 75
5.3 Testing pada Class Remoting – ClientBuy ... 77
5.4 Testing pada Class Remoting – ClientFacility... 79
(4)
viii
5.6 Testing pada Class Remoting – ClientFreeParking... 83
5.7 Testing pada Class Remoting – AssetClient ... 85
5.8 Testing pada Class Remoting – ClientDrawCard ... 87
5.9 Testing pada Class Remoting – ClientMortgage ... 89
5.10 Testing pada Form Playing... 91
BAB VI KESIMPULAN DAN SARAN ...Error! Bookmark not defined.97 6.1 Kesimpulan ... 97
6.2
Saran‐saran... 97
(5)
ix
DAFTAR GAMBAR
Figure 3.1 Jenis‐jenis Sprite ... 8
Figure 3.2 Arsitektur Jaringan... 35
Figure 3.3 Use Case... 36
Figure 3.4 Activity Diagram Register Data ... 37
Figure 3.5 Activity Diagram Kirim rule, map, nama, dan sprite... 38
Figure 3.6 Activity Diagram Player Turn ... 39
Figure 3.7 Activity Diagram Kirim Log... 40
Figure 3.8 Activity Diagram Kirim Hasil Draw Card... 40
Figure 3.9 Activity Diagram Mortgage Place ... 40
Figure 3.10 Class Diagram ClassRemoting... 41
Figure 3.11 Class Diagram ClassChannel ... 41
Figure 3.12 Class Diagram ClassDadu... 42
Figure 3.13 Class Diagram ClassCard ... 42
Figure 3.14 Class Diagram ClassLocationData ... 43
Figure 3.15 Sequence Diagram Register pada Komputer Server ... 43
Figure 3.16 Sequence Diagram Register pada Komputer Client ... 44
Figure 3.17 Sequence Diagram Kirim All Name, Photo, Sprite... 45
Figure 3.18 Sequence Diagram Dice pada Komputer Server ... 46
Figure 3.19 Sequence Diagram Buy pada Komputer Server ... 46
Figure 3.20 Sequence Diagram Build pada Komputer Server ... 47
Figure 3.21 Sequence Diagram Pay pada Komputer Server... 47
Figure 3.22 Sequence Diagram Free Parking pada Komputer Server ... 48
Figure 3.23 Sequence Diagram Draw Card pada Komputer ServerError! Bookmark not defined.8 Figure 3.24 Sequence Diagram Dice pada Komputer Client ... 49
Figure 3.25 Sequence Diagram Buy pada Komputer Client ... 50
Figure 3.26 Sequence Diagram Build pada Komputer Client ... 50
Figure 3.27 Sequence Diagram Pay pada Komputer Client... 51
Figure 3.28 Sequence Diagram Free Parking pada Komputer Client ... 52
Figure 3.29 Sequence Diagram Draw Card pada Komputer Client ... 52
Figure 3.30 Sequence Diagram Log pada Komputer Server... 53
Figure 3.31 Sequence Diagram Kirim Draw Card Komputer Server ... 53
Figure 3.32 Sequence Diagram Mortgage pada Komputer Server... 54
Figure 3.33 Sequence Diagram Mortgage pada Komputer Client... 54
Figure 3.34 Storyboard ... 56
Figure 3.35 Antarmuka Form Splash Screen ... 57
Figure 3.36 Antarmuka Form Menu pada Komputer Server... 57
Figure 3.37 Antarmuka Form Menu pada Komputer Client... 58
Figure 3.38 Antarmuka Form Game Manual... 58
Figure 3.39 Antarmuka Form Data Server pada Komputer Server ... 59
Figure 3.40 Antarmuka Form Register Data pada Komputer Client... 59
Figure 3.41 Antarmuka Form Error Handling1 ... 60
Figure 3.42 Antarmuka Form Error Handling2 ... 60
Figure 3.43 Antarmuka Form Opening pada Komputer Server ... 61
(6)
x
Figure 5.1 Testing memakai Ntest class Remoting – ClientData ... 73
Figure 5.2 Testing memakai Ntest class Remoting – ClientPos ... 75
Figure 5.3 Testing memakai Ntest class Remoting – ClientBuy... 77
Figure 5.4 Testing memakai Ntest class Remoting – ClientFacility ... 79
Figure 5.5 Testing memakai Ntest class Remoting – ClientPay ... 81
Figure 5.6 Testing memakai Ntest class Remoting – ClientFreeParking... 83
Figure 5.7 Testing memakai Ntest pada class Remoting – AssetClient ... 85
Figure 5.8 Testing memakai Ntest class Remoting – ClientDrawCard... 87
Figure 5.9 Testing memakai Ntest class Remoting – ClientMortgage ... 89
Figure 5.10 Testing memakai Ntest pada FormPlaying ... 91
(7)
xi
DAFTAR GAMBAR
Table 3.1 Kartu Dana Umum pada Peta Internasional ... 10
Table 3.2 Kartu Kesempatan pada Peta Internasional ... 13
Table 3.3 Kartu Dana Umum pada Peta Liga Serie A Italy ... 16
Table 3.4 Kartu Kesempatan pada Peta Liga Serie A Italy ... 19
Table 3.5 Kartu Lokasi pada Peta Internasional ... 22
Table 3.6 Kartu Lokasi pada Peta Liga Serie A Italy ... 28
Table 5.1 Testing class Remoting – ClientData ... 74
Table 5.2 Testing class Remoting – ClientPos... 76
Table 5.3 Testing class Remoting – ClientBuy ... 78
Table 5.4 Testing class Remoting – ClientFacility ... 80
Table 5.5 Testing class Remoting – ClientPay... 82
Table 5.6 Testing class Remoting – ClientFreeParking ... 84
Table 5.7 Testing class Remoting – AssetClient... 86
Table 5.8 Testing class Remoting – ClientDrawCard ... 88
Table 5.9 Testing class Remoting – ClientMortgage... 90
Table 5.10 Testing FormPlaying – PlayerMove() ... 92
Table 5.11 Testing class Remoting – PlayerBuy() ... 92
Table 5.12 Testing class Remoting – PlayerFacility() ... 93
Table 5.13 Testing class Remoting – PlayerPay() ... 94
Table 5.14 Testing class Remoting – PlayerFreeParking() ... 95
Table 5.15 Testing class Remoting – PlayerMortgage() ... 96
(8)
2
BAB
I
PENDAHULUAN
1.1 PENDAHULUAN
Aplikasi game saat ini sangat diminati oleh hampir semua kalangan, muda maupun tua. Game monopoli sangat diminati oleh masyarakat Indonesia.
Monopoli adalah permainan multiplayer yang menggunakan dadu dengan miniatur bisnis. Permainan ini memiliki peraturan‐peraturan tertentu seperti dapat mendirikan rumah dan hotel apabila player tersebut sudah membeli wilayah tertentu, membayar denda pada bank atau pemilik wilayah, penjara, dan bebas parkir.
Pertama kali setiap player diberi modal sebesar $ 1500. Uang tersebut dapat digunakan untuk membayar denda ke bank dan player lain, membeli suatu wilayah, mendirikan rumah dan hotel. Player dapat mendapatkan uang setiap dia melewati garis start sebesar $ 200, player lain yang singgah di wilayah harus membayar sewa, mendapat / membayar uang / pindah wilayah dari dana umum atau kesempatan, dan mendapatkan / pindah wilayah uang apabila singgah di bebas parkir.
1.2 RUMUSAN MASALAH
Permasalahan dalam aplikasi game ini adalah:
1. Bagaimana cara untuk mengacak susunan kartu dana umum dan kesempatan. 2. Bagaimana cara mengirimkan data dari client ke server.
3. Bagaimana cara data yang sudah didapatkan dari client dikirimkan kembali ke
client lainnya.
1.3 TUJUAN
Tugas akhir ini bertujuan untuk membuat aplikasi game berbasis multiplayer dengan memanfaatkan teknologi Remoting.NET.
(9)
3 1.4 BATASAN MASALAH
Adapun ruang lingkup dari aplikasi ini:
1. Bahasa pemrograman yang digunakan adalah Microsoft Visual C#.NET 2005 2. Sistem operasi yang didukung adalah Microsoft Windows XP Professional
Service Pack 2, dengan dukungan .NET Framework 2.0
3. Teknik pemrograman network yang digunakan adalah .NET Remoting
4. Sistem ini akan diimplementasikan pada Local Area Network (kabel maupun nirkabel) pada kecepatan koneksi minimum 10 MBps
5. Aplikasi ini dapat dimainkan oleh 2‐6 orang.
6. Resolusi monitor komputer minimal 1024 pixel x 768 pixel 7. Tapilan permainan bersifat 2 dimensi.
8. Spesifikasi minimum perangkat keras yang diperlukan untuk menjalankan aplikasi ini:
a. Processor : Setingkat Intel Pentium 3 1.0GHz
b. Memori : 256 MB
c. Sisa ruang Hard Disk : 150 MB
d. Kartu Ethernet / Wireless
1.5 SISTEMATIKA PEMBAHASAN
Organisasi dari penulisan dokumen dari awal adalah sebagai berikut :
‐ BAB I PENDAHULUAN
Bagian ini berisi latar belakang, rumusan masalah, tujuan, batasan masalah, dan sistematika pembahasan yang dibangun secara umum atau general dengan menggunakan sedikit bahasa teknis agar memudahkan pemahaman untuk orang awam dan juga bagian ini harus menyediakan gambaran mengenai keseluruhan dokumen.
‐ BAB II DASAR TEORI
Bagian ini merupakan gambaran teori keseluruhan dari aplikasi permainan seperti aturan permainan, algoritma AI/metode, dan protokol komunikasi supaya dapat dipahami oleh orang awam.
(10)
4 ‐ BAB III ANALISA DAN PEMODELAN
Bagian ini berisi latar belakang cerita, rincian game, arsitektur game,
storyboard, dan creative strategy. Di dalam bab ini UML yang akan digunakan adalah :
Use Case
Activity Diagram
Class Diagram
Sequance Diagram
Design UID ( User Interface Design )
‐ BAB IV PERANCANGAN
Bagian ini menjelaskan penjabaran dari tiap fungsi utama yang terdapat di dalam aplikasi game ini.
‐ BAB V PENGUJIAN
Bagian ini menjelaskan hasil pengujian terhadap tiap fungsi yang ada. Pengujian pada aplikasi game monopoly multiplayer ini akan menggunakan whitebox testing dengan menggunakan aplikasi NUnit.
‐ BAB VI KESIMPULAN DAN SARAN
Kesimpulan berisi perbandingan‐perbandingan antara perencanaan produk sebelum dibangun dengan produk yang dihasilkan. Apakah produk yang dibangun memenuhi tujuan awal yang diinginkan.
Saran berisi hal‐hal apa saja yang dapat dikembangkan untuk memberikan kemampuan lebih kepada produk yang dibangun baik secara teknis maupun secara dokumentasi.
(11)
91
BAB
VI
KESIMPULAN
DAN
SARAN
6.1KESIMPULAN
Pada sub bab ini berisikan kesimpulan penulis setelah game yang penulis
buat selesai beserta dengan tes yang dilakukan terhadap game yang penulis buat.
Berikut ini adalah kesimpulan yang penulis buat :
1. Cara mengacak susunan kartu dana umum dan kesempatan dengan
menggunakan fungsi random, setelah diacak susunannya maka dimasukkan ke
dalam list/daftar kartu.
2. Mengirimkan data‐data dari komputer client ke komputer server dengan
menggunakan classRemoting.dll yang berisi jalur komunikasi antar komputer. ClassRemoting.dll dibuat dengan menggunakan teknologi Remoting.NET.
3. Setelah menerima data‐data dari salah satu komputer, data‐data tersebut
ditampung di server kemudian dikirimkan secara otomatis dikirimkan ke seluruh
komputer client setelah server menerimanya.
6.2SARAN
Pada sub bab ini berisi saran‐saran dari penulis untuk pengembangan game “Monopoly Multiplayer”. Berikut ini saran‐saran dari penulis :
1. Dapat membuat peraturan permainan sendiri seperti cara tipe waktu
permainan, membeli wilayah, mendirikan fasilitas, dan sebagainya.
2. Dapat membuat sprite karakter sendiri yang bisa digunakan dalam game
“Monopoly Multiplayer” ini.
3. Dapat membuat peta permainan sendiri yang bisa digunakan dalam game
(12)
92
DAFTAR PUSTAKA
1. Ingo Rammer, Advanced .NET Remoting (C# Edition). Apress, 2002 2. MSDN Library for Visual Studio 2005
3. Matthew MacDonald, User Interfaces in C#: Windows Forms and Custom Controls. Apress, 2002
(1)
DAFTAR GAMBAR
Table 3.1 Kartu Dana Umum pada Peta Internasional ... 10
Table 3.2 Kartu Kesempatan pada Peta Internasional ... 13
Table 3.3 Kartu Dana Umum pada Peta Liga Serie A Italy ... 16
Table 3.4 Kartu Kesempatan pada Peta Liga Serie A Italy ... 19
Table 3.5 Kartu Lokasi pada Peta Internasional ... 22
Table 3.6 Kartu Lokasi pada Peta Liga Serie A Italy ... 28
Table 5.1 Testing class Remoting – ClientData ... 74
Table 5.2 Testing class Remoting – ClientPos... 76
Table 5.3 Testing class Remoting – ClientBuy ... 78
Table 5.4 Testing class Remoting – ClientFacility ... 80
Table 5.5 Testing class Remoting – ClientPay... 82
Table 5.6 Testing class Remoting – ClientFreeParking ... 84
Table 5.7 Testing class Remoting – AssetClient... 86
Table 5.8 Testing class Remoting – ClientDrawCard ... 88
Table 5.9 Testing class Remoting – ClientMortgage... 90
Table 5.10 Testing FormPlaying – PlayerMove() ... 92
Table 5.11 Testing class Remoting – PlayerBuy() ... 92
Table 5.12 Testing class Remoting – PlayerFacility() ... 93
Table 5.13 Testing class Remoting – PlayerPay() ... 94
Table 5.14 Testing class Remoting – PlayerFreeParking() ... 95
Table 5.15 Testing class Remoting – PlayerMortgage() ... 96
(2)
BAB I
PENDAHULUAN
1.1 PENDAHULUAN
Aplikasi game saat ini sangat diminati oleh hampir semua kalangan, muda maupun tua. Game monopoli sangat diminati oleh masyarakat Indonesia.
Monopoli adalah permainan multiplayer yang menggunakan dadu dengan miniatur bisnis. Permainan ini memiliki peraturan‐peraturan tertentu seperti dapat mendirikan rumah dan hotel apabila player tersebut sudah membeli wilayah tertentu, membayar denda pada bank atau pemilik wilayah, penjara, dan bebas parkir.
Pertama kali setiap player diberi modal sebesar $ 1500. Uang tersebut dapat digunakan untuk membayar denda ke bank dan player lain, membeli suatu wilayah, mendirikan rumah dan hotel. Player dapat mendapatkan uang setiap dia melewati garis start sebesar $ 200, player lain yang singgah di wilayah harus membayar sewa, mendapat / membayar uang / pindah wilayah dari dana umum atau kesempatan, dan mendapatkan / pindah wilayah uang apabila singgah di bebas parkir.
1.2 RUMUSAN MASALAH
Permasalahan dalam aplikasi game ini adalah:
1. Bagaimana cara untuk mengacak susunan kartu dana umum dan kesempatan. 2. Bagaimana cara mengirimkan data dari client ke server.
3. Bagaimana cara data yang sudah didapatkan dari client dikirimkan kembali ke client lainnya.
1.3 TUJUAN
Tugas akhir ini bertujuan untuk membuat aplikasi game berbasis multiplayer dengan memanfaatkan teknologi Remoting.NET.
(3)
1.4 BATASAN MASALAH
Adapun ruang lingkup dari aplikasi ini:
1. Bahasa pemrograman yang digunakan adalah Microsoft Visual C#.NET 2005 2. Sistem operasi yang didukung adalah Microsoft Windows XP Professional
Service Pack 2, dengan dukungan .NET Framework 2.0
3. Teknik pemrograman network yang digunakan adalah .NET Remoting
4. Sistem ini akan diimplementasikan pada Local Area Network (kabel maupun nirkabel) pada kecepatan koneksi minimum 10 MBps
5. Aplikasi ini dapat dimainkan oleh 2‐6 orang.
6. Resolusi monitor komputer minimal 1024 pixel x 768 pixel 7. Tapilan permainan bersifat 2 dimensi.
8. Spesifikasi minimum perangkat keras yang diperlukan untuk menjalankan aplikasi ini:
a. Processor : Setingkat Intel Pentium 3 1.0GHz b. Memori : 256 MB
c. Sisa ruang Hard Disk : 150 MB d. Kartu Ethernet / Wireless
1.5 SISTEMATIKA PEMBAHASAN
Organisasi dari penulisan dokumen dari awal adalah sebagai berikut : ‐ BAB I PENDAHULUAN
Bagian ini berisi latar belakang, rumusan masalah, tujuan, batasan masalah, dan sistematika pembahasan yang dibangun secara umum atau general dengan menggunakan sedikit bahasa teknis agar memudahkan pemahaman untuk orang awam dan juga bagian ini harus menyediakan gambaran mengenai keseluruhan dokumen.
‐ BAB II DASAR TEORI
Bagian ini merupakan gambaran teori keseluruhan dari aplikasi permainan seperti aturan permainan, algoritma AI/metode, dan protokol komunikasi supaya dapat dipahami oleh orang awam.
(4)
‐ BAB III ANALISA DAN PEMODELAN
Bagian ini berisi latar belakang cerita, rincian game, arsitektur game, storyboard, dan creative strategy. Di dalam bab ini UML yang akan digunakan adalah :
Use Case
Activity Diagram
Class Diagram
Sequance Diagram
Design UID ( User Interface Design ) ‐ BAB IV PERANCANGAN
Bagian ini menjelaskan penjabaran dari tiap fungsi utama yang terdapat di dalam aplikasi game ini.
‐ BAB V PENGUJIAN
Bagian ini menjelaskan hasil pengujian terhadap tiap fungsi yang ada. Pengujian pada aplikasi game monopoly multiplayer ini akan menggunakan whitebox testing dengan menggunakan aplikasi NUnit.
‐ BAB VI KESIMPULAN DAN SARAN
Kesimpulan berisi perbandingan‐perbandingan antara perencanaan produk sebelum dibangun dengan produk yang dihasilkan. Apakah produk yang dibangun memenuhi tujuan awal yang diinginkan.
Saran berisi hal‐hal apa saja yang dapat dikembangkan untuk memberikan kemampuan lebih kepada produk yang dibangun baik secara teknis maupun secara dokumentasi.
(5)
BAB
VI
KESIMPULAN
DAN
SARAN
6.1KESIMPULAN
Pada sub bab ini berisikan kesimpulan penulis setelah game yang penulis buat selesai beserta dengan tes yang dilakukan terhadap game yang penulis buat. Berikut ini adalah kesimpulan yang penulis buat :
1. Cara mengacak susunan kartu dana umum dan kesempatan dengan
menggunakan fungsi random, setelah diacak susunannya maka dimasukkan ke dalam list/daftar kartu.
2. Mengirimkan data‐data dari komputer client ke komputer server dengan menggunakan classRemoting.dll yang berisi jalur komunikasi antar komputer. ClassRemoting.dll dibuat dengan menggunakan teknologi Remoting.NET.
3. Setelah menerima data‐data dari salah satu komputer, data‐data tersebut ditampung di server kemudian dikirimkan secara otomatis dikirimkan ke seluruh komputer client setelah server menerimanya.
6.2SARAN
Pada sub bab ini berisi saran‐saran dari penulis untuk pengembangan game “Monopoly Multiplayer”. Berikut ini saran‐saran dari penulis :
1. Dapat membuat peraturan permainan sendiri seperti cara tipe waktu permainan, membeli wilayah, mendirikan fasilitas, dan sebagainya.
2. Dapat membuat sprite karakter sendiri yang bisa digunakan dalam game “Monopoly Multiplayer” ini.
3. Dapat membuat peta permainan sendiri yang bisa digunakan dalam game “Monopoly Multiplayer” ini.
(6)
DAFTAR PUSTAKA
1. Ingo Rammer, Advanced .NET Remoting (C# Edition). Apress, 2002 2. MSDN Library for Visual Studio 2005
3. Matthew MacDonald, User Interfaces in C#: Windows Forms and Custom Controls. Apress, 2002