Top Banner

of 74

Cara Membuat Game Sederhana LAN

Oct 06, 2015

Download

Documents

Teori
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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.