cara membuat game sederhana lan
Post on 06-Oct-2015
68 Views
Preview:
DESCRIPTION
TRANSCRIPT
-
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Akhir akhir ini, banyak muncul perangkat lunak permainan (game)
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).
Salah satu jenis permainan yang cukup digemari oleh masyarakat umum
adalah permainan Halma. Permainan ini dimainkan dalam suatu daerah yang
berbentuk bintang berkaki enam. Permainan ini dapat 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. Biji dapat digeser satu langkah ke depan atau dapat
dijalankan dengan syarat terdapat satu biji sebagai rintangan di depan jalurnya.
Berdasarkan uraian di atas, penulis bermaksud untuk merancang suatu
perangkat lunak permainan Halma yang dapat dimainkan dalam suatu jaringan
komputer (network).
-
2
1.2 Perumusan Masalah
Berdasarkan latar belakang pemilihan judul, maka yang menjadi
permasalahan adalah bagaimana bermain Halma di tempat yang berlainan secara
online dalam jaringan.
1.3 Tujuan dan Manfaat Penulisan
Tujuan penyusunan tugas akhir (skripsi) ini adalah untuk merancang suatu
perangkat lunak permainan Halma yang dapat dimainkan dalam suatu jaringan
komputer (network).
Manfaat dari penyusunan tugas akhir (skripsi) ini, yaitu :
1. Sebagai dasar bagi pengembangan permainan konvensional menjadi
perangkat lunak permainan berbasis jaringan.
2. Sebagai sarana entertainment.
1.4 Pembatasan Masalah
Karena keterbatasan waktu dan pengetahuan penulis, maka ruang lingkup
permasalahan dalam merancang perangkat lunak ini antara lain :
1. Permainan dapat dimainkan dengan menggunakan batas waktu atau tanpa
menggunakan batas waktu untuk setiap giliran.
2. Batas waktu minimal adalah 10 detik dan maksimal 30 detik.
-
3
3. Jika batas waktu habis, maka giliran main akan dipindahkan ke pemain
berikutnya.
4. Perangkat lunak dapat menampilkan langkah langkah yang diperbolehkan.
5. Biji halma hanya dapat dijalankan untuk langkah langkah yang
diperbolehkan.
6. Warna biji terdiri dari tiga macam yaitu warna merah, kuning dan biru.
7. Level permainan terdiri dari dua jenis yaitu level pemula (beginner) dan level
ahli (expert).
1.5 Metodologi Penyelesaian Masalah
Langkah langkah pembuatan perangkat lunak ini antara lain :
1. Membaca dan mempelajari buku buku yang berhubungan dengan jaringan
komputer.
2. Merancang interface untuk perangkat lunak permainan Halma.
3. Mempelajari cara permainan Halma.
4. Membuat koneksi komputer pada LAN.
5. Merancang suatu perangkat lunak permainan Halma dengan menggunakan
bahasa pemrograman Microsoft Visual Basic 6.0.
6. Implementasi perangkat lunak permainan Halma dalam jaringan.
-
4
BAB II
LANDASAN TEORI
2.1 Jaringan Komputer
2.1.1 Sejarah Jaringan Komputer
Konsep jaringan komputer lahir pada tahun 1940-an di Amerika dari sebuah
proyek pengembangan komputer MODEL I di laboratorium Bell dan group riset
Harvard University yang dipimpin profesor H. Aiken. Pada mulanya proyek tersebut
hanyalah ingin memanfaatkan sebuah perangkat komputer yang harus dipakai
bersama. Untuk mengerjakan beberapa proses tanpa banyak membuang waktu
kosong dibuatlah proses beruntun (Batch Processing), sehingga beberapa program
bisa dijalankan dalam sebuah komputer dengan dengan kaidah antrian.
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
-
5
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.
2.1.2 Definisi Jaringan Komputer
Pada era globalisasi seperti sekarang ini, jutaan bahkan milyaran manusia
saling berkomunikasi, dan kita tidak bisa lagi hanya bergantung pada komunikasi
verbal untuk transfer informasi. Saat ini kita sudah menggunakan jaringan komputer
untuk mengambil dan berbagi (share) informasi dengan cepat dan tepat. Dengan
jaringan komputer inilah dapat ditingkatkan efisiensi dan efektivitas interaksi
antarmanusia 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 (dapat dilihat
pada Gambar 2.1. Komponen utama dalam jaringan komputer) yaitu,
-
6
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
jaringan secara keseluruhan. Termasuk di dalamnya sistem operasi jaringan yang
berfungsi sebagai pengatur komunikasi data dan periferal dalam jaringan.
Node/Host Node/Host
Software Software
Gambar 2.1 Komponen Utama Dalam Jaringan Komputer
2.1.3 Tipe-tipe Jaringan Komputer
-
7
Ada beberapa tipe jaringan komputer yang umumnya digunakan. Berikut ini
beberapa klasifikasi tipe jaringan komputer yang ada,
1. Berdasarkan letak geografis terbagi atas,
a. 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).
b. Metropolitan Area Network (MAN), jaringan ini merupakan gabungan
beberapa LAN yang terletak pada satu kota(jangkauan 50 sampai 75 mil)
yang dihubungkan dengan kabel khusus atau melalui saluran telepon, dengan
kecepatan transmisi antara 56 Kbps sampai 1 Mbps, dan menggunakan
peralatan seperti router, telepon, ATM switch, dan antena parabola.
c. Wide Area Network (WAN), jaringan ini merupakan gabungan dari komputer
LAN atau MAN yang ada di seluruh permukaan bumi ini yang dihubungkan
dengan saluran telepon, gelombang elektromagnetik, atau satelit; dengan
kecepatan transmisi yang lebih lambat dari 2 jenis jaringan sebelumnya, dan
menggunakan peralatan seperti router, modem, WAN switches.
2. Berdasarkan arsitektur jaringan terbagi atas,
-
8
a. Jaringan peer to peer.
b. Jaringan berbasis server (server-based network/server-client network).
c. Jaringan hibrid.
3. Berdasarkan teknologi transmisi terbagi atas,
a. Jaringan switch, merupakan jaringan yang penyampaian informasi dari
pengirim ke penerima melalui mesin-mesin perantara atau saluran telepon.
b. Jaringan broadcast, merupakan jaringan yang penyampaian informasi dari
pengirim ke penerima dilakukan secara broadcast (disiarkan ke segala arah)
baik melalui saluran kabel maupun saluran tanpa kabel.
Beberapa komponen dasar yang biasanya membentuk suatu LAN adalah
sebagai berikut,
1. Workstation
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,
-
9
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.
b. Client (klien)
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.
-
10
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.
5. Perangkat Lunak Jaringan
Perangkat lunak jaringan mencakup,
a. Sistem operasi LAN.
b. Perangkat lunak aplikasi.
c. Perangkat lunak pemrograman.
d. Program utiliti.
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.
2.1.4 Media Transmisi
-
11
Data, teks, gambar digital, dan suara digital ditransmisikan sebagai kombinasi
bit (0 dan 1) melalui media transmisi. Media transmisi adalah suatu media atau
saluran tempat ditransmisikannya informasi digital antarkomputer pada jaringan
komputer.
Secara umum, ada dua jenis media transmisi yang digunakan dalam jaringan
komputer yaitu,
1. Media Wires (dengan kabel) yang menggunakan kabel tembaga berupa kabel
koaksial dan kabel twisted pair atau kabel serat optik.
a. Kabel twisted-pair (Gambar 2.2), yang merupakan dua kabel tembaga yang
terpilin satu dengan yang lain. Sebuah kabel twisted-pair dapat menangani
komunikasi telepon atau hubungan komunikasi data. Kabel ini sama dengan
kabel yang digunakan untuk menghubungkan sistem telepon.
Gambar 2.2 Kabel Twisted-Pair
b. Kabel koaksial (Gambar 2.3), yang mengandung kabel listrik (umumnya
kawat tembaga) dan memungkinkan transmisi data dengan kecepatan tinggi
dengan distorsi sinyal yang minimum, dari jarak beberapa kaki sampai
beberapa mil. Kabel ini sama dengan kabel yang digunakan pada televisi,
-
12
terutama pada industri CATV(cable tv). Namun, sekarang ini kabel koaksial
sudah jarang digunakan sebagai media transmisi pada jaringan komputer.
pelindung luar
jaring metal
kabel
insulasi dalam
Gambar 2.3 Kabel Koaksial
c. Kabel Serat Optik (Gambar 2.4), yang berupa serat transparan yang sangat
tipis yang dianggap sebagai media yang paling ideal karena mempunyai
keuntungan seperti ukuran yang kecil, jarak capai data yang jauh sekali
dengan kecepatan yang juga bisa sangat tinggi, dan tidak terpengaruh pada
gangguan (noise). Kabel ini membawa data sebagai pulsa cahaya laser-
generated.
pelindung luar (PVC)
material penguat(benang aramid)
inti serat optik
pelindung dalam
Gambar 2.4 Kabel Serat Optik
-
13
2. Media Wireless (tanpa kabel) yang menggunakan sinyal frekuensi tinggi yaitu,
a. Sinyal radio, dengan frekuensi gelombang 10 kHz 1 GHz yang dilakukan
melalui pemancar ke penerima informasi secara line-of-sight, artinya sinyal
dikirimkan dalam garis lurus dari sumber ke tujuan.
b. Sinyal microwave, dengan frekuensi gelombang 1 500 GHz yang
ditransmisikan dari dan ke transceiver-transceiver, juga secara line-of-sight.
Sinyal gelombang mikro ini dikirimkan secara beranting beberapa kali oleh
repeater microwave sebelum tiba di tujuan.
c. Sinyal infra-red, dengan frekuensi gelombang 500 GHz 1 THz yang dapat
membawa data dengan kecepatan 16 Mbps untuk transmisi satu arah, dan
dengan kecepatan 1 Mbps untuk transmisi dua arah dengan jarak antara
pengirim dan penerima hanya sekitar 30 meter.
Jenis media transmisi yang banyak digunakan untuk suatu Local Area
Network adalah jenis wires atau transmisi dengan menggunakan kabel berupa kabel
twisted-pair, kabel koaksial, ataupun kabel serat optik.
2.1.5 Arsitektur Jaringan Komputer
Arsitektur jaringan komputer merupakan tata cara penggunaan perangkat
keras dan perangkat lunak dalam jaringan agar satu komputer dengan komputer
lainnya dapat melakukan komunikasi dan pertukaran data.
-
14
Ada tiga bentuk arsitektur yang umum digunakan dalam jaringan komputer yaitu,
1. Jaringan peer to peer
Pada jaringan peer to peer (Gambar 2.5), 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).
Gambar 2.5 Jaringan Peer-to-Peer
2. Jaringan client / server
-
15
Pada jaringan client/server (Gambar 2.6), perangkat lunak yang mengontrol
keseluruhan kerja jaringan berada pada server. Jaringan ini dapat menghubungkan
ratusan komputer dengan tingkat keamanan yang tidak dimungkinkan dalam
jaringan peer-to-peer.
Jaringan ini bisa diatur sehingga setiap klien harus log on ke server sebelum
bisa memanfaatkan sumber daya yang terhubung ke server. Server lalu
mengotentikasi klien dan memverifikasi bahwa komputer yang digunakan klien
tersebut memiliki izin untuk log on ke jaringan, dengan memeriksa username dan
password klien tersebut terhadap database pada server.
Gambar 2.6 Jaringan Client / Server
3. Jaringan hybrid
Jaringan ini merupakan gabungan dari sifat pada jaringan peer to peer dan
client/server. Workgroup yang terdiri dari beberapa komputer yang saling
terhubung dapat mengelola sumber daya tanpa membutuhkan otorisasi dari
administrator jaringan atau server. Pada jenis jaringan ini, terdapat pula sifat dari
-
16
jaringan client / server sedemikian sehingga tingkat keamanan dapat lebih terjaga
dan adanya server yang mempunyai suatu fungsi layanan tertentu, seperti sebagai
file server, print server, database server, mail server, dan lainnya.
Sifat jaringan peer to peer digunakan untuk hubungan antara setiap komputer
yang terhubung dalam jaringan komputer yang ada, sehingga komunikasi data terjadi
antar komputer dengan hierarki yang sama karena setiap komputer dapat berfungsi
sebagai server maupun klien. Sedangkan, sifat jaringan client/server digunakan untuk
memfasilitasi setiap komputer dengan hubungan internet. Jadi, komputer server
dihubungkan ke Internet Service Provider (ISP), sehingga komputer klien yang
terhubung dalam jaringan juga dapat melakukan akses internet.
2.1.6 Topologi Jaringan Komputer
Topologi jaringan adalah tata cara komputer dan sumber daya lainnya
dihubungkan dalam jaringan. Ada dua jenis topologi jaringan yaitu,
a. Topologi fisik, yaitu tata cara komputer dan peralatan lainnya dihubungkan secara
fisik melalui kabel / media transmisi sehingga bisa saling berkomunikasi, dan
b. Topolosi logik, yaitu tata cara komputer dan peralatan dalam jaringan
berkomunikasi dan tata cara data ditransmisikan melalui jaringan.
Yang akan dibahas dalam pembahasan ini adalah topologi fisik, yang menyangkut
bagaimana sistem atau komputer dan periferalnya dihubungkan satu dengan yang
lainnya.
Topologi fisik secara umum ada empat jenis yaitu,
1. Topologi Star
Topologi Star (Gambar 2.7) melibatkan suatu hub sebagai tempat di
mana setiap anggota jaringan terhubung padanya. Setiap komputer dalam jaringan
-
17
harus melalui suatu pusat yang disebut hub, baru kemudian dilakukan transmisi
ke komputer-komputer lainnya yang juga terhubung ke hub.
Beberapa keuntungan dari topologi Star ini adalah kemudahan untuk
menambah peralatan ke jaringan dan jika terjadi kerusakan pada salah satu kabel
hanya akan mempengaruhi komputer yang dihubungkan kabel tersebut. Namun,
kerugian akan terjadi pada jenis topologi ini apabila hub terganggu / rusak, maka
secara keseluruhan jaringan akan terganggu.
Gambar 2.7 Topologi Star
2. Topologi Ring
Pada topologi Ring (Gambar 2.8), setiap simpul dalam jaringan
dihubungkan seperti halnya cincin, sehingga jika terjadi transmisi data, maka data
akan mengelilingi ring sampai tiba di komputer / alamat tujuan.
Keuntungan dari topologi jaringan ini antara lain data dapat
dikirimkan dengan kecepatan tinggi tanpa terjadi tubrukan data (data collision).
Namun, kerugiannya adalah jika kabel mengalami kerusakan, maka jaringan akan
terganggu. Jenis topologi ini tidak begitu umum digunakan dalam jaringan
komputer.
-
18
Gambar 2.8 Topologi Ring
3. Topologi Bus
Pada topologi Bus (Gambar 2.9), setiap simpul dalam jaringan dihubungkan
dengan suatu kabel utama yang disebut bus jaringan atau sering juga disebut
sebagai backbone, yang pada setiap ujungnya dipasang terminator yang berfungsi
untuk menyerap sinyal-sinyal yang melewai ujung tersebut. Disebut bus karena
orang-orang dalam sebuah bus dapat naik atau berhenti pada perhentian manapun
sepanjang rute.
Dalam topologi bus, sinyal dikirimkan secara broadcast ke semua simpul
dalam jaringan, tapi hanya simpul / komputer tujuan yang dapat menanggapi
sinyal tersebut.
Keuntungan dari topologi ini adalah kemudahan untuk menambah atau
menghapus komputer atau peralatan dari jaringan serta kemudahan pemasangan,
sehingga paling banyak digunakan. Topologi bus baik untuk peralatan / sistem
yang secara fisik terletak dekat satu dengan yang lainnya. Kerugiannya, apabila
kabel utama rusak, maka jaringan akan down secara keseluruhan. Selain itu,
waktu akses juga lebih lambat dibandingkan dengan topologi lainnya.
-
19
Gambar 2.9 Topologi Bus
4. Topologi Hierarchical Tree
Dari namanya network ini berbentuk seperti pohon yang bercabang, yang terdiri
dari control node dihubungkan dengan node yang lain secara berjenjang. Central
node biasanya berupa large computer atau komputer mainframe sebagai
komputer host yang merupakan jenjang tertinggi (top hierachical) yang bertugas
mengkoordinasi dan mengendalikan node jenjang di bawahnya yang dapat berupa
mini komputer atau mikro komputer. Penjelasan topologi hierachical tree
ditunjukkan pada gambar 2.10 berikut,
-
20
Gambar 2.10 Topologi Hierarchical Tree
5. Topologi Hybrid atau Meta
Jenis topologi Hybrid merupakan jenis kombinasi dari jenis-jenis topologi
star, ring, atau bus. Jenis topologi inilah yang paling banyak digunakan dalam
dunia nyata.
Gambar 2.11 Topologi Hybrid atau Meta
-
21
2.2 Dasar dasar Jaringan TCP / IP
2.2.1 Arsitektur Internet Protocol (IP)
Internet Protocol (IP) merupakan protokol open system yang terkenal karena
banyak digunakan untuk melakukan hubungan koneksi antar jaringan dan sesuai
dengan standad komunikasi LAN maupun WAN. Internet Protocol, dua protokol
diantaranya yang paling terkenal yaitu Internet Protocol (IP) dan Transmission
Control Protocol (TCP). Internet Protocol juga sangat sesuai dengan aplikasi pada
lower layer protocol seperti TCP dan IP maupun pada common aplikasi seperti
electronic mail, terminal emulation, dan file transfer.
2.2.2 IP Address
Masing-masing host mempunyai IP address untuk mengidentifikasi suatu host
dalam melakukan proses koneksi dalam jaringan TCP / IP. Sedangkan masing-
masing IP address di dalamnya terdapat Network ID dan Host ID.
Network ID menunjukkan letak atau tempat sistem berada yang terdapat
dalam IP Router dalam jaringan fisik yang sama. Host ID ini lebih dikenal dengan
workstation, server, router dan host TCP / IP yang lainnya dalam suatu jaringan.
-
22
Gambar 2.12 IP Address 32 Bit dan Dikelompokkan Dalam 4 Oktet
Suatu IP Address terdiri dari 32 bit yang bekerja dalam suatu urutan waktu. Dari 32
bit kemudian dipecah menjadi 8 bit atau lebih dikenal dengan oktet dimana masing-
masing oktet dikonversikan dalam bilangan desimal yang berkisar antara 0 sampai
255 yang diperlihatkan gambar 2.15 di atas. Berikut contoh konversi IP Address.
Gambar 2.13 Contoh Algoritma Untuk Konversi ke IP Address Dalam Format
Bilangan Desimal
-
23
2.3 Citra
Citra (image) secara umum dapat diciptakan dari aplikasi multimedia seperti
Adobe Photoshop, bisa juga berupa hasil scan dari foto atau lukisan, penggabungan
hasil scanning dan editing, juga hasil foto kamera digital.
2.3.1 Definisi Citra
Citra adalah representasi visual yang terdiri dari sekumpulan piksel atau titik
berwarna dalam bentuk dua dimensi. Citra merupakan representasi dua dimensi (2-D)
dari intensitas cahaya yang dinyatakan dengan fungsi f(x,y), dimana x dan y
merupakan koordinat spasial dan nilai fungsi f menunjuk pada titik (x,y).
2.3.2 Citra Analog
Analog berhubungan dengan hal yang berterusan ( continue ) dalam satu
dimensi. Contohnya adalah bunyi. Bunyi diwakili dalam bentuk analog yaitu suatu
gelombang udara yang berterusan dimana kekuatannya diwakili jarak gelombang.
Hampir semua kejadian atau boleh diwakili sebagai perwakilan analog seperti bunyi,
cahaya, air, elektrik, angin dan sebagainya. Data gambar yang digunakan dalam
bentuk rekaman hard-copy dinamakan foto ( citra analog ). Foto direkam dalam dua
dimensi pada photosensitive emulsions.
Citra analog terdiri dari sinyal-sinyal frekuensi elektromagnetis yang belum
dibedakan sehingga pada umumnya tidak dapat ditentukan ukurannya.
-
24
2.3.3 Citra Digital
Citra digital merupakan suatu array dua dimensi atau suatu matriks yang
elemen-elemennya menyatakan tingkat keabuan dari elemen gambar. Jadi informasi
terkadang bersifat diskrit.
Citra digital terdiri-dari sinyal-sinyal frekuensi elektromagnetis yang sudah
disampling dan ukuran pixel dari citra tersebut sudah dapat ditentukan. Sampling
merupakan proses pembentukan citra digital dari citra analog. Suatu citra yang
dicetak diatas kertas disebut dengan citra analog, jika citra analog tersebut di-scan
dengan alat scanner maka akan menjadi citra digital. Dengan demikian, scanner
merupakan alat sampling. Proses pembentukan citra digital dari citra analog
diperlihatkan pada Gambar 2.14
Gambar 2.14 Pembentukan Citra Digital Dari Citra Analog
Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik
berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor
televisi, atau bersifat digital yang dapat langsung disimpan pada suatu pita magnetik.
Citra Analog Citra Digital
( Scanning, Sampling )
Proses Digitasi
-
25
2.3.4 Konversi Citra Analog ke Citra Digital
Citra digital tidak selalu merupakan hasil langsung data rekaman suatu sistem.
Kadang-kadang hasil rekaman data bersifat kontinu seperti gambar pada monitor
televisi, foto sinar-x dan lain sebagainya. Dengan demikian untuk mendapatkan suatu
citra digital diperlukan suatu proses konversi, sehingga citra tersebut selanjutnya
dapat diproses dengan komputer.
Untuk mengubah citra bersifat kontinu menjadi citra digital diperlukan proses
pembentukan kisi-kisi arah horizontal dan vertikal, sehingga diperoleh gambar dalam
bentuk array dua dimensi. Proses tersebut dikenal sebagai proses digitasi atau
sampling. Pada digitasi atau sampling dilakukan pembagian gambar kepada bagian
kecil supaya dapat mewakili kandungan gambar. Pembagian dilakukan kepada
segiempat kecil ( grid ) yang dipanggil pixel ( picture element or pixel ). Setiap pixel
adalah sample gambar asal yang diambil dari domain ruang ( spatial domain ).
Gambar berikut menunjukan proses digitasi :
Citra analog Citra digital
-
26
Gambar 2.15 Proses Digitasi
Proses yang diperlukan selanjutnya adalah proses kuantisasi. Dalam proses ini
tingkat keabuan setiap pixel dinyatakan dengan suatu harga integer. Batas-batas harga
integer atau besarnya daerah tingkat keabuan yang digunakan untuk menyatakan
tingkat keabuan pixel akan menentukan resolusi kecerahan dari gambar yang
diperoleh. Kalau digunakan 3 bit untuk menyimpan harga integer tersebut, maka akan
diperoleh sebanyak 8 tingkat keabuan. Makin besar tingkat keabuan yang digunakan
makin baik gambar yang akan diperoleh karena kontinuitas dari tingkat keabuan
akan semakin tinggi sehingga mendekati citra aslinya.
2.3.5 Definisi Pixel
Pixel didefinisikan sebagai unsur citra (image) atau unsur pengindraan, yang
menunjuk pada satuan terkecil yang dapat dialamati dalam kegunaan grafik. Pada
citra berformat bitmap, sekumpulan pixel adalah titik-titik yang digunakan untuk
membangun suatu citra.
2.3.6 Resolusi
Kualitas sebuah citra ditentukan pula oleh resolusi. Resolusi adalah
banyaknya pixel yang menghasilkan sebuah citra dalam sebuah layar atau printer.
Semakin banyak jumlah pixel-nya, maka semakin tinggi resolusinya dan akan
-
27
dihasilkan citra yang lebih baik dan lebih halus. Resolusi yang ideal merupakan
keseimbangan antara kualitas dengan ukuran penyimpanan citra tersebut.
2.3.7 Format Penyimpanan Citra
Format penyimpanan citra yaitu TIFF (Tagged Image File Format), GIF
(Graphics Interchange Format), JPEG (Joint Photographic Experts Group), PNG
(Portable Network Graphics), PCD (Photo CD), BMP (Bitmap), PIXAR (Pixar
Image Computers), WMF (Windows Metafile).
2.3.8 Format File BMP
BMP adalah format file gambar standar untuk sistem operasi Windows.
Format file ini dikembangkan oleh Microsoft untuk menyimpan gambar (bitmap) dan
memungkinkan Windows untuk menampilkan kembali gambar tersebut. Struktur dari
file BMP terdiri dari BitmapFileHeader yang mengandung informasi mengenail file,
BitmapInfoHeader yang menyimpan informasi mengenai gambar (seperti dimensi,
warna dan lain lain), tabel warna yang didefinisikan sebagai array dari struktur
RGBQUAD, dan sisanya adalah data gambar.
Tabel berikut ini akan memperlihatkan informasi lengkap mengenai struktur
file BMP untuk gambar yang berukuran 100 x 100 piksel, 256 warna, dan tanpa
-
28
kompresi. Kolom mulai berisi posisi byte di dalam file dimana elemen data dari
struktur yang dijelaskan dimulai. Kolom ukuran berisi jumlah byte yang digunakan
oleh elemen data tersebut. Kolom nama berisi nama dengan elemen data sesuai
dengan dokumentasi Microsoft API. Kolom nilai standar berisi nilai standar yang
mungkin terisi pada elemen data tersebut. Kolom keterangan berisi penjelasan singkat
mengenai elemen data yang dimaksud.
Tabel 2.1 Struktur BitmapFileHeader
Mulai Ukuran (Byte) Nama Nilai Standar Keterangan
1 2 BfType 19778 ASCII = BM.
3 4 BfSize ? Ukuran file dalam byte.
7 2 BfReserved1 0 Tidak digunakan.
9 2 BfReserved2 0 Tidak digunakan.
11 4 BfOffBits 1078 Posisi byte dimana data gambar
berada
Tabel 2.2 Struktur BitmapInfoHeader
Mulai Ukuran (Byte) Nama Nilai Standar Keterangan
15 4 BiSize 40 Ukuran dari info header dalam
byte
19 4 BiWidth 100 Lebar gambar dalam piksel
23 4 BiHeight 100 Tinggi gambar dalam piksel
27 2 BiPlanes 1 Jumlah bidang gambar
29 2 BiBitCount 8 Jumlah bit per piksel
31 4 BitCompression 0 Jenis kompresi
35 4 BiSizeImage 0 Ukuran data gambar
39 4 BiXPelsPerMeter 0 Resolusi horizontal dalam
piksel meter
43 4 BiYPelPerMeter 0 Resolusi vertical dalam piksel
meter
47 4 BiClrUsed 0 Jumlah warna yang digunakan
-
29
51 4 BiClrImportant 0 Jumlah warna penting
Jumlah warna yang terdapat pada gambar ditentukan oleh BiBitCount.
Kemungkinan nilai untuk BiBitCount adalah 1 (hitam/putih), 4 (16 warna), 8 (256
warna), dan 24 (16,7 juta warna). Elemen data BiBitCount sekaligus menentukan
apakah pada file BMP terdapat tabel warna atau tidak, sekaligus susunan dari tabel
warnanya.
Untuk gambar 1 bit, tabel warna hanya berisi dua warna (biasanya hitam dan
putih). Jika setiap bit dari data gambar bernilai 0 maka warna yang ditunjuknya
adalah warna pertama di dalam tabel warna. Jika setiap bit dari data gambar bernilai 1
maka warna yang ditunjuknya adalah warna kedua yang terdapat di dalam tabel
warna.
Pada gambar 4 bit, tabel warnanya berisikan 16 warna. Setiap byte yang
terdapat pada data gambar mewakili dua piksel. Byte-byte tersebut dibagi menjadi dua
bagian, masing masing 4 bit. Bit bit tadi menunjukkan ke warna warna yang
terdapat pada tabel warna.
Pada gambar 8 bit, setiap byte mewakili satu piksel. Nilai dari setiap byte tadi
menunjuk ke salah satu warna yang terdapat pada tabel warna yang di dalamnya
berisi 256 warna.
Untuk gambar 24 bit, 3 byte digunakan untuk mewakili satu piksel. Byte yang
pertama mewakili unsur warna merah, byte yang kedua mewakili unsur warna hijau,
dan byte ketiga mewakili unsure warna biru. Pada gambar 24 bit, tabel warna tidak
-
30
dibutuhkan karena setiap piksel mengandung unsur warna merah, hijau dan biru yang
sebenarnya.
Tabel warna sendiri dibentuk dari struktur RGBQUAD yang disusun dalam
bentuk array. Struktur dari RGHQUAD dapat dilihat pada tabel dibawah ini.
Tabel 2.3 Struktur RGBQUAD
Mulai Ukuran (Byte) Nama Nilai Standar Keterangan
1 1 RGBBlue ? Intensitas warna biru
2 1 RGBGreen ? Intensitas warna hijau
3 1 RGBBlue ? Intensitas warna merah
4 1 RGBReserved 0 Tidak digunakan
2.3.9 Format File GIF
Format file GIF ( Graphics Interchange Format) merupakan hasil rancangan
CompuServe Incorporated. Format ini dirancang untuk memudahkan pertukaran citra
bitmap antarkomputer. GIF hanya mendukung resolusi warna sampai 256 warna (8-
bit) [HPJ90]
Format file GIF memiliki dua versi yaitu GIF 87a dan GIF89a. Versi GIF89a
diperkenalkan pada bulan Juli 1989 merupakan perbaikan dari versi GIF87a. Pada
GIF89a ditambahkan kemampuan untuk menampilkan citra dengan latar belakang
transparan ( background transparency), penyimpanan data citra secara interlaced dan
kemampuan untuk menampilkan citra animasi.
-
31
GIF menggunakan variable-length code yang merupakan modifikasi dari
algoritma LZW (Lemple-Ziv Wetch) untuk mengkompresi data citra. Teknik kompresi
data ini mampu menghasilkan kompresi yang baik dan merupakan teknik kompresi
yang mampu mengembalikan data sama persis dengan aslinya (lossless data
comperssion).
Format lengkap file citra GIF dapat dilihat pada tabel berikut ini.
Tabel 2.4 Format File GIF
Name Size Description
Signature 6 bytes GIF87a or GIF89a
Global Descriptor 7 bytes Always present
Width 2 bytes Width in pixels
Height 2 bytes Height in pixels
Flags 1 bytes Global descriptor flags
Global Color Map Bit 7
=1 if Global ColorMap exists (should be
true in almost all cases)
=0 if default map is used. Or if every citra
has a Local Color Map
Color Resolution
Bits
Bit 6-4 +1 = significant bits per color in Global
Color Map
Reserved Bit 3 = 0
Pixel Bits
Bit 2-0 +1 = Color Depth, Number of Global
Colors := 2colordepth
Background Color
1 byte Background color number (from Global
Color Map or default map)
Aspect Ratio 1 byte Usually =0
-
32
Global Color Map
Number of
Global Colors *
3
Global color table, present only when
Global Descriptor Flags Global Color Map
=1
Red
1 byte Red intensity of color (not necessarily 8
significant bits)
Green
1 byte Green intensity of color (not necessarily 8
significant bits)
Blue
1 byte Blue intensity of color (not necessarily 8
significant bits)
Repeated Number Of Global Colors Times
Extension Blocks Cannot be pre
calculated
Optional, may be repeated any number of
times. Read first byte to check its precense
Header 1 byte = $21
Function Code 1 byte There is a list of known function codes
Length 1 byte >0 !
Data
Length bytes Interpretation of this data depends on its
function code
Repeated any number of times. Read first byte to check for terminator
Terminator 1 byte = 0
Local Descriptor 10 bytes Local descriptor, always present
Header 1 bytes =$2C
Pos X 2 bytes Horizontal position of citra in global citra
Pos Y 2 bytes Vertical position of citra in global citra
Width 2 bytes Width of citra
Height 2 bytes Height of citra
Flags 1 bytes Local descriptor Flags
Local Color Map
Bit 7 =1 if Local Color Map exists
=0 if Global Color Map (or default map) is
-
33
used
Interlaced Citra
Bit 6 =1 Interlaced!
=0 Non Interlaced
Sorted Bit 5 Usually =0
Reserved Bit 4-3 =0
Pixel Bits
Bit 2-0 -1= Color Depth,
Number of Local Colors := 2color depth
Local Color Map Number of
Local Color * 3
Local color table, present only when local
Descriptor Flags. Local Color Map =1
Red 1 byte Red intensity of color
Green 1 byte Green intensity of color
Blue 1 byte Blue intensity of color
Repeated number of Local Color times
Rasted DataBlock Cannot be pre
calculated
Always present
Initial Code Size
1 byte Usually = Color Depth, except for balck &
white, where it is 2!
Length 1 byte >0
Data
Length bytes The pixel data bit stream. See
decompression and compression schemes
Repeated any number of times, read first byte to check for terminator
Terminator 1 byte =0!
Extension Blocks Cannot be pre
calculated
Optional. Read first byte to check its
presence
Format is identical to the Extension Block above
Terminator 1 byte =$3B
2.4 Depth First Search
-
34
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 :
1. Diasumsikan :
Pohon pelacakan memiliki cabang yang selalu sama, yaiu sebanyak b.
Tujuan dicapai pada level ke-d
2. Analisis Ruang
Setelah berjalan 1 langkah, stack akan berisi b node.
Setelah berjalan 2 langkah, stack akan berisi (b-1) + b node.
Setelah berjalan 3 langkah, stack akan berisi (b-1) + (b-1) + b node.
Setelah berjalan d langkah, stack akan berisi (b-1) * d + 1 node, mencapai
maksimum.
3. Analisis Waktu
Pada kasus terbaik, DFS akan mencapai tujuan pada kedalaman d pertama,
sehingga dibutuhkan pencarian sebanyak d + 1 node.
-
35
Pada kasus terburuk, DFS akan mencapai tujuan pada kedalaman d pada
node terakhir, sehingga dibutuhkan pencarian sebanyak 1 + b + b2 + b
3
+.+ bd = (bd+1-1) / ( b-1)
Keuntungan dari metode ini adalah :
1. Membutuhkan memori yang relatif kecil, karena hanya node-node pada
lintasan yang aktif saja yang disimpan.
2. Secara kebetulan, metode DFS akan menemukan solusi tanpa harus
menguji lebih banyak lagi dalam ruang keadaan.
Kelemahan dari metode ini adalah :
1. Memungkinkan tidak ditemukannya tujuan yang diharapkan.
2. Hanya akan mendapatkan 1 solusi pada setiap pencarian.
Gambar 2.16 Pohon Pencarian Depth First Search
2.4.1 Penerapan DFS Dalam Permainan Halma
Pada permainan halma proses pencarian langkah terpendek digunakan metode
Depth First Search, proses pencarian dari awal dengan menelurusi kedalam sejauh
-
36
mungkin sebelum kembali ke pencarian awal. Metode ini digunakan untuk mencari
langkah terpendek yang ditempuh oleh biji pemain ke daerah tujuan.
2.5 Sejarah 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.
Dr. Thomas Hill (1818 1891), seorang ahli matematika, guru dan pendeta,
membantu merancang permainan ini. Dr. Thomas Hill menamakan permainan ini
Halma yang berasal bahasa Yunani yang berarti melompat. Hill 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.
-
37
Parker Bros mengklaim bahwa George H. Monks menjual hak paten atas
Halma kepada mereka, namun hal itu tidak diverifikasi.
Di Inggris, Spears Co. memproduksi permainan Halma pada bulan Juli 1893.
Halma adalah satu-satunya permainan klasik pada abad 19 yang berasal dari Amerika
Serikat dan dikenal secara internasional.
-
38
BAB III
PEMBAHASAN DAN PERANCANGAN
3.1 Pembahasan
Proses perancangan halma melalui beberapa tahapan sebagai berikut:
1. Proses Perancangan Gambar Papan Permainan Halma.
2. Proses Initialisasi Gambar Papan Halma.
3. Proses Pengesetan Board Halma.
4. Proses Pengaturan Koneksi Jaringan.
5. Proses Pengecekan Langkah Yang Dapat Dijalankan Oleh Biji.
6. Proses Pencarian Langkah Terpendek.
7. Proses Pengecekan Pemenang.
3.1.1 Perancangan Gambar Papan Permainan Halma
Papan permainan Halma dirancang dengan menggunakan aplikasi Microsoft
Visio dan kemudian di-copy and paste ke aplikasi Adobe Photoshop C.S dan
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
-
39
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.
Gambar yang dihasilkan tersebut di-copy and paste ke aplikasi Adobe
Photoshop C.S. untuk disimpan ke dalam format gambar *.GIF.
Gambar 3.1 Rancangan Gambar Papan Halma
-
40
3.1.2 Proses 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 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 3.2 Penomoran dan Pemetaan Papan Permainan Halma
-
41
Semua node diberi nilai sesuai dengan gambar di atas. Masing-masing node
terdapat enam buah pointer yaitu :
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.
3.1.3 Proses Pengaturan Koneksi
Visual Basic memungkinkan kita membuat program permainan (game) secara
network melalui teknologi yang diperkenalkan Microsoft, yaitu Microsoft Winsock
Library yang fungsinya menghubungkan komputer yang satu dengan yang lainnya
dan saling bertukar data dengan menggunakan dua protocol, yaitu User Datagram
Protokol (UDP) dan Transmission Control Protokol (TCP). Pada perancangan
-
42
perangkat lunak permainan halma pada network menggunakan protocol TCP. Prinsip
kerjanya adalah salah satu komputer akan menentukan apakah bertindak sebagai
Client atau Server. Komputer yang bertindak sebagai server akan dijalankan dahulu
dan menunggu komputer yang bertindak sebagai client untuk melakukan koneksi atau
hubungan. Setelah koneksi kedua komputer tersebut berhasil dilakukan, maka kedua
komputer itu dapat mengadakan interaksi satu sama lain.
3.1.4 Proses Pengesetan Board Halma
Pada saat sebelum permainan dimulai maka terlebih dahulu kita harus
mengeset biji-bijinya masing-masing ke tempat yang sudah ditentukan yaitu di posisi
awal rumah. Proses pengesetan ini menggunakan array untuk menyimpan posisi awal
masing-masing setiap biji. Sehingga apabila setiap permainan dimulai maka biji-biji
pemain akan terletak pada rumah masing-masing.
3.1.5 Proses 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 :
-
43
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.
5. Proses pengecekan untuk langkah keempat dilakukan untuk semua nilai
pointer dari posisi tujuan tersebut yang telah ditempati oleh biji hingga tidak
terdapat nilai pointer dari posisi tujuan yang telah ditempati oleh biji.
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.
-
44
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15 16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31 32 33 34 35
36 37 38 39 40 41 42 43 44 45 46
47 49 50 51 52 53 54 55 5648
57 58 59 60 61 62 63
68 69 70 71 72 73 74
64 65
66 67 75
78 79 80 81 82 83 8476 77 85 86
89 90 91 92 93 94 9587 88
99 100
96 97 98
101 102 103 104 105 106 107 108 109 110 111
112 113 114 115
116 117 118
119 120
121
Gambar 3.3 Contoh keadaan posisi biji-biji pada papan permainan halma
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.
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.
-
45
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.
7. Pengecekan dilanjutkan untuk posisi 82 dan posisi 42. Nilai pointer dari posisi
82 hanya pointer B1 yaitu posisi 71 yang telah ditempati oleh biji, maka
pointer B1 dari posisi 71 yaitu posisi 61 merupakan posisi tujuan yang dapat
ditempati oleh biji. Namun, karena posisi 61 merupakan posisi asal
sebelumnya dan telah dimasukkan sebagai posisi tujuan, maka proses
pengecekan untuk posisi 61 dihentikan. Nilai pointer dari posisi 42 hanya
pointer A1 yaitu posisi 52, pointer B1 yaitu posisi 30, dan pointer S2 yaitu
posisi 43 yaitu posisi 44 merupakan posisi tujuan yang dapat ditempati oleh
biji. Namun, karena posisi 17 merupakan posisi awal maka posisi 17 bukan
merupakan posisi tujuan. posisi 44.
-
46
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.
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15 16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31 32 33 34 35
36 37 38 39 40 41 42 43 44 45 46
47 49 50 51 52 53 54 55 5648
57 58 59 60 61 62 63
68 69 70 71 72 73 74
64 65
66 67 75
78 79 80 81 82 83 8476 77 85 86
89 90 91 92 93 94 9587 88
99 100
96 97 98
101 102 103 104 105 106 107 108 109 110 111
112 113 114 115
116 117 118
119 120
121
Gambar 3.4 Contoh posisi tujuan dari biji pada papan permainan halma
-
47
3.1.6 Proses Pencarian Langkah Terpendek
Pada proses pencarian ini kita menggunakan metoda 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 path terpendek.
Metoda ini digunakan untuk mencari langkah terpendek yang ditempuh oleh
biji pemain ke daerah tujuan.
3.1.7 Proses 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.
3.2 Aturan Permainan 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.
-
48
3.2.1 Aturan Tingkat Beginner
1. Jumlah pemain minimal 2 orang dan maksimal 3 orang.
2. Permainan dapat menggunakan batas waktu.
3. Apabila menggunakan batas waktu maka pemain yang kehabisan waktu
sebelum melangkah tidak diperbolehkan jalan dan diganti pemain lain.
4. Biji dapat digeser satu langkah kedepan apabila posisi tujuan kosong.
5. Biji dapat melangkah melompati dengan syarat terdapat satu biji rintangan
didepan jalurnya dan posisi tujuan kosong.
6. Pemain tidak diperbolehkan meng-undo langkahnya kembali.
7. Pemain yang duluan memindahkan semua bijinya ke posisi tujuan rumah
dinyatakan menang.
3.2.2 Aturan Tingkat Expert
1. Jumlah Pemain minimal 2 orang dan maksimal 3 orang.
2. Permainan dapat menggunakan batas waktu.
3. Apabila menggunakan batas waktu maka pemain yang kehabisan waktu
sebelum melangkah tidak diperbolehkan jalan dan diganti pemain lain.
4. Biji dapat digeser satu langkah kedepan apabila posisi tujuan kosong.
5. Biji dapat melangkah melompati dengan syarat terdapat satu biji rintangan
didepan jalurnya dan posisi tujuan kosong.
-
49
6. Apabila ada biji yang belum keluar dari 4 tingkat posisi diawal rumah maka
biji teman tidak dapat masuk ke posisi tujuan rumah dan biji yang telah
masuk didalam rumah tidak boleh digeser lagi dan kalau mati langkah maka
diperbolehkan ditempatkan kembali ke posisi awal rumah biji tersebut.
7. Pemain tidak diperbolehkan meng-undo langkahnya kembali.
8. Pemain yang duluan memindahkan semua bijinya ke posisi tujuan rumah
dinyatakan menang.
3.3 Perancangan
Perangkat lunak permainan Halma ini dirancang dengan menggunakan bahasa
pemrograman Microsoft Visual Basic 6.0. Komponen- komponen yang digunakan
dalam pembuatan perangkat lunak ini sebagai berikut :
1. Form : merupakan lembaran kerja tempat meletakkan item dalam Window
Visual Basic.
2. Label : unit ini digunakan untuk menampilkan teks, angka, atau simbol
pada saat program dijalankan.
3. Text Box : unit ini digunakan untuk menampilkan teks pada form atau
untuk menerima input dari pemakai pada saat program Visual Basic
dijalankan.
4. Command Button : unit ini digunakan untuk memberikan suatu perintah
atau tindakan ketika digunakan.
-
50
5. Check Box : unit ini digunakan untuk memilih satu atau beberapa syarat
secara bersamaan.
6. Combo Box : unit ini digunakan untuk memilih item lewat Drop-Down
List.
7. Line : unit ini memungkinkan pemakai membuat garis lurus.
8. Picture Box : unit ini untuk menampilkan file gambar (Bitmaps, Icon, Gif,
JPG dan sebagainya).
9. Image Box : unit akan menampilkan gambar Bitmaps, Windows, Metafile
dan Icon.
10. Timer : unit ini digunakan untuk mengoperasikan waktu kejadian pada
rutin program termasuk internal waktu.
11. Shape : Unit ini membentuk objek dua dimensi (bujur sangkar, lingkaran,
emapat persegi panjang dan elips).
12. Progress Bar : unit ini untuk menampilkan berapa lama suatu operasi
berlangsung.
13. Menu Editor : unit ini digunakan untuk membuat menu aplikasi.
14. MSFlexGrid : unit ini digunakan untuk menampilkan informasi database.
15. Winsock : unit ini digunakan sebagai perantara koneksi antara sesama
komputer.
-
51
Perangkat lunak ini memiliki beberapa form yaitu :
1. Form Splash Screen.
2. Form Pengaturan Koneksi Jaringan.
3. Form Setting Permainan.
4. Form Permainan Halma.
5. Form About.
3.3.1 Form Splash Screen
1
2
3
Gambar 3.5 Rancangan Form Splash Screen
Keterangan :
1 : nama perangkat lunak.
2 : gambar logo dari perangkat lunak.
3 : data pembuat program.
-
52
3.3.1.1 Form Pengaturan Koneksi Jaringan
1 2
3
4
5
6
7
9
8
10
Gambar 3.6 Rancangan Form Pengaturan Koneksi Jaringan
Keterangan :
1 : title bar dengan tulisan HALMA - Pengaturan Koneksi.
2 : tombol Minimize untuk mengecilkan tampilan form.
3 : tombol Close untuk menutup form.
4 : text box untuk meng-input nama pemain.
5 : text box Nomor Port untuk mengisi kode pengenal dari komputer server.
6 : combo box untuk memilih jumlah pemain yang diinginkan (2 atau 3 orang).
7 : tombol Mulai untuk memulai permainan sebagai server.
8 : text box IP Address Server untuk mengisi IP Address dari server tujuan.
9 : text box Nomor Port untuk mengisi kode pengenal dari server tujuan.
10 : tombol Gabung untuk bergabung dengan server lain.
-
53
3.3.3 Form Setting Permainan
Gambar 3.7 Rancangan Form Setting Permainan
Keterangan :
1 : title bar dengan tulisan HALMA Setting permainan.
2 : tombol Minimize untuk mengecilkan tampilan form.
3 : tombol Close untuk menutup form.
4 : daerah tampilan nama pemain 1 (server).
5 : daerah tampilan nama pemain 2 (client).
6 : daerah tampilan nama pemain 3 (client).
7 : combo box untuk memilih warna biji dari pemain 1 dan hanya dapat dipilih oleh
server.
8 : combo box untuk memilih warna biji dari pemain 2 dan hanya dapat dipilih oleh
-
54
server.
9 : combo box untuk memilih warna biji dari pemain 3 dan hanya dapat dipilih oleh
server.
10 : daerah tampilan IP Address dari pemain 1.
11 : daerah tampilan IP Address dari pemain 2.
12 : daerah tampilan IP Address dari pemain 3.
13 : combo box Level Permainan untuk memilih level permainan yang diinginkan.
Terdapat 2 buah pilihan yaitu :
a. Beginner, di mana permainan dapat dimainkan secara bebas dengan
mengikuti aturan dasar permainan Halma.
b. Expert, dengan aturan permainan bahwa biji yang telah menempati
daerah tujuan tidak dapat digerakkan lagi
14 : check box untuk memilih apakah ingin menggunakan batas waktu (timer) untuk
setiap giliran permainan atau tidak.
15 : text box untuk menginput lama batas waktu yang diinginkan.
16 : tombol Mulai untuk memulai permainan.
17 : tombol Keluar untuk membatalkan proses.
18 : tombol Refresh untuk mengrefresh jaringan.
-
55
3.3.4 Form Permainan Halma
Gambar 3.8 Rancangan Form Permainan Halma
Gambar 3.9 Rancangan Menu Permainan Pada Form Permainan Halma
-
56
Gambar 3.10 Rancangan Menu Option Pada Form Permainan Halma
1 : title bar dengan tulisan HALMA local area network online v.1.0 Juli Lim.
2 : tombol Minimize untuk mengecilkan tampilan form.
3 : tombol Close untuk menutup form.
4 : menu bar dengan rincian menu sebagai berikut :
a. Menu Permainan, terdiri dari beberapa sub menu yaitu :
i. Ronde Baru untuk memulai permainan baru.
ii. Keluar untuk keluar dari perangkat lunak.
b. Menu Option, terdiri dari beberapa sub menu yaitu :
i. Hentikan timer (pause) untuk menghentikan timer berjalan.
ii. Tunjukkan langkah terakhir untuk menunjukkan langkah
terakhir yang dijalankan.
iii. Tunjukkan langkah yang dapat ditempuh untuk menunjukkan
posisi-posisi tujuan yang dapat dicapai.
c. Menu Tentang Pembuat untuk menampilkan form About.
5 : papan permainan Halma.
6 : daerah tampilan giliran pemain.
7 : tabel yang berisi skor pemain.
8 : timer berjalan.
9 : daerah tampilan kata-kata (pesan) yang dikirim oleh setiap komputer.
10 : text box untuk menginput kata (pesan).
11 : tombol Kirim untuk mengirim pesan ke server untuk dikirim ke semua
komputer yang tergabung dalam permainan.
-
57
3.3.5 Form About
1
2
3
4
5
6
7
Gambar 3.11 Rancangan Form About
Keterangan,
1 : title bar dengan tulisan HALMA local area network online.
2 : tombol Close untuk menutup form.
3 : gambar logo dari perangkat lunak.
4 : nama perangkat lunak.
5 : data pembuat program.
6 : tombol OK untuk keluar dari form.
7 : tombol System Info untuk menampilkan informasi mengenai sistem operasi
yang digunakan.
-
58
BAB IV
ALGORITMA DAN IMPLEMENTASI
4.1 Algoritma
Algoritma perancangan perangkat lunak permainan halma pada network
dibagi menjadi 5 bagian yaitu,
1. Algoritma koneksi antar pemain.
2. Algoritma pengesetan board Halma.
3. Algoritma pencarian langkah.
4. Algoritma pengecekan jalan (apakah valid atau tidak).
5. Algoritma biji ke masuk rumah untuk permainan tingkat expert.
6. Algoritma penentuan pemenang (apakah salah satu pemain telah mencapai
posisi kemenangan atau belum).
4.1.1 Algoritma Koneksi Antar Pemain
Penulis menggunakan komponen visual basic, winsock sebagai jembatan
komunikasi antar komputer (pemain). Terdapat 3 (tiga) buah winsock yang digunakan
untuk menghubungkan minimal 2 pemain dan maksimal 3 pemain, satu winsock
sebagai socket utama, dimana socket utama hanya berfungsi sebagai server yang
mendengar dan menerima setiap permintaan koneksi dari winsock lainnya, dan
menghubungkannya dengan winsock client, sedangkan dua winsock lainnya, sebagai
-
59
socket client, dimana socket client berperan aktif dalam mengirim dan menerima data
dari winsock dari komputer lain.
Algoritma untuk koneksi antar pemain adalah sebagai berikut,
1. Socket utama (server) run program.
2. Socket utama mengatur koneksi port, jumlah pemain dan setting
permainan.
3. Socket client run program
4. Socket client join dibawah socket utama sesuai dengan ketentuan yang
diatur oleh socket utama.
4.1.2 Algoritma Pengesetan Board Halma
SetPos BijiKuning
A = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 16, 17, 18, 19)
Untuk I = 1 sampai 15 lakukan perintah berikut ini :
Set PosisiRumah(Pemain("K")) = A(I)
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)
-
60
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)
4.1.3 Algoritma 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)
-
61
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
4.1.4 Algoritma 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) "" _
And (pnPosisiTujuan = POS(POS(X).A1).A1) maka
IsValidMove2 = True
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
-
62
4.1.5 Algoritma Biji Masuk Ke Rumah Untuk Permainan Tingkat Expert
Untuk i = 1 sampai 10
Jika PosisiAwal( i ) = WarnaBiji maka
Untuk j = 1 sampai 15
Jika GamePosisi( j ) = Index maka
Move = False
Next j
Next i
4.1.6 Algoritma 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
-
63
4.2 Implementasi Sistem
Implementasi sistem dalam aplikasi game ini mencakup spesifikasi kebutuhan
perangkat keras (hardware) dan spesifikasi perangkat lunak (software).
4.2.1 Spesifikasi Perangkat Keras dan Perangkat Lunak
Program ini dijalankan dengan menggunakan perangkat keras (hardware)
yang direkomendasikan sebagai berikut :
1. Prosesor Intel Pentium IV 2.26 GHz.
2. Memory 256 MB.
3. Harddisk 40 GB.
4. VGA card 32 MB.
5. Monitor dengan resolusi 800 X 600 pixel.
6. Keyboard dan Mouse
7. LAN Card 100 Mbps dan adanya sistem jaringan (networking).
Adapun perangkat lunak (software) yang direkomendasikan untuk menjalankan
aplikasi ini adalah lingkungan sistem operasi MS-Windows NT/2000/XP.
-
64
4.2.2 Pengujian Program
Klik pada file Halma.exe ataupun icon bertanda . Setelah itu akan muncul
tampilan Splash Screen Halma kemudian klik di bagian frame untuk masuk ke dalam
program.
Gambar 4.1 Tampiln Splash Screen Halma
-
65
Setelah itu akan muncul Tampilan Pengaturan Koneksi. Apabila anda
memulai permainan sebagai server ( host ) maka perlu mengisi Nama Anda, Nomor
Port yang digunakan dan menentukan jumlah pemain kemudian tekan tombol mulai.
Apabila anda bergabung sebagai host maka anda harus mengisi Nama Anda, IP
Address Server dan Nomor Port sesuai dengan Server, kemudian tekan tombol
gabung.
Gambar 4.2 Tampilan Pengaturan Koneksi
-
66
Kemudian masuk kedalam Setting Permainan. Permainan dapat ditentukan
dengan memakai timer atau tidak dan dapat diset waktu timernya sesuai keinginan
dan level permainan dapat dipilih antara beginner dan expert. Apabila semua koneksi
telah tersambung maka permainan dapat dimulai dengan menekan tombol mulai.
Semua settingan diatur oleh server.
Gambar 4.3 Tampilan Setting Koneksi Permainan Halma Untuk 2 Pemain
-
67
Gambar 4.4 Tampilan setting koneksi permainan Halma untuk 3 pemain
-
68
Apabila permainan dimainkan oleh 2 pemain, maka letak biji pemain saling
berhadapan. Sedangkan untuk 3 pemain, maka letak biji sesuai dengan daerah
warnanya masing-masing. Cara melangkah adalah memilih 1 biji yang akan digeser
dengan klik kiri pada mouse dan tekan terus kemudian didrag atau dipindahkan ke
tempat tujuan yang diperbolehkan kemudian lepaskan.
Gambar 4.5 Tampilan board Halma untuk 2 pemain
-
69
Gambar 4.6 Tampilan board Halma untuk 3 pemain
-
70
Apabila permainan menggunakan timer maka pemain yang mendapat giliran
tidak boleh melewati dari waktu yang ditentukan dan akan diganti giliran pemain
lain.
Gambar 4.7 Tampilan Permainan Salah Satu Pemain Kehabisan Waktu
-
71
Pemain dapat menggunakan fasilitas penunjuk langkah yang dapat diambil
oleh biji yang akan dijalankan dengan cara klik kanan pada biji tersebut.
Gambar 4.8 Tampilan langkah langkah yang dapat diambil oleh biji yang
ditandai x
-
72
Pemain yang duluan memindahkan seluruh bijinya ke tujuan rumah
dinyatakan sebagai pemenang.
Gambar 4.9 Tampilan Pemain Dengan Biji Kuning Menang (Game)
-
73
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Setelah menyelesaikan perancangan perangkat lunak permainan Halma
secara online pada network, penulis menarik beberapa kesimpulan sebagai berikut
:
1. Program ini dapat dimainkan di dalam suatu sistem jaringan komputer.
2. Program ini dimainkan dalam jaringan tanpa berhadapan fisik antar sesama
pemain.
5.2 Saran
Penulis ingin memberikan beberapa saran yang mungkin berguna untuk
pengembangan lebih lanjut pada perancangan perangkat lunak permainan Halma,
yaitu :
1. Perangkat lunak dapat dikembangkan untuk personal computer (PC) dengan
menerapkan konsep Artificial Intelligence (AI) pada komputer.
2. Perangkat lunak dapat dikembangkan dengan database history sehingga dapat
menghitung total langkah yang dibutuhkan pemain untuk mencapai sebuah
kemenangan.
3. Perangkat lunak dapat dikembangkan menjadi lebih menarik dengan menambah
dukungan terhadap musik.
-
74
4. Perangkat lunak dapat dikembangkan lebih luas dengan menggunakan jaringan
internet.
5. Perangkat lunak dapat ditambahkan fasilitas guest yang memungkinkan pemakai
komputer lain dalam jaringan untuk menyaksikan jalannya permainan.
top related