Rancangan Perangkat Lunak Permainan Halma pada Jaringan LAN (Local Area Network) Menggunakan Program Microsoft Visual Basic 6.0

(1)

RANCANGAN PERANGKAT LUNAK PERMAINAN HALMA

PADA JARINGAN LAN ( LOCAL AREA NETWORK )

MENGGUNAKAN PROGRAM MICROSOFT

VISUAL BASIC 6.0

TUGAS AKHIR

NASRUL

082406204

PROGRAM STUDI D3 TEKNIK INFORMATIKA

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGEAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2013


(2)

RANCANGAN PERANGKAT LUNAK PERMAINAN HALMA

PADA JARINGAN LAN ( LOCAL AREA NETWORK )

MENGGUNAKAN PROGRAM MICROSOFT

VISUAL BASIC 6.0

TUGAS AKHIR

Diajukan Untuk melengkapi tugas dan Memenuhi syarat mencapai Gelar Ahli Madya

NASRUL 082406204

PROGRAM STUDI D3 TEKNIK INFORMATIKA

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2013


(3)

PERSETUJUAN

Judul : RANCANGAN PERANGKAT LUNAK

PERMAINAN HALMA PADA LAN ( LOCAL AREA NETWORK ) MENGGUNA

KAN PROGRAM MICROSOFT VISUAL BASIC 6.0

Kategori : TUGAS AKHIR Nama : NASRUL Nomor Induk Mahasiswa : 082406204

Program Studi : D3 TEKNIK INFORMATIKA

Departemen : MATEMATIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, 22 Februari 2013

Diketahui/Disetujui oleh Departemen Matematika FMIPA USU

Ketua, Pembimbing

Prof. Dr. Tulus, Vordipl.Math.,M.Si.,Ph.D

NIP. 19620901 198803 1 002

Drs. Liling Perangin-angin, M.Si NIP. 19470714 198403 1 001


(4)

PERNYATAAN

RANCANGAN PERANGKAT LUNAK PERMAINAN HALMA

PADA JARINGAN LAN ( LOCAL AREA NETWORK )

MENGGUNAKAN PROGRAM MICROSOFT

VISUAL BASIC 6.0

TUGAS AKHIR

Saya mengakui bahwa Tugas Akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 22 Februari 2013

NASRUL 082406204


(5)

PENGHARGAAN

Bismillahirrahmanirrahim,

Alhamdulillah. Segala puji bagi Allah SWT yang telah memberikan rahmat dan hidayat-Nya, sehingga penulis berhasil menyelesaikan tugas akhir yang berjudul Rancangan Perangkat Lunak Permainan Halma pada LAN (Local Area Network) Menggunakan Program Microsoft Visual Basic 6.0.

Ini tepat pada waktunya. Shalawat dan salam semoga selalu dilimpahkan kepada junjungan Nabi besar Muhammad SAW, keluarga, sahabat dan para pengikut sampai akhir zaman.

Tugas akhir ini disusun sebagai salah satu syarat untuk menyelesaikan pendidikan Diploma III Teknik Informatika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatra Utara. Dalam tugas akhir ini, penulis banyak mendapat masukan serta dukungan dari berbagai pihak.

Secara khusus penulis menyampaikan rasa terima kasih yang sedalam-dalamnya kepada Ibunda Yusmaini dan Ayahanda M. Yunus Thaeb yang telah mendidik dan membesarkan penulis dengan segala pengorbanan yang tak terhitung nilainya serta kasih sayang yang tulus. Dan selalu memberikan doa dan dukungan baik moril maupun materil, sehingga penulis dapat mengikuti kuliah Diploma III Teknik Informatika dan menyelesaikan pendidikan ini tepat pada waktunya. Semoga Allah SWT membalas budi baik mereka. Amin.

Dalam kesempatan ini penulis juga ingin mengucapkan terima kasih kepada: 1. Dr. Sutarman, M.Sc, selaku Dekan Fakultas Matematika dan Ilmu

Pengetahuan Alam Universitas Sumatra Utara 2. Dr. Marpongahtun, M.Sc. selaku Pembantu Dekan I

3. Prof. Drs. Tulus, M.Si. selaku Ketua Departemen Matematika

4. Syahril Effendi, S.Si, M.IT selaku Ketua Jurusan Program Studi Diploma III Teknik Informatika

5. Drs. Liling Perangin-angin, M.Si selaku Dosen Pembimbing tugas akhir yang telah memberikan bimbingan dan pengarahan kepada saya selama menyusun tugas akhir ini

6. Seluruh Dosen dan Staff program studi Diploma III Teknik Informatika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatra Utara yang telah memberikan ilmu pengetahuannya kepada penulis selama masa perkuliahan.

7. Ucapan terima kasih juga penulis sampaikan kepada kelima saudara kandung kakakku neta, abangku aris, uninkku lisa, ungohku eva, serta semua keluarga penulis yang di Aceh, terima kasih atas kasih dukungan dan kasih sayangnya selama ini.

8. Terima Kasih juga kepada Ibu kost yang sudah bertahun-tahun saya tempati yang sederhana itu, begitu juga kekasih tersayang helend sandria serta juga


(6)

para sahabat-sahabat anak Kost KJS bg ian, puteq, khoir, maghet, denny cagur, agus, muda, putra, hafiz, adam, taufik, nopri, fahmi, dan semua anggota futsal. Terima kasih atas nasehat dan dukungan yang selama ini kepada penulis , terkadang kita sering berselisih tetapi kalian adalah sahabat-sahabat terbaik aku yang tak pernah terlupakan.

9. Teman-teman komputer C’08 Faris Setiawan Lubis dan yang lainnya yang sama-sama seperjuangan telah banyak memberikan motivasi kepada penulis baik dalam penyusunan tugas akhir ini maupun pada masa perkuliahan.

Pada penulisan tugas akhir ini, penulis telah berusaha semaksimal mungkin untuk mencapai kesempurnan. Namun penulis menyadari terdapat kelemahan dan kekurangan dalam penulisan tugas akhir ini. Untuk itu penulis mengharapkan kritik dan saran dari pembaca demi penyempurnaan.

Demikian tugas akhir ini saya buat. Semoga tulisan ini bermanfaat bagi kita semua.

Medan, 22 Februari 2013 Penulis


(7)

ABSTRAK

Penggunaan jaringan pada saat ini sudah mengalami kemajuan yang sangat pesat dan telah banyak dimanfaatkan untuk berbagai kegiatan bisnis, baik oleh perusahaan yang besar maupun perusahaan kecil. Sebagai peluang bisnis dalam dunia usaha, beberapa dari perusahaan tersebut menjadikan media (jaringan internet) sebagai media utama yang dapat memberikan kemudahan untuk berkomunikasi secara langsung melalui media elektronik, baik secara internal maupun secara eksternal. Perkembangan yang begitu drastis bisa menjadi sebuah peluang yang sangat baik dalam segi ekonomi secara keseluruhan, namun bagi sebagian besar perusahaan yang bergerak di bidang jaringan, ini merupakan tantangan besar yang kompleks. Bagaimana tidak, sebuah perusahaan yang relatif kecil dapat dengan mudah memiliki teknologi informasi yang hampir sama dengan perusahaaan besar yang telah lama berkecimpung dibisnis ini.

Dengan demikian, penulis ingin membangun suatu rancangan permainan halma portable yang di rancang melalui program Mikrosoft Visual Basic 6.0 dan juga Adobe Photoshop, dimana permainan ini dapat di mainkan sekaligus tiga pemain saja. caranya dengan mengkoneksikan satu komputer dengan komputer yang lainnya di suatu jaringan yang dinamakan LAN ( Local Area Network ,). Untuk itu penulis akan

membahas judul “RANCANGAN PERANGKAT LUNAK PERMAINAN HALMA

PADA LAN ( LOCAL AREA NETWORK ) MENGGUNAKAN PROGRAM MIKROSOFT VISUAL BASIC 6.0“


(8)

DAFTAR ISI

Halaman

PERSETUJUAN ... i

PERNYATAAN ... PENGHARGAAN ... ABSTRAK ... DAFTAR ISI ... i

DAFTAR TABEL ... i D DAFTAR GAMBAR ... i

BAB 1 PENDAHULUAN ... 1

1.1Latar Belakang ... 2

1.2Perumusan Masalah ... 2

1.3Tujuan dan Manfaat Penulisan ... 2

1.4Pembatasan Masalah ... 2

1.5Penyelesaian Masalah ... 3

BAB 2 LANDASAN TEORI ... 4

2.1 Jaringan Komputer ... 4

2.1.1 Sejarah Jaringan Komputer ... 5

2.1.2 Definisi Jaringan Komputer ... 5

2.1.3 Tipe-tipe Jaringan Komputer ... 6

2.1.4 Media Tranmisi ... 10

2.1.5 Arsitektur Jaringan Komputer ... 12

2.1.6 Topologi Jaringan Komputer ... 14

2.2 Dasar – dasar Jaringan TCP / IP ... 19

2.2.1 Arsitektur Jaringan Protocol (IP) ... 19

2.2.2 IP Address ... 19

iv iii vi vii x xi


(9)

2.3 Citra ... 20

2.3.1 Definisi Citra ... 20

2.3.2 Citra Analog ... 20

2.3.3 Citra Digital ... 21

2.3.4 Konversi Citra Analog ke Citra Digital ... 22

2.3.5 Definisi Pixel ... 23

2.3.6 Resolusi ... 23

2.3.7 Format Penyimpanan Citra ... 23

2.3.8 Format File BMP ... 24

2.3.9 Format File GIF ... 26

2.4 Depth First Search ... 29

2.4.1 Penerapan DFS Dalam Permainan Halma ... 31

2.5 Sejarah Halma ... 31

BAB 3 PEMBAHASAN DAN PERANCANGAN ... 33

3.1 Pembahasan ... 33

3.1.1 Perancangan Gambar Papan Permainan Halma ... 34

3.1.2 Proses Initialisasi Gambar Papan Halma ... 34

3.1.3 Proses Pengaturan Koneksi ... 36

3.1.4 Proses Pengesetan Board Halma ... 36

3.1.5 Proses Pengecekan Langkah – Langkah Yang Dapat di Jalankan Oleh Biji ... 37

3.1.6 Proses Pencarian Langkah Terpendek ... 40

3.1.7 Proses Pengecekan Pemenang ... 40

3.2 Aturan Permainan Halma ... 41

3.2.1 Aturan Tingkat Beginner ... 41

3.2.2 Aturan Tingkat Expert ... 41

3.3 Perancangan ... 42


(10)

3.3.2 Form Pengaturan Koneksi Jaringan ... 44

3.3.3 Form Setting Permainan ... 45

3.3.4 Form Permainan Halma ... 47

BAB 4 ALGORITMA DAN IMPLEMENTASI ... 49

4.1 Algoritma ... 49

4.1.1 Algoritma Koneksi Antar Pemain ... 49

4.1.2 Algoritma Pengesetan Board Halma ... 50

4.1.3 Algoritma Pencarian Langkah Terpendek ... 50

4.1.4 Algoritma Pengecekan Jalan ( Apakah Valid atau Tidak ) ... 51

4.1.5 Algoritma Biji Masuk Ke Rumah Untuk Permainan Tingkat Expert ... 52

4.1.6 Algoritma Penentuan Pemenang ( Apakah Salah Satu Pemain Telah Mencapai Posisi Kemenangan atau Belum ) ... 52

4.2 Implementasi Sistem ... 53

4.2.1 Spesifikasi Perangkat Keras dan Perangkat Lunak ... 53

4.2.2 Pengujian Program ... 54

BAB 5 KESIMPULAN DAN SARAN ... 60

5.1 Kesimpulan ... 60

5.2 Saran ... 60

DAFTAR PUSTAKA ... 62

LAMPIRAN A ... 63


(11)

DAFTAR TABEL

Halaman

Tabel 2.1 Struktur Bitmap File Header ... 25

Tabel 2.2 Struktur Bitmap Info Header ... 25

Tabel 2.3 Struktur RGBQUAD ... 26


(12)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Komponen Utama Dalam Jaringan Komputer ... 6

Gambar 2.2 Kabel Twisted-Pair ... 10

Gambar 2.3 Kabel Koaksial ... 10

Gambar 2.4 Kabel Serat Optik ... 11

Gambar 2.5 Jaringan Peer-to-Peer ... 12

Gambar 2.6 Jaringan Client / Server ... 13

Gambar 2.7 Topologi Star ... 15

Gambar 2.8 Topologi Ring ... 16

Gambar 2.9 Topologi Bus ... 17

Gambar 2.10 Topologi Hierachical Tree ... 18

Gambar 2.11 Topologi Hybrid atau Meta ... 18

Gambar 2.12 Address 32 Bit dan Dikelompokkan Dalam 4 Oktet ... 19

Gambar 2.13 Contoh Algoritma Untuk Konversi ke IP Address Dalam Format Bilangan Desimal ... 20

Gambar 2.14 Pembentukan Citra Digital Dari Citra Analog ... 21

Gambar 2.15 Proses Digitasi ... 22

Gambar 2.16 Pohon Pencarian Depth First Search ... 31

Gambar 3.1 Rancangan Gambar Papan Halma ... 34

Gambar 3.2 Penomoran Dan Pemetaan Papan Permainan ... 35

Gambar 3.3 Contoh Keadaan Posisi Biji-Biji Pada Papan Permainan ... Gambar 3.4 Contoh Posisi Tujuan Dari Biji Pada Papan Permainan Halma ... 40

Gambar 3.5 Rancangan Form Splash Screen ... 44

Gambar 3.6 Rancangan Form Pengaturan Koneksi Jaringan ... 44

Gambar 3.7 Rancangan Form Setting Permainan ... 46

Gambar 3.8 Rancangan Form Permainan Halma ... 47

Gambar 3.9 Rancangan Menu Permainan Pada Form Permainan Halma ... 47

Gambar 3.10 Rancangan Menu Option Pada Form Permainan Halma ... 47

Gambar 4.1 Tampilan Splash Screen Halma ... 54

Gambar 4.2 Tampilan Pengaturan Koneksi ... 55 38


(13)

Gambar 4.3 Tampilan Setting Koneksi Permainan Halma Untuk 2 Pemain ... 56

Gambar 4.4 Tampilan Setting Koneksi Permainan Halma Untuk 3 Pemain ... 56

Gambar 4.5 Tampilan Board Halma Untuk 2 Pemain ... 57

Gambar 4.6 Tampilan Board Halma Untuk 3 Pemain ... 58

Gambar 4.7 Tampilan Permainan Salah Satu Pemainan Kehabisan Waktu ... 58

Gambar 4.8 Tampilan Langkah – Langkah Yang Dapat Diambil Oleh Biji Yang Ditandai ’X’ ... 59


(14)

ABSTRAK

Penggunaan jaringan pada saat ini sudah mengalami kemajuan yang sangat pesat dan telah banyak dimanfaatkan untuk berbagai kegiatan bisnis, baik oleh perusahaan yang besar maupun perusahaan kecil. Sebagai peluang bisnis dalam dunia usaha, beberapa dari perusahaan tersebut menjadikan media (jaringan internet) sebagai media utama yang dapat memberikan kemudahan untuk berkomunikasi secara langsung melalui media elektronik, baik secara internal maupun secara eksternal. Perkembangan yang begitu drastis bisa menjadi sebuah peluang yang sangat baik dalam segi ekonomi secara keseluruhan, namun bagi sebagian besar perusahaan yang bergerak di bidang jaringan, ini merupakan tantangan besar yang kompleks. Bagaimana tidak, sebuah perusahaan yang relatif kecil dapat dengan mudah memiliki teknologi informasi yang hampir sama dengan perusahaaan besar yang telah lama berkecimpung dibisnis ini.

Dengan demikian, penulis ingin membangun suatu rancangan permainan halma portable yang di rancang melalui program Mikrosoft Visual Basic 6.0 dan juga Adobe Photoshop, dimana permainan ini dapat di mainkan sekaligus tiga pemain saja. caranya dengan mengkoneksikan satu komputer dengan komputer yang lainnya di suatu jaringan yang dinamakan LAN ( Local Area Network ,). Untuk itu penulis akan

membahas judul “RANCANGAN PERANGKAT LUNAK PERMAINAN HALMA

PADA LAN ( LOCAL AREA NETWORK ) MENGGUNAKAN PROGRAM MIKROSOFT VISUAL BASIC 6.0“


(15)

BAB 1

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).


(16)

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. 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


(17)

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 MicrosoftVisual Basic 6.0.


(18)

BAB 2

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 terminalyangtersambung secara seri di

setiap host komputer. Dalam proses distribusi sudah mutlak diperlukan perpaduan antara teknologi komputer dan telekomunikasi, karena selain proses yang harus didistribusikan, semua host komputer wajib melayani terminal-terminalnya


(19)

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,

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,


(20)

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

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).


(21)

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, 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


(22)

saling berkomunikasi seperti saling bertukar data. User juga dapat mengakses program aplikasi pada workstation yang dapat bekerja sendiri di workstation

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

Workstation dapat berfungsi sebagai, a. Server

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

Server dapat berupa sistem komputer yang khusus dibuat untuk keperluan tertentu, seperti untuk penggunaan printer secara bersama (print server), untuk hubungan eksternal LAN ke jaringan lain (communication server), dan file server yakni disk yang digunakan secara bersama oleh beberapa klien. Server

ini tidak dapat digunakan sebagai klien, karena baik secara hardware maupun

software, hanya berfungsi untuk mengelola jaringan.

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

workstation oleh user. 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


(23)

klien. Ada pula peralatan tambahan seperti repeater, bridge, gateway yang terlibat sebagai perpanjangan jarak capai hubungan jaringan.

3. Transceiver

Transceiver (transmitter-receiver) merupakan perangkat keras yang menghubungkan workstation atau sistem komputer dengan media transmisi . 4. Kartu Jaringan (Network Interface Card / NIC)

Kartu jaringan ini adalah kartu yang dipasang pada PC yang mengendalikan pertukaran data antar workstation yang ada dalam jaringan lokal. Setiap

workstation harus dilengkapi dengan NIC yang secara fisik terhubung langsung dengan bus internal dari PC.

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.

2.1.4 Media Transmisi

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,


(24)

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, 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


(25)

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

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.


(26)

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.

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


(27)

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 jaringan client / server sedemikian sehingga tingkat keamanan dapat lebih terjaga


(28)

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.5 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 harus


(29)

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


(30)

terganggu. Jenis topologi ini tidak begitu umum digunakan dalam jaringan komputer.

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


(31)

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.

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


(32)

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


(33)

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.

Gambar 2.12 IP Address 32 Bit dan Dikelompokkan Dalam 4 OktetSuatu IP Address

terdiri dari 32 bit yang bekerja dalam suatu urutan waktu. Dari 32 bit

kemudiandipecah menjadi 8 bit atau lebih dikenal dengan oktet dimana

masing-32 Bits

8 Bits 8 Bits 8 Bits 8 Bits

Network Host

Dotted Decimal Notation


(34)

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

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.

110000000 10101000 000000001 00011000 192 .168 .1 . 24

11111111 11111111 11111111 00000000

Format Biner

Format Desimal

255

.

255

.

255

.

0

Binary

Representation Dotted decimal representation


(35)

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.

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 Analog Citra Digital

( Scanning, Sampling ) Proses Digitasi


(36)

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.

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


(37)

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 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


(38)

(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 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 Bitmap File Header

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


(39)

Tabel 2.2 Struktur Bitmap Info Header

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

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


(40)

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 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


(41)

transparan ( background transparency), penyimpanan data citra secara interlaced dan kemampuan untuk menampilkan citra animasi.

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

Global Color Map

Number of

Global Colors * 3

Global color table, present only when Global Descriptor Flags Global Color Map =1


(42)

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 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


(43)

Local Color * 3 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

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 :


(44)

 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.

 Pada kasus terburuk, DFS akan mencapai tujuan pada kedalaman d pada node terakhir, sehingga dibutuhkan pencarian sebanyak 1 + b + b2 + b3

+….+ 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.


(45)

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 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.


(46)

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

E.I. Horsman Company. Terdapat kontroversi pada Halma di AS, dimana Milton Bradley Company juga mengklaim hak atas permainan ini. Tidak jelas apakah terjadi perang hak legal, tetapi kemudian Milton Bradley memproduksi dan memasarkan versi modifikasi dari Halma dengan nama Eckha pada tahun 1889.

Parker Bros mengklaim bahwa George H. Monks menjual hak paten atas

Halma kepada mereka, namun hal itu tidak diverifikasi.

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.


(47)

BAB 3

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 secara berturut-turut hingga membentuk sebuah segitiga dan dilakukan proses fill color dengan warna kuning, merah dan biru. Kemudian tiga buah segitiga sama sisi


(48)

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

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


(49)

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

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 :


(50)

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 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.


(51)

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 :

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.


(52)

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 48 49 50 51 52 53 54 55 56

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 84

76 77 85 86

89 90 91 92 93 94 95 87 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.

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.


(53)

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.

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.


(54)

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 48 49 50 51 52 53 54 55 56

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 84

76 77 85 86

89 90 91 92 93 94 95 87 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

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.


(55)

3.2Aturan 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.

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.


(56)

5. Biji dapat melangkah melompati dengan syarat terdapat satu biji rintangan didepan jalurnya dan posisi tujuan kosong.

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.

5. Check Box : unit ini digunakan untuk memilih satu atau beberapa syarat secara bersamaan.


(57)

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.

Perangkat lunak ini memiliki beberapa form yaitu : 1. FormSplash Screen.

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


(58)

3.3.1 Form Splash Screen

Gambar 3.5 Rancangan Form Splash Screen

Keterangan :

1 : nama perangkat lunak.

2 : gambar logo dari perangkat lunak. 3 : nama pembuat program.


(59)

Gambar 3.6 Rancangan Form Pengaturan Koneksi Jaringa

Keterangan :

1 : title bardengan 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.

3.3.3 Form Setting Permainan

Gambar 3.7 Rancangan Form Setting Permainan

Keterangan :


(60)

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 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.


(61)

3.3.4 Form Permainan Halma

Gambar 3.8 Rancangan Form Permainan Halma

Gambar 3.9 Rancangan Menu Permainan Pada Form Permainan Halma


(62)

1 : title bardengan tulisan ‘HALMA – local area network online.

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 ‘Peralatan (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.

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.


(63)

BAB 4

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

socketclient, dimana socket client berperan aktif dalam mengirim dan menerima data dari winsock dari komputer lain.


(64)

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) 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)


(65)

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)

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


(1)

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’

Pemain yang duluan memindahkan seluruh bijinya ke tujuan rumah dinyatakan sebagai pemenang.


(2)

BAB 5

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 (LAN). 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.


(3)

5. Perangkat lunak dapat ditambahkan fasilitas guest yang memungkinkan pemakai komputer lain dalam jaringan untuk menyaksikan jalannya permainan.


(4)

DAFTAR PUSTAKA

Harrington, S., Computer Graphics A Programming Approach, International Student Edition Mc Graw-Hill International Book Company, Japan, 1983. K.Ariyo Surya, Buku latihan Microsoft Visual Basic 6.0 , PT. Elex Media

Komputindo, Jakarta, 2000.

Murni, A., Pengantar Pengolahan Citra, PT. Elex Media Komputindo, Jakarta, 1992. Stallings, W. Local Network, Macmillan Publishing Company, 1985.

Tanenbaum, AS, Computer Networks, Prentise Hall, 1996

Vegard Krog Petersen, Chinese Checker, http://home.no.net/vkp/index.html © 2004-2005


(5)

SURAT KETERANGAN Hasil Uji Program Tugas Akhir

Yang bertanda tangan dibawah ini, menerangkan bahwa Mahasiswa Tugas Akhir Program Diploma III Teknik Informatika/Statistika:

Nama : NASRUL NIM : 082406204

Prog. Studi : Teknik Informatika

Judul TA : RANCANGAN PERANGKAT LUNAK PERMAINAN HALMA PADA JARINGAN LAN ( LOCAL AREA NETWORK)

MENGGUNAKAN PROGRAM MICROSOFT VISUAL BASIC 6.0 Telah melaksanakan test program Tugas Akhir Mahasiswa tersebut di atas pada tanggal 04 Juni 2012

Dengan Hasil : Sukses / Gagal

Demikian diterangkan untuk digunakan melengkapi syarat pendaftaran Ujian Meja Hijau Tugas Akhir Mahasiswa bersangkutan di Departemen Matematika FMIPA USU Medan.

Medan, 04 Juni 2012 Dosen Pembimbing

Drs. Liling Perangin-angin, M.Si NIP. 19470714 198403 1 001


(6)

Kartu Bimbingan Tugas Akhir Mahasiswa Nama Mahasiswa : Nasrul

Nomor Stambuk : 082406204

Judul Tugas Akhir : Rancangan Perangkat Lunak Permainan Halma Pada LAN (Local Area Network) Menggunakan Program Microsoft Visual Basic 6.0

Dosen Pembimbing : Drs. Liling Perangin-angin, M.Si Tanggal Mulai Bimbingan : 19 Mei 2012

Tanggal Selesai Bimbingan : 08 Juni 2012

No

Tanggal Assistensi Bimbingan

Pembahasan Pada Asistensi Mengenai Pada BAB

Paraf Dosen

Pembimbing Keterangan 1 02 April 2012 Pengajuan Proposal TugasAkhir

2 25 Mei 2012 Pemeriksaan Bab 1-5 3 04 Juni 2012 Uji Program

4 04 Juni 2012 Acc Uji Program 5 08 Juni 2012 Acc Tugas Akhir

Diketahui,

Ketua Departemen Matematika FMIPA USU

Disetujui,

Pembimbing Utama/Penanggung Jawab

*kartu ini harap dikembalikan ke Departemen Matematika bila bimbingan telah selesai

UNIVERSITAS SUMATERA UTARA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM DEPARTEMEN MATEMATIKA

PROGRAM STUDI D.III TEKNIK INFORMATIKA / STATISTIKA