• Tidak ada hasil yang ditemukan

PERANCANGAN PERANGKAT LUNAK PERMAINAN HALMA 2D MULTIPLAYER BERBASIS APLIKASI DESKTOP).

N/A
N/A
Protected

Academic year: 2017

Membagikan "PERANCANGAN PERANGKAT LUNAK PERMAINAN HALMA 2D MULTIPLAYER BERBASIS APLIKASI DESKTOP)."

Copied!
86
0
0

Teks penuh

(1)

PERANCANGAN PERANGKAT LUNAK PERMAINAN

HALMA 2D MULTIPLAYER BERBASIS APLIKASI

DESKTOP

TUGAS AKHIR

Disusun Oleh :

YUDI HENDRADINATA

NPM. 0534010161

J URUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR S U R A B A Y A

(2)

Judul : PERANCANGAN PERANGKAT LUNAK GAME HALMA 2D MULTI memungkinkan dapat dimainkan secara multiplayer pada suatu jaringan komputer. Permainan ini biasanya membutuhkan lebih dari satu unit komputer yang terhubung dalam Local Area Network ( LAN ). Halma merupakan salah satu jenis permainan yang cukup digemari oleh masyarakat umum. Permainan ini terdiri dari minimum 2 orang pemain dan Maksimum 3 orang pemain yang masing - masing pemain diwakili oleh sebuah warna, yaitu, biru, kuning, dan merah.

Permasalahannya adalah bagaimana bermain Halma di tempat yang berlainan

tempat dalam suatu jaringan lokal. Ruang lingkup permasalahan dalam merancang perangkat lunak permainan Halma multiplayer ini yaitu, bagaimana mencari dan menampilkan langkah-langkah terpendek untuk menjalankan biji halma tersebut

Dari perancangan dan pengujian aplikasi perangkat lunak permainan Halma yang telah dilakukan, perangkat lunak ini dapat dimainkan di dalam suatu sistem jaringan komputer tanpa berhadapan fisik antar sesama pemain. Sehingga dapat disimpulkan Perangkat lunak dapat dikembangkan untuk personal computer (PC) dengan menerapkan konsep Artificial Intelligence (AI) pada komputer dengan database history sehingga dapat menghitung total langkah yang dibutuhkan pemain untuk mencapai sebuah kemenangan.

(3)

ii

KATA PENGANTAR

Dengan nama Allah SWT Yang Maha Pengasih dan Maha Penyayang. Segala puji bagi Allah SWT karena atas rahmat dan hidayahNya-lah penulis dapat menyelesaikan Tugas Akhir yang berjudul “Per ancangan Perangka t Lunak Per mainan Halma 2d MultiPlayer Ber basis Aplikasi Desktop”. Shalawat dan salam atas junjungan kita Nabi besar Muhammad S.A.W. beserta keluarga dan para sahabat sekalian. Tugas Akhir ini disusun untuk memenuhi sebagian persyaratan memperoleh gelar Sarjana Teknik di Jurusan Teknik Informatika Program Studi Teknik Informatik Fakultas Teknik Industri Universitas Pembangunan Nasional Surabaya Jawa Timur.

Melalui kesempatan ini, penulis ingin menyampaikan rasa hormat dan terima kasih penulis yang sebesar-besarnya kepada semua pihak yang telah memberikan bantuan bantuan baik lahir maupun batin selama penulisan tugas akhir ini. Oleh karena itu, pada kesempatan ini penulis ingin menyampaikan rasa hormat dan terima kasih penulis kepada :

1. Kedua Orang Tua penulis (Juhriansyah dan Siti Rahmah) dan Nenek Nung tercinta serta seluruh keluarga yang senantiasa tiada henti hentinya memberikan do’a demi terselesaikannya tugas akhir ini.

2. Bapak Ir. Sutiyono, MS selaku dekan FTI, UPN “Veteran”Jawa Timur. 3. Bapak Basuki Rahmat, S.Si., MT selaku ketua jurusan Teknik Informatika,

(4)

4. Chrystia Aji Putra, S.Kom selaku dosen pembimbing 2 tugas akhir penulis. 5. Seluruh Dosen Teknik Informatika Upn atas kesediaan membagi ilmunya

kepada penulis.

6. Teman-temanku seperjuangan dan sependeritaan terima kasih atas segala bantuannya selama menjadi mahasiswa.

7. Semua pihak yang tidak dapat penulis sebutkan satu per satu yang terlibat baik secara langsung maupun tidak langsung demi terselesaikannya tugas akhir ini.

Hanya doa yang bisa penulis berikan semoga Allah SWT memberikan pahala serta balasan kebaikan yang berlipat ganda. Penulis menyadari bahwa tugas akhir ini masih banyak kekurangan dan masih jauh dari sempurna. Untuk itu, saran dan kritik yang membangun sangat penulis harapkan. Semoga tugas akhir ini membawa manfaat bagi penyusun maupun pihak lain yang menggunakannya.

Surabaya, Oktober 2011

(5)

iv

1.4. Tujuan dan Manfaat Penulisan ... 3

1.5. Metodologi Penyelesaian Masalah ... 3

1.6. Metodologi Penelitian ... 4

1.7. Sistematika Penulisan ... 5

BAB II LANDASAN TEORI ... 2.1. Pengertian Perancangan Perangkat Lunak ... 7

2.2. Sejarah Perkembangan Game (Permainan) ... 20

2.3. Pengertian Game (Permainan) ... 22

2.4. Sejarah Halma ... 24

2.5. Jaringan Komputer ... 25

2.4.1. Sejarah Jaringan Komputer ... 25

2.4.2. Definisi Jaringan Komputer ... 26

(6)

2.6. Depth First Search ... 3

2.6.1. Penerapan DFS Dalam Permainan Halma ... 36

2.7. Pengertian Aplikasi Berbasis Desktop ... 36

BAB III PERANCANGAN SISTEM ... 3.1. Perancangan Sistem ... 38

3.1.1. Perancangan Gambar Papan Permainan Halma ... 38

3.1.2. Algoritma dan Flowchart Perancangan Perangkat Lunak ... 39

BAB IV IMPLEMENTASI SISTEM ... 4.1. Spesifikasi Kebutuhan Sistem ... 51

4.2. Analisis Initialisasi Gambar Papan Halma ... 52

4.3. Analisis Pengaturan Koneksi ... 53

4.4. Analisis Pengesetan Board Halma ... 54

4.5. Analisis Pengecekan Langkah – Langkah Yang Dapat Dijalankan Oleh Biji ... 55

4.6. Analisis Pencarian Langkah Terpendek ... 58

4.7. Analisis Pengecekan Pemenang... 59

4.8. Aturan Permainan Halma ... 59

4.9. Form Pengaturan Koneksi Jaringan ... 63

(7)

vi

BAB VI PENUTUP ... 6.1 Kesimpulan ... 75 6.2 Saran ... 75

DAFTAR PUSTAKA

(8)

DAFTAR GAMBAR

Gambar 2.1 Gambar Game Counter Strike ... 12

Gambar 2.2 Game Spy Hunter ... 13

Gambar 2.3 Game Raiden ... 13

Gambar 2.4 Game Final Fight ... 14

Gambar 2.5 Game Virtual Cop ... 14

Gambar 2.6 Game Tekken ... 14

Gambar 2.7 Komponen Utama Dalam Jaringan Komputer ... 28

Gambar 2.8 Diagram skematik dari dua aplikasi pada wireless LAN ... 32

Gambar 2.9 Jaringan Peer To Peer ... 33

Gambar 2.10 Pohon Pencarian Depth First Search ... 35

Gambar 3.1 Rancangan Gambar Papan Halma ... 39

Gambar 3.2 Flowchart pengaturan koneksi antar pemain ... 44

Gambar 3.3 Flowchart pengesetan posisi biji kuning ... 45

Gambar 3.4 Flowchart pengesetan posisi biji merah ... 46

Gambar 3.5 Flowchart pengesetan posisi biji biru ... 47

Gambar 3.6 Flowchart pengecekan langkah terpendek ... 48

Gambar 3.7 Flowchart pengecekan jalan ... 49

Gambar 3.8 Flowchart pengecekan pemenang ... 50

Gambar 4.1 Penomoran dan Pemetaan Papan Permainan Halma ... 53

Gambar 4.2 Contoh keadaan posisi biji-biji pada papan permainan halma ... 56

Gambar 4.3 Contoh posisi tujuan dari biji pada papan permainan halma ... 58

Gambar 4.4 Rancangan Form Pengaturan Koneksi Jaringan ... 63

Gambar 4.5 Rancangan Form Setting Permainan... 64

Gambar 4.6 Rancangan Form Permainan Halma ... 65

Gambar 5.1 Tampilan Utama Permainan Halma ... 69

Gambar 5.2 Tampilan Konfirmasi “Mulai Permainan” ... 69

(9)

viii

3 pemain ... 70

Gambar 5.5 Tampilan Pengaturan Permainan (Jaringan) sebagai client ... 71

Gambar 5.6 Tampilan board Halma untuk 2 pemain ... 72

Gambar 5.7 Tampilan board Halma untuk 3 pemain ... 72

Gambar 5.8 Tampilan Langkah – Langkah Yang Dapat Diambil Oleh Biji Yang Ditandai “Persegi” ... 73

(10)

BAB I

PENDAHULUAN

1.1 Latar Belakang

Permainan halma adalah permainan yang dimainkan dalam suatu daerah yang berbentuk bintang berkaki enam yang dimainkan oleh 3 pemain sekaligus dengan diwakili oleh 3 macam warna, yaitu warna merah, kuning dan biru. Setiap pemain memiliki 15 buah biji berwarna. Sasaran dari permainan ini adalah memindahkan semua biji berwarna tersebut dari tempat (daerah) asal ke tempat (daerah) tujuan di seberang. (Wibowo, 2009. Diakses 30 Oktober 2011).

Dua hal yang membuat Halma unik, yaitu Jumlah potongan yang digunakan di awal tergantung pada jumlah pemain dan lembar melonjak tidak pernah ditangkap atau dihapus dari papan.

(11)

Akhir – akhir ini, banyak muncul perangkat lunak permainan komputer yang menyediakan fasilitas untuk dapat bermain dalam suatu jaringan komputer (network). Fasilitas ini memungkinkan permainan dapat dimainkan oleh beberapa orang sekaligus dengan menggunakan beberapa buah komputer yang terhubung dalam Local Area Network (LAN).

Permainan Jaringan sering juga disebut permainan multiplayer, karena dapat dimainkan oleh beberapa user sekaligus dalam suatu jaringan (apakah itu jaringan lokal LAN atau jaringan internet). Permainan jaringan sangat populer karena alasan kenyamanan dan ruang (space). User tidak perlu berebut pandangan dalam satu monitor dengan user lain, user dapat merancang strategi permainan di depan komputernya sendiri, tidak terbatas oleh ruang (antar kamar, gedung bahkan antar negara). Permainan Jaringan yang sederhana dapat dibuat dengan menggunakan aplikasi Borland Delphi 7.0 dan menggunakan komponen ServerSocket dan ClinetSocket. (Abdullah, 2008. Diakses 30 Oktober 2011).

Berdasarkan uraian di atas, penulis bermaksud untuk merancang suatu perangkat lunak permainan Halma yang dapat dimainkan dalam suatu jaringan komputer (network).

1.2 Rumusan Masalah

(12)

1.3 Batasan Masalah

Karena keterbatasan waktu dan pengetahuan penulis, maka ruang lingkup permasalahan dalam merancang perangkat lunak ini antara lain :

a. Jenis permainan dari aplikasi ini adalah permainan Halma yang merupakan jenis permainan bergenre Puzzle.

b. Sistem perangkat lunak permainan hanya dapat dijalankan dengan langkah – langkah yang diperbolehkan.

c. Sistem perangkat lunak tidak menyediakan batasan waktu pada permainan halma.

d. Tidak ada tingkatan atau level yang disediakan oleh sistem perangkat lunak.

1.4 Tujuan dan Manfaat Penulisan

Tujuan penyusunan tugas akhir (skripsi) ini adalah untuk merancang suatu perangkat lunak permainan Halma multiplayer yang dapat dimainkan dalam suatu jaringan komputer (network) sebagai sarana hiburan dan adu ketangkasan bagi yang menggunakan.

Manfaat dari penyusunan tugas akhir (skripsi) ini yaitu, sebagai dasar bagi pengembangan permainan konvensional menjadi perangkat lunak permainan berbasis jaringan.

1.5 Metodologi Penyelesaian Masalah

(13)

a. Membaca dan mempelajari buku – buku website yang berhubungan dengan jaringan komputer.

b. Merancang interface untuk perangkat lunak permainan Halma. c. Mempelajari cara permainan Halma.

d. Membuat koneksi komputer pada LAN.

e. Merancang suatu perangkat lunak permainan Halma dengan menggunakan bahasa pemrograman Borland Delphi 7.0.

f. Implementasi perangkat lunak permainan Halma dalam jaringan.

1.6 Metodelogi Penelitian

Langkah – langkah dalam pengumpulan data sebagai dasar pembuatan tugas akhir ini sebagai berikut :

1.6.1 Studi Literatur

(14)

pengesetan papan halma, algoritma pencarian langkah terpendek, algoritma pengecekan jalan, algoritma penentu pemenang permainan halma.

1.6.4 Pembuatan Sistem

Pembuatan sistem dilakukan berdasarkan hasil analisa sistem yang telah diperoleh kemudian dirancang kedalam delphi 7.0 untuk membuat prangkat lunak permainan halma.

1.6.5 Uji coba dilakukan untuk mengetahui kelemahan dan kekurangan sebuah sistem yang telah dibuat sehingga dapat diperbaiki untuk menjadi sebuah sistem dan aplikasi yang layak digunakan.

1.6.6 Penulisan laporan ini mengambarkan pengerjaan tugas akhir mulai dari analisa sistem sampai tahap uji coba.

1.7 Sistematika Penulisan

Dalam penyusunan tugas akhir, sistematika pembahasan diatur dan disusun dalam enam bab, dan tiap-tiap bab terdiri dari sub-sub bab. Untuk memberikan gambaran yang lebih jelas, maka diuraikan secara singkat mengenai materi dari bab-bab dalam penulisan tugas akhir ini sebagai berikut:

BAB 1 : PENDAHULUAN

(15)

BAB II : LANDASAN TEORI

Bagian ini berisi teori – teori yang menunjang perancangan tugas akhir, yaitu mengenai system, definisi jaringan, definisi citra (gambar). BAB III : ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini membahas mengenai apa saja yang perlu dianalisa untuk kebutuhan sistem meliputi : kebutuhan data, kebutuhan proses, perancanangan sistem, analisa dan desain sistem yang telah dibuat sebelumnya dan kebutuhan hardware dan software.

BAB IV : IMPLEMENTASI SISTEM

Pada bab ini akan menjelaskan tentang implementasi dari analisa dan desain sistem yang telah dibuat sebelumnya.

BAB V : UJ ICOBA DAN ANALISA

pada bab ini dijelaskan mengenai uji coba dari program yang telah dibuat untuk mengetahui apakah program yang dibuat sudah sesuai dengan tujuan.

BAB VI : KESIMPULAN DAN SARAN

(16)

BAB II

LANDASAN TEORI

2.1 Penger tian Perancangan Per angkat Lunak

Perancangan perangkat lunak adalah disiplin manajerial dan teknis yang berkaitan dengan pembuatan dan pemeliharaan produk perangkat lunak secara sistematis, termasuk pengembangan dan modifikasinya, yang dilakukan pada waktu yang tepat dan dengan mempertimbangkan faktor biaya. Yang bertujuan untuk memperbaiki kualitas produk perangkat lunak, meningkatkan produktivitas, serta memuaskan teknisi perangkat lunak. ( Juarna, 2010. Diakses 28 Oktober 2011)

2.2 Sejar ah Per k embangan Game ( Per mainan )

Pada tahun 1952, seorang mahasiswa Universitas Cambridge bernama A.S. Gouglas membuat permainan OXO (tic-tac-toe) dalam versi grafik. Permainan ini ia kembangkan ketika hendak mendemonstrasikan tesisnya tentang interaksi antara manusia dan komputer. Pada tahun 1958 William Higin Botham mendesain sebuah game dengan judul Tennis For Two yang dimainkan dalam oscilloscope, dan kemudian ada pula Steve Russel pada tahun 1961 dengan game

berjudul Spacewar yang dibuat dalam komputer mainframe DEC PDP-1 saat mereka menjalani studi di MIT.

(17)

perusahaan Jepang bernama SEGA didirikan oleh orang Amerika. Magnavox yang memulai peran perusahaan ini telah berumur 1 abad, dan Nintendo sebagai perusahaan yang mempopulerkan kembali game juga sama tuanya, serta tidak ada yang pernah berpikir bahwa Sony yang merupakan perusahaan penemu banyak barang-barang elektronik mulai dari transistor radio hingga alat perekam video, akan membuat sebuah console yang menjadi produk dengan tingkat penjualan yang tinggi hingga saat ini.

a. Era sebelum munculnya game (1889 – 1970)

Era ini merupakan era paling awal dimana merupakan masa pertama kali tumbuhnya perusahaan-perusahaan game yang terkenal hingga saat ini dan mulai ditemukannya bentuk game yang pertama. Dimulai pada tahun 1889 dimana Fusajiro Yamauchi mendirikan Marufuku sebagai perusahaan yang memproduksi dan mendistribusikan Hanafuda, permainan kartu ala Jepang. Kemudian perusahaan ini mengganti nama menjadi The Nintendo Playing Card Company, di mana kata “Nintendo” berarti menyerahkan keberuntungan pada surga. Tahun 1954 seorang bernama David Rosen, melihat popularitas dari mesin permainan berbasis koin yang dilihatnya di markas Amerika di Jepang. Oleh karena itu ia mendirikan Service Games untuk mengeksport permainan ini ke Jepang.

Pada tahun 1960an Rosen memutuskan untuk membuat sendiri mesin permainan berbasis koin miliknya dan akhirnya membeli Tokyo Jukebox and Slot-machine Company. Nama SEGA yang merupakan singkatan dari kata service games akhirnya diadopsi menjadi nama perusahaannya. Sekitar tahun 1960an

(18)

yang dikembangkan oleh beberapa pengguna individu yang memprogramnya pada waktu senggang. Namun jumlah game yang dibuat sedikit dan banyak yang tidak mengenalnya atau memainkannya. Pada tahun 1961, Steve Russell dan kawan-kawan memprogram permainan komputer berjudul Spacewar di DEC.

Permainan komputer ini akhirnya didistribusikan dengan komputer DEC dan diperdagangkan di cyberspace primitif. Permainan komputer ini juga dipresentasikan di MIT saat Science Open House tahun 1962. Ralph Baer, ketika di Sanders Associates, membuat game sederhana yang diberi nama “Chase” yang dapat ditampilkan di televisi standar. Baer, bersama Bill Harison, mengembangkan light gun. Dan bersama Bill Rusch, Baer membuat games pada tahun 1967. Ia mengembangkan penemuannya dan akhirnya pada tahun 1968 ia menghasilkan prototype yang dapat memainkan beberapa permainan komputer termasuk di dalamnya permainan komputer tenis meja dan menembak (Computer Gaming World 58-74).

b. Era mulainya game (1971-1977)

Pada tahun 1971 Nolan Bushnell dan Ted Dabney membuat versi coin- operated arcade dari “Spacewar” dan mesin itu dinamainya Space Computer.

(19)

menjadi pelopor ratusan permainan komputer tiruan. Pada tahun yang sama ketika Atari berdiri GregoryYob menulis Hunt The Wumpus, sebuah permainan komputer petak umpet yang ditengarai menjadi text adventure game pertama. Yob menulis itu sebagai reaksi permainan petak-umpet yang sudah beredar di pasaran seperti Hurkle, Mugwump, dan Snark.

Pada tahun 1975 Will Crowther menulis text adventure game pertama yang kita kenal sampai sekarang. Adventure (judul aslinya Advent, dan selanjutnya disebut Collosal Cave) game tersebut diprogram di Fortran untuk PDP-10. Pemain mengkontrol permainan dengan kalimat sederhana seperti perintah-perintah dan nantinya akan mendapat deskripsi teks sebagai output. Death Race (1976) yang dikembangkan oleh Exidy menjadi kontroversi karena kekerasan yang dimasukkan dalam permainan komputer ini. Kontoversi ini meningkatkan awareness publik yang tidak akan pernah berhenti untuk diperdebatkan bahkan sampai saat ini. Pada tahun 1977 Atari mengeluarkan home console, Atari 2600, dengan menggunakan cartidge yang banyak dikenal sebagi

media menyimpan permainan komputer sampai era tahun 2000. 9 permainan komputer didesain dan dilempar ke pasaran untuk musim liburan.

c. Masa Keemasan (1978-1981)

(20)

mereka buat sendiri. Juga pada tahun 1978, Atari mengeluarkan Asteroids. Permainan komputer tersebut adalah permainan komputer terlaris, menggeser kedudukan Lunar Lander, yang pernah dikeluarkan Atari. Permainan komputer arcade berwarna semakin terkenal pada tahun 1979 dan 1980. Permainan komputer klasik lain di penghujung tahun 1970 diantaranya Night Driver, Galaxian dan Breakout.

d. Klasifikasi game berdasarkan jenis “platform” atau alat yang di gunakan : 1. Arcade games, yaitu yang sering disebut ding-dong di Indonesia, biasanya

berada di daerah / tempat khusus dan memiliki box atau mesin yang memang khusus di design untuk jenis games tertentu dan tidak jarang bahkan memiliki fitur yang dapat membuat pemainnya lebih merasa “masuk” dan “menikmati”, seperti pistol, kursi khusus, sensor gerakan, sensor injakkan dan stir mobil (beserta transmisinya tentunya).

2. PC Games , yaitu game yang dimainkan menggunakan Personal

Computers.

3. Console games, yaitu games yang dimainkan menggunakan console

tertentu, seperti Playstation 2, Playstation 3, XBOX 360, dan Nintendo Wii.

4. Handheld games, yaitu yang dimainkan di console khusus game yang dapat

dibawa kemana-mana, contoh Nintendo DS dan Sony PSP.

5. Mobile games, yaitu yang dapat dimainkan atau khusus untuk mobile

(21)

e. Berdasarkan “genre” permainannya :

1. Aksi – Shooting, (tembak-tembakan , atau hajar-hajaran bisa juga tusuk-tusukan, tergantung cerita dan tokoh di dalamnya), game jenis ini sangat memerlukan kecepatan refleks, koordinasi mata-tangan, juga timing, inti dari game jenis ini adalah tembak, tembak dan tembak. Termasuk didalam-nya :

a. First person shooting (FPS) seperti Counter Strike dan Call of Duty

b. Drive n’ shoot, menggunakan unsur simulasi kendaraan tetapi tetap dengan tujuan utama menembak dan menghancurkan lawan, contoh : Spy Hunter, Rock and Roll Racing, Road Rash.

Gambar 2.1 Game Counter Strike (Sumber : Awal,2011. Diakses 30

(22)

c. Shoot em’ up, seperti Raiden, 1942, dan gradius.

d. Beat ‘em up (tonjok hajar) seperti Double Dragon dan Final Fight, lalu hack and slash (tusuk tebas) seperti Shinobi dan Legend of Kage.

Gambar 2.2 Game Spy Hunter (Sumber : Awal,2011. Diakses 30

Oktober 2011)

Gambar 2.3 Game Raiden (Sumber : Awal,2011. Diakses 30

(23)

e. Light gun shooting, yang menggunakan alat yang umumnya berbentuk seperti senjata, seperti Virtua Cop dan Time Crisis.

Gambar 2.4 Game Final Fight (Sumber : Awal,2011. Diakses 30

Oktober 2011)

Gambar 2.5 Game Virtual Cop

(Sumber : Awal,2011. Diakses 30 Oktober 2011)

Gambar 2.6 Game Tekken

(24)

2. Fighting ( pertarungan ). Ada yang mengelompokan game fighting di

bagian Aksi, namun penulis berpendapat berbeda, jenis ini memang memerlukan kecepatan refleks dan koordinasi mata-tangan, tetapi inti dari game ini adalah penguasaan jurus (hafal caranya dan lancar

mengeksekusinya), pengenalan karakter dan timing sangatlah penting, o iya, combo-pun menjadi esensial untuk mengalahkan lawan secepat mungkin. Dan berbeda seperti game Aksi pada umumnya yang umumnya hanya melawan Artificial Intellegence atau istilah umumnya melawan komputer saja, pemain jenis fighting game ini baru teruji kemampuan sesungguhnya dengan melawan pemain lainnya. Seri Street Fighter, Tekken, Mortal Kombat, Soul Calibur dan King of Fighter adalah

contohnya.

3. Aksi – Petualangan. Memasuki gua bawah tanah, melompati bebatuan di antara lahar, bergelayutan dari pohon satu ke pohon lain, bergulat dengan ular sambil mencari kunci untuk membuka pintu kuil legendaris, atau sekedar mencari telepon umum untuk mendapatkan misi berikutnya, itulah beberapa dari banyak hal yang karakter pemain harus lakukan dan lalui dalam game jenis ini. Menurut penulis, game jenis ini sudah berkembang jauh hingga menjadi genre campuran action beat-em up juga, dan sekarang, di tahun 2000 an, jenis ini cenderung untuk memiliki visual 3D dan sudut pandang orang ke-tiga. Tomb Rider, Grand Theft Auto dan Prince of Persia termasuk didalamnya.

(25)

menembak tidak diperlukan di sini. Game murni petualangan lebih menekankan pada jalan cerita dan kemampuan berpikir pemain dalam menganalisa tempat secara visual, memecahkan teka-teki maupun menyimpulkan rangkaian peristiwa dan percakapan karakter hingga penggunaan benda-benda tepat pada tempat yang tepat. Termasuk didalamnya:

a. Petualangan dengan teks atau sistem tunjuk dan klik, contoh: Kings Quest, Space Quest, Heroes Quest, Monkey Island, Sam and Max.

b. Novel atau film interaktif, seperti game “dating” yang banyak beredar di jepang, Dragons Lair dan Night Trap.

5. Simulasi, Konstruksi dan manajemen. Game jenis ini seringkali

menggambarkan dunia di dalamnya sedekat mungkin dengan dunia nyata dan memperhatikan dengan detil berbagai faktor. Dari mencari jodoh dan pekerjaan, membangun rumah, gedung hingga kota, mengatur pajak dan dana kota hingga keputusan memecat atau menambah karyawan. Dunia kehidupan rumah tangga sampai bisnis membangun konglomerasi, dari jualan limun pinggir jalan hingga membangun laboratorium cloning. Game jenis ini membuat pemain harus berpikir untuk mendirikan, membangun dan mengatasi masalah dengan menggunakan dana yang terbatas. Contoh: Sim City, The Sims, Tamagotchi.

(26)

yang diinginkan pemain ( biasanya menjadi semakin hebat, semakin kuat, semakin berpengaruh, dll) dalam berbagai parameter yang biasanya ditentukan dengan naiknya level, baik dari status kepintaran, kecepatan dan kekuatan karakter, senjata yang semakin sakti, ataupun jumlah teman maupun mahluk peliharaan.Secara kebudayaan, pengembang game Jepang biasanya membuat Role Playing Game (RPG) ke arah cerita linear yang diarahkan seolah karakter kita adalah tokoh dalam cerita itu, seperti Final Fantasy, Dragon Quest dan Xenogears. Sedangkan pengembang game

RPG Eropa, cenderung membuat karakter kita bebas memilih jalan cerita

sendiri secara non-linear, seperti Ultima, Never Winter Nights, baldurs gate, Elder Scroll, dan Fallout.

(27)

kayu,minyak,dll), hingga ke pembelian dan peng-upgrade-an pasukan atau teknologi. Game jenis ini terbagi atas:

a. Real time Strategy, game berjalan dalam waktu sebenarnya dan serentak antara semua pihak dan pemain harus memutuskan setiap langkah yang diambil saat itu juga berbarengan mungkin saat itu pihak lawan juga sedang mengeksekusi strateginya. Contoh: Starcraft, Warcraft , dan Command and Conquer.

b. Turn based Strategy , game yang berjalan secara bergiliran, saat kita mengambil keputusan dan menggerakan pasukan, saat itu pihak lawan menunggu, begitu pula sebaliknya, layaknya catur. contoh: Front Mission, Super robot wars, Final Fantasy tactics, Heroes of might and magic, Master of Orion.

Sebenarnya ada yang memilah lagi menjadi jenis tactical dan strategi, namun penulis cenderung untuk menggabungkannya karena perbedaannya hanya ada di masalah skala dan ke-kompleks-an dalam manajemen sumber dayanya saja.

(28)

9. Simulasi kendaraan. Game jenis ini memberikan pengalaman atau interaktifitas sedekat mungkin dengan kendaraan yang aslinya, muskipun terkadang kendaraan tersebut masih eksperimen atau bahkan fiktif, tapi ada penekanan khusus pada detil dan pengalaman realistik menggunakan kendaraan tersebut. Terbagi atas beberapa jenis:

a. Perang, game simulasi kendaraan yang sempat tenar di tahun 90-an ini mengajak pemain untuk menaiki kendaraan dan berperang melawan kendaraan lainnya. Dan kebanyakan diantaranya memiliki judul sama dengan nama kendaraannya. Contoh : Apache 64, Comanche, Abrams, YF-23, F-16 fighting eagle.

b. Balapan. Dari namanya sudah jelas, siapa sampai duluan di garis finish dialah pemenangnya! Terkadang malah pemain dapat memilih kendaraan, mendandani, upgrade mesin bahkan mengecatnya. Contoh: Top Gear, Test Drive, Sega Rally Championship, Daytona, Grand

Turismo, Need For Speed, Mario Cart, ManXTT.

(29)

d. Mecha. Pendapat bahwa hampir tidak ada orang yang terekspos oleh film robot jepang saat kecilnya tidak memimpikan ingin mengendalikan robot, memang sulit dibantah. Dipopulerkan oleh serial Mechwarrior oleh Activision, subgenre Simulasi Mecha ini memungkinkan pemainnya untuk mengendalikan robot dan menggunakannya untuk menghancurkan gedung, helikopter dan tentu saja robot lainnya. Contoh: Mechwarrior, Gundam Last war Chronicles, dan Armored Core.

10. Olahraga. Singkat padat jelas, bermain sport di PC atau konsol anda. Biasanya permainannya diusahakan serealistik mungkin walau kadang ada yang menambah unsur fiksi seperti NBA JAM. Contohnya pun jelas, Seri Winning Eleven, seri NBA, seri FIFA, John Madden NFL, Lakers vs

Celtics, Tony hawk pro skater, dll.

f. Kategori-kategori lainnya :

(30)

bertema RPG, walau ada juga yang bertema music atau action. Contoh: Ragnarok online, O2jam, World of Warcraft, Ayo Dance, Lineage, Rose online

2. Casual games. Sesuai namanya, game yang casual itu tidak kompleks, mainnya rileks dan sangat mudah untuk dipelajari (bahkan cenderung langsung bisa dimainkan). Jenis ini biasanya memerlukan spesifikasi komputer yang standar pada jamannya dan ukurannya tidak lebih dari 100 MB karena biasanya dapat di download versi demo-nya di website resminya. Genre permainannya biasanya puzzle atau action sederhana dan umumnya dapat dimainkan hanya menggunakan mouse (biasanya game lain menggunakan banyak tombol tergantung game-nya). Contoh: Diner Dash, Sally Salon, Bejeweled, Zuma, Feeding Frenzy, Insaniquarium. 3. Edugames. Video Game jenis ini dibuat dengan tujuan spesifik sebagai

alat pendidikan, entah untuk belajr mengenal warna untuk balita, mengenal huruf dan angka, matematika, sampai belajar bahasa asing. Developer yang membuatnya, harus memperhitungkan berbagai hal agar game ini benar-benar dapat mendidik, menambah pengetahuan dan meningkatkan ketrampilan yang memainkannya. Target segmentasi pemain harus pula disesuaikan dengan tingkat kesulitan dan design visual ataupun animasinya. Contoh edugames : Bobi Bola, Dora the explorer, Petualangan Billy dan Tracy.

4. Advergames. Sering mengunjungi website merek-merek

(31)

dapat anda beritahukan / mengundang langsung ke teman-teman anda. jenis game yang biasanya mudah dimainkan ini mengusung dan menampilkan produk atau brand mereka baik secara gamblang maupun tersembunyi. Di era tumbuhnya media-media baru berteknologi tinggi sekarang ini, dunia periklanan memang sudah tidak lagi terbatas pada TV, koran, majalah, billboard dan radio, video game sekarang telah menjadi sarana beriklan atau membangun brand-awareness yang efektif. Baik melalui internet maupun di mainkan di event-event mereka, edugames terasa semakin dibutuhkan untuk menjaring calon konsumen bagi produk yang menggunakan advergames ini. Contoh produk di indonesia yang membuat advergames: A-Mild, Rexona teens, Axe. (Awal, 2011. Diakses 30 Oktober 2011)

2.3 Penger tian Game (Per mainan)

Apa itu “permainan”? Dalam pengertian yang luas permainan permainan berarti “hiburan”. Permainan permainan juga merujuk pada pengertian sebagai “kelincahan intelektual” (intellectual playability). Sementara kata “permainan” bisa diartikan sebagai arena keputusan dan aksi pemainnya. Ada target-target yang ingin dicapai pemainnya. Kelincahan intelektual, pada tingkat tertentu, merupakan ukuran sejauh mana permainan itu menarik untuk dimainkan secara maksimal.

(32)

permainan yang terhubung secara online. Artinya, seorang pemain (player) akan bisa adu strategi dan ketrampilan dengan sejumlah pemain lain yang berada di belahan dunia yang lain. Keberadaan internetlah yang memungkinkan hal itu terjadi.

Permainan adalah sesuatu yang dapat dimainkan dengan aturan tertentu sehingga ada yang menang dan ada yang kalah, biasanya dalam konteks tidak serius atau dengan tujuan refreshing.

Permainan Multiplayer adalah Jenis permainan yang dapat dimainkan lebih dari satu pemain pada arena permainan yang sama dan pada waktu yang bersamaan pula. setiap pemain dalam permainan multiplayer memungkinkan setiap pemainnya saling berinteraksi dengan pemain lainnya, bekerja sama dalam tim yang sama, menjadi lawan tanding, hingga mampu menyediakan bentuk komunikasi sosial yang hampir tidak ditemukan pada permainan dengan orientasi singleplayer.

Permainan Multiplayer dimainkan dengan sistem jaringan Lan (Local Area Network) jadi kita bisa melawan orang lain pada komputer yg terpisah. Untuk

dapat memainkannya, kita harus menghubungkan PC atau komputer ke sekelompok PC lain yang saling terhubung. Permainan multiplayer ini bisa dimainkan dengan jaringan lokal tanpa akses internet, tetapi bisa juga dengan menggunakan akses internet. Multiplayer permainan yang tidak membutuhkan akses internet disebut juga sebagai LAN permainan.

(33)

dalam jumlah pemain. Lawan kita dalam permainan hanya terbatas pada jumlah PC yang terhubung dalam jaringan lokal tersebut. Jika permainan tadi ingin lebih dimainkan secara massal, secara bersamaan dan tanpa mempertimbangkan jarak, maka PC itu harus terhubung dengan jaringan internet. Karena dari aplikasinya yang harus terhubug atau online dengan internet, maka banyak orang menyebutnya sebagai online permainan.

Permainan multiplayer permainan yang berbasis elektronik dan visual. Permainan dimainkan dengan memanfaatkan media visual elektronik yang biasanya menyebabkan radiasi pada mata, sehingga mata pun lelah dan biasanya diiringi dengan sakit kepala. (Aprilian. “Teknologi Game” http://aprilianz.blogspot.com/2010/02/teknologi-game_13.html. Diakses 30

Oktober 2011)

2.4 Sejar ah Halma

Halma ditemukan oleh seorang profesor berkebangsaan Amerika dari Boston, Dr. George Howard Monks (1853 – 1933) diantara tahun 1883 dan 1884. Monk adalah seorang ahli bedah spesifikasi bagian dada di Harvard Medical School. Saudara George, Robert Monks berada di Inggris pada tahun 1883 atau

1884 dan Robert menulis surat kepada saudaranya dan mendeskripsikan permainan Inggris ‘Hoppity’. G.W. Monks mengambil beberapa ketentuan dari Hoppity dan membangun Halma.

(34)

adalah presiden dari Harvard College antara tahun 1862 – 1868 dan merupakan ayah mertua dari Robert Monks.

Halma pertama kali dipublikasi di Amerika Serikat (AS) pada tahun 1885

oleh E.I. Horsman Company. Terdapat kontroversi pada Halma di AS, dimana Milton Bradley Company juga mengklaim hak atas permainan ini. Tidak jelas

apakah terjadi perang hak legal, tetapi kemudian Milton Bradley memproduksi dan memasarkan versi modifikasi dari Halma dengan nama Eckha pada tahun 1889. Parker Bros mengklaim bahwa George H. Monks menjual hak paten atas Halma kepada mereka, namun hal itu tidak diverifikasi.

(35)

Tahun 1950-an, ketika komputer mulai membesar sampai terciptanya super komputer, maka sebuah komputer mesti melayani beberapa terminal, sehingga ditemukan konsep distribusi proses berdasarkan waktu yang dikenal dengan nama TSS (Time Sharing System), maka untuk pertama kali bentuk jaringan komputer diaplikasikan.

Memasuki tahun 1970-an, mulai digunakan konsep proses distribusi (Distributed Processing). Beberapa host komputer mengerjakan sebuah pekerjaan

besar secara paralel untuk melayani beberapa terminal yang tersambung secara

seri di setiap host komputer. Dalam proses distribusi sudah mutlak diperlukan perpaduan antara teknologi komputer dan telekomunikasi, karena selain

proses yang harus didistribusikan, semua host komputer wajib melayani terminal-terminalnya dalam satu perintah dari komputer pusat.

Kemudian, teknologi jaringan lokal yang dikenal dengan sebutan LAN mulai berkembang di mana penggunaan komputer dalam jaringan untuk menangani proses bersama ataupun tanpa melalui komputer pusat (peer-to-peer system). Demikian pula ketika Internet mulai diperkenalkan, maka sebagian besar

LAN yang berdiri sendiri mulai berhubungan dan terbentuklah jaringan raksasa WAN. (Ari, 2011. Diakses 30 Oktober 2011).

2.5.2 Definisi J ar ingan Komputer

(36)

Dengan jaringan komputer inilah dapat ditingkatkan efisiensi dan efektivitas interaksi antar manusia dalam hal pemindahan informasi.

Jaringan komputer dapat didefinisikan sebagai hubungan antara dua atau lebih komputer beserta periferal lainnya melalui media transmisi untuk melakukan komunikasi data satu dengan yang lain.

Adapun komunikasi data dapat diartikan pengiriman data secara elektronik dari satu tempat ke tempat lain melalui suatu media komunikasi, dan data yang dikirimkan tersebut merupakan hasil atau akan diproses oleh suatu sistem komputer.

Dalam jaringan ada tiga komponen utama yang harus dipahami yaitu, 1. Host atau node, yaitu sistem komputer yang berfungsi sebagai sumber atau

penerima dari data yang dikirimkan. Node ini dapat berupa,

a. Server : komputer tempat penyimpanan data dan program-program aplikasi yang digunakan dalam jaringan,

b. Client : komputer yang dapat mengakses sumber daya (berupa data dan program aplikasi) yang ada pada server,

c. Shared pheriperal : peralatan-peralatan yang terhubung dan digunakan dalam jaringan (misalnya, printer, scanner, harddisk, modem, dan lain-lain).

2. Link, adalah media komunikasi yang menghubungkan antara node yang satu dengan node lainnya. Media ini dapat berupa saluran transmisi kabel dan tanpa kabel.

3. Software (Perangkat Lunak), yaitu program yang mengatur dan mengelola

(37)

yang berfungsi sebagai pengatur komunikasi data dan periferal dalam jaringan. (Heru, 2009. Diakses 30 Oktober 2011).

Node/Host Node/Host

Software

Software

Gambar 2.7 Komponen Utama Dalam Jaringan Komputer (Heru, 2009. Diakses 30 Oktober 2011)

2.5.3 Tipe J ar ingan Komputer

Ada beberapa tipe jaringan komputer yang umumnya digunakan, tetapi yang dibahas pada tugas akhir ini hanya tipe jaringan komputer yang digunakan oleh penulis. Berikut ini tipe-tipe jaringan komputer yang digunakan :

a. LAN (Local Area Network)

Local Area Network (LAN), jaringan ini berada pada satu bangunan

atau lokasi yang sama, dengan kecepatan transmisi data yang tinggi (mulai dari 10 Mbps ke atas), dan menggunakan peralatan tambahan seperti repeater, hub, dan Network Interface Card, serta Network Adapter Card.

LAN yang mengubungkan sedikit (sekitar 2 sampai 4 buah) komputer saja

disebut juga Tiny Area Network (TAN).

Beberapa komponen dasar yang biasanya membentuk suatu LAN adalah sebagai berikut,

(38)

Dalam jaringan, workstation sebenarnya adalah node atau host yang berupa suatu sistem komputer. User berhubungan dengan jaringan melalui workstation dan juga saling berkomunikasi seperti saling bertukar data.

User juga dapat mengakses program aplikasi pada workstation yang dapat

bekerja sendiri di workstation (stand-alone) itu sendiri ataupun menggunakan jaringan untuk saling berbagi informasi dengan workstation atau user lain.

Workstation dapat berfungsi sebagai:

a. Server

Sesuai dengan namanya, ini adalah perangkat keras yang berfungsi untuk melayani jaringan dan klien yang terhubung pada jaringan tersebut.

Server dapat berupa sistem komputer yang khusus dibuat untuk

keperluan tertentu, seperti untuk penggunaan printer secara bersama (print server), untuk hubungan eksternal LAN ke jaringan lain (communication server), dan file server yakni disk yang digunakan secara bersama oleh beberapa klien. Server ini tidak dapat digunakan sebagai klien, karena baik secara hardware maupun software, hanya berfungsi untuk mengelola jaringan.

Ada pula server yang berupa workstation dengan disk drive yang cukup besar kapasitasnya, sehingga server tersebut dapat juga digunakan sebagai workstation oleh user.

(39)

Sebuah workstation umumnya berfungsi sebagai klien dari suatu server, karena memang workstation akan menggunakan fasilitas yang

diberikan oleh suatu server. Jadi, server melayani, sedangkan klien dilayani.

2. Link

Link atau hubungan dalam Jaringan Lokal dikenal sebagai media

transmisi berupa kabel maupun tanpa kabel, yang secara fisik menghubungkan server dan klien. Ada pula peralatan tambahan seperti repeater, bridge, gateway yang terlibat sebagai perpanjangan jarak capai

hubungan jaringan. 3. Transceiver

Transceiver (transmitter-receiver) merupakan perangkat keras yang

menghubungkan workstation atau sistem komputer dengan media transmisi .

4. Kartu Jaringan (Network Interface Card / NIC)

Kartu jaringan ini adalah kartu yang dipasang pada PC yang mengendalikan pertukaran data antar workstation yang ada dalam jaringan lokal. Setiap workstation harus dilengkapi dengan NIC yang secara fisik terhubung langsung dengan bus internal dari PC.

(40)

Perangkat lunak ini sangat penting dan mutlak untuk memungkinkan komunikasi antara sistem komputer yang satu dengan sistem komputer lainnya. Tanpa perangkat lunak ini, jaringan tidak akan berfungsi. Sistem komputer dengan LAN dapat menjalankan semua perangkat lunak aplikasi yang dapat berjalan pada stand-alone PC. (Ezar, 2008. Diakses 30 Oktober 2011).

b. Wi-Fi LAN (Wireless Fidelity)

Wireless merupakan teknologi yang bertujuan untuk menggantikan kabel yang menghubungkan terminal komputer dengan jaringan, dengan begitu computer dapat berpindah dengan bebas dan tetap dapat berkomunikasi dalam jaringan dengan kecepatan transmisi yang memadai. Wireless LAN distandarisasi oleh IEEE dengan kode 802.II b yang

bertujuan untuk menyamakan semua teknologi nirkabel yang digunakan dibidang computer dan untuk menjamin interoperabilitas antara semua produk – produk yang menggunakan standar ini.

(41)

Dari gambar dapat kita amati ilustrasi dari dua aplikasi wireless LAN.

1. Infrastructure wireless LAN

Pada aplikasi ini, untuk mengakses suatu server adalah dengan menghubungkannya ke suatu wired LAN , di mana suatu intermediate device yang dikenal sebagai Portable Access unit (PAU) digunakan. Typical-nya daerah cakupan PAU berkisar antara 50 hingga 100 m.

2. Ad hoc wireless LAN

Pada Ad hoc wireless LAN suatu kumpulan komputer portabel

berkomunikasi satu dengan yang lainnya untuk membentuk self-contained LAN. (Pipin, 2009. Diakses 30 Oktober 2011).

Gambar 2.8 Diagram skematik dari dua aplikasi pada wireless LAN (Sumber : Pipin, 2009. Diakses 30 Oktober 2011)

(42)

c. Jaringan Peer To Peer

Pada jaringan peer to peer, semua komputer memiliki posisi setara / sejajar, dalam hierarki yang sama. Setiap komputer dapat menjadi klien terhadap komputer peer lainnya, setiap komputer dapat pula berbagi sumber daya dengan komputer yang berada dalam jaringan peer-to-peer ini. Sumber daya diletakkan secara desentralisasi pada setiap anggota jaringan, dan tidak memerlukan administrator jaringan.

Aliran informasi bisa mengalir di antara dua komputer secara langsung, di mana pun. Namun, jaringan ini tidak sepenuhnya bebas tanpa kontrol, masih bisa digunakan password untuk memproteksi file dan folder, dapat juga diatur agar orang-orang tertentu tidak bisa menggunakan periferal tertentu.

Karena kemudahan pemasangan, pemeliharaan, serta biaya, jaringan ini lebih populer untuk jaringan dengan jumlah komputer yang sedikit (sekitar 2 sampai 20 komputer). (Ilham, 2011. Diakses 30 Oktober 2011).

Gambar 2.9 Jaringan Peer-to-Peer

(43)

2.6 Depth Fir st Sear ch

Pada Depth First Search (DFS), proses akan dilakukan pada semua anaknya sebelum dilakukan pencarian ke node-node (titik) yang selevel. Pencarian dimulai dari node akar ke level yang lebih tinggi. Proses ini diulangi terus hingga ditemukannya solusi. Stack atau tumpukan adalah struktur data yang setiap proses baik penambahan maupun penghapusan hanya bisa dilakukan dari posisi teratas tumpukan. Cara kerja stack adalah LIFO (Last In First Out), dimana data yang terakhir masuk akan keluar pertama.

Berikut analisis ruang dan waktu untuk metode pencarian DFS : a. Diasumsikan :

1. Pohon pelacakan memiliki cabang yang selalu sama, yaitu sebanyak b. 2. Tujuan dicapai pada level ke-d

b. Analisis Ruang

1. Setelah berjalan 1 langkah, stack akan berisi b node.

2. Setelah berjalan 2 langkah, stack akan berisi (b-1) + b node.

3. Setelah berjalan 3 langkah, stack akan berisi (b-1) + (b-1) + b node. 4. Setelah berjalan d langkah, stack akan berisi (b-1) * d + 1 node,

mencapai maksimum. c. Analisis Waktu

1. Pada kasus terbaik, DFS akan mencapai tujuan pada kedalaman d pertama, sehingga dibutuhkan pencarian sebanyak d + 1 node.

(44)

Keuntungan dari metode ini adalah :

a. Membutuhkan memori yang relatif kecil, karena hanya node-node pada lintasan yang aktif saja yang disimpan.

b. Secara kebetulan, metode DFS akan menemukan solusi tanpa harus menguji lebih banyak lagi dalam ruang keadaan.

Kelemahan dari metode ini adalah :

a. Memungkinkan tidak ditemukannya tujuan yang diharapkan. b. Hanya akan mendapatkan 1 solusi pada setiap pencarian. (Fahri, 2010. Diakses 30 Oktober 2011).

(45)

2.6.1 Pener apan DFS Dalam Per mainan Halma

Pada permainan halma proses pencarian langkah terpendek digunakan metode Depth First Search, proses pencarian dari awal dengan menelurusi kedalam sejauh mungkin sebelum kembali ke pencarian awal. Metode ini digunakan untuk mencari langkah terpendek yang ditempuh oleh biji pemain ke daerah tujuan.

2.7 Penger tian Aplikasi Ber ba sis Desktop (Desktop Based Application) Secara ringkas, aplikasi berbasis desktop bisa dijelaskan sebagai aplikasi yang berjalan di sebuah komputer atau beberapa komputer yang tersambung didalam sebuah jaringan secara independen tanpa membutuhkan browser.

a. Keunggulan aplikasi berbasis desktop :

1. aplikasi berbasis desktop dapat dirasakan lebih cepat dibandingkan dengan aplikasi berbasis web karena aplikasi berbasis desktop tidak membutuhkan waktu tambahan dalam mencompile barisan kode pemrograman karena aplikasi berbasis desktop sudah tercompile menjadi executable file.

2. Tidak mudah diserang hacker karena aplikasi tersebut diinstall di tiap komputer. Jadi untuk menjahili aplikasi harus mengambil ke komputer yang terinstall aplikasi tersebut.

(46)

1. Butuh spesifikasi komputer yang selaras dengan kebutuhan sistem. semakin rumit aplikasi semakin butuh spesifikasi komputer yang tinggi. Karena proses dijalankan pada komputer bersangkutan.

2. Tidak dapat diinstall diberbagai macam Sistem Operasi. 3. Hanya bisa diakses menggunakan komputer.

(47)

BAB III

PERANCANGAN SISTEM

3.1 Per ancangan Sistem

Proses perancangan halma melalui beberapa tahapan sebagai berikut: a. Perancangan gambar papan permainan halma.

b. Algoritma dan flowchart perancangan perangkat lunak.

3.1.1 Per ancangan Gambar Papan Per mainan Halma

Papan permainan Halma dirancang dengan menggunakan aplikasi Microsoft office Visio 2007 dan kemudian dikopi dan tempel atau dimasukkan ke

aplikasi Adobe Photoshop C.S lalu disimpan. Papan permainan Halma dirancang dengan menggunakan Ellipse tool untuk menggambar lingkaran (bulatan) kecil dan dilakukan proses fill color dengan warna hitam untuk menghasilkan lingkaran hitam kecil. Sedangkan garis-garis pada papan permainan dirancang dengan menggunakan Line tool. Proses terakhir, dirancang tiga buah segitiga sama sisi dengan cara menggambarkan garis-garis yang berhubungan secara berturut-turut hingga membentuk sebuah segitiga dan dilakukan proses fill color dengan warna kuning, merah dan biru. Kemudian tiga buah segitiga sama sisi yang dihasilkan tersebut diduplikasi dan dilakukan proses rotate hingga didapatkan posisi yang diinginkan.

(48)

3.1.2 Algor itma dan Flowchar t Per ancangan Per angkat Lunak

Algoritma perancangan perangkat lunak permainan halma pada jaringan dibagi menjadi 5 bagian yaitu,

a. Algoritma dan flowchart koneksi antar pemain. b. Algoritma dan flowchart pengesetan board Halma. c. Algoritma dan flowchart pencarian langkah.

d. Algoritma dan flowchart pengecekan jalan (apakah valid atau tidak). e. Algoritma dan flowchart penentuan pemenang (apakah salah satu

pemain telah mencapai posisi kemenangan atau belum).

1. Algoritma dan Flowchart Koneksi Antar Pemain

(49)

buah customwinsocket yang digunakan untuk menghubungkan minimal 2 pemain dan maksimal 3 pemain, satu TServerSocket sebagai socket utama, dimana socket utama hanya berfungsi sebagai server yang mendengar dan menerima setiap permintaan koneksi dari client, dan menghubungkannya dengan jaringan, sedangkan dua TClientSocket lainnya, sebagai socket client, dimana socket client berperan aktif dalam mengirim dan menerima

data dari customwinsocket dari komputer lain.

Algoritma untuk koneksi antar pemain adalah sebagai berikut : a. Socket utama (server) run program.

b. Socket utama mengatur koneksi port, jumlah pemain dan setting permainan.

c. Socket client run program

d. Socket client join dibawah socket utama sesuai dengan ketentuan yang diatur oleh socket utama.

Flowchart untuk koneksi antar pemain dapat dilihat pada gambar 3.2 halaman 44.

2. Algoritma dan Flowchart Pengesetan Board Halma : SetPos BijiKuning

(50)

A_Game = Array(0, 103, 104, 105, 106, 107, 112, 113, _

114, 115, 116, 117, 118, 119, 120, 121) Untuk I = 1 sampai 15 lakukan perintah berikut ini :

Set PosisiGame(Pemain("K")) = A_Game(I) SetPos BijiMerah

A = Array(0, 99, 100, 87, 101, 88, 76, 102, 89, 77, 66, 103, 90, 78, 67, 57) Untuk I = 1 sampai 15 lakukan perintah berikut ini :

PosisiRumah(Pemain("M")) = A(I)

A_Game = Array(0, 19, 32, 44, 55, 65, 20, 33, _

45, 56, 21, 34, 46, 22, 35, 23) Untuk I = 1 sampai 15 lakukan perintah berikut ini : PosisiGame(Pemain("M")) = A_Game(I) SetPos BijiBiru

A = Array(0, 111, 98, 110, 86, 97, 109, 75, 85, 96, 108, 65, 74, 84, 95, 107)

Untuk I = 1 sampai 15 lakukan perintah berikut ini : PosisiRumah(Pemain("B")) = A(I)

A_Game = Array(0, 11, 24, 12, 36, 25, 13, 47, _

37, 26, 14, 57, 48, 38, 27, 15) Untuk I = 1 sampai 15 lakukan perintah berikut ini : PosisiGame(Pemain("B")) = A(I).

(51)

3. Algoritma dan Flowchart Pencarian Langkah Terpendek : Untuk J = (i - 1) sampai 1 dengan step -1

Jika A(J) = pnPosisiAwal And IsValidMove2(B(Indeks array tertinggi(B)), A(J)) maka

i = 1

nLangkah = A(1)

Jika tidak, jika IsValidMove1(B(UBound(B)), A(J)) maka i = i – 1

nLangkah = A(J)

Jika i = 1 maka keluar dari looping Next J.

Flowchart untuk pencarian langkah terpendek dapat dilihat pada gambar 3.6 halaman 48.

4. Algoritma dan Flowchart Pengecekan Jalan (Apakah Valid atau Tidak) : Valid Move1

Jika ISI(POS(POS(X).A1).A1) = "" And ISI(POS(X).A1) <> "" _ And (PosisiTujuan = POS(POS(X).A1).A1) maka

IsValidMove1 = True Valid Move2

Jika ISI(POS(X).A1) <> "" _

(52)

Jika tidak kosong, maka valid = false Jika ISI(pnPosisiTujuan) <> "" maka IsValidMove = False

Jika tidak, jika pnPosisiTujuan = POS(pnPosisiAwal).A1 maka IsValidMove = (ISI(POS(pnPosisiAwal).A1) = "")

bDirect = True.

Flowchart untuk koneksi antar pemain dapat dilihat pada gambar 3.7 halaman 49.

5. Algoritma dan Flowchart Penentuan Pemenang (Apakah Salah Satu Pemain Telah Mencapai Posisi Kemenangan atau Belum) :

Jika nBiji = nTujuan maka Game = True

Untuk i = 1 sampai 15

Jika GamePosisi ( i ) <> nBiji.WarnaBiji maka Game = False

Next i Jika tidak, maka

Game = False.

(53)

Flowchart untuk koneksi antar pemain adalah sebagai berikut :

Selesai Y

Pengaturan permainan Socket

clients Start

Pengaturan koneksi

Pengaturan jumlah pemain Socket Utama

(Server)

Join network Apakah ada

koneksi

Mulai permainan

T

(54)

Flowchart pengesetan posisi biji kuning :

Gambar 3.3 Flowchart pengesetan posisi biji kuning. I=1, I≤15

Set Posisi Game (Pemain

("K") ) = A_Game(I) I++

Selesai A _Game= Array(0, 103, 104,

105, 106, 107, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121) Start

Set posisiRumah (Pemain("K")) = A(I)

A = Array(, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 16, 17, 18, 19)

I=1, I≤15

(55)

Flowchart pengesetan posisi biji merah :

I=1, I≤15

Set Posisi Game (Pemain

("B") ) = A_Game(I) I++

Selesai A_Game = Array(0, 19, 32,

44, 55, 65, 20, 33, 45, 56, 21, 34, 46, 22, 35, 23)

Start

Set posisiRumah (Pemain("B")) = A(I)

A = Array(0, 99, 100, 87, 101, 88, 76, 102, 89, 77, 66, 103, 90, 78, 67, 57)

I=1, I≤15

I++

(56)

Flowchart pengesetan posisi biji biru :

I=1, I≤15

Set Posisi Game (Pemain

("M") ) = A_Game(I) I++

Selesai A_Game = Array(0, 11,

24, 12, 36, 25, 13, 47, 37, 26, 14, 57, 48, 38, 27, 15) Start

Set posisiRumah (Pemain("M")) = A(I)

A = Array(0, 99, 100, 87, 101, 88, 76, 102, 89, 77, 66, 103, 90, 78, 67, 57)

I=1, I≤15

I++

(57)

Flowchart Pencarian langkah terpendek :

Gambar 3.6 Flowchart pencarian langkah terpendek.

Start

Untuk J = (i - 1) to1 and -1

Jika A(J) = pnPosisiAw al And IsValidMove2(B(Indeks array

tertinggi(B)), A(J))

i = 1 Y

T

nLangkah = A(1)

i = i - 1

IsValidMove1(B(UBound(B)), A(J)) Y nLangkah = A(J)

Selesai i = 1

T

Y

(58)

Start

ISI(POS(POS(X).A1).A1) = "" And ISI(POS(X).A1) <> "" And (PosisiTuj uan = POS(POS(X).A1).A1) Flowchart Algoritma pengecekan jalan :

(59)

Start

nBiji

nTujuan nBiji = nTujuan

Game = True

i = 1 to 15 GamePosisi ( i ) <>

nBiji.WarnaBiji

Y Game = False

Nex t i

Y

Game = False T

Selesai

T

Flowchart pengecekan pemenang :

(60)

BAB IV

IMPLEMENTASI SISTEM

Dalam bab ini dijelaskan mengenai analisis dan desain perangkat lunak, perangkat lunak ini dibangun dengan manggunakan Delphi 7.0.

4.1 Spesifikasi Kebutuhan Sistem

Kebutuhan sistem dalam pembuatan permainan halma ini memerlukan perangkat lunak (software) dan perangkat keras (hardware), agar dapat berjalan sesuai dengan yang diharapkan.

Adapun perangkat lunak yang digunakan, yaitu : a. Sistem operasi Windows XP/Vista/Windows 7. b. Aplikasi Microsoft Office Visio 2007.

c. Aplikasi adobe Photoshop CS 2.

d. Aplikasi bahasa pemrograman Delphi 7.0. Perangkat keras yang digunakan, yaitu :

a. Prosesor Intel Pentium IV 2.26 GHz. b. Memory 256 MB.

c. Harddisk 40 GB.

d. VGA card 32 MB.

e. Monitor dengan resolusi 800 X 600 pixel. f. Keyboard dan Mouse

(61)

4.2 Analisis Initialisasi Gambar Papan Halma

Rancangan Papan Halma pada Gambar 3.1 diberi inisialisasi. Gambar 3.2 memperlihatkan bahwa terdapat matrik posisi berukuran 17 X 25 dimulai dari posisi [1,1] sampai posisi [17,25]. Papan Halma yang diberi tanda bulat l disebut node yang jumlahnya 121 buah. Setiap node terletak pada sebuah matrik posisi.

Pada node 1 berada pada matrik [17,13] dan node 61 berada pada matrik [9,13]. Perhatikan node 70 dimana memiliki tetangga node 80, 81, 69, 71, 60 dan 61. Jadi setiap node masing-masing memiliki tetangga. Sebuah node terdapat maksimum 6 buah node tetangga. Namun terdapat node yang tetangganya lebih kecil dari 6 node tetangga artinya ada node tetangga tidak berada di area papan halma diberi

nilai 0.

Gambar 4.1 Penomoran dan Pemetaan Papan Permainan Halma

(62)

1. S[1] berisi nilai label dari posisi yang terletak di samping kiri node. 2. S[2] berisi nilai label dari posisi yang terletak di samping kanan node. 3. A[1] berisi nilai label dari posisi yang terletak di kiri atas node. 4. A[2] berisi nilai label dari posisi yang terletak di kanan atas node. 5. B[1] berisi nilai label dari posisi yang terletak di kiri bawah node. 6. B[2] berisi nilai label dari posisi yang terletak di kanan bawah node. Untuk lebih jelasnya dilihat pada contoh dibawah ini :

Node(1) diposisi [13,17] memiliki nilai pointer S[1]=0, S[2]=0, A[1]=2, A[2]=3, B[1]=0, B[2]=0.

Node(5) diposisi [13,15] memiliki nilai pointer S[1]=4, S[2]=6, A[1]=8, A[2]=9, B[1]=2, B[2]=3.

4.3 Analisis Pengatur an Koneksi

Delphi menyediakan banyak benda untuk memungkinkan anda menulis aplikasi yang pertukaran data melalui jaringan (internet, intranet, lokal). Pada artikel ini kita akan mempelajari dua komponen Delphi, TServerSocket dan TClientSocket, baik yang dirancang untuk memungkinkan anda membaca dan menulis informasi melalui sebuah IP / koneksi TCP. Penjelasannya sebagai berikut :

(63)

jaringan komputer. Jika komputer anda sudah memiliki jaringan local maka anda dapat melakukan antar komputer, akan tetapi jika anda tidak ada maka anda dapat memakai sebuah komputer yang nantinya bertindak sebagai server sekaligus client. Jika menggunakan satu buah komputer pakailah 127.0.0.1(localhost) yang merupakan alamat tetap dari komputer.

2. Bagaimana mencapai sebuah layanan tertentu pada jaringan tertentu. Salah satu jawaban yang paling sederhana adalah bahwa klien harus diizinkan untuk mengirim pesan ke layanan yang dan membaca balasan dari itu. Cara yang paling praktis untuk melakukan jaringan mengirim / membaca adalah dengan menggunakan soket.

3. Pada Port dan Host, dalam rangka untuk memulai sambungan soket, menggunakan komponen soket, host dan port harus ditentukan. Secara umum, tuan rumah menetapkan sebuah alias untuk alamat IP dari sistem server; port menentukan nomor ID yang mengidentifikasi koneksi soket

server. (R.I. 2003).

4.4 Analisis Pengesetan Boar d Halma

(64)

4.5 Analisis Pengecekan Langkah – Langkah Yang Dapat Dijalankan Oleh Biji

Setiap pemain dapat menggerakkan bijinya ke posisi yang diinginkan. Namun, posisi yang diinginkan tersebut harus dapat dijalankan. Jika tidak, maka pergerakan biji tidak diperbolehkan. Proses pengecekan pergerakan biji yang diperbolehkan adalah sebagai berikut :

1. Pengecekan dimulai dari posisi awal biji dengan mengecek nilai setiap pointer dari posisi biji tersebut.

2. Nilai pointer menunjukkan posisi tujuan yang dapat digerakkan oleh biji tersebut. Jika nilai pointer bernilai 0, maka berarti biji tidak dapat digerakkan ke arah tersebut.

3. Jika posisi tujuan yang dapat digerakkan masih kosong (tidak ditempati oleh biji), maka biji berhenti di posisi tersebut dan tidak dapat digerakkan lagi.

4. Jika posisi tujuan yang dapat digerakkan tidak kosong (ditempati oleh biji), maka biji tersebut digerakkan ke posisi dengan arah pointer yang sesuai dengan arah posisi tujuan tersebut jika ditinjau sebagai nilai pointer dari posisi asal.

(65)

6. Jika pada waktu proses pengecekan, didapat posisi tujuan yang telah diperoleh sebelumnya, maka proses pengecekan untuk posisi tujuan tersebut tidak perlu dilanjutkan lagi.

Agar lebih jelas, simaklah contoh berikut ini, Misalkan ingin digerakkan biji kuning yang berada pada posisi 17 dengan posisi biji-biji lainnya seperti ditunjukkan oleh gambar berikut ini.

Posisi tujuan yang dapat dicapai oleh biji kuning pada posisi 17 tersebut adalah sebagai berikut :

1. Posisi 8 yang merupakan nilai pointer B1 dari posisi 17. 2. Posisi 9 yang merupakan nilai pointer B2 dari posisi 17. 3. Posisi 16 yang merupakan nilai pointer S1 dari posisi 17. 4. Posisi 18 yang merupakan nilai pointer S2 dari posisi 17.

(66)

5. Nilai pointer A1 dari posisi 17 yaitu posisi 29 telah ditempati oleh biji, maka posisi tujuan yang dapat ditempati oleh biji adalah sesuai dengan nilai pointer A1 dari posisi 29 yaitu posisi 40.

6. Karena posisi 40 ditempati dengan melompati biji lainnya, maka biji masih dapat digerakkan lagi, namun harus dengan melakukan lompatan, yang berarti bahwa posisi tujuan sesuai dengan nilai pointer dari posisi tersebut harus telah ditempati oleh biji lainnya. Jika tidak, maka biji tidak dapat digerakkan lagi. Nilai pointer dari posisi 40 hanya pointer A2 yaitu posisi 51 dan B2 yaitu posisi 29 yang telah terisi, maka pointer A2 dari posisi 51 yaitu posisi 61. Pengecekan dilanjutkan untuk posisi 61. Nilai pointer dari posisi 61 hanya pointer A2 yaitu posisi 71 dan pointer B2 yaitu posisi 52 yang telah ditempati oleh biji maka pointer A2 dari posisi 71 yaitu posisi 82 dan pointer B2 dari posisi 52 yaitu posisi 42 merupakan posisi tujuan yang dapat ditempati oleh biji.

(67)

8. Nilai pointer A2 dari posisi 17 yaitu posisi 30 telah ditempati oleh biji, maka pointer A2 dari posisi 30 yaitu posisi 42 merupakan posisi tujuan yang dapat ditempati oleh biji. Namun, karena posisi 42 sebelumnya telah dimasukkan sebagai posisi tujuan, maka proses pengecekan untuk posisi 42 dihentikan.

Maka, posisi tujuan yang dapat dicapai oleh posisi 17 adalah posisi 8, 9, 16, 18, 40, 42, 44, 61, dan 82 seperti ditunjukkan oleh tanda lingkaran merah pada gambar berikut ini.

4.6 Analisis Pencar ian Langkah Ter pendek

Pada proses pencarian ini kita menggunakan metoda Depth First Search (DFS), proses akan dilakukan pada semua anaknya sebelum dilakukan pencarian

(68)

ke node-node (titik) yang selevel. Pencarian dimulai dari node akar ke level yang lebih tinggi. Proses ini diulangi terus hingga ditemukannya solusi path terpendek.

Metode ini digunakan untuk mencari langkah terpendek yang ditempuh oleh biji pemain ke daerah tujuan. (Entin, 2009 Diakses 31 Oktober 2011).

4.7 Analisis Pengecekan Pemenang

Pada proses ini akan dilakukan pengecekan terhadap biji – biji yang telah masuk ke daerah tujuan rumah apakah semuanya sudah masuk atau tidak dengan cara menyimpan array posisi tujuan rumah. Pemain yang duluan memasukkan semua bijinya ke daerah tujuan rumah dinyatakan sebagai pemenang.

4.8 Atur an Per mainan Halma

Permainan ini dimainkan dalam suatu daerah yang berbentuk bintang berkaki enam. Permainan ini dapat dimainkan oleh maksimal 3 pemain sekaligus dengan diwakili oleh 3 macam warna, yaitu warna merah, kuning dan biru. Setiap pemain memiliki 15 buah biji berwarna. Sasaran dari permainan ini adalah memindahkan semua biji berwarna tersebut dari tempat (daerah) asal ke tempat (daerah) tujuan di seberang. Pemain yang berhasil memindahkan semua bijinya terlebih dahulu dinyatakan menang. (Adichandra, 2009. Diakses 31 Oktober 2011).

(69)

a. Form : merupakan lembaran kerja tempat meletakkan item dalam Window Delphi 7.0.

b. Pointer : komponen khusus dan terdapat disetiap tab dalam component palatte. Komponen pointer adalah komponen select yang digunakan untuk memilih komponen dalam form designer. c. Frames : Sebuah kontainer yang digunakan untuk menampung

komponen frame dapat diletakkan dalam form atau frame-frame yang lain.

d. MainMenu : Komponen yang digunakan untuk membuat menu bar dan menu drop down. Komponen ini bersifat invisible.

e. PopUpMenu : Komponen yang digunakan untuk membuat menu popup yang akan muncul jika pemakai melakukan proses klik kanan. Komponen ini bersifat invisible.

f. Label : unit ini digunakan untuk menampilkan teks, angka, atau menapilkan beberapa baris teks di dalam form.

(70)

j. CheckBox : Komponen yang digunakan untuk memilih atau membatalkan suatu pilihan, yaitu dengan cara mengklik komponen. secara bersamaan.

k. RadioButton : Komponen yang digunakan untuk memberikan sekelompok pilihan dan hanya ada satu pilihan yang dapat dipilih. Untuk memilih salah satu pilihan adalah dengan mengklik tombol pilihan yang diinginkan.

l. ListBox : Komponen yang digunakan untuk membuat sebuah daftar pilihan, dimana hanya ada satu pilihan yang dapat dipilih. Untuk mencari dan kemudian memilih salah satu pilihan yang terdapat di dalam daftar dapat menggunakan batang penggulung.

m. ComboBox : Komponen yang digunakan untuk membuat sebuah daftar pilihan, dimana hanya ada satu pilihan yang dapat dipilih. Untuk mencari dan kemudian memilih salah satu pilihan yang terdapat di dalam daftar dapat menggunakan mengklik tombol drop down.

n. ScrollBar : Komponen ini mempunyai fungsi yang sama seperti batang penggulung yang terdapat dalam program-program berbasis Windows pada umumnya.

o. GroupBox : Sebuah kontainer yang dapat digunakan untuk mengelompokkan komponen-komponen lain seperti RadioButton, CheckBox dan komponen kontainer yang lain.

p. RadioGroup : Komponen ini merupakan komponen kombinasi dari

(71)

q. Panel : Sebuah kontainer yang dapat digunakan untuk membuat StatusBar, ToolBar dan ToolPalette.

r. ActionList : Komponen yang berisi daftar action yang digunakan bersama-sama dengan komponen dan kontrol seperti item menu dan button.

s. BitBtn : Komponen yang dipakai untuk membuat sebuah button dengan grafik bitmap, misalnya tombol OK dengan tanda.

t. Image : Komponen image untuk menampilkan grafik seperti icon, bitmap dan metafile.

u. SpeddButton : Komponen ini dipakai bersama-sama dengan komponen panel (tab standard). Dipakai untuk membuat toolbar dan button-button khusus. Komponen ini juga visual.

v. Shape : Komponen untuk menampilkan bentuk-bentuk seperti segiempat, lingkaran, segitiga dan lain-lain.

w. ServerSocket : Komponen yang digunakan di server, yang akan menyediakan layanan koneksi ke client.

x. ClientSocket : Komponen yang digunakan di client pada saat koneksi ke server.

(Catherine, 2007. Diakses 31 Oktober 2011).

Perangkat lunak ini memiliki beberapa form dari hasil desain menggunakan Dilphi 7.0, yaitu :

1. Form Pengaturan Koneksi Jaringan. 2. Form Setting Permainan.

Gambar

Gambar 2.3 Game Raiden   (Sumber : Awal,2011. Diakses 30
Gambar 2.6 Game Tekken   (Sumber : Awal,2011. Diakses 30 Oktober 2011)
Gambar 2.8 Diagram skematik dari dua aplikasi pada wireless LAN (Sumber : Pipin, 2009
Gambar 2.9 Jaringan Peer-to-Peer
+7

Referensi

Dokumen terkait

penelitian sebagai dasar merumuskan masalah penelitian dan menentukan batasan masalah. Rumusan dan batasan masalah itu menjadi jembatan untuk merumuskan tujuan dan manfaat

 Capaian tersebut turun drastis dibandingkan dengan performa keuangan RIGS pada tahun 2014 yang masih mampu mencatatkan laba sebesar US$ 730.370. Rugi sebelum pajak

berhubungan dengan pengetahuan, keterampilan dan sikap kerja yang diperlukan untuk menyusun kebijakan dan strategi pinjaman pada Koperasi Simpan Pinjam/Unit Simpan Pinjam

Kemudian, sambungkan alat pengukur tingkat kematangan buah dengan komputer menggunakan kabel USB melalui USB Port.Perhatikan lampu indicator.Jika lampu indicator menyala berarti

DAFTAR GAMBAR ... Latar Belakang ... Rumusan Masalah ... Tujuan Penelitian ... Manfaat Penelitian ... Pengertian Religi .... Fungsi Agama Bagi Manusia ... Pengertian

Dalam pemberian treatment, di SMA Kristen YPKPM Ambon dilakukan dengan pembelajaran yang diberikan guru di kelas (kompetensi mengajar guru) dengan melalui

sederh~a maka dapat disiinpulkan bahwa terdapat hubungan yang signi:fik:an antara pengendalian produksi dengan pengendalian kualitas. Hasil ini sesuai dengan

Proses Produksi teksil PT Yoosung Indonesia menghasilkan limbah sisa produksi berupa air limbah dan Sludge( lumpur IPAL), limbah tersebut telah dilakukan