• Tidak ada hasil yang ditemukan

BAB 5 HASIL UJI COBA DAN EVALUASI

5.2 Skenario Pengujian

BAB 5

HASIL UJI COBA DAN EVALUASI

Bab ini berisi penjelasan mengenai skenario uji coba dan evaluasi pada plug-in yang ditambahkan pada IDE Eclipse. Hasil uji coba didapatkan dari implementasi BAB 4 dengan dua skenario yang berbeda. Bab ini berisikan lingkungan pengujian, data pengujian dan hasil pengujian.

5.1 Lingkungan Pengujian

Lingkungan pengujian pada uji coba plug-in Eclipse ini adalah perangkat keras dan perangkat lunak yang spesifikasinya dapat dilihat pada Tabel 5.1.

Tabel 5.1 Lingkungan pengujian

5.2 Skenario Pengujian

Untuk menguji plug-in ini maka dibuat dua skenario. Dua skenario tersebut dibuat untuk mengakomodasi seluruh aktivitas programming yang disebutkan dalam tugas akhir ini. Dalam skenario pertama yaitu game Tic Tac Toe, tidak terdapat inheritance seperti extends dan implement. Aktivitas programming itu didapatkan dari skenario kedua yaitu game Tamagotchi. Pola pengujian adalah skenario pertama diujikan pada tiga orang subjek. satu orang beginnerprogrammer, satu intermediateprogrammer

Perangkat Jenis Perangkat Spesifikasi Perangkat

Keras

Prosesor Intel(R) Core(TM) i5-2.6 GHz

Memori 4 GB

Perangkat Lunak

Sistem Operasi Windows 10 Perangkat

dan satu expertprogrammer. Untuk skenario kedua diujikan pada dua orang intermediateprogrammer.

Skenario 1

Programmer diminta untuk membuat sebuah game Tic Tac Toe. Penulis sudah menyiapkan struktur dari game Tic Tac Toe, programmer dapat menggunakannya untuk membantu saat menuliskan kode di IDE Eclipse yang sudah terdapat plug-in didalamnya. Struktur game yang diminta untuk dibuat adalah sebagai berikut:

Case 1: Programmer Java dengan kemampuan intermediate diberikan struktur program secara detail Buatlah sebuah game Tic Tac Toe, dokumen ini hanya menyediakan stuktur dari program yang harus ada di program yang dibuat. Tidak perlu menuliskan kode sesuai dengan urutan yang ada di dokumen ini.

Enum GameState

- PLAYING, DRAW, CROSS_WON, NOUGHT_WON Enum Seed

- EMPTY, CROSS , NOUGHT Class Cell

- variabel content dengan tipe data Seed

- variabel row, col dengan tipe data int

- Contructorclass cell dengan parameter int row , int col oInisialisasi class variabel row dengan row input oInisialisasi class col dengan col input

oPanggil methodclear - Method clear

oIsi variabel content dengan Seed.EMPTY - Method paint

o Kondisi untuk variabel content

o Jika isi dari content adalah CROSS maka print(“ X ”);

59

o Jika isi dari content adalah NOUGTH maka print (“ 0 ”);

o Jika isi dari content adalah Empty maka print(“ ”);

Class Board

- variabel dengan modifier public static final dengan tipe data int bernama ROWS = 3

- variabel dengan modifier public static final dengan tipe data int bernama COLS = 3

- Array 2 dimensi dari Cell bernama cells

- variabel currentRow dan currentCol dengan tipe data int - Constructor Board

o Mengisi variabel cells dengan menginstansiasi object Cell dengan parameter ROWS dan COLS

o Untuk setiap ROWS ▪ Untuk setiap COLS

• Isi variabel cells ke-ROWS ke COLS dengan object Cell ke row dan ke col

- Methodinit dengan return type void

o Untuk setiap kolom dan baris dari cell panggil method clear

- Method isDraw dengan returntype boolean

o Cari apakah ada cell yang kosong jika ada ▪ kembalikan valuefalse

▪ Jika tidak kembalikan valuetrue - Method hasWon dengan parameter type Seed nama theSeed dan return value Boolean

o Cek apakah dalam 1 diagonal atau satu horizontal atau satu vertical, variabel cells.content memiliki isi yang sama

- Method Paint dengan returnvalue void o Untuk setiap ROWS

• Panggil method paint di cells ke row dan ke col

• Jika col kurang dari COLS -1

maka print (“ | “)

Print enter

▪ Jika row < ROWS-1 maka print (“ --- “)

Class Game Main

- variabel board dengan tipe data Board

- variabel currentState dengan tipe data GameState

- variabel currentPlayer dengan tipe data Seed

- variabel in dengan modifier static tipe data Scanner dengan value Object Scanner dengan parameter System.in

- Constructor GameMain

o Isi variabel board dengan Object Board o Panggil method initGame

o Do block statement

▪ Panggil method playerMove dengan parameter currentPlayer

▪ Panggil method paint dari variable board

▪ Panggil method updateGame dengan parameter currentPlayer

▪ Cek currentState apakah sama dengan salah satu dari GameState jika ya print yang pihak yang menang ▪ Isi variable currentPlayer dengan

player lawan yang bermain saat ini o While statement currentState adalah

GameState.Playing

- Method initGame

o Panggil method init dari variabel board; o Isi variabel currentPlayer dengan

61

o Isi variabel currentState dengan GameState.Playing

- Method playerMove dengan parameter tipe Seed variabel theSeed returnvalue void

o variabel validInput tipe Boolean isi dengan value false o Do block statement

▪ Jika theSeed adalah CROSS maka print(“X move first

row[0-3] col[0-3]”)

▪ Jika yang lain print(“O move first row[0-3] col[0-3]”)

▪ variabel tipe int nama row isi dengan value in.nextInt()

– 1

▪ variabel tipe int nama col isi dengan value in.nextInt()

– 1

▪ Cek apakah nilai yang dimasukkan benar dan apakah cells pada row dan kolom yang dimasukkan content-nya adalah Seed.EMPTY

• Isi variabel board.cells[row][col].content dengan theSeed

• Isi variabel currentRow dari variable board dengan row

• Isi variabel currentCol dari variable board dengan col

• Isi variabel inputValid dengan True ▪ Else

Print(“ Input tidak valid masukkan lagi ”) o While block statement parameter !validInput

- Method updateGame parameter tipe Seed nama theSeed dengan returntype void

o Cek apakah sudah ada yang menang dengan memanggil board.hasWon(theSeed)

▪ Isi variabel currentState dengan variabel yang sudah memenangkan game

o Cek apakah draw

▪ Isi variabel currentState dengan GameState.DRAW

o Panggil constructor dari GameMain

• Case 2: Programmer Java yang berpengalaman hanya dengan spesifikasi kebutuhan

Buat game Tic Tac Toe dengan spesifikasi sebagai berikut:

- Papan permainan dengan ukuran 3 x 3

- Input dan output berupa console - Harus objectoriented

- Player terdiri dari CROSS dan NOUGHT

- Player secara bergantian bermain dengan CROSS bermain terlebih dahulu

Skenario Test Kedua

Membuat sebuah text-basedgaming Tamagotchi battle. Di mana pemain bisa memiliki sebuah pet (tidak perlu multiplayer dan tidak perlu AI). Silahkan buat 3 jenis pet. Konsep object oriented yang harus diimplementasikan implementation, inheritance.

Dokumen terkait