Pembuatan Aplikasi Game Leng Menggunakan Flex dan Actionscript.

(1)

vi

ABSTRAK

Perkembangan game di dunia semakin pesat dan juga kebutuhan akan suatu media hiburan sangat besar. Aplikasi game Leng ini memungkinkan setiap pengguna untuk saling berinteraksi dan bermain permainan kartu tanpa terbatas jarak. Kemampuan untuk dapat dimainkan secara bersama tanpa terbatas tersebut juga di harapkan dapat memberikan hiburan kepada pengguna dengan memainkan permainan kartu leng.

Berdasarkan hasil analisis, penulis membuat aplikasi game leng secara online yang terdiri dari server dan client untuk memungkinkan setiap pengguna untuk bermain game kartu leng tanpa terbatas jarak. Aplikasi ini juga menyediakan fasilitas chat bagi pengguna yang menggunakan aplikasi ini sehingga dapat memungkinkan berinteraksi dengan pengguna yang lain. Aplikasi ini juga menyediakan character pengganti pemain sehingga pengguna dapat bermain game ini dengan melawan character artificial intelligence.


(2)

vii

ABSTRACT

Development of the game in the world more rapidly and also the need for a very large entertainment media. Leng game application allows each user to interact and play card games without a finite distance. The ability to be played together without any restriction also is expected to provide entertainment to the users by playing a card game leng.

Based on the analysis, the author makes online gaming applications leng which consists of server and client to allow each user to play card games without a finite distance leng. The application also provides a chat facility for users who use this application so that it can allow users to interact with others. The application also provides a replacement player character so that users can play this game with a fighting character artificial intelligence.


(3)

viii

DAFTAR ISI

LEMBAR PENGESAHAN ... viii

KATA PENGANTAR ... iviii

PERNYATAAN PUBLIKASI LAPORAN PENELITIAN ... viiiv

PERNYATAAN ORISINALITAS LAPORAN PENELITIAN... v

ABSTRAK... vi

ABSTRACT ... vii

DAFTAR ISI ... viii

DAFTAR GAMBAR ... xi

DAFTAR TABEL ... xiv

BAB I PENDAHULUAN ... 1

1.1. Latar Belakang Masalah ... 1

1.2. Rumusan Masalah ... 2

1.3. Tujuan Pembahasan ... 2

1.4. Batasan Masalah ... 2

1.5. Sistematika Pembahasan ... 3

BAB II DASAR TEORI ... 4

2.1. Aturan Permainan ... 4

2.1.1. Peraturan Umum ... 4

2.1.2. Peraturan Pada Saat Bermain ... 5

2.2. Adobe Flash ... 7

2.3. Adobe Flex... 8

2.4. ActionScript ... 10


(4)

ix

2.5. ERD (Entity Relational Diagram) ... 12

2.6. UML ... 16

2.6.1. Use Case Diagram ... 17

2.6.2. Activity Diagram ... 19

2.6.3. Class Diagram ... 20

2.7. Artificial Intelligence ... 22

2.7.1. Algoritma Greedy... 23

2.8. Protokol Komunikasi ... 24

2.8.1. WinSock... 24

2.8.2. Socket ... 24

2.9. Enkripsi... 25

2.9.1. RSA ( Rivest – Shamir – Adleman ) Encryption ... 27

2.9.2. AES ( Advanced Encryption Standard ) ... 28

BAB III PEMODELAN ... 29

3.1 Arsitektur ... 29

3.1.1. Komunikasi Data ... 30

3.1.2. ERD ... 32

3.1.3. Aplikasi Client ... 35

3.1.4. Aplikasi Server ... 41

3.1.5. Class Diagram Server ... 47

3.1.6. Class Diagram Client ... 47

3.1.7. Detail Class Aplikasi Server ... 48

3.1.8. Detail Class Aplikasi Client ... 52

3.2 Layout Client ... 56


(5)

x

BAB IV PERANCANGAN DAN IMPLEMENTASI ... 66

4.1. Aplikasi Server ... 66

4.1.1. ConnectionThread ... 66

4.1.2. ClientClass ... 69

4.1.3. Room ... 70

4.1.4. ArthificialIntelligence ... 75

4.1.5. Card ... 79

4.1.6. Deck ... 79

4.2. Aplikasi Client ... 80

4.2.1. GamePlay ... 80

4.2.2. Card ... 92

4.2.3. Deck ... 93

4.2.4. UserDetails ... 93

4.2.5. Player ... 95

4.3. Desain Antar Muka ... 95

4.3.1. Aplikasi Client ... 95

4.3.2. Aplikasi Server ... 99

BAB V PENGUJIAN ... 104

5.1. Pengujian Aplikasi Server ... 104

5.1.1. ConnectionThread ... 106

5.1.2. ClientClass ... 111

5.1.3. Room ... 113

5.1.4. ArtificialIntelligence ... 125

5.1.5. Card ... 133


(6)

xi

5.2. Pengujian Aplikasi Client ... 135

5.2.1. GamePlay ... 137

5.2.2. Card ... 157

5.2.3. Deck ... 159

5.2.4. UserDetails ... 159

5.2.5. Player ... 162

BAB VI KESIMPULAN DAN SARAN ... 163

6.1. Kesimpulan ... 163

6.2. Saran ... 163


(7)

xii

DAFTAR GAMBAR

Gambar 2. 1 Tipe Kardinalitas (1) ... 23

Gambar 2. 2 Tipe Kardinalitas (2) ... 24

Gambar 3. 1 Gambar Flowchart Client-Server ... 39

Gambar 3. 2 Gambar ERD Database ... 41

Gambar 3. 3 Gambar Use Case Diagram Client ... 44

Gambar 3. 4 Gambar Activity Diagram Login ... 45

Gambar 3. 5 Gambar Activity Diagram Lihat Meja ... 46

Gambar 3. 6 Gambar Activity Diagram Chat ... 47

Gambar 3. 7 Gambar Activity Diagram Lihat User ... 48

Gambar 3. 8 Gambar Activity Diagram Registrasi ... 50

Gambar 3. 9 Gambar Use Case Diagram Server ... 51

Gambar 3. 10 Gambar Activity Lihat User Server ... 52

Gambar 3. 11 Gambar Activity Tambah User Server ... 53

Gambar 3. 12 Gambar Activity Edit User Server ... 54

Gambar 3. 13 Gambar Activity Hapus User Server ... 55

Gambar 3. 14 Gambar Activity Lihat Chat Server ... 55

Gambar 3. 15 Gambar Activity Edit Char Server ... 56

Gambar 3. 16 Gambar Activity Hapus Char Server ... 57

Gambar 3. 17 Gambar Class Diagram Server ... 58

Gambar 3. 18 Gambar Class Diagram Server ... 59

Gambar 3. 19 Gambar Class ConnectionThread ... 60

Gambar 3. 20 Gambar Class ArtificialIntelligence... 61

Gambar 3. 21 Gambar Class ClientClass ... 62

Gambar 3. 22 Gambar Class Card ... 62

Gambar 3. 23 Gambar Class Room ... 63

Gambar 3. 24 Gambar Class Deck ... 63

Gambar 3. 25 Gambar Class ObjectServer ... 64

Gambar 3. 26 Gambar Class GamePlay ... 66


(8)

xiii

Gambar 3. 28 Gambar Class UserDetail ... 67

Gambar 3. 29 Gambar Class Card ... 67

Gambar 3. 30 Gambar Class Deck ... 68

Gambar 3. 31 Gambar Layout Halaman Awal ... 69

Gambar 3. 32 Gambar Layout Halaman Login ... 70

Gambar 3. 33 Gambar Layout Halaman Lobby ... 71

Gambar 3. 34 Gambar Layout Halaman Register ... 72

Gambar 3. 35 Gambar Layout Meja ... 73

Gambar 3. 36 Gambar Layout Halaman Char ... 74

Gambar 3. 37 Gambar Layout Halaman Char ... 75

Gambar 3. 38 Gambar Layout Halaman Server Process ... 76

Gambar 3. 39 Gambar Layout Halaman User ... 77

Gambar 3. 40 Gambar Layout Halaman Char ... 77

Gambar 3. 41 Gambar Layout Form Edit dan Add User ... 78

Gambar 3. 42 Gambar Layout Form Edit Char ... 78

Gambar 4. 1 Tampilan Awal ... 111

Gambar 4. 2 Tampilan Login ... 112

Gambar 4. 3 Tampilan Register ... 112

Gambar 4. 4 Tampilan Lobby ... 113

Gambar 4. 5 Tampilan Room ... 114

Gambar 4. 6 Tampilan Private Chat ... 114

Gambar 4. 7 Tampilan UserDetails ... 115

Gambar 4. 8 Tampilan Server Process... 115

Gambar 4. 9 Tampilan User ... 116

Gambar 4. 10 Tampilan Char ... 117

Gambar 4. 11 Tampilan Add User ... 117

Gambar 4. 12 Tampilan Edit User ... 118


(9)

xiv

DAFTAR TABEL

Tabel 2. 1 Tabel Istilah Flash ... 15

Tabel 2. 2 Tabel Komponen Diagram ER ... 21

Tabel 2. 3 Tabel Use Case ... 26

Tabel 2. 4 Tabel Activity Diagram ... 27

Tabel 2. 5 Tabel Class Diagram ... 28

Tabel 3. 1 Tabel Data ... 39

Tabel 3. 2 Tabel User ... 42

Tabel 3. 3 Tabel Char ... 42

Tabel 5. 1 Tabel Pengujian Aplikasi Server ... 119

Tabel 5. 2 Tabel Pengujian Encrypt ... 121

Tabel 5. 3 Tabel Pengujian Decrypt ... 122

Tabel 5. 4 Tabel Pengujian ExtractData ... 122

Tabel 5. 5 Tabel Pengujian HandleConnection ... 123

Tabel 5. 6 Tabel Pengujian Login... 125

Tabel 5. 7 Tabel Pengujian ByteArrayToString ... 125

Tabel 5. 8 Tabel Pengujian StringToByteArray ... 126

Tabel 5. 9 Tabel Pengujian LakukanQuery... 126

Tabel 5. 10 Tabel Pengujian MasukRoom ... 127

Tabel 5. 11 Tabel Pengujian GetChar ... 127

Tabel 5. 12 Tabel Pengujian KirimDaftarKartu... 128

Tabel 5. 13 Tabel Pengujian UpdateRoom ... 128

Tabel 5. 14 Tabel Pengujian Room ... 129

Tabel 5. 15 Tabel Pengujian KirimDaftarClient ... 129

Tabel 5. 16 Tabel Pengujian TambahAnggota ... 130

Tabel 5. 17 Tabel Pengujian HapusAnggota ... 130

Tabel 5. 18 Tabel Pengujian KirimMessage ... 131

Tabel 5. 19 Tabel Pengujian CheckAnggotaReady ... 131

Tabel 5. 20 Tabel Pengujian CheckAnggotaLanjutDenganAI ... 132

Tabel 5. 21 Tabel Pengujian KirimGiliranPemianBerikutnya ... 133


(10)

xv

Tabel 5. 23 Tabel Pengujian AddDeck ... 134

Tabel 5. 24 Tabel Pengujian MencariSiapaYangMenang ... 135

Tabel 5. 25 Tabel Pengujian CariBesarKemenanganKekalahan ... 135

Tabel 5. 26 Tabel Pengujian HitungMenangKalah ... 136

Tabel 5. 27 Tabel Pengujian AturUrutanRangking ... 137

Tabel 5. 28 Tabel Pengujian PlayGame ... 138

Tabel 5. 29 Tabel Pengujian DoPrivateChat ... 138

Tabel 5. 30 Tabel Pengujian DoChat ... 139

Tabel 5. 31 Tabel Pengujian AturUrutanKursi ... 139

Tabel 5. 32 Tabel Pengujian AturKartuModalMenggunakanJokerBento ... 140

Tabel 5. 33 Tabel Pengujian AturStateKalah ... 141

Tabel 5. 34 Tabel Pengujian AturValueKartuJoker ... 141

Tabel 5. 35 Tabel Pengujian CariCalonPok ... 142

Tabel 5. 36 Tabel Pengujian PilahKartu ... 142

Tabel 5. 37 Tabel Pengujian PilihKartu ... 143

Tabel 5. 38 Tabel Pengujian SisipKartuJoker ... 144

Tabel 5. 39 Tabel Pengujian FungsiKelayakan ... 144

Tabel 5. 40 Tabel Pengujian FungsiObjektif... 145

Tabel 5. 41 Tabel Pengujian FungsiSeleksi ... 146

Tabel 5. 42 Tabel Pengujian CariKartuPok ... 147

Tabel 5. 43 Tabel Pengujian CariKartuSeri ... 148

Tabel 5. 44 Tabel Pengujian AturNilaiKartu ... 148

Tabel 5. 45 Taberl Pengujian AturKartuHighAndLow ... 150

Tabel 5. 46 Tabel Pengujian Aplikasi Client ... 150

Tabel 5. 47 Tabel Pengujian Encrypt ... 153

Tabel 5. 48 Tabel Pengujian Decrypt ... 153

Tabel 5. 49 Tabel Pengujian GetData ... 154

Tabel 5. 50 Tabel Pengujian AturGiliranPemain ... 155

Tabel 5. 51 Tabel Pengujian StartTimer ... 156

Tabel 5. 52 Tabel Pengujian MemasukkanUpdateState ... 157


(11)

xvi

Tabel 5. 54 Tabel Pengujian AturPosisiPemainLain ... 158

Tabel 5. 55 Tabel Pengujian KirimChat ... 159

Tabel 5. 56 Tabel Pengujian ProsesUser ... 159

Tabel 5. 57 Tabel Pengujian PrivateChatDanDetail... 160

Tabel 5. 58 Tabel Pengujian ReadyMain ... 160

Tabel 5. 59 Tabel Pengujian Update ... 161

Tabel 5. 60 Tabel Pengujian ProsesKartu ... 161

Tabel 5. 61 Tabel Pengujian CheckMaxMinPilihan ... 162

Tabel 5. 62 Tabel Pengujian MasukkanKartu... 162

Tabel 5. 63 Tabel Pengujian KartuDeckKlik ... 163

Tabel 5. 64 Tabel Pengujian KartuPokKlik ... 164

Tabel 5. 65 Tabel Pengujian DealCards ... 164

Tabel 5. 66 Tabel Pengujian ApakahBentrokDenganPok ... 165

Tabel 5. 67 Tabel Pengujian SetKartuJokerPadaKartuModal ... 165

Tabel 5. 68 Tabel Pengujian UbahKartuJokerBentoMenjadiKartuSesuai... 166

Tabel 5. 69 Tabel Pengujian HandleKartuSeri... 166

Tabel 5. 70 Tabel Pengujian HandleKartuPok ... 167

Tabel 5. 71 Tabel Pengujian ApakahPilihanMengandungJoker ... 168

Tabel 5. 72 Pengujian ApakahPilihanMengandungAS... 168

Tabel 5. 73 Tabel Pengujian SetNilaiKartuAS ... 169

Tabel 5. 74 Tabel Pengujian MasukkanKeDeck ... 169

Tabel 5. 75 Tabel Pengujian MasukkanKePok ... 170

Tabel 5. 76 Tabel Pengujian HapusSemua ... 170

Tabel 5. 77 Tabel Pengujian SetPemainKalah ... 171

Tabel 5. 78 Tabel Pengujian ProsesTimer ... 171

Tabel 5. 79 Tabel Pengujian KirimJenisKemenangan ... 172

Tabel 5. 80 Tabel Pengujian isContains ... 173

Tabel 5. 81 Tabel Pengujian AturNilaiKartu ... 173

Tabel 5. 82 Tabel Pengujian AturKartuHighAndLow ... 175

Tabel 5. 83 Tabel Pengujian MulaiDrag ... 175


(12)

xvii

Tabel 5. 85 Tabel Pengujian LihatUserDetails ... 177 Tabel 5. 86 Tabel Pengujian DoPrivateChat ... 177 Tabel 5. 87 Tabel Pengujian AddImage ... 178


(13)

1

BAB I

PENDAHULUAN

1.1. Latar Belakang Masalah

Perkembangan game di dunia semakin pesat, tidak terkecuali di Indonesia. Game saat ini sudah menjadi alternatif hiburan bagi tua, muda, pria maupun wanita. Industri dan bisnis game juga sudah menjadi suatu hal yang menjanjikan, terbukti dengan banyaknya perusahaan pengembang game di Amerika, Eropa dan Asia.

Perkembangan game meliputi banyak aspek, mulai dari genre game tersebut seperti Role Playing Game(RPG), First Person Shot (FPS), dan game kartu. Jenis dari game tersebut juga berbagai jenis, yaitu game konsol, Local Area Network (LAN) dan online.

Game online dengan genre game kartu menjadi pilihan karena game kartu merupakan permainan yang membutuhkan perhitungan dan strategi tertentu untuk memenangkan permainan sehingga lebih menantang untuk dimainkan. Game online dengan genre game kartu ini juga menjadi pilihan karena dapat dimainkan oleh beberapa user sekaligus dalam suatu jaringan. Game online sangat populer karena banyak alasan yang diantaranya alasan kenyamanan dan ruang. Alasan kenyamanan dan ruang misalnya, user tidak perlu berebut pandangan dalam satu layar komputer karena para pemain menggunakan komputer yang berbeda, user juga dapat merancang strategi permainannya sendiri. Kepopuleran game online sangat tinggi sekarang ini karena bisa memberikan kenyamanan dan hiburan bagi para pemainnya. Hal tersebut merupakan alasan di buatnya game Leng ini, yaitu untuk memberikan suatu hiburan kepada penggunanya agar dapat menghilangkan penat dari rutinitas sehari-hari.

Permainan leng secara tradisional sekarang ini dimainkan dengan menggunakan kartu remi, namun yang menjadi permasalahan adalah penyusunan kartu yang cenderung berantakan yang sering menjadi hambatan dalam permainan ini. Hambatan tersebut misalnya sulitnya melihat kartu yang disusun secara acak dan berantakan, sulitnya meletakkan kartu yang cenderung membutuhkan ruang yang luas.


(14)

2

Permasalahan yang dihadapi pada permainan leng secara tradisional itu, maka dirasa perlu dikembangkan suatu aplikasi game yang bisa memberikan solusi terhadap masalah yang dihadapi. Penyelesaian masalah yang dihadapi dalam permainan Leng tradisional tersebut tentu saja tetap harus memberikan suatu hiburan yang menarik bagi penggunannya.

1.2. Rumusan Masalah

Berdasarkan latar belakang masalah yang telah dikemukakan di atas, maka rumusan masalah pada pembuatan aplikasi game “Leng” ini adalah sebagai berikut:

1. Pembuktian konsep TCP Handshaking sehingga client dan server dapat berkomunikasi.

2. Bagaimana cara server bisa mengatur koneksi dengan multi client sehingga client dapat bermain secara online dengan client lain yang terhubung dengan server?

3. Bagaimana pengaturan pertukaran data antara server dan client sehingga permainan leng secara online dapat berjalan?

4. Bagaimana membuat fungsi manajemen, untuk dapat membuat user baru

atau menghapus user yang ada?

5. Bagaimana mengimplementasikan algoritma greedy sebagai kecerdasan buatan untuk menggantikan peran pemain?

1.3. Tujuan Pembahasan

Tujuan pembuatan aplikasi ini adalah untuk membuat aplikasi yang

memungkinkan pengguna memainkan permainan Leng secara online dengan

pemain lain ataupun bermain melawan komputer yang menggunakan algoritma greedy, dan bisa memberikan hiburan bagi pengguna.

1.4. Batasan Masalah

Ruang lingkup pada aplikasi ini antara lain:

1. Aplikasi game maksimal dimainkan 5 orang dan minimal 4 orang dalam satu meja.

2. Koneksi pada sistem menggunakan tipe koneksi TCP/IP (TCP). 3. Hanya terdapat 10 room.


(15)

3 1.5. Sistematika Pembahasan

Sistematika penulisan laporan tugas akhir ini adalah sebagai berikut: Bab I Pendahuluan

Bab ini meliputi latar belakang masalah, rumusan masalah, tujuan pembahasan, ruang lingkup kajian, batasan masalah, dan sistematika penulisan laporan aplikasi yang akan dibuat.

Bab II Dasar Teori

Bab ini akan menguraikan dasar teori yang berkaitan dengan aturan permainan, Actionscript, Adobe Flash, Adobe Flex, UML, AI (Artificial Intelligence), Algoritma Greedy, Protocol TCP/IP, RSA encryption, AES encryption.

.

Bab III Analisa dan Pemodelan

Bab ini berisi algoritma dan desain aplikasi yang akan dibuat. Mulai dari arsitektur server, client, database, layout tampilan aplikasi dan creative strategy.

Bab IV Perancangan dan Implementasi

Dalam bab ini dijelaskan implementasi aplikasi yang dibuat.

Bab V Pengujian

Dalam bab ini akan dijelaskan proses dan hasil pengujian dari aplikasi serta analisisnya.

Bab VI Kesimpulan dan Saran

Bab ini berisi kesimpulan yang dapat diambil dari pembuatan aplikasi ini dan saran-saran yang dapat diberikan untuk optimalisasi teknologi dari aplikasi yang sudah diimplementasikan.


(16)

162

BAB VI

KESIMPULAN DAN SARAN

6.1.Kesimpulan

Berdasarkan hasil pengamatan dalam melakukan analisis dan perancangan sistem, maka dapat ditarik kesimpulan sebagai berikut:

1. Algoritma Greedy pada permainan leng dapat memberikan hasil yang baik jika kondisi kartu dalam keadaan ideal. Kondisi ideal disini adalah kondisi saat kartu yang dibagikan kepada pemain hanya memiliki sedikit kartu tunggal.

2. Algoritma Greedy yang diterapkan pada permainan leng ini kurang optimal karena banyaknya faktor yang berpengaruh pada permainan leng ini seperti pemain lain yang menahan kartu, kemungkinan kartu yang berubah-ubah.

3. Melalui pengaturan proses threading dengan menggunakan perintah sleep, pengiriman data dan penerimaan data pada socket yang memungkinkan delay dapat teratasi.

4. Melalui pengaturan posisi deck yang berbeda antara kartu seri dan kartu pok memungkinkan pemain lebih mudah untuk melihat kartu yang telah dikeluarkan sehingga memudahkan pemain untuk menentukan kartu yang berikutnya akan dikeluarkan.

5. Teori mengenai koneksi Socket dengan protocol TCP bisa terjadi hanya jika listener membuka jalur koneksi, lalu client meminta koneksi dan listener menerima koneksi yang dilakukan client terbukti.

6. Pengiriman data dengan socket menggunakan protocol TCP data yang dikirim pasti berurutan sampai ke tujuan terbukti benar.

6.2.Saran

1. Untuk Pengembangan lebih lanjut, implementasi jaringan sebaiknya dipikirkan dengan matang karena pada proses pembuatan aplikasi ini menitik beratkan kepada proses pertukaran data antara server dan client. 2. Pengembangan fitur tambahan yang lebih menarik pengunjung, misalnya

dengan menyediakan fitur web cam sehingga interaksi lebih baik antar pemain.


(17)

xv

DAFTAR PUSTAKA

Blum, Richard (2003). C-Sharp Network Progamming.

Dalmau, Daniel Sanchez-Crespo. (2003). Core Techniques and Algorithm in Game Programming. Sams Publishing.

Hartanto, Budi (2009). Membuat Progam-program keren dengan Viusal C#.Net secara mudah. Yogyakarta: C.v Andi Offset.

Henderi. (2009).Modeling With UML.

Madcoms, (2009). Panduan Lengkap Adobe Flash CS4 Professional. Paar Christof, Pelzl Jan, Preenel Bart. (2010). Understanding Cryptography. PC-Media, 2008, Pemrograman Socket Jaringan. Diakses tanggal 3 Februari 2011 dari cms.sip.co.id/pcmedia/detail.asp-Id=2159&Cid=22&Eid=54.htm

Pengantar Basis Data. (2005). Maranatha Christian University, Bandung.

Petra, 2005, Prototipe Game Multiplayer Online. Diakses pada tanggal 11 Maret 2011 dari www.digilib.petra.ac.id/jiunkpe/s1/info/2005/jiunkpe-ns-s1-2005-26400192-4891-multiplayer-chapter2.pdf

Raharja, 2009, Sistem Informasi Penilaian Dengan Konsep Business Intelligence.

Diakses pada tanggal 11 Maret 2011 dari

http://www.pribadiraharja.com/neli/SKRIPSI/Lampiran/ DAFTAR_SIMBOL.doc.

Rinaldi Munir, 2005. Strategi Algoritmik.

Rosenzweig, Gary (2009). Actionscript 3.0 Game programming University. Sedgewick Robert, Addison-Wesley. 1984. Algorithm.

Susilo, Budi (2010). Mahir Pemrograman Web dengan Adobe Flex.

Whitten, Jeffry L. et al. 2004. System Analysis and Design Methods. Fifth Edition. New York : Mc Graw-Hill.


(1)

Tabel 5. 85 Tabel Pengujian LihatUserDetails ... 177 Tabel 5. 86 Tabel Pengujian DoPrivateChat ... 177 Tabel 5. 87 Tabel Pengujian AddImage ... 178


(2)

BAB I

PENDAHULUAN

1.1. Latar Belakang Masalah

Perkembangan game di dunia semakin pesat, tidak terkecuali di Indonesia.

Game saat ini sudah menjadi alternatif hiburan bagi tua, muda, pria maupun wanita. Industri dan bisnis game juga sudah menjadi suatu hal yang menjanjikan, terbukti dengan banyaknya perusahaan pengembang game di Amerika, Eropa dan Asia.

Perkembangan game meliputi banyak aspek, mulai dari genre game

tersebut seperti Role Playing Game(RPG), First Person Shot (FPS), dan game

kartu. Jenis dari game tersebut juga berbagai jenis, yaitu game konsol, Local Area Network (LAN) dan online.

Game online dengan genre game kartu menjadi pilihan karena game kartu merupakan permainan yang membutuhkan perhitungan dan strategi tertentu untuk memenangkan permainan sehingga lebih menantang untuk dimainkan.

Game online dengan genre game kartu ini juga menjadi pilihan karena dapat dimainkan oleh beberapa user sekaligus dalam suatu jaringan. Game online

sangat populer karena banyak alasan yang diantaranya alasan kenyamanan dan ruang. Alasan kenyamanan dan ruang misalnya, user tidak perlu berebut pandangan dalam satu layar komputer karena para pemain menggunakan komputer yang berbeda, user juga dapat merancang strategi permainannya sendiri. Kepopuleran game online sangat tinggi sekarang ini karena bisa memberikan kenyamanan dan hiburan bagi para pemainnya. Hal tersebut merupakan alasan di buatnya game Leng ini, yaitu untuk memberikan suatu hiburan kepada penggunanya agar dapat menghilangkan penat dari rutinitas sehari-hari.

Permainan leng secara tradisional sekarang ini dimainkan dengan menggunakan kartu remi, namun yang menjadi permasalahan adalah penyusunan kartu yang cenderung berantakan yang sering menjadi hambatan dalam permainan ini. Hambatan tersebut misalnya sulitnya melihat kartu yang disusun secara acak dan berantakan, sulitnya meletakkan kartu yang cenderung membutuhkan ruang yang luas.


(3)

Permasalahan yang dihadapi pada permainan leng secara tradisional itu, maka dirasa perlu dikembangkan suatu aplikasi game yang bisa memberikan solusi terhadap masalah yang dihadapi. Penyelesaian masalah yang dihadapi dalam permainan Leng tradisional tersebut tentu saja tetap harus memberikan suatu hiburan yang menarik bagi penggunannya.

1.2. Rumusan Masalah

Berdasarkan latar belakang masalah yang telah dikemukakan di atas,

maka rumusan masalah pada pembuatan aplikasi game “Leng” ini adalah

sebagai berikut:

1. Pembuktian konsep TCP Handshaking sehingga client dan server dapat berkomunikasi.

2. Bagaimana cara server bisa mengatur koneksi dengan multi client

sehingga client dapat bermain secara online dengan client lain yang terhubung dengan server?

3. Bagaimana pengaturan pertukaran data antara server dan client sehingga permainan leng secara online dapat berjalan?

4. Bagaimana membuat fungsi manajemen, untuk dapat membuat user baru atau menghapus user yang ada?

5. Bagaimana mengimplementasikan algoritma greedy sebagai kecerdasan buatan untuk menggantikan peran pemain?

1.3. Tujuan Pembahasan

Tujuan pembuatan aplikasi ini adalah untuk membuat aplikasi yang memungkinkan pengguna memainkan permainan Leng secara online dengan pemain lain ataupun bermain melawan komputer yang menggunakan algoritma

greedy, dan bisa memberikan hiburan bagi pengguna.

1.4. Batasan Masalah

Ruang lingkup pada aplikasi ini antara lain:

1. Aplikasi game maksimal dimainkan 5 orang dan minimal 4 orang dalam satu meja.

2. Koneksi pada sistem menggunakan tipe koneksi TCP/IP (TCP). 3. Hanya terdapat 10 room.


(4)

1.5. Sistematika Pembahasan

Sistematika penulisan laporan tugas akhir ini adalah sebagai berikut: Bab I Pendahuluan

Bab ini meliputi latar belakang masalah, rumusan masalah, tujuan pembahasan, ruang lingkup kajian, batasan masalah, dan sistematika penulisan laporan aplikasi yang akan dibuat.

Bab II Dasar Teori

Bab ini akan menguraikan dasar teori yang berkaitan dengan aturan permainan, Actionscript, Adobe Flash, Adobe Flex, UML, AI (Artificial Intelligence), Algoritma Greedy, Protocol TCP/IP, RSA encryption, AES

encryption.

.

Bab III Analisa dan Pemodelan

Bab ini berisi algoritma dan desain aplikasi yang akan dibuat. Mulai dari arsitektur server, client, database, layout tampilan aplikasi dan creative strategy.

Bab IV Perancangan dan Implementasi

Dalam bab ini dijelaskan implementasi aplikasi yang dibuat.

Bab V Pengujian

Dalam bab ini akan dijelaskan proses dan hasil pengujian dari aplikasi serta analisisnya.

Bab VI Kesimpulan dan Saran

Bab ini berisi kesimpulan yang dapat diambil dari pembuatan aplikasi ini dan saran-saran yang dapat diberikan untuk optimalisasi teknologi dari aplikasi yang sudah diimplementasikan.


(5)

BAB VI

KESIMPULAN DAN SARAN

6.1. Kesimpulan

Berdasarkan hasil pengamatan dalam melakukan analisis dan perancangan sistem, maka dapat ditarik kesimpulan sebagai berikut:

1. Algoritma Greedy pada permainan leng dapat memberikan hasil yang baik jika kondisi kartu dalam keadaan ideal. Kondisi ideal disini adalah kondisi saat kartu yang dibagikan kepada pemain hanya memiliki sedikit kartu tunggal.

2. Algoritma Greedy yang diterapkan pada permainan leng ini kurang optimal karena banyaknya faktor yang berpengaruh pada permainan leng ini seperti pemain lain yang menahan kartu, kemungkinan kartu yang berubah-ubah.

3. Melalui pengaturan proses threading dengan menggunakan perintah

sleep, pengiriman data dan penerimaan data pada socket yang memungkinkan delay dapat teratasi.

4. Melalui pengaturan posisi deck yang berbeda antara kartu seri dan kartu pok memungkinkan pemain lebih mudah untuk melihat kartu yang telah dikeluarkan sehingga memudahkan pemain untuk menentukan kartu yang berikutnya akan dikeluarkan.

5. Teori mengenai koneksi Socket dengan protocol TCP bisa terjadi hanya jika listener membuka jalur koneksi, lalu client meminta koneksi dan listener menerima koneksi yang dilakukan client terbukti.

6. Pengiriman data dengan socket menggunakan protocol TCP data yang dikirim pasti berurutan sampai ke tujuan terbukti benar.

6.2. Saran

1. Untuk Pengembangan lebih lanjut, implementasi jaringan sebaiknya dipikirkan dengan matang karena pada proses pembuatan aplikasi ini menitik beratkan kepada proses pertukaran data antara server dan client. 2. Pengembangan fitur tambahan yang lebih menarik pengunjung, misalnya


(6)

DAFTAR PUSTAKA

Blum, Richard (2003). C-Sharp Network Progamming.

Dalmau, Daniel Sanchez-Crespo. (2003). Core Techniques and Algorithm in Game Programming. Sams Publishing.

Hartanto, Budi (2009). Membuat Progam-program keren dengan Viusal C#.Net secara mudah. Yogyakarta: C.v Andi Offset.

Henderi. (2009).Modeling With UML.

Madcoms, (2009). Panduan Lengkap Adobe Flash CS4 Professional. Paar Christof, Pelzl Jan, Preenel Bart. (2010). Understanding Cryptography. PC-Media, 2008, Pemrograman Socket Jaringan. Diakses tanggal 3 Februari 2011 dari cms.sip.co.id/pcmedia/detail.asp-Id=2159&Cid=22&Eid=54.htm

Pengantar Basis Data. (2005). Maranatha Christian University, Bandung.

Petra, 2005, Prototipe Game Multiplayer Online. Diakses pada tanggal 11 Maret 2011 dari www.digilib.petra.ac.id/jiunkpe/s1/info/2005/jiunkpe-ns-s1-2005-26400192-4891-multiplayer-chapter2.pdf

Raharja, 2009, Sistem Informasi Penilaian Dengan Konsep Business Intelligence.

Diakses pada tanggal 11 Maret 2011 dari

http://www.pribadiraharja.com/neli/SKRIPSI/Lampiran/ DAFTAR_SIMBOL.doc.

Rinaldi Munir, 2005. Strategi Algoritmik.

Rosenzweig, Gary (2009). Actionscript 3.0 Game programming University. Sedgewick Robert, Addison-Wesley. 1984. Algorithm.

Susilo, Budi (2010). Mahir Pemrograman Web dengan Adobe Flex.

Whitten, Jeffry L. et al. 2004. System Analysis and Design Methods. Fifth Edition. New York : Mc Graw-Hill.