54
BAB IV IMPLEMENTASI DAN PENGUJIAN
4.1
Implementasi Setelah melakukan analisis dan perancangan terhadap aplikasi yang akan
dibangun, tahapan selanjutnya adalah implementasi dan pengujian. Untuk mengimplementasikan aplikasi permainan strategi menyusun n bola beruntun agar sesuai dengan analisis dan perancangan, berikut spesifikasi komputer dimana sistem di implementasikan dan diujikan. Pada tahapan implementasi terdapat dua cakupan yaitu spesifikasi kebutuhan sistem yang meliputi perangkat keras (hardware), perangkat lunak (software), implementasi yang meliputi proses pengkodean, desain antarmuka dan hal-hal yang berhubungan dengan pengujian aplikasi.
4.1.1 Implementasi Aplikasi Pada bab ini diterangkan secara rinci mengenai tahapan-tahapan implementasi aplikasi permainan strategi menyusun n bola beruntun yang meliputi proses pengkodean, dan bentuk tampilan layar.
4.1.1.1 Pengkodean Dalam pemrograman aplikasi permainan strategi menyusun n bola beruntun, pertama kali yang di implementasikan adalah aplikasi dari server untuk membuka port yang kemudian untuk diterima oleh komputer client dari port yang dibuka. Bahasa pemprogramannya adalah sebagai berikut :
55
Private Sub Form_Load() // Load Server sPlaySign = "X" statusmain = "3x3" iXScore = 0 iOScore = 0 Call InitPlayGround winsock.LocalPort = 1234 winsock.Listen ls_nama = InputBox("Masukkan Nama Anda", "Informasi") End Sub
Perintah di atas dilakukan pada saat awal aplikasi permainan server dimulai untuk membuka port koneksi 1234 sebagai jalur koneksi untuk digunakan oleh komputer client. Private Sub Form_Load() // Load Client sPlaySign = "O" iXScore = 0 iOScore = 0 Call InitPlayGround ipStr = InputBox("Enter the IP to 192.168.1.5)", "Select Ip", "localhost") tcpClient.Connect ipStr, 1234
connect
to
(eg
:
End Sub
Kemudian ketika aplikasi client dijalankan harus menyebutkan IP Servernya untuk bisa terkoneksi dengan nilai port yang sama. Pada saat koneksi antara server dan client masing-masing sudah saling terkoneksi, maka di panggil fungsi pembentukan kotak permainan 3x3 oleh server yang diteruskan ke client agar sama-sama dapat bermain pada level 3x3. Perintahnya sebagai berikut : Sub ukuran3x3() Dim i As Integer Call bersihkanlayar For i = 0 To 8 pic(i).Picture = kotak.Picture
56
pic(i).Visible = True Next End Sub
Setiap
pergantian
level
selalu
dilakukan
pemanggilan
fungsi
membersihkan layar yang digunakan untuk mengembalikan nilai setiap button(tombol) yang diberi nilai 0 atau x ketika kotak kosong diklik atau diisi bola untuk diubah kembali nilainya menjadi ““. Pada saat itu juga dijalankan fungsi menghilangkan seluruh tombol dan gambar bola, lalu kotak akan ditampilkan kembali sesuai levelnya. Selanjutnya setiap pengendalian dilakukan diserver, sehingga client akan mengikutinya seperti pengaturan level permainan, sebagai berikut : Private Sub m_3x3_Click() bola1.Picture = LoadPicture(".\images\bola3x3a.gif") bola2.Picture = LoadPicture(".\images\bola3x3b.gif") kotak.Picture = LoadPicture(".\images\kotak3x3.jpg") Call clear_fields Call ukuran3x3 m_3x3.Checked = True m_6x6.Checked = False m_9x9.Checked = False strdata = "3x3" winsock.SendData strdata giliran = 1 Call labelgiliran Call posisi3x3 statusmain = "3x3" End Sub
57
Pada proses tersebut hanya dilakukan oleh server dengan memanggil fungsi clear_fields untuk membersihkan bola yang telah terisi dan melanjutkan fungsi ukuran3x3 sesuai level yang dipilih oleh server. Agar perintah dari server diterima oleh client maka server mengirim variabel strdata yang di identifikasi oleh client dengan nilai strdata=”3x3” untuk permainan 3x3 kotak , strdata=”6x6” untuk permainan 6x6 kotak dan nilai strdata=”9x9” untuk permainan 9x9 kotak. Ketika tombol di klik pada permainan menyusun n bola, maka tombol yang masih kosong akan terisi oleh gambar bola, seperti pada perintah script di bawah ini : Private Sub pic_Click(Index As Integer) If statusmain = "3x3" Then GamePlay3x3 (Index) ElseIf statusmain = "6x6" Then GamePlay6x6 (Index) ElseIf statusmain = "9x9" Then GamePlay9x9 (Index) End If
End Sub// menampilkan bola pada permainan 3x3 Private Sub GamePlay3x3(xo_Move As Integer) Dim x As Integer Dim y As Integer Dim iWin As Integer If giliran = 1 And pic(xo_Move).DataField = "" Then Dim strdata As String pic(xo_Move).Picture = bola1.Picture strdata = xo_Move winsock.SendData strdata
58
giliran = 0 Call labelgiliran iMove = iMove + 1 x = Int(xo_Move / 3) + 1 y = (xo_Move Mod 3) + 1 If sPlaySign = "O" Then iOPos(x, y) = 1 iWin = CheckWin3x3(iOPos()) Else iXPos(x, y) = 1 iWin = CheckWin3x3(iXPos()) End If pic(xo_Move).DataField = sPlaySign If iWin >= 0 Then Label6.Caption = sPlaySign + " - Wins!" Call InitPlayGround Call scoreserver Exit Sub End If If iMove = 9 Then Label6.Caption = "Semua Kotak Sudah Terisi Penuh!" Call InitPlayGround Exit Sub End If Else Call labelgiliran End If End Sub
59
Saat tombol dalam keadaan kosong “” dan giliran=”1” maka pemain dapat mengisi kotak yang kosong. Kemudian secara bersamaan tombol diset berupa gambar bola pada tombol yang di klik. Lalu variabel strdata dikirimkan berupa nilai index yang merupakan nilai yang diambil dari index tombol tersebut. Agar tombol tidak digunakan berulang, maka digunakan fungsi block yang apabila nilai tombol sudah pernah digunakan dengan nilai 0 atau x, secara otomatis program akan menolak untuk diletakkan bola yang selanjutnya pada tombol yang sama. Ketika pemain dapat menyusun permainan secara n horizontal, vertikal dan diagonal pada urutan bola, maka pemain akan memperoleh score nilai. Perintahnya sebagai berikut : Sub scoreserver() Call InitPlayGround Dim strdata As String strdata = "server_menang" winsock.SendData strdata giliran = 1 score_server.Caption = score_server.Caption + 1 Call labelgiliranEnd Sub
60
4.2
Tampilan Layar Tampilan layar merupakan tampilan yang akan diperlihatkan oleh pengguna
sehingga dapat dirasakan manfaatnya. Saat awal aplikasi permainan menyusun n bola dijalankan maka akan muncul parameter untuk memasukkan nama pemain pada masing-masing pemain server maupun pemain client. Lihat Gambar 4.1 tampilannya adalah sebagai berikut :
Gambar 4.1 Tampilan Parameter Input Pemain
Setelah itu masing-masing pemain akan saling menunggu apakah sudah saling memberi dan menerima response untuk memulai permainan. Ketika pemain sudah saling terhubung akan tampil permainan ukuran 3x3, diantaranya pemain juga sudah bisa saling berkirim pesan dan nama pemain yang dimasukkan akan tampil pada baris judul aplikasi. Lihat pada Gambar 4.2 berikut ini :
Gambar 4.2 Tampilan Permainan ukuran 3x3
61
Pemain Server dapat mengatur level permainan dengan jumlah kotak lebih banyak pada ukuran 6x6 seperti Gambar 4.3 berikut :
Gambar 4.3 Tampilan Permainan ukuran 6x6
Kemudian Pemain Server juga dapat mengatur level permainan dengan jumlah kotak lebih banyak lagi pada ukuran 9x9 seperti Gambar 4.4 berikut :
Gambar 4.4 Tampilan Permainan ukuran 9x9
62
Permainan menyusun n bola dimainkan secara bergantian diawali oleh pemain server untuk meletakkan bola pertama kemudian diletakkan secara bergantian. Apabila pemain menunggu pemain lawannya terlalu lama melebihi 5 detik, maka pemain berhak meletakkan bolanya kembali yang seharusnya diletakkan oleh pemain lawan sebagai batas waktu yang ditentukan. Setelah itu masing-masing pemain akan menyelesaikan permainannya hingga tidak ada lagi tempat kotak kosong yang akan diisi oleh bola pemain. Lihat Gambar 4.5
Gambar 4.5 Tampilan Permainan pada saat bermain
Pada saat permainan dimainkan oleh pemain dan tidak ada lagi kotak kosong yang dapat diisi oleh bola, maka permainan dianggap seri dan kembali mengosongkan kotak untuk melakukan permainan kembali. Namun ketika pemain dapat meletakkan bolanya secara beruntun maka pemain akan mendapatkan nilai score. Lihat Gambar 4.6 berikut.
63
Gambar 4.6 Tampilan Permainan mendapatkan score
Gambar 4.6 menunjukkan pemain server mendapatkan score nilai 1 karena pemain server dapat meletakkan bolanya yang berwarna kuning beruntun diagonal namun bisa juga disusun beruntun n vertikal dan n horizontal.
4.3
Pengujian Dalam perancangan sistem perlu dilakukan pengujian sistem sebagai
verifikasi atas sistem yang telah dirancang. Verifikasi dilakukan untuk mengetahui kemungkinan terjadinya kesalahan dan untuk memastikan fungsifungsi yang terdapat dalam modul modul sistem berjalan dengan baik. Pada teknik pengujian permainan menyusun n bola beruntun ini, penulis menggunakan teknik pengujian blackbox dan whitebox, Tahapan pengujian ini meliputi skenario pengujian, hasil pengujian, dan analisis hasil pengujian.
64
Lingkungan Pengujian Berikut ini merupakan spesifikasi kebutuhan sistem, dimana sistem dibuat dan dijalankan. 1. Perangkat keras (hardware): Prosesor Intel Pentium IV 2.50 GHz, RAM 1 GB, HD 250GB 2. Perangkat lunak (software): a. Visual Basic 6.0 merupakan bahasa pemrograman yang digunakan untuk pengembangan permainan menyusun n bola beruntun. b. Windows XP Proffesional Service Pack 3 sebagai sistem operasi.
4.3.1 Pengujian Blackbox Sebelum pengujian aplikasi permainan menyusun n bola beruntun maka akan dijelaskan pada Tabel 4.1 tentang skenario normal dan tidak normal yang terjadi. Skenario yang dijelaskan antara lain skenario komunikasi antara server dan client, susun letak bola, berkirim pesan dan score nilai. Tabel 4.1 Skenario Pengujian Blackbox Skenario
Sifat Normal
Kondisi Awal
Hasil yang diinginkan
Server dan client saling
Server dan client saling
menunggu
terkoneksi
Server atau client tidak
Koneksi server dan client
Normal
active
terputus
Normal
Kotak masih kosong belum
Masing-masing pemain
dipilih pemain
menyusun bola secara bergantian
Tidak dipilih oleh pemain
Tidak ada response
Komunikasi server dan Tidak client
Susun letak bola
Tidak Normal
65
Normal Berkirim pesan
Tidak
Masing-masing pemain
Pesan dapat sampai ke pemain
dapat saling berkirim pesan
lainnya
Tidak ada input pesan
Tidak ada pesan yang diterima
Normal Normal
oleh pemain Masing-masing pemain
Pemain menyusun bola hingga
memiliki nilai score 0
mendapat score nilai
tidak ada response
Tidak ada response
Score nilai Tidak Normal
Pada Tabel 4.2 akan dijelaskan hasil pengujian dari skenario komunikasi antara server dan client, susun letak bola, berkirim pesan dan score nilai. Tabel 4.2 Hasil Pengujian Blackbox
Kondisi Skenario
Hasil yang
Sifat Awal Normal
Status Hasil Pengujian
diinginkan
Akhir
Server dan Server dan client
Server dan client
saling terkoneksi
saling terkoneksi
client saling Komunikasi
sukses
menunggu server dan Tidak
Server atau
client
Koneksi server Koneksi server dan
Normal
client tidak
dan client client terputus
active Normal
terputus
Kotak masih Masing-masing
Masing-masing
pemain menyusun
pemain
bola secara
menyusun bola
bergantian
secara bergantian
kosong Susun letak belum bola
sukses
dipilih pemain
66
Tidak
Tidak dipilih
Tidak ada Tidak ada response
Normal
oleh pemain
Normal
Masing-
response
masing Pesan dapat pemain
Pesan dapat sampai
dapat saling
ke pemain lainnya
sampai ke
sukses
pemain lainnya
Berkirim berkirim pesan pesan Tidak Normal
Normal
Tidak ada
Tidak ada pesan
Tidak ada pesan
input pesan
yang diterima oleh
yang diterima
pemain
oleh pemain
Pemain menyusun
Pemain
bola hingga
menyusun bola
mendapat score
hingga mendapat
nilai
score nilai
Masingmasing pemain
sukses
memiliki
Score nilai
nilai score 0 Tidak
tidak ada
Tidak ada Tidak ada response
Normal
response
response
4.3.2 Pengujian Whitebox White box adalah cara pengujian dengan melihat ke dalam modul untuk meneliti kode-kode program yang ada, dan menganalisis apakah ada kesalahan atau tidak. Jika ada modul yang menghasilkan output yang tidak sesuai dengan proses bisnis yang dilakukan, maka baris-baris program, variable, dan parameter yang terlibat pada unit tersebut akan dicek satu persatu dan diperbaiki. Berikut ini Pengujian permainan menyusun n bola beruntun. Lihat Gambar 4.2
67
1
2
3 5
1. Permainan Menyusun n bola beruntun 3x3 2. Pembentukan kotak permainan 3. Output dari variabel i=0 s/d 2 4. Keluaran berupa command1(0) , command2(1) , command2(2) 5. Pengulangan variabel sebanyak i=0 s/d 2 6. Terbentuk Kotak 3x3 tersusun
4
6
Gambar 4.7 Pengujian Permainan menyusun n bola beruntun 3x3
4.3.3 Analisis Hasil Pengujian Setelah tahap pengujian maka dapat dianalisa bahwa: 1. Komunikasi yang digunakan menggunakan fasilitas winsok, sehingga antara server dan client dapat berkomunikasi dengan saling memanfaatkan variabel yang dapat digunakan secara bersama. 2. Pembentukan menyusun kotak dihasilkan dari proses pengulangan variabel. 3. Setiap peletakan bola pada kotak akan dikirim berupa variabel untuk menentukan kotak yang sudah diletakkan bola. 4. Pemain juga dapat berkirim pesan dengan memanfaatkan variabel yang dapat digunakan secara bersama. 5. Score nilai didapat ketika pemain mampu menyusun bola secara vertikal, horizontal dan diagonal.