BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1 Implementasi Se tahap analisis dan perancangan selesai dilakukan, maka tahap selanjutnya adalah tahap implementasi dan penyempurnaan. Berikut ini akan dijelaskan implementasi dari aplikasi komputer game knight s tour yang penulis kembangkan yang terdiri dari lingkungan implementasi, kode, dan antarmuka dari aplikasi tersebut. Pada subbab berikut akan dijelaskan implementasi dari aplikasi knight s tour yang 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 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 55
56 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 knight s tour. Kode sumber untuk aplikasi tersebut dibangun dengan menggunakan bahasa pemrograman visual basic 6.0. Potongan-potongan program yang akan dijelaskan mengacu pada analisa bab senya dimana penulis 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 ter procedur Sub OptPlaygame_Click( ) yang di gunakan untuk membuat option button play game dengan menginisialisasikan mode dengan bilangan dua, usermove yang berfungsi menerima
57 input berapa jumlah langkah yang di inginkan user dalam bentuk inputbox. UserMove adalah variabel gerak user jika usermove 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
58 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, se 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 Kode 4.4 Potongan kode program back knight s tour.
59 Pada kode 4.4 diatas, digunakan untuk menghapus angka yang 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 senya. Pada kode 4.5 diatas, digunakan untuk mencari posisi langkah se langkah saat itu di hapus atau tempat menyimpan langkah yang dilalui user yang ter 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 Ketika pemain menjalankan aplikasi game knight s tour yang penulis modifikasi, yang pertama kali ditampilkan kepada pemain atau kondisi awal game adalah layar 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 ini
60 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 yang di disajikan. Gambar 4.1 Tampilan Utama Masuk. Pada gambar 4.1 diatas, merupakan tampilan utama masuk pada game knight s tour yang langsung memilih option manual, pada opsi ini pemain diwajibkan memilih langkah awal dalam chessboard untuk memulai. Dalam opsi ini ter 3 pilihan button yaitu reset, exit, dan next. Gambar 4.2 Tampilan Masuk Option Automatic.
61 Pada gambar 4.2 diatas, merupakan tampilan masuk option automatic pada opsi ini pemain tetap diwajibkan memilih langkah awal dalam chessboard untuk memulai. Dalam opsi ini ter 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 tidak dilanjutkan. Gambar 4.4 Tampilan Se Memasukan Nilai Inputbox.
62 Pada gambar 4.4 diatas, merupakan tampilan se memasukan nilai dalam inputbox dan pemain tinggal meneruskan langkah yang terlewati. Dalam opsi ini ter 4 pilihan button yaitu reset, exit, back dan solve. Gambar 4.5 Tampilan Memilih Tombol Solve. Pada gambar 4.5 diatas, merupakan tampilan se pemain menyelesaikan langkah yang harus ditempuhnya atau jika pemain menemukan langkah mati, pemain cukup button solve untuk diselesaikan langkahnya oleh komputer. 4.1.4 Tampilan Antar Muka Message Pada ini ter beberapa message yang akan muncul jika memenuhi suatu kondisi. Berikut tampilan message yang disajikan. Gambar 4.6 Antarmuka Message Memulai
63 Pada gambar 4.6, diatas, merupakan tampilan message ketika pemain 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. Gambar 4.8 Antarmuka Message Tidak Dapat Mundur Pada gambar 4.8 diatas, merupakan tampilan message ketika pemain tidak lagi melangkah mundur. Gambar 4.9 Antarmuka Message Menang Pada gambar 4.9 diatas, merupakan tampilan message ketika pemain berhasil menyelesaikan langkah knight s tour.
64 4.2 Pengujian Pengujian dilakukan agar diketahui apakah aplikasi game knight s tour yang dibangun tersebut berjalan sesuai dengan kebutuhan hasil analisis pada bab III. Pengujian pada aplikasi 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 terlebih dahulu. Kemudian dilakukan pengujian dengan button yang ter pada menu dari aplikasi tersebut apakah sesuai dengan yang diharapkan. Selanjutnya pengujian dilakukan ketika sedang berlangsung. Skenario pengujian untuk aplikasi komputer knights tour yang lebih lengkap dilihat pada Tabel 4.1.
65 Tabel 4.1 Tabel Skenario Pengujian No Antarmuka Bagian dari Status Skenario Hasil yang yang diuji Antarmuka pengujian diharapkan yang diuji 1. Jendela Tampilan akan utama langsung dengan memilih keadaan awal option chessboard 8x8. manual 2. Jendela Option akan Automatic memilih. option automatic 3. Jendela Option akan Manual memilih. option manual 4. Jendela Option Play akan Game memilih play. game 5. Jendela Chessboard mengklik. chessboard
66 Tabel 4.2 (Lanjutan) Tabel Skenario Pengujian 6. Jendela Input Box mengisi, dan angka menampilkan langkah yang harus ditemukan sesuai dengan jumlah yang diisi pemain. 7. Jendela Button Start melihat yang tombol start ditampilkan komputer dari langkah pertama sampai langkah terakhir secara bersamaan. 8. Jendela Button Next melihat yang tombol next ditampilkan komputer dari langkah pertama sampai langkah terakhir secara bertahap
67 Tabel 4.3 (Lanjutan) Tabel Skenario Pengujian 9. Jendela Button Back melangkah tombol back mundur atau kembali kelangkah awal. 10 Jendela Button Solve menyelesaikan tombol solve langkah dengan bantuan komputer. 11. Jendela Button Reset mengulang tombol start ari awal. 12. Jendela Button Exit langsung keluar. tombol start
68 4.2.2 Hasil Pengujian Se aplikasi komputer knight s tour tersebut selesai diuji berdasarkan skenario pengujian, maka diperoleh hasil pengujian dari aplikasi tersebut. Untuk lebih jelas lihat Tabel 4.2. Tabel 4.4 Tabel Hasil Pengujian No Antarmuka Bagian dari Status Skenario Hasil Pengujian yang diuji Antarmuka pengujian yang diuji 1. Jendela Tampilan akan utama langsung dengan memilih keadaan awal option chessboard 8x8 manual (sesuai). 2. Jendela Option akan Automatic memilih (sesuai). option automatic 3. Jendela Option akan Manual memilih (sesuai). option manual 4. Jendela Option Play akan Game memilih play (sesuai). game
69 Tabel 4.5 (Lanjutan) Tabel Hasil Pengujian 5. Jendela Chessboard mengklik (sesuai). chessboard 6. Jendela Input Box mengisi, dan angka menampilkan langkah yang harus ditemukan sesuai dengan jumlah yang diisi pemain (sesuai). 7. Jendela Button Start melihat yang tombol start ditampilkan komputer dari langkah pertama sampai langkah terakhir secara bersamaan (sesuai). 8. Jendela Button Next melihat yang tombol next ditampilkan
70 Tabel 4.6 (Lanjutan) Tabel Hasil Pengujian komputer dari langkah pertama sampai langkah terakhir secara bertahap (sesuai). 9. Jendela Button Back melangkah tombol back mundur atau kembali kelangkah awal (sesuai). 10 Jendela Button Solve menyelesaikan tombol solve langkah dengan bantuan komputer (sesuai). 11. Jendela Button Reset mengulang tombol start ari awal (sesuai).
71 Tabel 4.7 (Lanjutan) Tabel Hasil Pengujian 12. Jendela Button Exit langsung keluar tombol start (sesuai). 4.2.3 Analisis Hasil Pengujian Hasil analisa yang penulis berikan pada saat melakukan pengujian secara keseluruhan perangkat lunak adalah sebagai berikut: 1. Keadaan awal papan saat masuk tidak langsung dimainkan dengan keadaan papan 8x8. 2. Pemilihan mode opsi dengan pilihan yang tersedia. 3. Sistem akan melakukan random langkah pada chessboard se nilai input box dimasukan. 4. Sistem akan melakukan solusi untuk menemukan langkah yang tepat jika diminta oleh pemain.untuk pemecahan solusi hanya cukup tombol sekali, jika langkah awal sudah dimainkan atau pemain mengisi nilai pada input box untuk menentukan berapa langkah yang harus diselesaikan. Maka sistem akan melakukan langkah solusi yang tepat.