• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2016

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

Copied!
78
0
0

Teks penuh

(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

(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

(3)

PERSETUJUAN

Diketahui/Disetujui oleh Departemen Matematika FMIPA USU

Ketua, Pembimbing

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

NIP. 19620901 198803 1 002

(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

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

(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

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

(9)

2.3 Citra ... 20

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

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

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

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

(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

(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

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

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.

(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

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

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

(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

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

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

(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

(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

(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

(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

(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

(39)

Tabel 2.2 Struktur Bitmap Info Header

Mulai Ukuran (Byte) Nama Nilai Standar Keterangan

15 4 BiSize 40 Ukuran dari info header dalam

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.

(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

CompuServe Incorporated. Format ini dirancang untuk memudahkan pertukaran citra

bitmap antarkomputer. GIF hanya mendukung resolusi warna sampai 256 warna

(8-bit) [HPJ90]

(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

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

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

(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

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

(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

(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

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

(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

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

(52)

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

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

(54)

1

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

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

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

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.

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

(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

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

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

Gambar

Gambar 2.8 Topologi Ring
Gambar 2.9 Topologi Bus
Gambar 2.10 Topologi Hierarchical Tree
Gambar 2.12 IP Address 32 Bit dan Dikelompokkan Dalam 4 OktetSuatu IP Address
+7

Referensi

Dokumen terkait

Suatu komputer yang terhubung dengan jaringan akan bias menginformasikan suatu informasi ataupun data melalui kabel atau tanpa kabel dalam arti lain dapat bertukar

Jaringan komputer merupakan suatu jaringan yang terdiri atas beberapa perangkat seperti komputer, hub, switch, server, router, dan lain sebagainya yang didesain dengan

Strategi perancangan keamanan jaringan komputer bertujuan untuk memaksimalkan sumber daya yang ada untuk mengamankan sistem jaringan komputer pada titik-titik yang tepat

Jaringan yang terdiri dari beberapa atau banyak komputer yang dapat melakukan pertukaran informasi disebut jaringan komputer.. Berdasarkan jarak jangkauannya,

Adapaun Judul yang diangkat penulis dalam skripsi ini adalah Perancangan Perangkat Lunak Remote Komputer pada Jaringan Local Area Network (LAN) Berbasis Short Message Service

Pada tahun 1970, sudah lebih dari 10 komputer yang berhasil dihubungkan satu sama lain sehingga mereka bisa saling berkomunikasi dan membentuk sebuah jaringan.. Dan pada tahun 1970

Jaringan komputer adalah kombinasi kumpulan perangkat lunak dan perangkat keras seperti komputer, printer dan peralatan lainnya yang terhubung melalui kabel atau media

Jaringan komputer adalah sekelompok komputer otonom yang saling berhubungan antara satu dengan yang lainnya menggunakan protokol komunikasi melalui media komunikasi sehingga