IMPLEMENTASI PENYELESAIAN PERMAINAN RUBIK CUBE DENGAN ALGORITMA KOCIEMBA PADA PLATFORM ANDROID SKRIPSI TOMMI NIASRI
IMPLEMENTASI PENYELESAIAN PERMAINAN RUBIK CUBE
DENGAN ALGORITMA KOCIEMBA PADA PLATFORM
ANDROID
SKRIPSI
TOMMI NIASRI
081402026
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
2015
IMPLEMENTASI PENYELESAIAN PERMAINAN RUBIK CUBE
DENGAN ALGORITMA KOCIEMBA PADA PLATFORM ANDROID
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar
Sarjana Teknologi Informasi
TOMMI NIASRI
081402026
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
2015
PERSETUJUAN
Judul : IMPLEMENTASI PENYELESAIAN PERMAINAN
RUBIK CUBE DENGAN ALGORITMAKOCIEMBA PADA PLATFORM ANDROID Kategori : SKRIPSI Nama : TOMMI NIASRI Nomor Induk Mahasiswa : 081402026 Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI Departemen : TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN
TEKNOLOGIINFORMASI (FASILKOMTI)UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, Juli 2015 Komisi Pembimbing :
Pembimbing 2 Pembimbing 1 M. AndriBudiman,S.T,M.Comp.Sc,M.E.M Dr.Syahril Efendi ,S.Si,M.I.T NIP 197510082008011001 NIP 196711101996021001 Diketahui/Disetujui oleh Program Studi S1 Teknologi Informasi Ketua, M.Anggia Muchtar,S.T, MM.I.T NIP198001102008011010
PERNYATAAN
IMPLEMENTASI PENYELESAIAN PERMAINAN RUBIK CUBE DENGAN
ALGORITMA KOCIEMBA PADA PLATFORM ANDROID
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa kutipan
dan ringkasan yang masing-masing disebutkan sumbernya.Medan, Juli 2015 Tommi Niasri 081402026
Puji dan syukur penulis panjatkan kehadirat Allah SWT yang telah
memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi
ini sebagai syarat untuk memperoleh gelar Sarjana Komputer, Program Studi S1
Teknologi Informasi Departemen Teknologi Informasi Universitas Sumatera Utara.Ucapan terima kasih penulis sampaikan kepada Dr.Syahril Efendi ,S.Si,M.I.T. selaku
pembimbing satu danM. AndriBudiman,S.T,M.Comp.Sc,M.E.M
selakupermbimbing dua yang telah banyak meluangkan waktunya dalammemberikan masukan-masukan kepada penulis. Ucapan terima kasih juga ditujukan
kepada Romi Fadillah Rahmat, B.Comp.Sc., Msc. dan M. Anggia Muchtar, ST.,
MM.IT., yang telah bersedia menjadi dosen penguji. Ucapan terima kasih juga
ditujukan kepada Ketua Departemen Teknologi Informasi, M. Anggia Muchtar, ST.,
MM.IT. dan, Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi
Informasi Universitas Sumatera Utara, semua dosen serta pegawai TU di Program
Studi S1 Teknologi Informasi FASILKOMTI.Skripsi ini terutama penulis persembahkan untuk kedua orang tua dan keluarga
penulis yang telah memberikan dukungan dan motivasi, ayahanda Hazania Zai dan
ibunda Sri Kusdiningsih Wijaya yang selalu sabar dalam mendidik penulis. Untuk
kakak dan adik penulis, Tyas, Mitha, dan Rayhan yang selalu memberikan dorongan
kepada penulis. Terima kasih penulis ucapkan kepada teman-teman TI 08 , 09 , dan 10
yang selalu memberikan dukungan dalam proses pembuatan skripsi ini dan tidak dapat
disebutkan satu persatu .Sekali lagi penulis mengucapkan terima kasih kepada semua
pihak yang membantu dalam penyelesaian skripsi ini yang tidak dapat disebutkan satu
persatu, terima kasih atas ide, saran, dan motivasi yang diberikan. Semoga Allah SWT
yang akan membalasnya.
ABSTRAK
Rubik ’s Cube adalah permainan puzzle populer yang merupakan puzzle dengan penjualan tercatat terbesar sepanjang masa , kepopuleran ini tidak didukung oleh penyediaan aplikasi penyelesaian pada platform Android yang sedang berkembang pesat maka sebuah aplikasi penyelesaian perlu dibuat. Algoritma dua fase Kociemba adalah algoritma yang mengaplikasikan Teori Group dalam matematika dan menyelesaikan kubus dengan solusi sub-optimal, merupakan pilihan terbaik menilai keterbatasan resource pada pada perangkat mobile seperti android tidak
19
memungkinkan pencarian brute-force pada 4.3 x 10 kombinasi yang dimiliki rubik cube. Rubik cube akan direpresentasikan dalam beberapa tingkat dalam bentuk data agar dapat dicari penyelesaiannya.. Solusi yang dihasilkan cukup singkat dibandingkan dengan metode lain seperti layer per layer fridrich method .
Kata kunci : Android ,
Rubik’s Cube , Kociemba , TwoPhase, solver , puzzle
ABSTRACT
Rubik’s Cube is a popular puzzle game with the highest number of sales ever recorded, unfortunately this popularity is not followed by the availability of rubik’s cube solver in the rapidly developing Android platform and thus author feels the urgency of building one. Kociemba Two Phase Algorithm , an algorithm which applies Group theory in mathematics and gives sub-optimal solution to solve the cube , is considered the best choice for this particular case where the resource limitation of a mobile device such as Android is prohibiting us from doing a brute-foce search on
19
4.3 x 10 combinations of the cube. Rubik’s Cube will be represented in various level form of data so it can be processed to find a solution. The generated solution is short enough when compared to other methods such as layer per layer fridrich method.
Keywords : Android ,
Rubik’s Cube , Kociemba , TwoPhase, solver , puzzle
DAFTARISI
Halaman
Persetujuan ii Pernyataan iii Ucapan Terima Kasih iv Abstrak v Abstract vi
1
1.1. Latar Belakang
1
1.2. Rumusan Masalah
2
1.3. Batasan Masalah
2
1.4. Tujuan Penelitian
2
1.5. Manfaat Penelitian
2
1.6. Metodologi Penelitian
3
1.7. Sistematika Penulisan
4 Bab 2 Landasan Teori
5
2.1. Permainan
5 Rubik’s Cube
2.1.1. Struktur Kubus
6
2.1.2. Notasi Singmaster
7
2.1.3. Kajian Matematis
9
2.2. Algoritma Kociemba
10
2.3. Android
12
2.4. Penelitian Terdahulu
19 Bab 3 Analisis dan Perancangan
20
3.1. Analisis
20
3.1.1. Analisis algoritma Kociemba
20
3.1.2. Permutasi dan representasi tingkat facelet
23
3.1.3. Representasi tingkat cubie
27
3.1.4. Kubus equivalen dan simetri
35
3.2. Gambaran Umum Perancangan
38
3.2.1. Persiapan sistem
38
3.2.2. Persiapan perancangan aplikasi
38
3.2.3. Flowchart aplikasi
39
3.3. Pemodelan analisis
40
3.3.1. Identifikasi use case diagram
40
c.use case buat kubus random
44 d.use case cari solusi
45 e.use case minimize aplikasi
46 f.use case terima panggilan masuk
47
3.4. Desain Antarmuka
48 Bab 4 Implementasi dan Pengujian
49
4.1. Implementasi 49 4.1.1. Konfigurasi Perangkat Keras.
49
4.1.2. Konfigurasi Perangkat Lunak
49
4.1.3. Eksekusi Aplikasi
50
4.2. Pengujian
53
4.2.1. Pengujian Black box
53 Bab 5 Kesimpulan dan Saran
54
5.1. Kesimpulan
54
5.2. Saran
54
DAFTAR TABEL
Halaman
Tabel 3.1 Dokumentasi naratif use case pilih warna facelet42 Tabel 3.2 Dokumentasi naratif use case pilih manuver
43 Tabel 3.3 Dokumentasi naratif use case kubus random
44
Tabel 3.5 Dokumentasi naratif use case minimize
46 Tabel 3.6 Dokumentasi naratifuse case terima panggilan masuk
47 Tabel 4.1 Hasil pengujian black box pada aplikasi Rubiks Solver
53
36 Gambar 3.11 Kerangka
26 Gambar 3.4 Representasi tingkat cubie
35 Gambar 3.10 Denotasi equivalen dan simetri
Gambar 3.9 Contoh Equivalen
29
28 Gambar 3.7 Kubus acuan setelah manuver - F
27 Gambar 3.6 Facelet acuan
27 Gambar 3.5 Cubie pada posisi awal dengan orientasi yang salah
23 Gambar 3.3 Contoh kubus sebagai permutasi facelet
38 Gambar 3.12 Flowchart dasar Aplikasi
23 Gambar 3.2 Kubus bersih setelah langkah - F
Gambar 3.1 Kubus bersih
6
5 Gambar 2.2 Center ,Corner , Edges secara berturut
Gambar 2.1 Susunan standar warnaHalaman
DAFTAR GAMBAR
Rubik’s Cube
39 Gambar 3.13 Use case diagram Rubiks solver
41
Gambar 3.15 Activity diagram pilih manuver
43 Gambar 3.16 Activity diagram kubus random
44 Gambar 3.17 Activity diagram cari solusi
45 Gambar 3.18 Activity diagram minimize aplikasi
46 Gambar 3.19 Activity diagram terima panggilan masuk
47 Gambar 3.20 Antarmuka
48 Gambar 4.1 Tampilan aplikasi
50 Gambar 4.2 Pewarnaan facelet
51 Gambar 4.3 Kubus random sesuai aturan konsistensi
51 Gambar 4.4 Tampilan hasil
52 Gambar 4.5 Sebelum dan sesudah manuver
52
- – U