59
BAB IV
IMPLEMENTASI DAN PENGUJIAN
Pada bab IV akan dilakukan implementasi dan pengujian terhadap sistem. Tahapan ini dilakukan setelah perancangan selesai dilakukan dan selanjutnya akan diimplementasikan pada bahasa pemrograman. Setelah implementasi maka dilakukan pengujian terhadap aplikasi untuk melihat kinerja sistem.
4.1 Implementasi Sistem
Implementasi sistem mencakup spesifikasi kebutuhan perangkat keras (hardware) dan spesifikasi perangkat lunak (software).
4.1.1 Spesifikasi Perangkat Keras dan Perangkat Lunak
Sistem dijalankan dengan menggunakan perangkat keras (hardware) yang direkomendasikan sebagai berikut :
1. Prosesor Intel Pentium IV 2.26 GHz. 2. Memory 512 MB.
3. Harddisk 80 GB. 4. VGA card 128 MB.
5. Monitor dengan resolusi 1280 x 800 pixel. 6. Keyboard dan Mouse
Adapun perangkat lunak (software) minimal yang direkomendasikan untuk menjalankan aplikasi ini adalah lingkungan sistem operasi windows xp dengan net.framework 2.0 yang terinstal didalamnya.
4.1.2 Implementasi Antarmuka
Secara visual aplikasi ular tangga ini memiliki 3 form yang akan dibahas pada sub bab a, b, dan c.
a. Antarmuka Menu Pengaturan
Implementasi antarmuka menu pengaturan dimaksudkan untuk menampilkan halaman pengaturan untuk permainan ular tangga ini, adapun menu dari antarmuka form pengaturan adalah tombol mulai, tombol bantuan dan tombol keluar.
61
Form pengaturan permainan ular tangga di atas, bertujuan untuk menentukan jumlah pemain dan tipe pemain yang ikut serta. Pemain pertama pada permainan ini di set untuk user sedangkan urutan sisanya dapat ditentukan oleh user, dengan mengaktifkan cekbox pemain dapat ditambahkan kemudian dengan memilih chek box dapat menentukan tipe pemain (bisa user atau pemain komputer).
b. Antarmuka Papan Permainan 1. Pengesetan Biji Pion
Implementasi pengesetan biji pion sendiri ditempatkan langsung pada papan permainan, adapun tempat penempatan biji pion itu sendiri diletakan di atas gambar papap permainan pada cell 0.
Gambar 4.2 Tampilan pengesetan biji pion akhir
Sebagai contoh dari gambar 4.2, posisi biji pion pertama (warna merah) menempati atau terletak pada titik kordinat 23; 642 dari papan permainan ular tangga pada form2, kordinat 69; 642 untuk biji pion ke 2 (warna biru), kordinat 23; 696 untuk biji pion ke 3 (warna kuning), dan kordinat 69; 696 untuk biji pion ke 4 (warna hijau).
Dengan mengacu pada gambar 4.2, sebagai contoh untuk implementasi kode program yang digunakan pada form2 untuk pengesetan biji pion pemain ke 1 (warna merah) : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Me.PL1.BackColor = System.Drawing.Color.FromArgb(CType(CType(78, Byte),
Integer), CType(CType(136, Byte), Integer), CType(CType(217, Byte), Integer))
Me.PL1.Font = New System.Drawing.Font("Verdana", 8.25!, System.Drawing.FontStyle.Bold,
System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.PL1.ForeColor = System.Drawing.Color.White Me.PL1.Image =
CType(resources.GetObject("PL1.Image"), System.Drawing.Image) Me.PL1.Location = New System.Drawing.Point(14, 642) Me.PL1.Name = "PL1"
Me.PL1.Size = New System.Drawing.Size(40, 25) Me.PL1.TabIndex = 1
Me.PL1.Text = "1" Me.PL1.TextAlign =
System.Drawing.ContentAlignment.MiddleCenter Gambar 4.3 Kode program pengesetan biji pion
Utuk pemain yang lainnya hampir sama, cuma yang membedakan hanya pada warna dan lokasi titik kordinat pada papan permainan.
2. Papan Permainan Ular Tangga
Setelah user menentukan jumlah dan tipe permainan, kemudian tombol play di klik. Inisialisasi matrix untuk papan permainan, ular, dan tangga dilakukan, permain ke 1 (warna merah) otomatis mendaatkan giliran pertama jala kemudian di ikuti oleh pemain ke 2 dan seterusnya.
63
Gambar 4.4 Tampilan papan permainan ular tangga
Gambar 4.3 implementasi antarmuka di atas dengan melihat list players menunjukan jumlah pemain adalah 4, pemain pertama user sedangkan computer 1, computer 2, dan computer 3 ditambahkan sebagai pemain dari komputer yang menyertai pemain pertama.
Pemain dari komputer yang ditambahkan untuk menyertai pemain dari user (human) di set dengan nama default computer 1 untuk pemain ke 2 (warna biji pion biru), computer 2 untuk pemain ke 3 (warna biji pion kuning), dan computer 3 untuk pemain ke 4 (warna biji pion hijau).
Jumlah maksimal untuk pemain dari computer yang dapat ditambahkan adalah tiga, sehingga total jumlah pemain keseluruhan adalah empat pemain.
Dengan mengacu pada Gambar 4.3, implementasi kode program yang digunakan : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 If HumanRB1.Checked Then
Game.Player1 = New Player(textb1.Text, True) End If
If HumanRB2.Checked And EnableCB2.Enabled = True And EnableCB2.Checked = True Then
Game.Player2 = New Player(textb2.Text, True) Else
If ComputerRB2.Checked = True And EnableCB2.Enabled = True And EnableCB2.Checked = True Then
textb2.Enabled = False
Game.Player2 = New Player("Computer 1", False) End If
End If
If HumanRB3.Checked And EnableCB3.Enabled = True And EnableCB3.Checked = True Then
Game.Player3 = New Player(textb3.Text, True) Else
If ComputerRB3.Checked = True And
EnableCB3.Enabled = True And EnableCB3.Checked = True Then
textb3.Enabled = False
Game.Player3 = New Player("Computer 2", False) End If
End If
If HumanRB4.Checked And EnableCB4.Enabled = True And EnableCB4.Checked = True Then
Game.Player4 = New Player(textb4.Text, True) Else
If ComputerRB4.Checked = True And
EnableCB4.Enabled = True And EnableCB4.Checked = True Then
Game.Player4 = New Player("Computer 3", False) End If
End If
Gambar 4.5 Kode program inisialisasi pemain computer
3. Tampilan Dadu Permainan
Dalam permainan ular tangga ini jumlah dadu yang digunakan sebanyak satu buah, adapun nilai dari mata dadu adalah 1, 2, 3, 4, 5, dan 6. Setiap pemain mendapatkan satu kali untuk pengacakan dadu, kemudian melangkah secara otomatis sesuai dengan nilai dadu yang keluar.
65
Gambar 4.6 Tampilan acak dadu
Gambar 4.4 merupakan daerah tampilan untuk pengacakan mata dadu, ketika tiba giliran untuk bermain. Pemain mengklik tombol acak dadu untuk proses pengacakan dadu, kemudian secara otomatis animasi pengacakan dadu dijalankan kemudian ditampilkan pada image box.
Gambar 4.7 Tampilan nilai dadu
Animasi pengacakan dadu yang ditampilkan pada image box sebanyak 10x dengan interpal beberapa detik untuk pergantiannya, dengan mengambil secara random dari ke 6 image dadu di atas. Pengacakan dadu untuk pemain tambahan dari komputer dilakukan secara random, adapun untuk pemain user pengacakan dadu dilakukan setelah tombol acak dadu di klik.
4. Pergantian Pemain
Pergantian pemain dilakukan setelah proses langkah sampai posisi cell tujuan akhir dilakukan, jumlah pergantian pemain sebanyak jumlah pemain yang ditambahkan pada form pengaturan pemain yang ikut serta dalam permainan.
Gambar 4.8 Tampilan pergantian pemain
Setelah mengklik tombol ok pada massage box, tiba giliran pemain berikutnya untuk proses pengacakan dadu.
5. Proses Mundur
Proses mundur kembali ke cell yang sebelumnya ketika melebihi nilai dari cell 55 (finish) dilakukan secara otomatis, adapun untuk pemain yang ketika sebelumnya berada pada cell yang lebih kecil dari cell tujuan akhir lebih besar dari cell sekarang proses animasi mundur tidak ditampilkan tetapi langkahnya terhenti dan langsung ke cell tujuan yang lebih dari cell finish.
67
Seperti pada Gambar 4.9 diatas, peringatan langkah mundur menampilakan nama pemain dan cell tujuan ketika mendapatkan nilai lebih dari cell 55.
Gambar 4.10 Tampilan kondisi langkah mundur
Pemain arif mendapatkan nilai 4 pada saat giliran main, sedangkang posisi cell sebelum pengacakan dadu berada pada cell 53. Secara normal nilai yang dibutuhkan untuk menyelesaikan permainan adalah 2, namun pada saat giliran mendapatkan nilai 3 lebih 1 poin dari 55 dan harus kembali ke cell 54.
6. Pengecekan Pemenang
Pengecekan pemenang dilakukan diakhir pergerakan, apakah ada pemain yang berhenti tepat pada cell finish. Ketika ada pemain yang tepat berhenti di garis finish, maka permainan dinyatakan berakhir dan pemain tersebut dinyatakan sebagai pemenang.
Gambar 4.11 Tampilan peringatan pemenang
Seperti pada Gambar 4.11 diatas, peringatan pemenang permainan muncul ketika ada salah satu pemain yang berhasil berhenti pada cell 55, tampilan massage box menampilakan nama pemain dan cell tujuan ketika (cell 55).
c. Form Bantuan
Form bantuan berisi bagaimana tata cara permainan ular tangga ini dimainkan dan aturan yang diterapkan pada permainan ini, pada form bantuan terdapat 7 poin yang dimasukan.
69
Gambar 4.12 Tampilan form bantuan
4.2 Pengujian
Pengujian dilakukan dalam keadaan sistem terkendali sehingga pengembang siap untuk melakukan perbaikan apabila pada saat pengujian ada kesalahan yang terjadi.
4.2.1 Pengujian White Box
Penentuan kasus uji disesuaikan dengan struktur sistem, pengetahuan mengenai program digunakan untuk mengidentifikasikan kasus uji tambahan. Tujuan penggunaan white box untuk menguji semua statement program (debug).
Penggunaan metode pengujian white box dilakukan untuk :
1. Memberikan jaminan bahwa semua jalur independen suatu modul digunakan minimal satu kali
2. Menggunakan semua keputusan logis untuk semua kondisi true atau false
3. Mengeksekusi semua perulangan pada batasan nilai dan operasional pada setiap kondisi.
4. Menggunakan struktur data internal untuk menjamin validitas jalur keputusan.
Pada pengujian white box ini penulis hanya menggunakan pengujian Basis Path. Pengujian basis path adalah pengujian white box yang diusulkan pertama kali oleh Tom McCabe. Metode ini memungkinkan penguji dapat mengukur kompleksitas logis dari desain procedural dan menggunakannya sebagai pedoman untuk menetapkan himpunan basis dari semua jalur eksekusi. Kasus uji dihasilkan untuk melakukan sekumpulan basis yang dijamin untuk mengeksekusi setiap perintah dalam program, sedikitnya satu kali selama uji coba.
• Pengujian generate best moves dengan diagram alir (Path Graph Notation)
GenerateBestMoves
Dim left_board As Integer (1)
Dim userCell As Cell (2)
If (55 - user.Cell) <= 6 Then (3) left_board = 55 - user.Cell (4) Else
left_board = 6 (5)
End If (6)
Dim List_Moves(left_board) As Integer (7)
Dim k As Integer (8)
For k = 0 To left_board – 1 (9)
List_Moves(k) = (k + 1) * 1000 (10)
71
Dibawah ini adalah flowchart dari code diatas diatas :
Strart 55 - user.cell Left_board <=6 Int_left_board; User.cell; End if Left_board = 6 list_move Int K; left_board – 1; Next End List_Moves(k) = (k + 1) * 1000
Di bawah ini adalah flowgraph : 6 4 1,2 7, 8, 9 3 5 R1 R2 P1 10 11
Gambar 4.14 Flowgraph untuk generate best moves Basis set yang dihasilkan dari jalur independent secara linier adalah jalur : Path 1 : 1-2-3-4-6-7-8-9-10-11
Path 2 : 1-2-3-5-6-7-8-9-10-11
Kompleksitas Siklomatis (pengukuran kuantitatif terhadap kompleksitas logis suatu program) dari grafik alir dapat diperoleh dengan perhitungan :
1. V(G) : Jumlah Region –> 2
2. V(G) : E-N+2 –> ((8-8)+2) –> 0+2=2 3. V(G) : P+1 –> 1+1 –> 2
73
Keterangan:
E : Jumlah Busur atau Link N : Jumlah Simpul
Dari basis set yang dicoba dengan memasukkan data nilai sisa user.cell lebih besar dari 6 maka basis set yang dihasilkan 1-2-3-4-6-7-8-9-10-11 terlihat bahwa simpul telah dieksekusi satu kali. Berdasarkan ketentuan tersebut dari segi kelayakan software, sistem ini telah memenuhi syarat. Hasil Uji :
Tabel 4.1 Tabel hasil uji generate best moves
Path Nomer Input kondisi
node Hasil yang diharapkan Hasil tes Keterangan
1 1 (void) 2 (void) 3 (void) 4 (true) 6 (void) 7 (void) 8 (void) 9 (void) 10 (void) 11 (void)
Sisa cell lebih besar dari 6 Nilai maksimal ditambah selisih tangga jika ditemukan Path dikerjakan 2 1 (void) 2 (void) 3 (void) 5 (true) 6 (void) 7 (void) 8 (void) 9 (void) 10 (void) 11 (void)
Sisa cell lebih kecil dari pada 6
Nilai tertinggi Path
4.2.2 Pengujian Algoritma Minimax
Pada tahapan ini, penulis mengambil contoh seperti Gambar 4.15 untuk pengujian implementai algoritma minimax pada permainan ular tangga ini. Pada Gambar 4.15 tempat cell awal biji pion pemain 2 (computer1) sebelum melakukan lompatan berada pada cell 11 dengan hasil akhir (setelah melakukan lompatan) pada cell 31, dengan algoritma minimax yang dibatasi pada pencarian 6 langkah ke depan dicarikan nilai best move untuk pemain computer tersebut.
a. Inisialisasi cell awal
Cell awal pemain 2 (computer) adalah 11 userCell = Game.board.GetCell(user.Cell)
b. Masukan ke algoritma hitung nilai minimax
Karena hanya dicari nilai 3 tertinggi maka didapat nilai dari dadu tertinggi sementara adalah 4, 5, dan 6, kemudian cek kedalaman tiap-tiap cabang (dari nilai mata dudu). If (55 - user.Cell) <= 6 Then left_board = 55 - user.Cell k = 0 To left_board - 1 List_Moves(k) = (k + 1) * 1000 For i = 0 To left_board - 1 nextCell = Game.board.GetCell(next_cell_int + i) If nextCell.LadderEnds <> 0 Then num_boards_to_end = nextCell.LadderEnds - next_cell_int List_Moves(i) = List_Moves(i) + 1000 * num_boards_to_en End If If nextCell.snakeEnds <> 0 Then
num_boards_to_end = next_cell_int - nextCell.snakeEnds List_Moves(i) = List_Moves(i) - 1000 * num_boards_to_end End If
75
Karena setelah dicek dari nilai ke 6 tersebut terdapat tangga (untuk nilai dadu 3), maka nilai terkecil dari nilai tertinggi awal 4 dihapus dari antrian dengan begitu nilai tertinggi sekarang adalah 5, 6, dan 3. Untuk lebih jelasnya perhatikan ilustrasi berikut: 1. Nilai tertinggi 5 = (5+1) * 1000 = 6000 2. Nilai tertinggi 6 = (6+1) * 1000 = 7000 3. Nilai tertinggi 3
Karena pada cell 13 dengan nilai 3 dari dadu terdapat awal dari tangga, maka nilai yang didapat setelah dihitung dengan tangga (17 cell)
= (3+17) * 1000 = 190000
c. Ambil keputusan langkah terbesar secara random
Untuk membatasi agar computer tidak terlalu diuntungkan, maka dipakai pungsi untuk merandom nilai dari ke tiga nilai tertinggi tersebut.
Dim best_moves(3) as Integer Best_moves = generateBestMoves() Randomize()
Dim best_idx as Integer
Best_idx = Int(Rnd() * 3 + 1) Return best_moves(best_idx - 1)
Gambar 4.15 Contoh kondisi hasil pencarian minimax
Gambar 4.16 di atas, hasil akhir dari pemain komputer (pemain ke 2) yang melakukan lompatan, dari cell awal 10 dan setelah dadu diacak mendapatkan 3 maka pemain tersebut naik sampai dengan akhir dari tangga.
4.2.3 Pengujian Black Box
Pengujian black-box memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. Pengujian black-box berusaha menemukan kesalahan dalam kategori sebagai berikut:
1. Fungsi-fungsi yang tidak benar atau hilang. 2. Kesalahan interface.
77
3. Kesalahan dalam struktur data atau akses database. 4. Kesalahan kinerja.
a. Lingkungan Pengujian
Pengujian dilakukan diatas Sistem Operasi Windows 7 Ultimate, dengan permainan dijalankan dengan menyertakan pemain tambahan (computer) dan pemain user (orang).
b. Skenario Pengujian
Tabel 4.2 Skenario Pengujian Menu Permainan Ular Tangga
No. Kelas Uji Butir Uji Jenis Pengujian
1. Start Aplikasi Menampilkan
Menu Utama Black Box
2. Mengolah Mulai permainan Menampilkan Menu Mulai Permainan Black Box 4. Mengolah Penggunaan Bantuan Menampilkan
Bantuan Black Box
5. Keluar Keluar dari
Aplikasi Black Box
c. Butir Pengujian
Pengujian dilakukan dengan menguji setiap menu dan kemungkinan kesalahan yang terjadi untuk setiap tampilan yang diinginkan. Pengujian ini dilakukan secara black box, yaitu pengujian dilakukan dengan hanya memperhatikan masukan ke sistem dan keluaran dari sistem.
1. Pengujian Start Aplikasi
Hasil dari pengujian Start Aplikasi dapat dilihat pada tabel 4.2. Berikut ini adalah tabel hasil pengujian Start Aplikasi
Tabel 4.3 Pengujian Start aplikasi Kasus Dan Hasil Uji (Data Normal)
Data Masukan Yang Diharapkan Pengamatan Kesimpulan Akses pertama
kali menjalankan aplikasi
Tampil Menu
Pengaturan permainan
Form pengaturan pemain dapat berjalan sesuai yang diharapkan
[X] diterima [ ] ditolak
2. Pengujian Mengolah Menu Utama
Hasil dari pengujian mengolah menu permainan baru dapat dilihat pada Tabel 4.3. Berikut ini adalah tabel hasil pengujian mengolah menu utama :
Tabel 4.4 Pengujian mengolah menu pada aplikasi ular tangga Kasus dan Hasil Uji (Data Normal)
form Data Masukan Yang Diharapkan Pengamatan Kesimpulan Form1 (pengaturan permainan) Pilih gunakan chek box untuk menambahkan pemain Chek box menyala Chek box menyala dengan adanya tanda chek
[X] diterima [ ] ditolak
Masukkan nama pemain pada text box untuk user Dapat mengetikan nama untuk pemain user Dapat mengetikan nama [X] diterima [ ] ditolak Pilih tombol bantuan Form bantuan tampil Form bantuan tampil [X] diterima [ ] ditolak Pilih tombol keluar Keluar dari form pengaturan pemain Keluar dari aplikasi [X] diterima [ ] ditolak Pilih tombol mulai Form2 (papan permainan) muncul
Form2 muncul [X] diterima [ ] ditolak
79
Tabel Lanjutan Pengujian mengolah menu pada aplikasi ular tangga Kasus dan Hasil Uji (Data Normal)
form Data Masukan Yang
Diharapkan
Pengamatan Kesimpulan
Form 2 (papan permainan)
Klik tombol acak dadu Tombol dapat di klik dan animasi dadu ditampilkan Tombol berfunsi dan animasi dadu tampil
[X] diterima [ ] ditolak
Klik tombol reset
Permainan dimulai dari awal
Biji pion kembali ke cell 0 [X] diterima [ ] ditolak Klik tombol keluar Permainan berhenti dan keluar dari papan permainan dan kembali ke form1 Permainan berhenti dan form1 muncul [X] diterima [ ] ditolak 4.2.4 Pengujian Beta
Pengujian beta merupakan pengujian yang dilakukan secara objektif atau diuji secara langsung ke pengguna Aplikasi Permainan Ular Tangga dengan membuat kuisioner mengenai kepuasan pengguna dan membagikannya kepada pengguna dengan mengambil sampel sebanyak 20 orang secara acak (pegawai, pelajar SD, SMP, dan SMA serta Mahasiswa).
Kuisioner terdiri dari 15 pertanyaan dengan menggunakan opsi skala 1 sampai 2, berdasarkan data hasil kuisioner maka dicari persentase masing-masing jawaban dengan menggunakan rumus kuisioner yang sudah dibahas pada bab II. Tahap selanjutnya dilakukan perhitungan statistik untuk dapat diambil kesimpulannya terhadap Aplikasi Permainan Ular Tangga.
• Kesimpulan Hasil Pengujian Beta
Penulis mengelompokkan quisioner pada pengujian beta menjadi 5 kelompok untuk ditarik menjadi sebuah kesimpulan, yaitu :
1. Pertanyaan 1 sampai 3 adalah pengetahuan tentang permainan pada komputer dengan jumlah responden 20 orang.
2. Pertanyaan 4 sampai 6 adalah pengetahuan responden mengenai permainan Ular Tangga dengan jumlah responden 20 orang.
3. Pertanyaan 7 sampai 10 menyinggung responden untuk memberikan pendapat mengenai user interface serta implementasi yang telah penulis lakukan.
4. Pertanyaan 11 sampai 15 untuk mengetahui pengetaahuan dan pendapat responden mengenai algoritma DFS dan algoritma minimax sebagai metode untuk mencari langkah terbaik dan tepat tidaknya algoritma minimax digunakan pada permainan Ular Tangga.
81
Berdasarkan data hasil pengujian beta dengan kuisioner, maka dapat ditarik kesimpulan bahwa masyarakat menginginkan permainan tradisional diimplementasikan di dalam komputer, dan untuk permainan Ular Tangga dapat ditarik kesimpulan bahwa aplikasi sudah layak untuk diimplementasikan pada komputer dilihat dari tampilan antarmuka aplikasi yang user friendly dan juga dari penggunaannya yang sangat mudah untuk digunakan.