IMPLEMENTASI ALGORITMA RUNUT BALIK DALAM PENYELESAIAN PERMAINAN KAKURO
TUGAS AKHIR
Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang
Achmad Firmansyah 08560279
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2013
LEMBAR PENGESAHAN Implementasi Algoritma Runut Balik Dalam Penyelesaian Permainan Kakuro
TUGAS AKHIR Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang
Disusun Oleh : Achmad Firmansyah 08560279
Tugas Akhir ini telah diuji dan dinyatakan lulus melalui sidang majelis penguji pada tanggal : 11 Desember 2013
Menyetujui,
Penguji I
Penguji II
Luqman Hakim, S.Kom
Evi Dwi Wahyuni, S.Kom
NIDN. 0724028602
NIDN. 0718108701
Mengetahui, Ketua Jurusan Teknik Informatika
Eko Budi Cahyono, S.Kom, M.T NIP. 108.9504.0330
KATA PENGANTAR Dengan memanjatkan puji syukur atas kehadirat Allah SWT. Atas limpahan rahmat serta hidayah-Nya sehingga peneliti dapat menyelesaikan tugas akhir yang berjudul “Implementasi Algoritma Runut Balik Dalam Penyelesaian Permainan Kakuro”. Di dalam tulisan ini disajikan pokok-pokok bahasan yang meliputi pendahuluan, dasar teori, analisa dan perancangan, implementasi dan pengujian serta kesimpulan dan saran. Penulis menyadari sepenuhnya bahwa dalam tugas akhir ini masih banyak kekurangan dan keterbatasan. Oleh karena itu, peneliti mengharapkan saran yang membangun agar tulisan ini bermanfaat untuk masa yang akan datang.
Malang, 6 Desember 2013
Penulis
DAFTAR ISI ABSTRAK ..............................................................................................
i
ABSTRACT ............................................................................................
ii
LEMBAR PERSEMBAHAN .................................................................
iii
KATA PENGANTAR ............................................................................
iv
DAFTAR ISI ...........................................................................................
v
DAFTAR TABEL ...................................................................................
viii
DAFTAR GAMBAR ..............................................................................
ix
BAB 1 PENDAHULUAN 1.1 Latar Belakang ......................................................................
1
1.2 Rumusan Masalah .................................................................
2
1.3 Tujuan ...................................................................................
2
1.4 Batasan Masalah....................................................................
2
1.5 Metodologi ............................................................................
2
1.6 Sistematika Penulisan............................................................
3
BAB 2 DASAR TEORI 2.1 Permainan Kakuro.................................................................
5
2.2 Algoritma Runut Balik ..........................................................
6
2.3 JAVA......................................................................................
12
BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Analisa Dan Gambaran Umum .............................................
19
3.1.1 Skenario Game .......................................................
19
3.1.2 Contoh Kasus .........................................................
20
3.2 Perancangan Sistem ..............................................................
21
3.2.1 Use Case Diagram ................................................
21
3.2.2 Activity Diagram ....................................................
22
3.2.3 Sequence Diagram ................................................
23
3.2.4 Class Diagram ......................................................
25
3.2 Desain Interface ....................................................................
26
BAB 4 IMPLEMENTASI DAN PENGUJIAN 4.1 Kebutuhan Perangkat ...........................................................
29
4.1.1 Perangkat Lunak Yang Digunakan .........................
29
4.1.2 Perangkat Keras Yang Digunakan ..........................
29
4.2 Implementasi Kode Program.................................................
30
4.3 Implementasi Kemungkinan Kombinasi ...............................
38
4.4 Implementasi Antar Muka (Interface) ..................................
40
4.4.1 Menu Utama ...........................................................
40
4.4.2 Menu User Baru ....................................................
41
4.4.3 Pilih Level .............................................................
42
4.4.4 Tampilan Game .....................................................
42
4.4.5 Menu Bantuan .......................................................
43
4.4.6 Menu Nilai .............................................................
44
4.5 Pengujian Game ....................................................................
44
4.5.1 Pengujian Input Nama ............................................
44
4.5.2 Pengujian Level .....................................................
46
4.5.3 Pengujian Papan Permainan Level Mudah .............
45
4.5.4 Pengujian Papan Permainan Level Sedang ............
46
4.5.5 Pengujian Papan Permainan Level Sulit .................
47
4.5.6 Pengujian Mengisi Kotak Kosong Benar ..............
47
4.5.7 Pengisian Kotak Kosong Salah .............................
50
4.6 Pengujian Runut Balik (Backtracking) ................................
53
BAB 5 PENUTUP 5.1 Kesimpulan ...........................................................................
58
5.2 Saran......................................................................................
58
DAFTAR PUSTAKA
DAFTAR TABEL Tabel 4.1 Kombinasi ..............................................................................
54
DAFTAR GAMBAR Gambar 2.1 Algoritma Backtracking ......................................................
8
Gambar 2.2 Proses Kompilasi dan Eksekusi Program Java ...................
17
Gambar 3.1 Contoh Tampilan Utama Papan Kakuro .............................
20
Gambar 3.2 Angka Yang Sama ...............................................................
20
Gambar 3.3 Angka Yang Beda ...............................................................
20
Gambar 3.4 Cara Pengisian Jawaban ......................................................
21
Gambar 3.5 Use Case Diagram Game Kakuro .......................................
21
Gambar 3.6 Activity Diagram .................................................................
23
Gambar 3.7 Sequence Diagram Bermain Kakuro...................................
24
Gambar 3.8 Class Diagram Kakuro........................................................
25
Gambar 3.9 Rancangan Tampilan Menu Utama ....................................
26
Gambar 3.10 Rancangan Tampilan Petunjuk .........................................
27
Gambar 3.11 Rancangan Tampilan Permainan Kakuro ..........................
28
Gambar 4.1 Potongan Baris Program Papan Permainan ........................
30
Gambar 4.2 Potongan Baris Program Tampilan Angka Pada Kotak Hitam ...........
31
Gambar 4.3 Potongan Baris Program Warna Input Angka .....................
31
Gambar 4.4 Potongan Baris Program Warna Memilih Kotak yang akan diisi ........
31
Gambar 4.5 Potongan Baris Program Pengisian Angka Salah ...............
32
Gambar 4.6 Potongan Baris Program Kombinasi Angka .......................
32
Gambar 4.7 Potongan Program Menampilkan List Jawaban ..................
33
Gambar 4.8 Potongan Baris Program Menentukan Level ......................
33
Gambar 4.9 Potongan Baris Program Untuk Acak Pola Papan ..............
34
Gambar 4.10 Potongan Baris program Cek Kombinasi ..........................
35
Gambar 4.11 Potongan Baris Program Untuk Proses Runut Balik (Backtracking)..
37
Gambar 4.12 Tampilan Menu Utama .....................................................
40
Gambar 4.13 Menu User Baru ................................................................
41
Gambar 4.14 Pilih Level ........................................................................
42
Gambar 4.15 Tampilan Game .................................................................
42
Gambar 4.16 Tampilan Menu Bantuan ...................................................
43
Gambar 4.17 Tampilan Menu Nilai ........................................................
44
Gambar 4.18 Tampilan Form Input Nama .............................................
44
Gambar 4.19 Form Menu Pilih Level .....................................................
45
Gambar 4.20 Papan Permainan Level Mudah.........................................
46
Gambar 4.21 Papan Permainan Level Sedang ........................................
46
Gambar 4.22 Papan Permainan Level Sulit ............................................
47
Gambar 4.23 Awal Untuk Mengisi Kotak Kosong .................................
48
Gambar 4.24 Pengisian Arah Mendatar ..................................................
48
Gambar 4.25 Hasil Akhir Benar Permainan ...........................................
59
Gambar 4.26 Pesan Konfirmasi Nilai .....................................................
50
Gambar 4.27 Tampilan Input Yang Salah...............................................
50
Gambar 4.28 Hasil Akhir Input Angka ...................................................
51
Gambar 4.29 Hasil Akhir Proses Runut Balik ........................................
52
Gambar 4.30 Pesan Konfirmasi Nilai .....................................................
52
Gambar 4.31 Tampilan Hasil Permainan ................................................
53
Gambar 4.32 Kondisi Awal Permainan ..................................................
53
Gambar 4.33 Kotak Deretan Pertama ....................................................
54
Gambar 4.34 Diisi Dengan Kombinasi Angka 1,3,2 ..............................
55
Gambar 4.35 Kotak Permainan setelah Dilakukan Runut Balik .............
56
Gambar 4.36 Diisi Kombinasi Angka 1,2,4 ............................................
56
Gambar 4.37 Diisi Kombinasi angka 7,2,9 .............................................
57
Gambar 4.38 Hasil Akhir Permainan ......................................................
57
DAFTAR PUSTAKA
[1] Hartono, Puji. 2003. “Modul Praktikum Pemrograman Berorientasi Objek Versi 1.0”. Jakarta. [2] Hasma, Rasjid. 2005. “Unified Modelling Language (UML)”. Jakarta : Universitas Gunadarma. [3] Kusumadewi, Sri. 2003. “Artificial Inteligence (Teknik dan aplikasinya)”. Graha Ilmu. [4] Munir, Rinaldi. 2010. “Strategi Algoritmik”. Teknik Informatika ITB : Bandung. [5] Munir, Rinaldi. 2013. “Bahan Kuliah IF2211 Strategi Algoritma”. ITB : Bandung. [6] Mujaddid,
Sibghatullah.
2009.
“Penerapan
Algoritma
Runut
Balik
(Backtracking) Dalam Penyelesaian Permainan Sudoku”. Teknik Informatika ITB. Bandung. [7] Nugroho, Yohanes. 2007. “Pemrograman Berorientasi Objek Dengan Java” ITB [8] Nurrmayani, Ulfa. 2012. “Pengantar Kecerdasan Buatan”. http://ulva-snurmaryani-fst10.web.unair.ac.id/artikel_detail-63973Artificial%20Intelligence-Pengantar%20Artificial%20Intelligence.html akses pada tanggal 28 November 2013 [9] Tanaka, Hideyoshi. 2012. “Kakuro The Destroyer”. Jakarta. [10] Wahyu Dwi Suryanto. 2011. “JENI-Intro-Bab02-Pengenalan Bahasa Java”.
di