• Tidak ada hasil yang ditemukan

Dalam bab ini dijelaskan mengenai analisis dan desain perangkat lunak, perangkat lunak ini dibangun dengan manggunakan Delphi 7.0.

4.1 Spesifikasi Kebutuhan Sistem

Kebutuhan sistem dalam pembuatan permainan halma ini memerlukan perangkat lunak (software) dan perangkat keras (hardware), agar dapat berjalan sesuai dengan yang diharapkan.

Adapun perangkat lunak yang digunakan, yaitu : a. Sistem operasi Windows XP/Vista/Windows 7. b. Aplikasi Microsoft Office Visio 2007.

c. Aplikasi adobe Photoshop CS 2.

d. Aplikasi bahasa pemrograman Delphi 7.0. Perangkat keras yang digunakan, yaitu :

a. Prosesor Intel Pentium IV 2.26 GHz. b. Memory 256 MB.

c. Harddisk 40 GB. d. VGA card 32 MB.

e. Monitor dengan resolusi 800 X 600 pixel. f. Keyboard dan Mouse

g. LAN - Card 100 Mbps dan adanya sistem jaringan (networking). h. WIFI - LAN 54 Mbps untuk sistem jaringan (networking).

4.2 Analisis Initialisasi Gambar Papan Halma

Rancangan Papan Halma pada Gambar 3.1 diberi inisialisasi. Gambar 3.2 memperlihatkan bahwa terdapat matrik posisi berukuran 17 X 25 dimulai dari posisi [1,1] sampai posisi [17,25]. Papan Halma yang diberi tanda bulat l disebut node yang jumlahnya 121 buah. Setiap node terletak pada sebuah matrik posisi. Pada node 1 berada pada matrik [17,13] dan node 61 berada pada matrik [9,13]. Perhatikan node 70 dimana memiliki tetangga node 80, 81, 69, 71, 60 dan 61. Jadi setiap node masing-masing memiliki tetangga. Sebuah node terdapat maksimum 6 buah node tetangga. Namun terdapat node yang tetangganya lebih kecil dari 6 node tetangga artinya ada node tetangga tidak berada di area papan halma diberi nilai 0.

Gambar 4.1 Penomoran dan Pemetaan Papan Permainan Halma

Semua node diberi nilai sesuai dengan gambar di atas. Masing-masing node terdapat enam buah pointer yaitu :

1. S[1] berisi nilai label dari posisi yang terletak di samping kiri node. 2. S[2] berisi nilai label dari posisi yang terletak di samping kanan node. 3. A[1] berisi nilai label dari posisi yang terletak di kiri atas node. 4. A[2] berisi nilai label dari posisi yang terletak di kanan atas node. 5. B[1] berisi nilai label dari posisi yang terletak di kiri bawah node. 6. B[2] berisi nilai label dari posisi yang terletak di kanan bawah node. Untuk lebih jelasnya dilihat pada contoh dibawah ini :

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.

4.3 Analisis Pengatur an Koneksi

Delphi menyediakan banyak benda untuk memungkinkan anda menulis aplikasi yang pertukaran data melalui jaringan (internet, intranet, lokal). Pada artikel ini kita akan mempelajari dua komponen Delphi, TServerSocket dan TClientSocket, baik yang dirancang untuk memungkinkan anda membaca dan menulis informasi melalui sebuah IP / koneksi TCP. Penjelasannya sebagai berikut :

1. Didalam Delphi 7 terdapat fasilitas atau component yang dapat digunakan untuk komunikasi jaringan Ethernet (TCP/IP). Dengan menggunakan komponen ServerSocket dan ClinetSocket yang tersedia pada palette internet pada Delphi 7. Dengan memanfaatkan komponen ini dapat mengkomunikasikan antar computer menggunakan TCP/IP melalui sebuah

jaringan komputer. Jika komputer anda sudah memiliki jaringan local maka anda dapat melakukan antar komputer, akan tetapi jika anda tidak ada maka anda dapat memakai sebuah komputer yang nantinya bertindak sebagai server sekaligus client. Jika menggunakan satu buah komputer pakailah 127.0.0.1(localhost) yang merupakan alamat tetap dari komputer.

2. Bagaimana mencapai sebuah layanan tertentu pada jaringan tertentu. Salah satu jawaban yang paling sederhana adalah bahwa klien harus diizinkan untuk mengirim pesan ke layanan yang dan membaca balasan dari itu. Cara yang paling praktis untuk melakukan jaringan mengirim / membaca adalah dengan menggunakan soket.

3. Pada Port dan Host, dalam rangka untuk memulai sambungan soket, menggunakan komponen soket, host dan port harus ditentukan. Secara umum, tuan rumah menetapkan sebuah alias untuk alamat IP dari sistem server; port menentukan nomor ID yang mengidentifikasi koneksi soket server. (R.I. 2003).

4.4 Analisis Pengesetan Boar d Halma

Pada saat sebelum permainan dimulai maka terlebih dahulu kita harus mengeset biji-bijinya masing-masing ke tempat yang sudah ditentukan yaitu di posisi awal rumah. Proses pengesetan ini menggunakan array untuk menyimpan posisi awal masing-masing setiap biji. Sehingga apabila setiap permainan dimulai maka biji-biji pemain akan terletak pada rumah masing-masing.

4.5 Analisis Pengecekan Langkah – Langkah Yang Dapat Dijalankan Oleh Biji

Setiap pemain dapat menggerakkan bijinya ke posisi yang diinginkan. Namun, posisi yang diinginkan tersebut harus dapat dijalankan. Jika tidak, maka pergerakan biji tidak diperbolehkan. Proses pengecekan pergerakan biji yang diperbolehkan adalah sebagai berikut :

1. Pengecekan dimulai dari posisi awal biji dengan mengecek nilai setiap pointer dari posisi biji tersebut.

2. Nilai pointer menunjukkan posisi tujuan yang dapat digerakkan oleh biji tersebut. Jika nilai pointer bernilai 0, maka berarti biji tidak dapat digerakkan ke arah tersebut.

3. Jika posisi tujuan yang dapat digerakkan masih kosong (tidak ditempati oleh biji), maka biji berhenti di posisi tersebut dan tidak dapat digerakkan lagi.

4. Jika posisi tujuan yang dapat digerakkan tidak kosong (ditempati oleh biji), maka biji tersebut digerakkan ke posisi dengan arah pointer yang sesuai dengan arah posisi tujuan tersebut jika ditinjau sebagai nilai pointer dari posisi asal.

5. Proses pengecekan untuk langkah keempat dilakukan untuk semua nilai pointer dari posisi tujuan tersebut yang telah ditempati oleh biji hingga tidak terdapat nilai pointer dari posisi tujuan yang telah ditempati oleh biji.

6. Jika pada waktu proses pengecekan, didapat posisi tujuan yang telah diperoleh sebelumnya, maka proses pengecekan untuk posisi tujuan tersebut tidak perlu dilanjutkan lagi.

Agar lebih jelas, simaklah contoh berikut ini, Misalkan ingin digerakkan biji kuning yang berada pada posisi 17 dengan posisi biji-biji lainnya seperti ditunjukkan oleh gambar berikut ini.

Posisi tujuan yang dapat dicapai oleh biji kuning pada posisi 17 tersebut adalah sebagai berikut :

1. Posisi 8 yang merupakan nilai pointer B1 dari posisi 17. 2. Posisi 9 yang merupakan nilai pointer B2 dari posisi 17. 3. Posisi 16 yang merupakan nilai pointer S1 dari posisi 17. 4. Posisi 18 yang merupakan nilai pointer S2 dari posisi 17.

5. Nilai pointer A1 dari posisi 17 yaitu posisi 29 telah ditempati oleh biji, maka posisi tujuan yang dapat ditempati oleh biji adalah sesuai dengan nilai pointer A1 dari posisi 29 yaitu posisi 40.

6. Karena posisi 40 ditempati dengan melompati biji lainnya, maka biji masih dapat digerakkan lagi, namun harus dengan melakukan lompatan, yang berarti bahwa posisi tujuan sesuai dengan nilai pointer dari posisi tersebut harus telah ditempati oleh biji lainnya. Jika tidak, maka biji tidak dapat digerakkan lagi. Nilai pointer dari posisi 40 hanya pointer A2 yaitu posisi 51 dan B2 yaitu posisi 29 yang telah terisi, maka pointer A2 dari posisi 51 yaitu posisi 61. Pengecekan dilanjutkan untuk posisi 61. Nilai pointer dari posisi 61 hanya pointer A2 yaitu posisi 71 dan pointer B2 yaitu posisi 52 yang telah ditempati oleh biji maka pointer A2 dari posisi 71 yaitu posisi 82 dan pointer B2 dari posisi 52 yaitu posisi 42 merupakan posisi tujuan yang dapat ditempati oleh biji.

7. Pengecekan dilanjutkan untuk posisi 82 dan posisi 42. Nilai pointer dari posisi 82 hanya pointer B1 yaitu posisi 71 yang telah ditempati oleh biji, maka pointer B1 dari posisi 71 yaitu posisi 61 merupakan posisi tujuan yang dapat ditempati oleh biji. Namun, karena posisi 61 merupakan posisi asal sebelumnya dan telah dimasukkan sebagai posisi tujuan, maka proses pengecekan untuk posisi 61 dihentikan. Nilai pointer dari posisi 42 hanya pointer A1 yaitu posisi 52, pointer B1 yaitu posisi 30, dan pointer S2 yaitu posisi 43 yaitu posisi 44 merupakan posisi tujuan yang dapat ditempati oleh biji. Namun, karena posisi 17 merupakan posisi awal maka posisi 17 bukan merupakan posisi tujuan. posisi 44.

8. Nilai pointer A2 dari posisi 17 yaitu posisi 30 telah ditempati oleh biji, maka pointer A2 dari posisi 30 yaitu posisi 42 merupakan posisi tujuan yang dapat ditempati oleh biji. Namun, karena posisi 42 sebelumnya telah dimasukkan sebagai posisi tujuan, maka proses pengecekan untuk posisi 42 dihentikan.

Maka, posisi tujuan yang dapat dicapai oleh posisi 17 adalah posisi 8, 9, 16, 18, 40, 42, 44, 61, dan 82 seperti ditunjukkan oleh tanda lingkaran merah pada gambar berikut ini.

4.6 Analisis Pencar ian Langkah Ter pendek

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.

Metode ini digunakan untuk mencari langkah terpendek yang ditempuh oleh biji pemain ke daerah tujuan. (Entin, 2009 Diakses 31 Oktober 2011).

4.7 Analisis Pengecekan Pemenang

Pada proses ini akan dilakukan pengecekan terhadap biji – biji yang telah masuk ke daerah tujuan rumah apakah semuanya sudah masuk atau tidak dengan cara menyimpan array posisi tujuan rumah. Pemain yang duluan memasukkan semua bijinya ke daerah tujuan rumah dinyatakan sebagai pemenang.

4.8 Atur an Per mainan 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. Pemain yang berhasil memindahkan semua bijinya terlebih dahulu dinyatakan menang. (Adichandra, 2009. Diakses 31 Oktober 2011).

Desain perangkat lunak permainan halma ini menggunakan bahasa pemrograman Delphi 7.0. Komponen- komponen yang digunakan dalam pembuatan perangkat lunak ini sebagai berikut :

a. Form : merupakan lembaran kerja tempat meletakkan item dalam Window Delphi 7.0.

b. Pointer : komponen khusus dan terdapat disetiap tab dalam component palatte. Komponen pointer adalah komponen select yang digunakan untuk memilih komponen dalam form designer. c. Frames : Sebuah kontainer yang digunakan untuk menampung

komponen frame dapat diletakkan dalam form atau frame-frame yang lain.

d. MainMenu : Komponen yang digunakan untuk membuat menu bar dan menu drop down. Komponen ini bersifat invisible.

e. PopUpMenu : Komponen yang digunakan untuk membuat menu popup yang akan muncul jika pemakai melakukan proses klik kanan. Komponen ini bersifat invisible.

f. Label : unit ini digunakan untuk menampilkan teks, angka, atau simbol pada saat program dijalankan.

g. Edit : Komponen yang digunakan untuk menerima satu baris teks yang merupakan data input pemakai. Komponen ini juga dapat digunakan untuk menampilkan teks.

h. Memo : Komponen Memo dipakai untuk memasukkan atau menapilkan beberapa baris teks di dalam form.

i. Button : Komponen yang dipakai untuk membuat button yang akan dipakai untuk memilih pilihan di dalam aplikasi. Jika mengklik komponen button tersebut maka suatu perintah atau kejadian akan dijalankan.

j. CheckBox : Komponen yang digunakan untuk memilih atau membatalkan suatu pilihan, yaitu dengan cara mengklik komponen. secara bersamaan.

k. RadioButton : Komponen yang digunakan untuk memberikan sekelompok pilihan dan hanya ada satu pilihan yang dapat dipilih. Untuk memilih salah satu pilihan adalah dengan mengklik tombol pilihan yang diinginkan.

l. ListBox : Komponen yang digunakan untuk membuat sebuah daftar pilihan, dimana hanya ada satu pilihan yang dapat dipilih. Untuk mencari dan kemudian memilih salah satu pilihan yang terdapat di dalam daftar dapat menggunakan batang penggulung.

m. ComboBox : Komponen yang digunakan untuk membuat sebuah daftar pilihan, dimana hanya ada satu pilihan yang dapat dipilih. Untuk mencari dan kemudian memilih salah satu pilihan yang terdapat di dalam daftar dapat menggunakan mengklik tombol drop down.

n. ScrollBar : Komponen ini mempunyai fungsi yang sama seperti batang penggulung yang terdapat dalam program-program berbasis Windows pada umumnya.

o. GroupBox : Sebuah kontainer yang dapat digunakan untuk mengelompokkan komponen-komponen lain seperti RadioButton, CheckBox dan komponen kontainer yang lain.

p. RadioGroup : Komponen ini merupakan komponen kombinasi dari GroupBox dan didesain untuk membuat sekelompok RadioButton.

q. Panel : Sebuah kontainer yang dapat digunakan untuk membuat StatusBar, ToolBar dan ToolPalette.

r. ActionList : Komponen yang berisi daftar action yang digunakan bersama-sama dengan komponen dan kontrol seperti item menu dan button.

s. BitBtn : Komponen yang dipakai untuk membuat sebuah button dengan grafik bitmap, misalnya tombol OK dengan tanda.

t. Image : Komponen image untuk menampilkan grafik seperti icon, bitmap dan metafile.

u. SpeddButton : Komponen ini dipakai bersama-sama dengan komponen panel (tab standard). Dipakai untuk membuat toolbar dan button-button khusus. Komponen ini juga visual.

v. Shape : Komponen untuk menampilkan bentuk-bentuk seperti segiempat, lingkaran, segitiga dan lain-lain.

w. ServerSocket : Komponen yang digunakan di server, yang akan menyediakan layanan koneksi ke client.

x. ClientSocket : Komponen yang digunakan di client pada saat koneksi ke server.

(Catherine, 2007. Diakses 31 Oktober 2011).

Perangkat lunak ini memiliki beberapa form dari hasil desain menggunakan Dilphi 7.0, yaitu :

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

4.9 For m Pengatur an Koneksi J ar ingan

Keterangan :

1 title bar dengan tulisan “JOIN Network” - Pengaturan Koneksi’. 2 tombol “Close” untuk menutup form.

3 Label silver sebagai penanda join network terhubung 4 Tedit tempat untuk mengisi nama pemain

5 Tedit tempat untuk menuliskan “IP addres” dari server tujuan 6 Label yang berfungsi untuk tombol penghubung ke server tujuan.

4.10 For m Setting Per mainan

Keterangan :

1. titlebar dengan tulisan “Mulai Permainan Baru” untuk Setting permainan’. 2. Tombol ‘Close’ untuk menutup form.

3. Label berwarna untuk mengetahui biji halma yang kita mainkan nantinya, terdapat 3 warna biji halma yaitu, kuning, biru dan merah.

4. Tedit berfungsi untuk menuliskan nama dari masing- masing pemain. 5. Label bertuliskan menunggu berwarna merah merupakan proses loading

koneksi ke network (Lan).

6. RadioButton dengan label kosong sebagai pilihan jenis pemain yang berarti tidak ada pemain yang memainkan biji kuning tersebut.

7. RadioButton dengan label pemain (lokal) sebagai pilihan jenis pemain yang berarti permainan dilakukan pada komputer local ( 1 komputer dengan 2 atau 3 pemain )

8. RadioButton dengan label jaringan sebagai pilihan jenis pemain yang berarti permainan multiplayer dilakukan dengan jaringan Lan.

9. BitBtn yang bertuliskan Mulai Permainan merupakan tombol yang berfungsi untuk memulai permainan.

4.11 For m Per mainan Halma

Keterangan :

1. Title bar dengan tulisan “Halma”.

2. Tombol “minimize” untuk menyembunyikan form. 3. Tombol “close” untuk menutup form.

4. Papan permainan halma. 5. Biji permainan halma.

6. Nama – nama para pemain halma.

7. Tampilan score yang diperoleh para pemain halma. 8. Tampilan untuk melihat giliran para pemain halma. 9. Tombol untuk memulai permainan halma.

10.Tombol untuk masuk ke form pengaturan koneksi jaringan lan antar pemain.

11.Menu untuk memilih lagu/irama permainan. 12.Menu untuk mematukan lagu.

BAB V

Dokumen terkait