BAB IV
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Implementasi
Setelah tahap analisis dan perancangan selesai dilakukan, maka tahap selanjutnya adalah tahap implementasi dan penyempurnaan. Berikut ini akan dijelaskan implementasi dari aplikasi permainan komputer game knight’s tour yang penulis kembangkan yang terdiri dari lingkungan implementasi, kode, dan antarmuka dari aplikasi permainan tersebut.
Pada subbab berikut akan dijelaskan implementasi dari aplikasi permainan knight’s tour yang telah dibangun tersebut.
4.1.1 Lingkungan Implementasi
Aplikasi game knight’s tour dikembangkan dan diimplementasikan pada visual basic 6.0 dengan spesifikasi sebagai berikut:
A. Visual basic 6.0 untuk menguji coba permainan Knight’s tour di pasang pada komputer pribadi dengan spesifikasi sebagai berikut:
1. Prosesor Intel Pentium®Dual-Core CPU 2.80 GHz 2. Memori 1GB
3. Hard Disk Seagate 80 GB
B. Perangkat lunak
Perangkat lunak yang digunakan untuk menguji coba dan menjalankan aplikasi knight’s tour adalah sebagai berikut:
1. Microsoft Windows Xp SP2 2. Visual Basic 6.0
4.1.2 Pengkodean
Pada subbab ini penulis akan menjelaskan potongan-potongan dari kode sumber (source code) aplikasi permainan knight’s tour. Kode sumber untuk aplikasi permainan tersebut dibangun dengan menggunakan bahasa pemrograman visual basic 6.0.
Potongan-potongan program yang akan dijelaskan mengacu pada analisa bab sebelumnya dimana penulis telah mengembangkan source code yang ada. Berikut source code yang akan yang disajikan:
Private Sub OptPlaygame_Click() mode = 2
userMove = InputBox("How much move do you want?", "Knight's Tour", 64) If userMove = "" Then optManual.SetFocus Exit Sub End If intUserMove = CInt(userMove) intCompMove = 64 - intUserMove cmdNext.Caption = "&Back" cmdSolve.Visible = True Initialize Dim k As Integer
Kode 4.1 Potongan kode program ketika user memilih mode play game.
Pada kode 4.1 diatas, digunakan untuk membuat “ mode play game “yaitu pilihan bermain game untuk user. Pada baris pertama terdapat procedur Sub OptPlaygame_Click( ) yang di gunakan untuk membuat option button play game dengan menginisialisasikan mode dengan bilangan dua, usermove yang berfungsi menerima
input berapa jumlah langkah yang di inginkan user dalam bentuk inputbox. UserMove adalah variabel gerak user jika userMove belum di isi (kosong) maka tampilan option manual tetap tampil, intUserMove adalah Cint (konversi string ke integer dalam userMove), dan intCompMove adalah 64 dikurang dengan banyaknya langkah yang di inginkan user. Tampilan CommandNext akan berganti menjadi tampilan CommandBack, dan CommandSolve akan di tampilkan, semua variabel K akan diinisialisasikan sebagai integer. If intUserMove < 64 Then k = 1 Randomize curx = Int(Rnd(0) * 8) cury = Int(Rnd(0) * 8) randomComputerStartx = curx randomComputerStarty = cury Dim updateMode As Integer updateMode = 0
While (k <= intCompMove)
If k = intCompMove Then updateMode = 1 Call nextMove(k, curx, cury, updateMode) k = k + 1 Wend curValue = k End If Update End Sub
Kode 4.2 Potongan kode program untuk menjalankan solusi sebagian.
Pada kode 4.2 diatas, merupakan kode program untuk menjalankan solusi sekarang. Jika intUserMove kurang dari 64 maka K adalah satu, kemudian di random, untuk curx dan cury adalah integer yang dirandom nol dikali delapan. Komputer akan melakukan random dengan randomComputerstartx adalah curx (x sekarang) dan randomComputerstarty adalah cury (y sekarang) , kemudian updateMode akan mendeklarasikan sebagai integer, maka mode akan melakukan update dengan updateMode adalah nol. Ketika K kurang dari sama dengan intCompMove, jika k sama
dengan intCompMove maka updateMode adalah satu, kemudian akan memanggil fungsi nextMove yang terdiri dari K, curx, cury, dan updateMode, dan K ditambah satu dan akan melakukan looping (wend) , curvalue (nilai sekarang) adalah K, setelah itu update dan procedur ini berakhir.
Private Sub CmdSolve_Click() Dim k As Integer Initialize curx = randomComputerStartx cury = randomComputerStarty k = 1 While (k <= 64)
Call nextMove(k, curx, cury) k = k + 1
Wend Update End Sub
Kode 4.3 Potongan kode program jika button solve diklik.
Pada kode 4.3 diatas, digunakan untuk membuat “ button solve “ ketika mode play game dipilih. Pada procedur Sub CmdSolve_Click( ) dideklarasikan variabel K sebagai bilangan bulat (integer) kemudian K akan menginisialisasikan sebagai curx (x sekarang) dan cury (y sekarang). curx sebagai randomComputerStartx dan cury sebagai randomComputerStarty, K adalah satu. Ketika K kurang dari 64 maka akan memanggil nextMove (K, curx,cury adalah fungsi nextMove), maka k akan ditambah satu dan melakukan looping (wend) dan update maka prosedur ini berakhir.
For i = 0 To 63
If lblMatrix(i) = Trim(Str(curValue)) Then lblMatrix(i) = "" curx = i \ 8 cury = i - curx * 8 chessBoard(curx, cury) = 0 Exit For End If Next
Pada kode 4.4 diatas, digunakan untuk menghapus angka yang telah tampil ketika user memilih command back. Untuk i adalah nol sampai 63, jika label matrik pada cheshboard di inisialisasikan sebagai i adalah trim, string, curvalue maka i pada label matrik bernilai kosong. Curx adalah i dibagi delapan, dan cury adalah i dikurangi cury dikali delapan, maka curx dan cury pada chessboard adalah nol, dan pencarian backmove berakhir.
For j = 0 To 63
If lblMatrix(j) = Trim(Str(curValue - 1)) Then curx = j \ 8
cury = j - curx * 8 Exit For
End If
Kode 4.5 Potongan kode program mencari langkah sebelumnya.
Pada kode 4.5 diatas, digunakan untuk mencari posisi langkah sebelum langkah saat itu di hapus atau tempat menyimpan langkah yang telah dilalui user yang terdapat dalam procedur Sub CmdNext_Click( ) . Untuk J adalah nol sampai 63, jika J pada label matrik adalah string pada curvalue (nilai sekarang) dikurangi satu, maka curx (x sekarang) adalah J dibagi delapan, dan cury (y sekarang) adalah J dikurangi curx dikali delapan. Maka pencarian ini berakhir.
4.1.3 Tampilan Antar Muka Permainan
Ketika pemain menjalankan aplikasi game knight’s tour yang telah penulis modifikasi, yang pertama kali ditampilkan kepada pemain atau kondisi awal game adalah layar permainan dengan kondisi ukuran kotak papan 8x8. Dengan pilihan 3 opsi yaitu option manual, option automatic, dan option play game. Dan beberapa pilihan tombol yang berbeda dari setiap pilihan pada mode yang dipilih. Dalam permainan ini
pemain diwajibkan menentukan langkah awal dengan mengklik salah satu kotak pada papan dalam chessboard jika memilih mode automatic dan manual atau mengisi nilai dalam inputbox jika memilih playgame. Berikut tampilan antar muka permainan yang di dapat disajikan.
Gambar 4.1 Tampilan Utama Masuk Permainan.
Pada gambar 4.1 diatas, merupakan tampilan utama masuk permainan pada game knight’s tour yang langsung memilih option manual, pada opsi ini pemain diwajibkan memilih langkah awal dalam chessboard untuk memulai permainan. Dalam opsi ini terdapat 3 pilihan button yaitu reset, exit, dan next.
Pada gambar 4.2 diatas, merupakan tampilan masuk option automatic pada opsi ini pemain tetap diwajibkan memilih langkah awal dalam chessboard untuk memulai permainan. Dalam opsi ini terdapat 3 pilihan button yaitu reset, exit, dan start.
Gambar 4.3 Tampilan Masuk Option Play Game.
Pada gambar 4.3 diatas, merupakan tampilan masuk option play game pada opsi ini pemain diwajibkan mengisi nilai dari 1 sampai 64, jika tidak mengisi maka permainan tidak dapat dilanjutkan.
Pada gambar 4.4 diatas, merupakan tampilan setelah memasukan nilai dalam inputbox dan pemain tinggal meneruskan langkah yang belum terlewati. Dalam opsi ini terdapat 4 pilihan button yaitu reset, exit, back dan solve.
Gambar 4.5 Tampilan Memilih Tombol Solve.
Pada gambar 4.5 diatas, merupakan tampilan setelah pemain dapat menyelesaikan langkah yang harus ditempuhnya atau jika pemain menemukan langkah mati, pemain cukup menekan button solve untuk diselesaikan langkahnya oleh komputer.
4.1.4 Tampilan Antar Muka Message
Pada permainan ini terdapat beberapa message yang akan muncul jika memenuhi suatu kondisi. Berikut tampilan message yang disajikan.
Pada gambar 4.6, diatas , merupakan tampilan message ketika pemain belum menentukan langkah awal dalam chessboard.
Gambar 4.7 Antarmuka Message Salah Langkah.
Pada gambar 4.7 diatas , merupakan tampilan message ketika pemain salah menentukan langkah dalam chessboard karena tidak sesuai dengan aturan permainan.
Gambar 4.8 Antarmuka Message Tidak Dapat Mundur
Pada gambar 4.8 diatas , merupakan tampilan message ketika pemain tidak dapat lagi melangkah mundur.
Gambar 4.9 Antarmuka Message Menang Permainan
Pada gambar 4.9 diatas , merupakan tampilan message ketika pemain berhasil menyelesaikan langkah permainan knight’s tour.
4.2 Pengujian
Pengujian dilakukan agar dapat diketahui apakah aplikasi game knight’s tour yang telah dibangun tersebut dapat berjalan sesuai dengan kebutuhan hasil analisis pada bab III. Pengujian pada aplikasi permainan tersebut dilakukan berdasarkan metode Black Box Testing yaitu Pengujian untuk menemukan kesalahan dalam lingkup kategori sebagai berikut:
(1) fungsi-fungsi yang tidak benar atau hilang, (2) kesalahan Antarmuka,
(3) kesalahan dalam struktur data atau akses basis data, dan (4) kesalahan kinerja (Pressman, 2002:551).
Pengujian-pengujian yang akan dilakukan terdiri atas skenario pengujian, hasil pengujian, dan analisis hasil pengujian yang akan dijelaskan pada subbab berikut ini.
4.2.1 Skenario Pengujian
Skenario pengujian digunakan untuk menentukan langkah-langkah dalam melakukan pengujian. Pengujian dilakukan dengan menjalankan aplikasi permainan terlebih dahulu. Kemudian dilakukan pengujian dengan menekan button yang terdapat pada menu permainan dari aplikasi permainan tersebut apakah sesuai dengan yang diharapkan. Selanjutnya pengujian dilakukan ketika permainan sedang berlangsung. Skenario pengujian untuk aplikasi permainan komputer knights tour yang lebih lengkap dapat dilihat pada Tabel 4.1.
Tabel 4.1 Tabel Skenario Pengujian No Antarmuka yang diuji Bagian dari Antarmuka yang diuji Status permainan Skenario pengujian Hasil yang diharapkan 1. Jendela permainan Tampilan utama Permainan belum dimulai Pemain langsung memilih option manual Permainan akan dimulai dengan keadaan awal chessboard 8x8. 2. Jendela permainan Option Automatic Permainan belum dimulai Pemain memilih option automatic Permainan akan dimulai. 3. Jendela permainan Option Manual Permainan belum dimulai Pemain memilih option manual Permainan akan dimulai. 4. Jendela permainan Option Play Game Permainan belum dimulai Pemain memilih play game Permainan akan dimulai. 5. Jendela permainan Chessboard Permainan belum dimulai Pemain mengklik chessboard Permainan dimulai.
Tabel 4.2 (Lanjutan) Tabel Skenario Pengujian 6. Jendela
permainan
Input Box Permainan belum dimulai Pemain mengisi angka Permainan dimulai, dan menampilkan langkah yang harus ditemukan sesuai dengan jumlah yang diisi pemain.
7. Jendela permainan
Button Start Permainan telah dimulai Pemain menekan tombol start Pemain dapat melihat yang ditampilkan komputer dari langkah pertama sampai langkah terakhir secara bersamaan. 8. Jendela permainan
Button Next Permainan telah dimulai Pemain menekan tombol next Pemain dapat melihat yang ditampilkan komputer dari langkah pertama sampai langkah terakhir secara bertahap
Tabel 4.3 (Lanjutan) Tabel Skenario Pengujian 9. Jendela
permainan
Button Back Permainan telah dimulai Pemain menekan tombol back Pemain dapat melangkah mundur atau kembali kelangkah awal. 10 Jendela permainan
Button Solve Permainan telah dimulai Pemain menekan tombol solve Pemain dapat menyelesaikan langkah permainan dengan bantuan komputer. 11. Jendela permainan
Button Reset Permainan telah dimulai Pemain menekan tombol start Pemain dapat mengulang permainan ari awal. 12. Jendela permainan
Button Exit Permainan telah dimulai Pemain menekan tombol start Pemain langsung keluar permainan.
4.2.2 Hasil Pengujian
Setelah aplikasi permainan komputer knight’s tour tersebut selesai diuji berdasarkan skenario pengujian, maka dapat diperoleh hasil pengujian dari aplikasi permainan tersebut. Untuk lebih jelas lihat Tabel 4.2.
Tabel 4.4 Tabel Hasil Pengujian
No Antarmuka yang diuji Bagian dari Antarmuka yang diuji Status permainan Skenario pengujian Hasil Pengujian 1. Jendela permainan Tampilan utama Permainan belum dimulai Pemain langsung memilih option manual Permainan akan dimulai dengan keadaan awal chessboard 8x8 (sesuai). 2. Jendela permainan Option Automatic Permainan belum dimulai Pemain memilih option automatic Permainan akan dimulai (sesuai). 3. Jendela permainan Option Manual Permainan belum dimulai Pemain memilih option manual Permainan akan dimulai (sesuai). 4. Jendela permainan Option Play Game Permainan belum dimulai Pemain memilih play game Permainan akan dimulai (sesuai).
Tabel 4.5 (Lanjutan) Tabel Hasil Pengujian 5. Jendela permainan Chessboard Permainan belum dimulai Pemain mengklik chessboard Permainan dimulai (sesuai). 6. Jendela permainan
Input Box Permainan belum dimulai Pemain mengisi angka Permainan dimulai, dan menampilkan langkah yang harus ditemukan sesuai dengan jumlah yang diisi pemain (sesuai).
7. Jendela permainan
Button Start Permainan telah dimulai Pemain menekan tombol start Pemain dapat melihat yang ditampilkan komputer dari langkah pertama sampai langkah terakhir secara bersamaan (sesuai). 8. Jendela permainan
Button Next Permainan telah dimulai Pemain menekan tombol next Pemain dapat melihat yang ditampilkan
Tabel 4.6 (Lanjutan) Tabel Hasil Pengujian komputer dari langkah pertama sampai langkah terakhir secara bertahap (sesuai). 9. Jendela permainan
Button Back Permainan telah dimulai Pemain menekan tombol back Pemain dapat melangkah mundur atau kembali kelangkah awal (sesuai). 10 Jendela permainan
Button Solve Permainan telah dimulai Pemain menekan tombol solve Pemain dapat menyelesaikan langkah permainan dengan bantuan komputer (sesuai). 11. Jendela permainan
Button Reset Permainan telah dimulai Pemain menekan tombol start Pemain dapat mengulang permainan ari awal (sesuai).
Tabel 4.7 (Lanjutan) Tabel Hasil Pengujian 12. Jendela
permainan
Button Exit Permainan telah dimulai Pemain menekan tombol start Pemain langsung keluar permainan (sesuai).
4.2.3 Analisis Hasil Pengujian
Hasil analisa yang dapat penulis berikan pada saat melakukan pengujian secara keseluruhan perangkat lunak adalah sebagai berikut:
1. Keadaan awal papan saat masuk permainan tidak dapat langsung dimainkan dengan keadaan papan 8x8.
2. Pemilihan mode opsi dengan pilihan yang tersedia.
3. Sistem akan melakukan random langkah pada chessboard setelah nilai input box dimasukan.
4. Sistem akan melakukan solusi untuk menemukan langkah yang tepat jika diminta oleh pemain .Untuk pemecahan solusi hanya cukup menekan tombol sekali, jika langkah awal sudah dimainkan atau pemain telah mengisi nilai pada input box untuk menentukan berapa langkah yang harus diselesaikan. Maka sistem akan melakukan langkah solusi yang tepat.