BAB 1 PENDAHULUAN
1.1
Latar Belakang Kubus rubik adalah sebuah permainan teka-teki mekanik 3D yang merupakan
salah satu sarana hiburan untuk mengasah otak dan strategi. Kubus rubik yang ditemukan pada tahun 1974 oleh pemahat dan profesor arsitektur Hungaria, Erno Rubik. Kubus ini terbuat dari plastik dan terdiri atas 26 bagian kecil yang berputar pada satu poros. Setiap sisi dari kubus rubik 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. Latar belakang Erno Rubik sebagai arsitek dan ketertarikannya akan bentuk geometry 3D membuatnya menciptakan kubus rubik yang sangat terkait erat dengan struktur dan bentuk geometry. Sepanjang catatan sejarah, telah diciptakan kubus rubik dengan berbagai bentuk dan kombinasi, diawali dengan rancangan 3x3x3 kubus fleksibel yang dipatenkan pada tahun 1977. Di Jerman, pada tahun 1980 Rubik's Cube mendapat penghargaan sebagai Games of The Year , pada tahun 1982 Rubik's Cube menjadi kata tersendiri yang masuk dalam kamus The Oxf hingga pada tahun 2007 Rubik's Cube dinobatkan sebagai The Coolest Brand in The World (True Stories, 2011). Berbagai usaha dan metode telah dilakukan untuk membuat permainan kubus rubik menjadi sesuatu yang menarik dan melakukan penyelesaian kubus rubik dengan waktu sesingkat mungkin dan langkah seminimal mungkin.
2
Mengetahui hal ini, penulis bermaksud merancang program yang dapat digunakan untuk bermain kubus rubik dan juga dapat mencari solusi penyelesaian kubus rubik dengan menggunakan algoritma genetik.
1.2
Perumusan Masalah Perumusan masalah dalam penulisan skripsi ini adalah : a. Perancangan program simulasi permainan kubus rubik yang sekaligus dapat mencari solusi penyelesaiannya menggunakan algoritma genetik. b. Pemanfaatan teknologi yang sudah ada untuk menyelesaikan kubus rubik.
1.3
Ruang Lingkup Ruang lingkup dalam penulisan skripsi ini adalah : a. Penelitian berfokus pada kubus rubik standard 3x3x3. b. Metode yang digunakan adalah algoritma genetik. c. Perancangan program simulasi kubus rubik yang dapat memberikan langkahlangkah optimal pergerakan yang mungkin dilakukan untuk menyelesaikan kubus rubik tanpa melihat langkah maupun waktu minimal.
1.4
Tujuan dan Manfaat
1.4.1
Tujuan Penelitian ini dibuat dengan tujuan :
a. Merancang program simulasi kubus rubik yang dapat memberikan langkahlangkah pergerakan yang mungkin dilakukan untuk menyelesaikan kubus rubik.
3
b. Memberikan peluang pengembangan lebih lanjut yang lebih mendalam mengenai penyelesaian kubus rubik.
1.4.2
Manfaat Manfaat yang diperolah dari penelitian ini antara lain :
a. Bagi Penulis : menambah pengetahuan mengenai metode simulasi dan algoritma genetik dalam kaitannya dengan penyelesaian kubus rubik. b. Bagi Pembaca : menambah pengetahuan pembaca mengenai algoritma genetik terutama hubungannya dengan penyelesaian kubus rubik. c. Bagi Pengguna Aplikasi : dapat membantu menyelesaikan kubus rubik dengan melihat langkah-langkah pergerakan yang mungkin.
1.5
Metodologi Metodologi yang digunakan dalam penulisan skripsi ini adalah: a. Studi Pustaka Penulis mengumpulkan teori-teori dasar yang berhubungan dengan penelitian baik dalam bentuk buku, artikel, dan jurnal yang penulis dapatkan dari perpustakaan maupun internet. b. Metode Analisis Metode analisis dalam penelitian ini dibagi menjadi beberapa tahap, yaitu: 1. Mempelajari langkah pergerakan pada kubus rubik 3x3x3. 2. Mempelajari algoritma genetik. 3. Mempelajari bahasa pemrograman C#.
4
4. Mempelajari
proses
yang
dilakukan
algoritma
genetik
dalam
menyelesaikan kubus rubik. 5. Mempelajari komponen yang diperlukan dalam perancangan program simulasi kubus rubik. c. Metode Perancangan Perancangan program simulasi kubus rubik dalam penulisan skripsi ini yaitu: 1. Perancangan layar tampilan menu program simulasi kubus rubik. 2. Perancangan program simulasi kubus rubik menggunakan bahasa pemrograman C#. d. Evaluasi Berdasarkan hasil perhitungan dan tampilan program, terdapat beberapa hal yang menjadi kelebihan maupun kekurangan dari program ini. Berikut adalah kelebihan dari program simulasi ini: 1. Program simulasi ini dapat melakukan beberapa fungsi sesuai tombol yang dipilih ketika memakai program kubus rubik. 2. Program simulasi ini dapat digunakan untuk mencari langkah-langkah penyelesaian kubus rubik menggunakan algoritma genetik. 3. Tampilan program simulasi yang mudah untuk digunakan. 4. Program simulasi ini juga dilengkapi menu lainnya seperti petunjuk penggunaan jika pengguna merasa tidak jelas dengan kegunaan fungsi dari setiap tombol menu permainan.
5
Program simulasi ini juga memiliki kekurangan yaitu: 1. Kecepatan perhitungan program dilihat dari banyaknya input-an langkah yang diberikan, semakin banyak input-an dapat mengakibatkan program memproses lebih lama. 2. Untuk nilai pembangkitan populasi awal yang buruk, dapat terjadi kesamaan pada gen tiap kromosom, sehingga tidak terdapat langkahlangkah penyelesaian karena memiliki nilai fitness yang sama dan program mengalami perulangan secara terus menerus.
1.6
Makalah Relevan Dalam penulisan skripsi ini, terdapat beberapa makalah relevan dengan skripsi
ini, yaitu : a. Abigael Angela Pardede, Shanny Avelina Halim, Denny Nungrahadi. 2006. Penerapan Algoritma Genetika Pada Permainan Rubik’s Cube. Pada makalah tersebut menjelaskan tiga aspek yang penting untuk penggunaan algoritma genetika yaitu nilai fitness, representasi genetika dan operasi genetika. Isi dari makalah tersebut hanya berupa gambaran umum penyelesaian kubus rubik. Diharapkan pada penulisan skripsi ini lebih mendetail pada bagian penerapan algoritma genetik pada kubus rubik. b. Vendrik. 2009. Perancangan Program Simulasi Penyelesaian Rubix Cube Dengan Metode Layer David Singmaster. Pada makalah tersebut menggunakan pendekatan layer to layer dengan harapan dapat memberikan gambaran pergerakan sebuah kubus rubik 3x3x3.
6
c. Zulhaydar Fairozal Akbar. 2011. Penyelesaian Permainan Rubik’s Cube dengan Metode Algoritma Genetika. Proyek akhir tersebut merupakan pengembangan dari makalah Abigael, dkk.
1.7
Sistematika Penulisan Penulisan skripsi ini terdiri dari 5 bab yang menjelaskan isi skripsi, sebagai
berikut : BAB 1 PENDAHULUAN Bab ini menjelaskan tentang latar belakang pemilihan judul, ruang lingkup, tujuan dan manfaat, metodologi, dan sistematika penulisan. BAB 2 LANDASAN TEORI Bab ini menguraikan dasar teori yang relevan dengan pembahasan yang digunakan sebagai dasar penulisan skripsi. BAB 3 PERANCANGAN PROGRAM Bab ini menjelaskan mengenai analisis masalah, solusi masalah, dan perancangan perangkat lunak. BAB 4 IMPLEMENTASI DAN EVALUASI Bab ini menjelaskan implementasi perangkat lunak, cara pengoperasian perangkat lunak, dan hasil evaluasi dari perangkat lunak yang sudah berjalan. BAB 5 SIMPULAN DAN SARAN Bab ini berisi kesimpulan yang dapat ditarik dari hasil penelitian berdasarkan uraian dari bab-bab sebelumnya dan saran untuk pengembangan lebih lanjut.