ABSTRAK: Tujuan dari penelitian ini adalah untuk (1) mengetahui cara
merepresentasikan masalah pada rubiks cube agar dapat diselesaikan dengan algoritma
IDA*, (2) mengetahui cara kerja algoritma IDA* untuk menyelesaikan rubiks cube
yang telah direpresentasi, (3) membuat sebuah program kecerdasan buatan terkait
menggunakan bahasa Java. Dalam hal ini rubiks cube direpresentasikan ke dalam
bentuk 2 dimensi. Hasil dari penelitian ini adalah (1) rubiks cube dapat diselesaikan
dengan kecerdasan buatan, (2) langkah-langkah yang terdapat dalam algoritma dapat
dibuat dalam bentuk program kecerdasan buatan yang dapat menyelesaikan rubiks
cube, (3) tidak semua keadaan awal dari rubiks cube dapat diselesaikan dengan program
kecerdasan buatan yang telah dikembangkan.
Kata kunci: rubiks cube, algoritma IDA*, Java
Ardhan Wahyu R adalah mahasiswa Jurusan Matematika FMIPA Universitas Negeri Malang
Purwanto adalah dosen Jurusan Matematika FMIPA Universitas Negeri Malang
3
Susy Kuspambudi A adalah dosen Jurusan Matematika FMIPA Universitas Negeri Malang
2
Back
Warna
Di
Ke
28
30
30
36
36
34
34
28
18
48
48
39
39
27
27
18
12
46
46
37
37
21
21
12
29
33
33
35
35
31
31
29
15
47
47
38
38
24
24
15
Up
Warna
Di
Ke
46
48
48
54
54
52
52
46
36
12
12
3
3
45
45
36
30
10
10
1
1
39
39
30
47
51
51
53
53
49
49
47
33
11
11
2
2
42
42
33
Down
Warna
Di
Ke
19
21
21
27
27
25
25
19
16
28
28
37
37
7
7
16
18
34
34
43
43
9
9
18
20
24
24
26
26
22
22
20
17
31
31
40
40
8
8
17
Right
Warna
Di
Ke
10
12
12
18
18
16
16
10
54
30
30
21
21
9
9
54
48
28
28
29
19
3
3
48
11
15
15
17
17
13
13
11
51
29
29
20
20
6
6
51
Left
Warna
Di
Ke
37
39
39
45
45
43
43
37
34
46
46
1
1
25
25
34
36
52
52
7
7
27
27
36
38
42
42
44
44
40
40
38
35
49
49
4
4
26
26
35
agar pola yang disimpan tidak terlalu besar. Pembagian tersebut ditunjukkan
pada Gambar 2.
Nilai (kedalaman)
1
1
1
1
1
1
1
1
1
1
1
1
1
1
FUtama.java
FHeuristik.java
FInput.java
Gambar.java
FPencarian.java
Kegunaan
Merepresentasikan obyek rubiks cube ke dalam sebuah kelas.
Membangun pattern database untuk rubiks cube.
Mencari solusi dari rubiks cube.
Kelas yang berfungsi sebagai tipe data tumpukan (stack ).
Menghubungkan program dengan basis data. Kelas ini memanfaatkan
pustaka dari MySQL Connector/J yang berfungsi menghubungkan program
dengan basis data MySQL.
Tampilan utama dari program.
Tampilan untuk memasukkan heuristik dan melihat kedalamanya.
Membuat keadaan awal dari rubiks cube yang ingin dicari solusinya.
Tampilan gambar untuk rubiks cube 2 dimensi.
Menampilkan hasil pencarian solusi.
Dari penelitian ini dihasilkan sebuah program kecerdasan buatan yang dapat
menyelesaikan rubiks cube. Gambar 6 menunjukkan antar muka dari program.
Titik
Waktu
(mili detik)
Solusi
19
1674
L1
34
1219
U 1 F 1
83
1068
B 1 U 1 F 1
79
894
D1 B 1 U 1 F 1 R1 U
PENUTUP
Kesimpulan
Kecerdasan buatan dengan algoritma IDA* dapat menemukan solusi dari
rubiks cube yang sebelumnya telah direpresentasi ke dalam bentuk 2 dimensi.
Untuk dapat menemukan solusi, algoritma memanfaatkan pattern database sebagai
nilai heuristik. Semakin banyak data yang tersimpan pada patttern database maka
akan semakin baik pencarian yang dilakukan oleh kecerdasan buatan ini. Akan
tetapi, basis data yang digunakan pada kecerdasan buatan ini tidak sanggup
menyimpan data sebanyak yang ditargetkan.
Saran
Berdasarkan kesimpulan di atas, maka disarankan untuk mencoba mencari
alternatif basis data yang dapat digunakan untuk menyimpan data lebih banyak
karena basis data yang digunakan pada kecerdasan buatan ini hanya mampu
menyimpan semua data dengan maksimal 6 operasi. Dengan data yang lebih
banyak, kecerdasan buatan ini akan bekerja dengan lebih baik.
DAFTAR RUJUKAN
Culberson, Joseph C & Schaeffer, Jonathan. 1998.Pattern Database, (Online),
(http://www.cs.us.es/cursos/ia1-2007/
trabajos/trabajos-1/pattern-database.pdf), diakses 6 Mei 2011.
Eck, David J. 2011.Introduction to Programming Using Java, Sixth Edition,
(Online), (http://math.hws.edu/eck/cs124/downloads/ javanotes6.pdf),
diakses 6 Mei 2011.
Hariyanto, Bambang. 2010. Esensi-Esensi Bahasa Pemrograman Java. Bandung:
Informatika.
Korf, Richard E. 1997. Finding Optimal Solutions to Rubiks Cube Using Pattern
Databases, (Online), (http://www.cs.princeton.edu/courses/
archive/fall06/cos402/papers/korfrubik.pdf), diakses 6 Mei 2013.
Kusumadewi, Sri. 2003. Artificial Intelligence: Teknik dan Aplikasinya.
Yogjakarta: Graha Ilmu.
Poole, David L & Mackworth, Alan K. 2010. Artificial Intelligence: Foundations of
Computational Agents, Cambridge: Cambridge University Press.
Russell, Stuart & Norvig, Peter. 2010. Artificial Intelligence: A Modern Approach
(Third Edition). New Jersey: Prentice Hall.
Suyanto. 2011. Artificial Intelligence: Searching, Reasoning, Planning and
Learning. Bandung: Informatika.
Wikipedia. 2013. Rubiks Cube, (Online), (http://en.wikipedia.org/Rubiks Cube),
diakses 22 Juli 2013.