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
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
PERSETUJUAN
Diketahui/Disetujui oleh Departemen Matematika FMIPA USU
Ketua, Pembimbing
Prof. Dr. Tulus, Vordipl.Math.,M.Si.,Ph.D
NIP. 19620901 198803 1 002
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
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.
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
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“
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
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
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
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
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.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
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“
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.
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
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.
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
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,
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.
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
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
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.
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
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.
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
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
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
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.
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.
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
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
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
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
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
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
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
(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
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.
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]
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
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
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.
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 :
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
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.
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
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
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 :
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
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.
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.
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.
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
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.
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 :
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.
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.
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 :
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.
3.3.4 Form Permainan Halma
Gambar 3.8 Rancangan Form Permainan Halma
Gambar 3.9 Rancangan Menu Permainan Pada Form Permainan Halma
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).
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
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)
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