PEMBUATAN APLIKASI GAME RUBIK MENGGUNAKAN ALGORITMA CROSS (LAYER BY LAYER) Oleh Yudi Karl Bustave 207700486 JURUSAN

TEKNIK INFORMATIKA Kubus Rubik's adalah sebuah permainan teka-teki mekanik yang ditemukan pada tahun 1974 oleh pemahat dan profesor arsitektur Hungaria, Ernő Rubik. Kubus ini terbuat dari plastik dan terdiri atas 26 bagian kecil yang berputar pada poros yang terlihat. Setiap sisi dari kubus ini memiliki sembilan permukaan yang terdiri dari enam warna yang berbeda. Ketika terselesaikan/ terpecahkan, setiap sisi dari kubus ini memiliki satu warna dan warna yang berbeda dengan sisi lainnya. Dalam penelitian ini menggunakan algoritma cross (layer by layer). Dimana algoritma ini berfungsi untuk menyelesaian solusi dari permainan rubik. Algoritma ini adalah algoritma yang paling banyak digunakan dan paling mudah digunakan. Aplikasi ini dibuat dengan menggunakan bahasa pemrograman Delphi dan Pengujian dilakukan dengan menggunakan White box stub and driver. Kata Kunci : Algoritma Cross (Layer by Layer), Permainan Rubik, Pengujian White Box. 1. Pendahuluan 1.1. Latar Belakang Dalam dunia hiburan, kata “game” sudah tidak asing lagi ditelinga kita. Game juga banyak jenisnya, ada game yang dimainkan di console game dan ada yang dimainkan di PC (Personal Computer). Permainan komputer (bahasa Inggris: computer game) adalah permainan video yang dimainkan pada komputer pribadi, dan bukan pada konsol permainan, maupun mesin ding-dong. Permainan komputer telah berevolusi dari sistem grafis sederhana sampai menjadi kompleks dan mutakhir. Kubus Rubik's adalah sebuah permainan teka-teki mekanik yang ditemukan pada tahun 1974 oleh pemahat dan profesor arsitektur Hungaria, Ernő Rubik. Kubus ini terbuat dari plastik dan terdiri atas 26 bagian kecil yang berputar pada poros yang terlihat. Setiap sisi dari kubus ini memiliki sembilan permukaan yang terdiri dari enam warna yang berbeda. Ketika terselesaikan/ terpecahkan, setiap sisi dari kubus ini memiliki satu warna dan warna yang berbeda dengan sisi lainnya. Kubus ini dibuat kembali dan dipasarkan di kawasan eropa pada Mei, 1980. Rubik's tercatat sebagain mainan yang paling banyak terjual di dunia, dengan sekitar 300 juta kubus Rubik's termasuk imitasinya.

1

2

1.2. Rumusan Masalah Melihat latar belakang masalah tersebut, maka masalah yang dibahas dapat dirumuskan sebuah pertanyaan sebagai berikut: a. Bagaimana membangun dan menerapkan permainan rubik dalam bentuk software komputer dengan menggunakan algoritma Cross (Layer by layer)? b. Bagaimana cara penyelesaian permainan tersebut dengan menggunakan waktu tercepat. c. Bagaimana aplikasi tersebut dibuat dalam bahasa pemrogaman. 1.3. Tujuan Berdasarkan rumusan masalah di atas, dapat disimpulkan bahwa penelitian ini bertujuan untuk : a. Membuat dan penerapan Aplikasi Game Rubik dalam bentuk aplikasi atau software komputer dengan algoritma Cross (Layer by layer)l. b. Membuat tutorial/ cara penyelsaian permainan rubik dengan waktu tercepat. c. Membuat aplikasi game rubik dengan bahasa pemrograman. 2. Analisis Sistem 2.1. Diagram Konteks Diagram Konteks yaitu diagram yang menggambarkan sistem secara umum serta memberikan gambaran mengenai hubungan antara lingkungan di dalam sistem (Internal Entity) dengan lingkungan di luar sistem (External Entity), seperti di bawah ini :
Main Game User Tampilkan Waktu 1 Penyelesaian Game Aplikasi Game Rubik Meng gunakan Alg oritma Cross Lang kah Penyelesaian User

Diagram Konteks pada gambar 2.1 menunjukan kegiatan program yang mengalir dari awal permainan sampai permainan selesai. Setiap pemain dapat berinteraksi dengan menu yang memiliki berbagai perintah pengeksekusian antara lain berisi konfigurasi permainan Rubik dan informasi hasil dari permainan yang telah dilakukan oleh pemain dan komputer. Hasil interaksi pemain dengan sistem ini akan menghasilkan output (keluaran) yang berupa simbol warna yang menjadi perbandingan untuk menentukan pemenang dimana nilai ini didapat dari hasil pemain dalam permainan Rubik (Pressman, 1995). 2.2. DFD Level 1 Diagram level 1 dari pengembangan aplikasi rubik adalah sebagai berikut :
Tampilkan Waktu User Main Game 1 Main Game

+

Gambar 2.2 DFD Level 1 Main Game
Langkah Penyelesaian User Penyelesaian Game 2 Cara Penyelesaian

+

Gambar 2.3 DFD Level 1 Cara Penyelesaian

2.3. DFD Level 2

+

Gambar 2.1 Diagram Konteks

3

User

Tampilkan Waktu

2 Main Game


Rubik
Home Menu

Tampilan Menu Main Game
Help

Tombol

Kubus Rubik
Cara Penyelsaian

Main Game Waktu Jalan 1
L L’

U

U’ R

Stopwatch Kubus Rubik

B R’

B’

00:00

D

D’

Masukan Rumus

Acak Rubik

Mulai Penyelsaian

Pengacakan

Gambar 2.4 DFD Level 2 Main Game
3 Penyelesaian Game User Acak Rubik

Acak

Tampilan Posisi Warna Rubik

Langkah Penyelesaian

Tampilkan Rumus

Gambar 3.2 Rancangan Interface Menu Main Game Pada Menu Main Game, terdapat beberapa subform, yaitu form tombol, form Kubus Rubik, form Pengacakan. Rubik dapat diacak dengan mengklik tombol acak pada form Pengacakan, kemudian tampilan acak warna akan ditampilkan pada form tersebut dan rubik pada form Kubus Rubik akan teracak otomatis. Setelah rubik dalam kondisi teracak, rubik dapat dimainkan dengan tombol yang terdapat pada form tombol. Rubik juga bisa dimainkan dengan cara memasukan rumus putar langsung ke dalam kolom “Masukan Rumus” pada form Tombol. Dalam keadaan bermain Stopwatch akan berjalan, kemudian ketika rubik dalam keadaan solved, stopwatch akan berhenti. Bisa juga langsung mengetahui cara pengelesaiannya dengan menekan tombol Cara Penyelesaian pada form Tombol, yang akan dibahas pada sub bab selanjutnya.

1 Menyelesaian Rubik Penyelesaian

2 Menampilkan Rumus

Gambar 2.5 DFD Level 2 Cara Penyelesaian 3. Perancangan Antar Muka (Interface) Perancangan interface ini merupakan struktur gambaran aplikasi yang akan dibuat, adapun rancangan-rancangan aplikasi game rubik, yaitu : 1. Tampilan Menu Utama
Menu Utama

GAME RUBIK
Main Game Cara Penyelesaian Keluar

Gambar 3.1 Rancangan Interface Menu Pada menu utama terdapat tiga menu, yaitu menu Main Game, Cara Penyelesaian, dan Keluar.

4


Rubik
Home Menu

Tampilan Menu Cara Penyelesaian
Help

Tombol
Cara Penyelsaian

Kubus Rubik

U L L’ D

U’ R D’

Stopwatch Kubus Rubik

B R’

B’

00:00

Masukan Rumus Mulai Penyelsaian

Gambar 4.1 Tampilan Menu Utama
Pengacakan
Acak

Rumus Penyelesaian

Tampilan Rumus Tampilan Posisi Warna Rubik

Gambar 3.3 Rancangan Interface Menu Cara Penyelesaian Pada menu ini, akan dijelaskan bagaimana cara menyelesaikan permainan rubik ini dengan cepat, dan mengetahui rumus-rumus penyelesaiannnya. dalam kondisi rubik acak, tekan tombol Cara Penyelesaian pada form Tombol, kemudian rumus-rumus akan tampil dibawahnya dan ditampilkan secara rinci pada form Rumus Penyelesaian. Kemudian tekan tombol Mulai Penyelesaian, makan rubik otomatis akan berputar sampai dalam kondisi solved. 4. Implementasi dan Pengujian 4.1. Implementasi Antarmuka Menu Utama Implementasi antarmuka menu utama adalah untuk menampilkan halaman menu utama. Menu utama terdiri dari tombol Main Game, Cara Penyelesaian dan Keluar.

Gambar 4.2 Tampilan Menu Main Game

Gambar 4.3 Tampilan Menu Cara Penyelesaian

Gambar 4.4 Hasil Pengujian

5

5. Kesimpulan dan Saran 5.1. Kesimpulan Setelah menguji dan menganalisa “Aplikasi Game Rubik” ini, penulis dapat memberikan beberapa kesimpulan sebagai berikut : 1. Dapat dibangun perangkat lunak permainan Rubik dengan menerapkan algoritma Cross (layer by layer) 2. Pada saat pengujian alpha, secara fungsional aplikasi yang dibuat bebas dari error. 3. Pada saat dilakukan pengujian beta, interface dari aplikasi yang dibuat user friendly. 4. Kemampuan pemain dapat diukur dengan menggunakan timer. 5.2. Saran Berdasarkan informasi yang telah penulis dapat, serta kesimpulan yang telah diuraikan sebelumnya, maka penulis memberikan saran : 1. Untuk pengembangan selanjutnya, perangkat lunak permainan Rubik ini diharapkan dapat dimainkan lebih dari 1 pemain (multiplayer). 2. Diharapkan kedepannya dapat dimainkan melalui beberapa jaringan LAN, intranet, internet dan lain sebaginya. 3. Tingkat kesulitan dalam permainan ini akan dikembangkan lagi. 4. Penggunaan selain algoritma Cross (layer by layer), mungkin akan dapat memberikan lebih banyak variasi untuk mengetahui kemampuan algoritma dalam implementasi pada aplikasi Rubik.

Daftar Pustaka Abrash, Michael. 1997. Michael Abrash's Graphics Programming Black Book (Special Edition). Coriolis Group Books. Adi, Wicaksono. 2010. Rubik Gede Siapa Takut. Gradien Mediatama : Yogyakarta. Alami, Fikri. 2010. Pemrograman Delphi 7. Puskom UNILA : Bandar Lampung. Anneahira, 2011. Rumus Rubik 3x3. http://www.anneahira.com/ru mus-rubik-3x3.html. Diakses 25 Juli 2012. Berg, Mark de. 1993. Ray Shooting, Depth Orders and Hidden Surface Removal. Springer : Netherlands. Brata, Abel. 2010. Langkah Mudah Menjadi Master Rubik. Bukune : Jakarta. Brata, Abel. 2010. Kitab Sakti Master Rubik. Bukune : Jakarta. Brata, Abel. 2010. Jurus Cepat Menjadi Master Rubik. Bukune : Jakarta. Chaudhuri, Anil Bikas. 2005. The Art of Programming Through Flowcharts & Algorithms. Firewall Media : USA. Kosniowski, Czes. 1981. Conguer That Cube. Canbridge University Press : United State of America. Pressman, Roger S.,Ph.D. Rekayasa Perangkat Lunak (Buku Satu). Penerbit Andi : Yogyakarta. Putra, Janitra Ezra. 2010. Buku Pintar Rubik. Gradien Mediatama : Yogyakarta.

6

Razunip, Priza. 2010. Jago Main Rubik Dengan Mata Tertutup. Gradien Mediatama : Yogyakarta. Sismoro, Heri. 2005. Pengantar Logika Informatika, Algoritma dan Pemrograman Komputer. CV. Andi Offset : Yogyakarta. Warfel, Todd Zaki. 2011. Prototyping. O'Reilly Media, Inc.