1 BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Setelah tahap analisis dan perancangan selesai dilakukan, maka tahap selanjutnya adalah tahap imp...
Implementasi Setelah tahap analisis dan perancangan selesai dilakukan, maka tahap
selanjutnya adalah tahap implementasi. Pada bagian ini akan dijelaskan implementasi dari aplikasi game battle ship yang penulis bangun. Yang pertama adalah spesifikasi kebutuhan sistem, yang meliputi perangkat keras (hardware) dan perangkat lunak (software), yang kedua yaitu batasan implementasi, dan yang terakhir yaitu implementasi aplikasi game yang meliputi proses pengkodean, implementasi antarmuka/user interface dan hal-hal yang berhubungan dengan pengujian aplikasi 4.1.1
Spesifikasi Kebutuhan Sistem Dalam aplikasi ini spesifikasi kebutuhan sistem menggunakan dua buah
perangkat yaitu perangkat keras dan perangkat lunak. Berikut ini adalah kebutuhan sistem ketika sistem ini dibuat dan diuji coba. 1. Perangkat keras (hardware): a. 2 unit komputer (1 unit sebagai server, dan 1 unit sebagai client) dengan spesifikasi masing–masing sebagai berikut: 1. Komputer server Processor Intel Core2Duo 2.53 GHz RAM 1 GB Mainboard ABIT IL9 Pro Hard disk Seagate 320 GB 7200 RPM SATA
VGA ATI RADEON HIS HD 4670 1GB LAN Card (Kartu jaringan), ON Board 2. Komputer Client Processor Intel Core2Duo 2.53 GHz RAM 1 GB Mainboard Gigabyte 945GCM-S2L Hard disk Seagate 320 GB 7200 RPM SATA VGA ATI RADEON HIS HD 4670 1GB LAN Card (Kartu jaringan), ON Board b. Kabel Jaringan (kabel UTP dan RG-45) 2. Perangkat lunak (software): a. Borland Delphi 7.0 b. Windows XP Profesional Service Pack 2 sebagai sistem operasi (server dan client)
4.1.2
Pengkodean Pada tahapan ini akan dijelaskan mengenai potongan kode-kode dari
aplikasi game battle ship. Potongan-potongan program yang akan dijelaskan mengacu pada analisa bab sebelumnya dimana penulis merancang source code aplikasi game battle ship sebagai berikut: 4.1.2.1 Kode program untuk pemilihan koneksi Kode sumber berikut yaitu mengenai tipe koneksi yang akan dipilih oleh
pemain sebagai server dan inisialisasi penampilan kode Java Script didalam browser control, jika pemain sudah memilih menjadi server. if Edit3.Text<>'' then begin ServerSocket1.Active := True; NickName1:=Edit3.Text; Label4.Caption:=NickName1; Webbrowser1.Width:=697; WebStatus:='ChangeName'; WebBrowser1.Navigate(AppDir + '..\JavaScript Source\batle.html'); end else begin showmessage('You have to input your nick name first.'); Edit3.SetFocus; end;
Kode Program 4.1 Potongan kode program sebagai server Sebelum memulai permainan battle ship pemain diwajibkan memasukkan nama (NickName1:=Edit3).Text, jika nama pemain belum dimasukkan aplikasi akan memberi pesan (showmessage ('You have to input your nick name first.')). Kemudian pemain pertama memilih bermain sebagai server, maka pemain lainnya harus memilih sebagai client. if (Edit3.Text<>'') AND (Edit4.Text<>'') then begin if ServerSocket1.Active then begin ServerSocket1.Active:=false; end; ClientSocket1.Port := 123456; ClientSocket1.Host := trim(Edit4.Text); ClientSocket1.Active := true; WebStatus:='ChangeName'; WebBrowser2.Navigate(AppDir + '..\JavaScript Source\batle.html'); NickName2:=Edit3.Text; WebBrowser2.Width:=697; WebBrowser2.Height:=449; Label3.Caption:=NickName2; Button8.Enabled:=true; end else begin if Edit3.Text='' then begin showmessage('You have to enter your nick name first.'); Edit3.SetFocus;
end else begin showmessage('You have to enter an IP Address first.'); Edit4.SetFocus; end; end;
Kode Program 4.2 Potongan kode program sebagai client Pada pemilihan sebagai client ini, pemain harus menunggu server untuk aktif (if ServerSocket1.Active then begin). Sama seperti server, pemain client juga harus memasukkan nama (NickName2:=Edit3.Text). Karena sebagai client maka pemain ini harus memasukkan ip komputer server (showmessage('You have to enter an IP Address first.'); Edit4.SetFocus;).
4.1.2.2 Kode Program Pemain Server Mula-mula jika pemain ingin bermain dengan aplikasi game battle ship ini, dapat memilih jenis permainan. Jenis permainan yang ditawarkan penulis ada dua, yaitu ingin bermain dengan komputer dan bermain dengan pemain lain yang sudah terkoneksi didalam jaringan LAN. Berikut ini adalah kode sumbernya: if playMode1.ItemIndex=1 then begin WebBrowser1.OleObject.Document.All.partnername.innerText:='Computer''s Fleet'; end else if playMode1.ItemIndex=0 then begin if not ConnectedToClient then button9.Enabled:=false; WebBrowser1.OleObject.Document.All.partnername.innerText:='YOUR PARTNER''S FLEET' end
Kode Program 4.3 Potongan kode program jenis permainan Setelah pemain menjadi server, untuk memilih jenis permainan penulis membuat properties (Itemindex), jika ItemIndex=1, maka pemain memilih bermain dengan komputer. Namun jika Itemindex=0, maka pemain memilih bermain dengan dengan client. Setelah pemain memilih jenis permainan, maka pemain memulai permainan, berikut adalah kode sumbernya:
WebBrowser1.OleObject.Document.ParentWindow.execScript('playmode='+ intToStr(playMode1.ItemIndex)+';'); if playMode1.ItemIndex <> 1 then begin Button7.Enabled:=false; ServerReadyToPlay:=true; Connection.SendText('READY_TO_PLAY_'+intToStr(playMode1.ItemIndex)); end else begin Button9.Enabled:=false; Button7.Enabled:=false; WebBrowser1.OleObject.Document.ParentWindow.execScript('playflag=true;' + 'partnerName="Computer"; updateStatus();'); WebBrowser1.OleObject.Document.All.yourname.innerText:=NickName1+'''s Fleet'; end;
Kode Program 4.4 Potongan kode program memulai permainan Setelah pemain diinisialisaisi sebagai server maka program akan membuat web browser seperti halnya pada Internet Explorer maupun Mozilla Firefox. Fungsi ini akan berfungsi langsung ketika pemain mimilih tipe permainan dengan komputer, namun jika pemain memilih bermain dengan pemain lawan yang telah terkoneksi di dalam jaringan, pemain server akan menunggu sampai pemain client telah terkoneksi didalam jaringan LAN. WebStatus:='ChangeName'; WebBrowser1.Navigate(AppDir + '..\JavaScript Source\batle.html'); playMode1.Enabled:=true; if ConnectedToClient or (playMode1.ItemIndex=1) then Button9.Enabled:=true; WebBrowser1.OleObject.Document.All.partnername.innerText:='Computer''s Fleet'; End
Kode Program 4.5 Potongan kode program acak kapal Setelah pemain siap untuk bermain, maka pemain berhak untuk membuat posisi kapal wilayahnya sendiri secara acak,
if Connection.Connected then begin Connection.SendText(NickName1 + ':' + Edit2.Text); Memo1.Lines.Add(NickName1 + ':' + Edit2.Text); end;
Kode Program 4.6 Potongan kode program informasi koneksi server Sebelum memulai dengan komputer lawan yang telah terkoneksi di alam jaringan LAN, maka server mengirim informasi jika sudah terkoneksi dengan client dan dapat mengirim obrolan kepada client.
4.1.2.3 Kode Program Pemain Client Demikian pula dengan pemain server, pemain client juga dapat memilih jenis permainan, ingin bermain dengan komputer atau dengan pemain server. Berikut adalah kode sumbernya: if playMode2.ItemIndex=1 then begin button10.Enabled:=true; WebBrowser2.OleObject.Document.All.partnername.innerText:= 'Computer''s Fleet'; end else if playMode2.ItemIndex=0 then begin if not ConnectedToServer then button10.Enabled:=false; WebBrowser2.OleObject.Document.All.partnername.innerText:= 'YOUR PARTNER''S FLEET'; end
Kode Program 4.7 Potongan kode program jenis permainan client Pemain server dapat memilih tipe permainan dengan komputer dengan adanya properties Itemindex=1, sedangkan jika bermain dengan server, ditandai dengan properties Itemindex=0. Setelah itu pemain client dapat memulai permainan, berikut kode sumbernya:
WebBrowser2.OleObject.Document.ParentWindow.execScript('playmode='+ intToStr(playMode2.ItemIndex)+';'); playMode2.Enabled:=false; if playMode2.ItemIndex <> 1 then begin Button8.Enabled:=false; ClientReadyToPlay:=true;
ClientSocket1.Socket.SendText('READY_TO_PLAY_'+intToStr(playMode2.ItemIndex) ); end else begin Button10.Enabled:=false; Button8.Enabled:=false; WebBrowser2.OleObject.Document.ParentWindow.execScript('playflag=true;' + 'partnerName="Computer"; updateStatus();'); WebBrowser2.OleObject.Document.All.yourname.innerText:=NickName2+'''s Fleet'; end;
Kode Program 4.8 Potongan kode program client memulai permainan Sebelum memulai permaina pemain client dapat memulai permainan dengan memilih jenis permainan dengan komputer, karena pada kode program 4.8 pemain client akan langsung terkoneksi jika memilih jenis permainan dengan komputer. Namun, jika memilih jenis permainan dengan server, client akan menunggu koneksi dari pemain server. WebStatus:='ChangeName'; Webbrowser2.Navigate(AppDir + '..\JavaScript Source\batle.html'); playMode2.Enabled:=true; if ConnectedToServer or (playMode2.ItemIndex=1) then Button10.Enabled:=true; end;
Kode Program 4.9 Potongan kode program acak pemain client Sebelum memulai permainan, pemain client dapat membuat kapal diwilayahnya sendiri berubah secara acak properties (navigate).
if ClientSocket1.Active then begin ClientSocket1.Socket.SendText(NickName2 + ':' + Edit1.Text); Memo2.Lines.Add(NickName2 + ':' + Edit1.Text); end;
Kode Program 4.10 Potongan kode program informasi koneksi client Pemain
client
akan
menerima
koneksi
dari
server
kemudian
mengirimkannya kembali menuju server, bahwa pemain client sudah terkoneksi didalam jaringan LAN. Dan juga dapat mengirimkan pesan teks kepada server jika sudah terkoneksi.
4.1.2.4 Perubahan Kode JavaScript Potongan-potongan program yang akan dijelaskan mengacu pada analisa bab sebelumnya dimana penulis mengembangkan source code yang ada sebagai berikut: 1. Kode sumber untuk judul bagian wilayah kapal pada masing-masing pemain,yaitu akan secara otomatis memberikan keluaran nama yang telah diinput oleh masing-masing pemain. imagePreload(); player = setupPlayer(false); serialPlayer = serialize(); computer = setupPlayer(true); document.write("
ENEMY'S FLEET
"+ "
YOUR FLEET
"); showGrid(true); document.write("
"); showGrid(false); document.write("
"); document.write(""); document.write("");
Kode Program 4.11 Potongan kode program bagian kapal
Pada program diatas terdapat variabel (partnername) yang bertujuan untuk menampung masukan nama yang telah dimasukkan oleh server maupun client. 2. Kode sumber untuk mengubah array menjadi string, yang bertujuan untuk mengirim posisi kapal ke komputer lainnya di dalam jaringan. function serialize(){ var y,x,strA=strB=strC=""; for (y=0;y
Kode Program 4.12 Potongan kode program mengubah aray menjadi string Pada potongan program diatas terdapat beberapa variabel yang ditambahkan yaitu: a. strA: berguna untuk menyimpan data kapal pada grid. b. strB: berguna untuk menyimpan jumlah kapal yang belum tenggelam. c. strC: berguna untuk menginformasikan data jenis kapal. 3. Kode program untuk mengubah string menjadi array. function unserialize(a){ var y,x,i; a = a.substr(a.indexOf(':')+1,a.length); computer = new Array(); for (y=0;y
x = parseInt(a.substr(0,a.indexOf(","))); a = a.substr(a.indexOf(",")+1,a.length); computer[y][x][0] = parseInt(a.substr(0,a.indexOf(","))); a = a.substr(a.indexOf(",")+1,a.length); computer[y][x][1] = parseInt(a.substr(0,a.indexOf(","))); a = a.substr(a.indexOf(",")+1,a.length); computer[y][x][2] = parseInt(a.substr(0,a.indexOf(","))); a = a.substr(a.indexOf(",")+1,a.length); } a = a.substr(a.indexOf(",")+1,a.length); for (y=0;y
Kode Program 4.13 Potongan kode program mengubah string menjdi array Perubahan dari string menjadi array bertujuan agar komputer kembali menjadi array sehingga bisa dimanfaatkan dengan baik, karena pada game battle ship keseluruahn permainan memakai array. Parseint bertujuan menerjemahkan suatu angka dalam tipe string kedalam tipe integer, sehingga dapat dihitung didalam array pada masing-masing grid. 4. Kode sumber jenis permainan a. Tampilan kode sumber sebelumnya function gridClick(y,x) { if ( playflag ) { if (computer[y][x][0] < 100) { setImage(y,x,103,true); var shipno = computer[y][x][1];
if ( --computersships[shipno][1] == 0 ) { sinkShip(computer,shipno,true); alert("You sank my "+shiptypes[computersships[shipno][0]][0]+"!"); updateStatus();
Kode Program 4.14 Potongan kode program klik grid b. Tampilan kode sumber yang baru ditambah function gridClick(y,x) { if (playmode == 0){ if ( playflag && turn && !gameover) { if (computer[y][x][0] < 100) { turn = false; msg = "partnerMove(" + y+ "," + x + ");"; window.status = msg; setImage(y,x,103,true); var shipno = computer[y][x][1]; if ( --computersships[shipno][1] == 0 ) { sinkShip(computer,shipno,true); updateStatus(); if ( --computerlives == 0 ) { playflag = false; gameover = true; window.status = "GAMEOVER"; alert("You sank " + partnerName + "'s "+shiptypes[computersships[shipno][0]][0]+"!"); alert("You win! Click the Refresh button \n"+ "to play another game."); } else { alert("You sank " + partnerName + "'s "+shiptypes[computersships[shipno][0]][0]+"!"); }} } else if (computer[y][x][0] == 100) { turn=false; setImage(y,x,102,true); msg = "partnerMove(" + y+ "," + x + ");"; window.status = msg;} } else if (!playflag) { if (gameover){ alert("Click on the Refresh button to play another game"); } else { alert("Click on the Play button to play another game"); } } else if (!turn){ alert("It's not your turn, but it's " + partnerName + "'s turn"); }
Kode Program 4.15 Potongan kode program jenis permainan
Pada kode program 4.14 dapat diketahui terdapat penambahan variabel jenis permainan (playmode) dimaksudkan memilih jenis permainan. Yaitu jika = 0 untuk melawan pemain didalam jaringan namun, jika = 1 untuk melawan komputer. Playflag didalam fungsi ini bertujuan untuk menentukan jika masih ada kapal lawan yang masih tersisa, jika playflag=false, maka permainan akan berakhir, sebaliknya jika tidak, maka kapal masih tersisa. Variabel turn bertujuan untuk menentukan apakah saat ini adalah giliran masing-masing pemain, jika bukan pada gilirannya program akan muncul pesan “It's not your turn, but it's +nama pemain+’s turn”. Bahasa Java Script akan memeriksa apakah permainan akan berakhir (gameover) atau permainan belum pernah dimainkan sama sekali. Jika permainan belum pernah dimainkan sama sekali, maka ketika pemain melakukan klik pada grid sebelum menekan tombol Play, akan muncul pesan “Click on the Play button to play another game”. Namun jika permainan sudah pernah dimainkan (gameover = true) dan kapal salah satu pemain telah habis maka akan muncul pesan “You Win click The Refresh Button to play another game”.
4.2
Implementasi Antarmuka (interface) Pada bab ini akan dijelaskan implementasi antarmuka (interface) dari
aplikasi game battle ship yang telah dikembangkan berbasis jaringan dengan menggunakan Delphi.
4.2.1 Antarmuka Pemilihan Koneksi Ketika pemain akan menjalankan aplikasi game battle ship yang telah dikembangkan penulis, yang pertama kali ditampilkan kepada pemain adalah tampilan pemilihan koneksi atau tipe koneksi. Seperti pada gambar berikut:
Gambar 4.1 Gambar Tampilan tipe koneksi Penjelasan tentang tombol yang ada pada gambar tampilan tipe koneksi adalah sebagai berikut: a. Kotak pengisian nama (Enter Your nick name) Adalah text box yang digunakan untuk memasukkan nama pemain b. Kotak pengisian alamat IP Adalah text box yang digunakan pemain client untuk memasukkan alamat IP komputer server. c. Tombol pemain server (Run As Server) Digunakan untuk pemain jika ingin memilih tipe koneksi sebagai server. d. Tombol pemain client (Connect to IP Address) Digunakan untuk pemain client jika pemain sebelumnya menjadi server e. Tombol keluar (End) Digunakan untuk pemain client maupun server untuk mengakhiri permainan atau keluar dari aplikasi game.
4.2.2
Antarmuka Pemain Server
Setelah pemain memiliha tipe koneksi sebagai server, maka tampilan antarmuka pemain server adalah sebagai berikut:
Gambar 4.2 Gambar antarmuka pemain sebagai server Penjelasan tentang tombol yang terdapat pada gambar anatarmuka pemain server adalah sebagai berikut: a. Kotak pemilihan jenis permainan Adalah kotak pemilihan untuk memilih jenis permainan yang diinginkan oleh pemain server, adapun jenis permainan yang ditawarkan penulis yaitu: 1. Play Against Human On The Network adalah jenis permainan melawan pemain client di dalam jaringan LAN. 2. Play Against Computer adalah jenis permainan melawan komputer. b. Tombol mulai main (Play) Digunakan untuk pemain server untuk memulai permainan jika sudah memilih jenis permainan. c. Tombol acak kapal (Refresh)
Digunakan untuk pemain server untuk mengacak posisi kapal secara otomatis, sebelum memulai permainan. d. Kotak informasi Adalah kotak informasi yang isinya mengenai koneksi yang diteriam server, dan obrolan pada pemain lawan (client). e. Kotak pengisian obrolan Adalah kotak untuk pemain server membuat obrolan kepada pemain lawan (client). f. Tombol kirim (Send) Digunakan untuk mengirim obrolan kepada pemain lawan (client)
4.2.3
Antarmuka Pemain Client Setelah pemain pertama memilih sebagai server, maka pemain selanjutnya
harus memilih sebagai pemain client, tampilan antarmuka pemain client adalah sebagai berikut:
Gambar 4.3 Gambar antarmuka pemain client
Penjelasan tentang tombol yang terdapat pada gambar anatarmuka pemain client adalah sebagai berikut: a. Kotak pemilihan jenis permainan Adalah kotak pemilihan untuk memilih jenis permainan yang diinginkan oleh pemain client, adapun jenis permainan yang ditawarkan penulis yaitu: 1. Play Against Human On The Network adalah jenis permainan melawan pemain server di dalam jaringan LAN. 2. Play Against Computer adalah jenis permainan melawan komputer. b. Tombol mulai main (Play) Digunakan untuk pemain client untuk memulai permaina jika sudah memilih jenis permainan. c. Tombol acak kapal (Refresh) Digunakan untuk pemain client untuk mengacak posisi kapal secara otomatis, sebelum memulai permainan. d. Kotak informasi Adalah kotak informasi yang isinya mengenai koneksi yang dikirim client, dan obrolan pada pemain lawan (client). e. Kotak pengisian obrolan Adalah kotak untuk pemain server membuat obrolan kepada pemain lawan (client). f. Tombol kirim (Send) Digunakan untuk mengirim obrolan kepada pemain lawan (client)
4.3
Evaluasi Evaluasi program ini dilakukan dengan cara melakukan pengujian
menggunakan metode Black Box. Pada tahap ini akan dibahas mengenai lingkungan pengujian, skenario pengujian, hasil pengujian, dan analisis pengujian. 4.3.1 Pengujian Black Box Metode Black Box ini merupakan pengujian program berdasarkan fungsi dari program. Tujuan dari metode Black Box ini adalah untuk menemukan kesalahan fungsi pada program. Pengujian dengan metode Black Box testing dilakukan dengan cara memberikan sejumlah masukan pada program aplikasi yang kemudian diproses sesuai dengan kebutuhan fungsionalnya untuk melihat apakah program aplikasi menghasilkan keluaran yang diinginkan dan sesuai dengan fungsi dari program aplikasi tersebut. Bila dari masukan yang diberikan proses menghasilkan keluaran yang sesuai
dengan
kebutuhan
fungsionalnya,
maka
program
aplikasi
yang
bersangkutan telah benar, tetapi bila keluaran yang dihasilkan tidak sesuai denan kebutuhan fungsionalnya, maka masih terdapat kesalahan pada program aplikasi tersebut. Jika dalam pengujian ditemukan kesalahan, maka akan dilakukan penelusuran dan perbaikan (debugging) untuk memperbaiki kesalahan yang terjadi. Jika telah selesai melakukan perbaikan maka akan dilakukan pengujian kembali. Pengujian dan perbaikan dilakuakn secara terus menerus hingga diperolah hasil yang terbaik.
4.3.2 Skenario Pengujian Untuk menguji aplikasi game battle ship yang telah dibangun oleh penulis, diperlukan skenario pengujian. Skenario pengujian diperlukan untuk mengetahui apakah proses-proses yang ada dapat berfungsi dengan baik atau tidak. Skenario dilakukan satu persatu dalam semua kondisi yang mungkin terjadi. Dalam skenario pengujian ini dilakukan pengujian terhadap tomboltombol yang ada pada permainan, dan pada scenario pengujian ini penulis menggunakan metode Black Box testing. Pengujian dengan metode Black Box Testing dilakukan dengan menjalankan aplikasi game battle ship terlebih dahulu. Kemudian dilakukan pengujian dengan menekan tombol-tombol yang terdapat pada jendela-jendela dari aplikasi permainan tersebut apakah sesuai dengan yang diharapkan.
Selanjutnya
pengujian
dilakukan
ketika
permainan
sedang
berlangsung. Tabel 4.1 Tabel skenario pengujian Bagian dari antarmuka yang diuji
Sifat Pengujian
Tampilan pesan "You have to input your nick name first"
Normal
Masukkan IP server
Client masuk kehalaman selanjutnya
Tidak Normal
client belum memasukkan IP server
Tampilan pesan "You have an enter IP address first"
Normal
Masukkan isi pesan dan klik tombol Send
Tampilan isi pesan yang telah dibuat oleh user
Tidak Normal
Belum Masukkan isi pesan dan klik tombol Send
Tampilan kosong pesan yang telah dibuat oleh user
Tidak Normal
Normal
Kotak pengisian alamat IP server
Hasil Yang diharapkan
Masukkan nama, dan klik tombol Run As Server Belum memasukkan nama, dan klik tombol Run As Server Client masukkan nama, dan klik Connect IP Address
Normal Kotak pengisian nama
Skenario Pengujian
Tombol Send
Server masuk kehalaman selanjutnya
Client masuk kehalaman selanjutnya
Normal Tombol Play Tidak Normal
Normal
Papan Permainan Tidak Normal
Pilih Play against Human on the Network,klik tombol play Pilih Play against Komputer,klik tombol play User melakukan klik di grid pada gilirannya
Tampilan papan permainan melawan dengan client Tampilan papan permainan melawan dengan komputer Permainan berjalan normal
Kapal salah satu user telah habis
Tampilan pesan "You Win press the refresh button to play another game"
User melakukan klik di grid yang bukan gilirannya
Tampilan pesan “it’s not your turn but,(nama lawan) turn”
4.3.3 Hasil Pengujian Berikut ini merupakan data hasil pengujian aplikasi game battle ship yang dapat dilihat pada tabel berikut ini: Tabel 4.2 Tabel hasil pengujian Bagian dari antarmuka yang diuji Kotak pengisian nama
Sifat Pengujian Normal Tidak Normal Normal Tidak Normal
Skenario Pengujian Masukkan nama, dan klik tombol Run As Server Belum memasukkan nama, dan klik tombol Run As Server Client masukkan nama, dan klik Connect IP Address Server belum memasukkan nama, dan klik Connect IP Address
Kotak pengisian alamat IP server
Normal
Masukkan IP server
Tidak Normal
client belum memasukkan IP server
Tombol Send
Normal
Masukkan isi pesan dan klik tombol Send
Hasil Yang diharapkan Server masuk kehalaman selanjutnya Tampilan pesan "You have to input your nick name first" Client masuk kehalaman selanjutnya Tampilan pesan "You have to input your nick name first" Client masuk kehalaman selanjutnya Tampilan pesan "You have an enter IP address first" Tampilan isi pesan yang telah dibuat oleh user
Hasil Pengujian Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai
Tidak Normal
Normal Tombol Play Tidak Normal
Normal
Papan Permainan Tidak Normal
Belum Masukkan isi pesan dan klik tombol Send Pilih Play against Human on the Network,klik tombol play Pilih Play against Komputer,klik tombol play
Tampilan kosong pesan yang telah dibuat oleh user
Sesuai
Tampilan papan permainan melawan dengan client
Sesuai
Tampilan papan permainan melawan dengan komputer
Sesuai
User melakukan klik di grid pada gilirannya
Permainan berjalan normal
Sesuai
Kapal salah satu user telah habis User melakukan klik di grid yang bukan gilirannya
Tampilan pesan "You Win press the refresh button to play another game" Tampilan pesan “it’s not your turn but,(nama lawan) turn”
Sesuai
Sesuai
Bila dari inputdiberikan menghasilkan proses yang menghasilkan output yang sesuai dengan kebutuhan fungsionalnya, maka program aplikasi yang bersangkutan telah benar, tetapi bila output yang dihasilkan tidak sesuai dengan kebutuhan fungsionalnya, maka masih terdapat kesalahan pada program aplikasi tersebut. Pada gambar 4.5 terlihat bahwa client harus memasukkan IP dari komputer client, jika tidak maka pemain client hanya bisa bermain dengan komputer. Setelah itu pemain client maupun server dapat memilih jenis permainan, apakah ingin bermain dengan komputer atau bermain dengan pemain lawan di dalam jaringan LAN, dapat dilihat pada gambar 4.5 dan 4.6 berikut ini.
Gambar 4.4 Gambar pesan input (masukkan) nama
Gambar 4.5 Gambar antarmuka masukkan IP server
Gambar 4.6 Gambar antarmuka bermain dengan komputer
Gambar 4.7 Gambar antarmuka bermain dengan pemain di jaringan Jika pemain bukan gilirannya berusaha melakukan langkah permainanan, maka aplikasi akan memberi pesan seperti yang diperlihatkan pada gambar 4.8.
Gambar 4.8 Gambar antarmuka giliran pemain Selanjutnya jika kapal yang dimiliki salah satu pemain telah habis, maka pemain yang masih memiliki kapal akan menang. Seperti yang diperlihatkan gambar 4.9
Gambar 4.9 Gambar antarmuka pemain pemenang
4.3.4 Analisis Hasil Pengujian Setelah tahap pengujian dapat dianalisa bahwa: 1.
Skenario kotak pengisian nama berjalan dengan baik, bila pemain server maupun client tidak memasukkan nama, maka otomatis permainan tidak akan berjalan.
2.
Skenario pemain client jika salah memasukkan IP server, maka jenis permainan pemain client hanya akan bermain melawan komputer saja.
3.
Pemain server maupun client berjalan secara bergantian untuk menebak kapal yang akan ditembak, karena jika tidak, maka aplikasi akan memberi pesan peringatan.
4.
Pada aplikasi game battle ship ini mouse merupakan kontrol utama dalam menjalankan aktifitas permainan ini.