BAB IV IMPLEMENTASI DAN PENGUJIAN Pada bab ini akan dilakukan implementasi dan pengujian terhadap aplikasi yang dibangun. Tahapan ini dilakukan setelah analisis dan perancangan selesai dilakukan dan selanjutnya akan diimplementasikan kedalam bahasa pemograman. Setelah implementasi maka dilakukan pengujian terhadap aplikasi. Aplikasi yang telah dibangun akan diimplementasikan untuk mengetahui apakah sistem tersebut dapat berjalan sesuai dengan tujuannya atau tidak. 1.1 Implementasi Tujuan implementasi adalah untuk menerapkan perancangan yang telah dilakukan terhadap sistem sehingga user dapat memberi masukan demi berkembangnya sistem yang telah dibangun sebagai simulasi dari aplikasi penerapan algoritma layer by layer untuk menyelesaikan permainan rubik. Perangkat keras dan perangkat lunak yang digunakan untuk melakukan implementasi dan pengujian aplikasi yaitu sebagai berikut : a. Perangkat keras Perangkat keras yang digunakan untuk pembuatan aplikasi dijelaskan pada tabel 4.1. Tabel 4.1. Perangkat keras yang digunakan Komputer Spesifikasi perangkat keras Prosesor Intel Core 2 Duo 1.66 Ghz, Layar 1280 x 800 Monitor LCD 12.1 inc Memori 1 GB DDR2 Harddisk 320 GB SATA HDD b. Perangkat lunak Perangkat lunak yang digunakan untuk mengimplementasikan sistem dijelaskan pada tabel 4.2. Tabel 4.2. Perangkat lunak yang digunakan Komputer Spesifikasi Perangkat Lunak Sistem Operasi Windows XP Professional 32-bit SP2 Bahasa Pemrograman Adobe Flash CS3 81
82 1.1.1. Implementasi Antarmuka Implementasi antarmuka untuk aplikasi tampilan utama yang dibangun dapat dilihat dari gambar 4.1. Gambar 4.1. Implementasi Tampilan Halaman Utama Didalam aplikasi ini terdapat beberapa menu, menu utama yang mempunyai fungsi seperti menampilkan halaman main, halaman bantuan, dan halaman profil. Menu yang terdapat didalam aplikasi terdiri dari : 1. Trik Bermain 2. Rubik 3x3x3 3. Panduan 4. Pengaturan
83 Gambar 4.2. Implementasi Tampilan Trik Bermain Tampilan antarmuka aplikasi dibawah ini merupakan implementasi dari tombol yang terdapat pada halaman trik bermain. Hasil implmentasi dari mengklik tombol pada daftar trik dapat dilihat pada gambar 4.3 dibawah ini. Gambar 4.3. Implementasi Tampilan Hasil Klik Tombol Daftar Trik
84 Gambar berikut implementasi dari halaman rubik 3x3x3, antara lain : Gambar 4.4. Implementasi Tampilan Rubik 3x3x3 Tampilan antarmuka aplikasi dibawah ini merupakan implementasi dari kegunaan tombol acak rubik. Pada tampilan terlihat setelah tombol acak rubik diklik maka rubik akan bergerak untuk mengacak rubik. Hasil implmentasi dapat dilihat pada gambar 4.5 dibawah ini. Gambar 4.5. Implementasi Tampilan Menu Acak Rubik Tampilan antarmuka aplikasi dibawah ini merupakan implementasi dari kegunaan tombol trik singkat Tombol trik singkat ini merupakan perintah yang digunakan untuk menampilkan kotak pesan trik langkah-langkah gerakan rubik.
85 Gambar 4.6. Implementasi Tampilan Menu Trik Singkat Menu panduan yaitu panduan untuk pengguna melakukan semua proses yang ada pada aplikasi antarmukanya dapat dilihat pada gambar 4.7, sedangkan menu pengaturan berisi tombol untuk memainkan musik dalam later belakang aplikasi dapat dilihat pada gambar 4.8. Gambar 4.7. Implementasi Tampilan Menu Panduan
86 Gambar 4.8. Implementasi Tampilan Menu Pengaturan 1.2 Implementasi Contoh Kasus Layer by Layer Salah satu contoh implementasi simulasi yang akan digunakan untuk menyelesaikan rubiks cube yang teracak yaitu dengan menggunakan metode layer by layer. Langkah pertama yaitu menyelesaikan layer pertama, setelah layer pertama selesai kemudian langkah kedua menyelesaikan layer kedua dan tahap yang terakhir setelah layer kedua selesai menyelesaian layer ketiga. Pemain dapat menempatkan titik awal dan titik akhir pengacakan pada posisi yang diinginkan. Implementasi penyelesaian dengan algoritma layer by layer dapat dilihat pada penjelasan dibawah ini. Implementasi penyelesaian yang dimulai dari layer pertama sampai menyelesaikan layer yang terakhir hingga sisi sisi rubik tersusun sesuai dengan warnanya. 1. Layer Pertama Hal pertama yang harus dilakukan adalah membuat cross atau tanda plus pada sisi atas rubik. Pada contoh disini membuat warna cross putih pada rubik seperti pada gambar dibawah ini.
87 Gambar 4.9. Cross yang berhasil dibentuk Setelah cross berhasil dibentuk langkah selanjutnya adalah mengisi sudutsudut bagian atas dengan kubus yang sesuai tanpa merusak cross tersebut. Untuk bagian ini, terdapat empat kondisi yang biasa terjadi, seperti pada gambar dibawah ini : Gambar 4.10. Kondisi sisi pojok layer 1 yang tidak tersusun Lalu lakukan algoritma berikut : - Jika pada kondisi 1 = F D F Gambar 4.11. Notasi kondisi 1 penyelesaian pojok layer 1 - Jika pada kondisi 2 = R D R Gambar 4.12. Notasi kondisi 2 penyelesaian pojok layer 1 - Jika pada kondisi 3 (warna putih menghadap kebawah) = R D R F D2 F
88 Gambar 4.13. Notasi kondisi 3 penyelesaian pojok layer 1 - Jika pada kondisi 4 = R D R F D F Gambar 4.14. Notasi kondisi 4 penyelesaian pojok layer 1 Lakukan algoritma diatas hingga keempat sudut tersebut benar pada tempatnya dan selesaikan layer pertama. Gambar 4.15. Layer pertama tersusun dan seperti pola huruf T Pada tahap ini layer pertama sudah dapat diselesaikan. Layer bagian atas sudah satu warna putih, dan disemua sisi samping rubik membentuk pola huruf T.
89 2. Layer Kedua Pada tahap ini, sisi tepi (edge) layer kedua yang tidak berada di tempatnya akan diletakan pada tempatnya. Langkah pertama yang harus dilakukan adalah membalik posisi warna putih rubik yang sudah tersusun berada pada posisi bawah atau pola huruf T terbalik, seperti pada gambar di bawah ini : Gambar 4.16. Pola huruf T terbalik Kemudian cari pada edge layer atas yang tidak memiliki warna kuning pada cube tersebut, seperti pada contoh kondisi dibawah ini dengan sisi atas edge yang memiliki warna biru dan merah. Gambar 4.17. Sisi edge atau tepi berwarna biru dan merah Untuk menaruh sisi edge pada layer 2 terdapat 3 kondisi yang biasanya terjadi, seperti gambar berikut : Gambar 4.18. Kondisi sisi edge atau tepi layer 2 yang tidak tersusun
90 Lakukan algoritma dibawah ini: 1. Jika pada kondisi 1 = U R U R U F U F Gambar 4.19. Notasi kondisi 1 penyelesaian sisi edge layer 2 2. Jika pada kondisi 2 = U F U F U R U R Gambar 4.20. Notasi kondisi 2 penyelesaian sisi edge layer 2 3. Jika pada kondisi 3 = R U R U F U2 F U F U2 F Gambar 4.21. Notasi kondisi 3 penyelesaian sisi edge layer 2 Lakukan algoritma diatas hingga sisi edge pada layer 2 tersebut benar pada tempatnya dan selesaikan layer kedua.
91 Gambar 4.22. Layer kedua tersusun 3. Layer Ketiga Untuk menyelesaikan Layer ketiga kedua layer yang telah selesai tidak boleh dirusak. Untuk itu, cukup banyak algoritma yang harus dihapal untuk menyelesaikan layer terakhir ini. Langkah pertama yang harus dilakukan adalah sama seperti layer 1 yaitu membuat membuat nda plus. Namun cross yang akan dibuat adalah berwarna kuning, dan ada 3 kondisi yang biasanya ditemukan, berikut keempat kondisi tersebut : Gambar 4.23. Kondisi sebelum pembuatan cross layer 3 Lakukan algoritma dibawah ini: 1. Jika pada kondisi 1 = F U R U R F Gambar 4.24. Notasi kondisi 1 penyelesaian cross layer 3
92 2. Jika pada kondisi 2 = F R U R U F Gambar 4.25. Notasi kondisi 2 penyelesaian cross layer 3 3. Jika menemukan kasus seperti kondisi 3, lakukan salah satu algoritma di atas maka akan terbentuk kondisi seperti kondisi 1 atau kondisi 2. Jika sudah dijalankan algoritma tersebut maka akan terbentuk sebuah cross berwarna kuning pada layer 3. Seperti pada gambar di bawah ini : Gambar 4.26. Cross layer ketiga selesai Beberapa kasus sering teradi, jika anda menyelesaikan layer 2 dan selesai namun pada layer 3 sudah terbentuk cross, maka bisa lanjutkan ke tahap berikutnya. Setelah cross layer 3 berhasil dibentuk langkah selanjutnya adalah menyelesaikan warna pada layer 3 yaitu warna kuning. Pada tahap ini kondisi digambarkan dengan menggambar sisi atas rubik, seperti melihat rubik dari atas dan menampilkan sisi samping yang berwarna kuning saja. Berikut ini adalah kondisi-kondisi yang biasa terjadi :
93 Gambar 4.27. Kondisi layer 3 dilihat dari atas Lakukan algoritma berikut ini : 1. Jika pada kondisi 1 = R U R U R U2 R Gambar 4.28. Notasi kondisi 1 penyelesaian warna kuning layer 3 2. Jika seperti kondisi 2 = R U2 R U R U R Gambar 4.29. Notasi kondisi 2 penyelesaian warna kuning layer 3
94 3. Jika seperti kondisi 3 = R2 D R U2 R D R U2 R Gambar 4.30. Notasi kondisi 3 penyelesaian warna kuning layer 3 4. Jika seperti kondisi 4 = R F L F R F L F Gambar 4.31. Notasi kondisi 4 penyelesaian warna kuning layer 3 5. Jika seperti kondisi 5 = R U2 R2 U R2 U R2 U2 R Gambar 4.32. Notasi kondisi 5 penyelesaian warna kuning layer 3 6. Jika seperti kondisi 6 = R U R U R U R U R U2 R
95 Gambar 4.33. Notasi kondisi 6 penyelesaian warna kuning layer 3 7. Jika seperti kondisi 7 = F R U R U R U2 R U F Gambar 4.34. Notasi kondisi 7 penyelesaian warna kuning layer 3 Jika sudah dijalankan algoritma yang sesuai kondisinya maka akan terbentuk sisi atas pada layer 3 berwarna kuning seluruhnya. Seperti pada gambar di bawah ini : Gambar 4.35. Layer ketiga berwarna kuning selesai Langkah selanjutnya adalah menyocokan sisi corner atau pojok pada layer 3. Pada langkah ini bertujuan memperbaiki corner piece disisi samping. Untuk memulainya, perhatikan warna corner/pojok ditiap sisi samping. Cari apakah ada warna corner yang sama pada satu sisi.
96 Gambar 4.36. Satu sisi corner samping layer 3 sama Apabila ada warna yang sama maka jalankan algoritma. Tapi sebelum menjalankan algoritma terlebih dahulu posisikan rubik yang memiliki sisi sama menghadap ke belakang, seperti pada gambar di bawah ini : Gambar 4.37. Satu sisi corner yang sama menghadap kebelakang Lalu terapkan algoritma berikut : R F R B2 R F R B2 R2 Gambar 4.38. Notasi sisi samping layer 3 Jika pada sisi samping corner tidak ada warna yang sama lakukan algoritma diatas sekali. Setelah itu, akan muncul corner samping dengan warna sama. Jika demikian, ikuti seperti langkah diatas dengan membalik sisi yang sama di belakang lalu jalankan algoritmanya. Setelah selesai menjalankan algoritma tersebut maka akan terbentuk layer 3 dengan hanya sisi edge yang tertukar tempat. Seperti gambar dibawah ini :
97 Gambar 4.39. Sisi corner layer ketiga selesai Langkah selanjutnya menyelesaikan sisi edge sesuai warna pusat yang dimiliki. Pada tahap sebelumnya kemungkinan terselesainya sisi edge ada dua yaitu memiliki satu sisi edge yang sudah sesuai pada posisinya seperti gambar di atas atau tidak memiliki sisi edge yang telah pada posisinya. Jika ada sisi edge yang telah pada posisinya, letakkan pada sisi belakang. Namun ada 2 kondisi dan algoritma yang dapat digunakan untuk menukar posisi edge, yaitu : 1. Kondisi 1 Gambar 4.40. Kondisi 1 pertukaran edge layer 3 Lakukan algoritma berikut jika pada posisi tertukarnya edge kebalikan arah jarum jam pada kondisi 1 : F2 U L R F2 L R U F2 Gambar 4.41. Notasi kondisi 1 pertukaran edge layer 3
98 2. Kondisi 2 Gambar 4.42. Kondisi 2 pertukaran edge layer 3 Lakukan algoritma berikut jika pada posisi tertukarnya edge searah jarum jam pada kondisi 2 : F2 U L R F2 L R U F2 Gambar 4.43. Notasi kondisi 2 pertukaran edge layer 3 Jika ada kondisi sisi edge layer 3 yang tidak ada satu sisi edge yang menempati pada posisinya, biasa langsung menjalankan salah satu algoritma diatas. Setelah selesai makan akan muncul salah satu kondisi diatas dan balikan sisi edge yang sama kebelakang lalu jalankan algoritma sesuai kondisinya. Dan Implemntesi rubik berhasil diselesaikan. Gambar 4.44. Rubik selesai tersusun
99 1.3 Pengujian Algoritma Layer By Layer Pada Aplikasi dan Keadaan Fisik Pada kenyataannya algoritma layer by layer ini dapat digunakan pada rubik yang nyata (real). Berikut ini adalah gambar rubik 2D dalam keadaan teracak pada aplikasi dan gambar rubik pada keadaan fisik atau nyata pada rubik s cube yang digambarkan pada rubik s cube 3D yang disamakan posisi acaknya seperti aplikasi tersebut. Gambar 4.45. Tampilan Rubik 2D pada aplikasi dalam keadaan teracak Gambar 4.46. Rubik 3D dalam keadaan teracak dari sisi depan Gambar 4.47. Rubik 3D dalam keadaan teracak dari sisi belakang Rubik asli rubik s cube tersebut akan akan disusun kembali dengan menggunakan algoritma layer by layer. Rubik tersebut akan ditampilkan dengan gambar rubik 3D pada tahap penyelesaian. Tahapan penyelesaian dengan menggunakan algoritma layer by layer sebagai berikut :
100 Tabel 4.3. Tahap Penyelesaian Rubik s Cube Layer Pertama Algoritma Penyelesaian Kondisi Dan Kondisi 3D Kondisi 2D Pencarian Kondisi D F2 Selesai R y2 Selesai R2 Selesai F U R Selesai R D R y Selesai
101 Lanjutan Tabel 4.3. Tahap Penyelesaian Rubik s Cube Layer Pertama R D R y D Selesai F D F U Selesai Layer Pertama Selesai Tabel 4.4. Tahap Penyelesaian Rubik s Cube Layer Kedua Algoritma Penyelesaian Kondisi Dan Kondisi 3D Kondisi 2D Pencarian Kondisi z2 U Y U R U
102 Lanjutan Tabel 4.4. Tahap Penyelesaian Rubik s Cube Layer Kedua R U F U F y2 U Selesai U F U F U R U R U y Selesai
103 Lanjutan Tabel 4.4. Tahap Penyelesaian Rubik s Cube Layer Kedua U F U F U R U R y2 Selesai U F U F U R U R Layer Kedua Selesai
104 Tabel 4.5. Tahap Penyelesaian Rubik s Cube Layer Ketiga F R U R U F Selesai R2 D R U2 R D R U2 R U2 Selesai R F R
105 Lanjutan Tabel 4.5. Tahap Penyelesaian Rubik s Cube Layer Ketiga B2 R F R B2 R2 Selesai Kesimpulan Pengujian Algoritma Layer By Layer Hasil pengujian dari pengujian algoritma layer by layer yang telah dilakukan, menunjukkan bahwa algoritma layer by layer tersebut dapat digunakan pada permainan rubik yang nyata(real) dan pada Aplikasi Tutorial Cara Cepat dan Mahir Bermain Rubik s Cube dapat berjalan dengan baik.
106 1.4 Pengujian Sistem Pengujian sistem merupakan hal terpenting yang bertujuan untuk menemukan kesalahan kesalahan atau kekurangan kekurangan pada perangkat lunak yang diuji. Pengujian bermaksud untuk mengetahui perangkat lunak yang dibuat sudah memenuhi kriteria yang sesuai dengan tujuan perancangan perangkat lunak tersebut. Pengujian pada sistem yang baru dibangun dilakukan melalui dua tahap yaitu pengujian alpha (fungsional): a. Pengujian Alpha Metode yang digunakan dalam pengujian alpha adalah metode blackbox yang fokus pada persyaratan fungsional dari perangkat lunak yang dibangun. Tabel 4.6. Rencana pengujian program simulasi Item Uji Detail Pengujian Jenis Pengujian Trik Bermain Lihat daftar trik Blackbox Daftar Trik Lihat trik Blackbox Trik Singkat Lihat langkah trik singkat Blackbox Acak Rubik Sumbu X, Y, Z Blackbox Sisi atas, bawah teracak Blackbox Sisi kanan, kiri teracak Blackbox Sisi depan, belakang teracak Blackbox Berhenti Acak Rubik berhenti Blackbox Susun Rubik Reset Rubik Blackbox Panduan Lihat Panduan Blackbox Pengaturan Lihat pengaturan Blackbox b. Kasus dan Hasil Pengujian Berdasarkan rencana pengujian, maka dapat dilakukan pengujian alpha dengan blackbox pada aplikasi penyelesaian permainan rubiks cube yang dijelaskan pada tabel 4.7.
107 Klik tombol Trik Bermain Tabel 4.7. Kasus dan hasil uji (data normal) Kasus dan hasil uji ( data normal) Masukan Yang diharapkan Pengamatan Kesimpulan Menampilkan Tombol dapat Sukses tampilan daftar berfungsi sesuai trik yang diharapkan Klik daftar trik Klik tombol main rubik Klik tombol Trik singkat Klik tombol Acak Rubik Klik tombol Berhenti Acak Klik tombol Susun Rubik Klik tombol Panduan Klik tombol Pengaturan Menampilkan isi dari daftar trikl Menampilkan tampilan permainan rubik Menampilkan tampilan untuk langkah-langkah penyelesaian dalam bentuk gambar da notasi gerak. Untuk mengacak posisi titik awal dan titik tujuan secara bersamaan Menghentikan gerakan rubik Menyusun dan menampilkan rubik dalam keadaan belum teracak Menampilkan panduan dalam bermain rubik dan notasi apa saja yang digunakan Menampilkan pengaturan Tombol dapat berfungsi sesuai yang diharapkan Tombol dapat berfungsi sesuai yang diharapkan Tombol dapat berfungsi sesuai yang diharapkan Tombol dapt berfungsi sesuai yang diharapkan Tombol dapat berfungsi sesuai yang diharapkan Tombol dapat berfungsi yang diharapkan Tombol dapat berfungsi yang diharapkan Tombol dapat berfungsi yang diharapkan Sukses Sukses Sukses Sukses Sukses Sukses Sukses Sukses a. Kesimpulan Pengujian Alpha Hasil pengujian dari pengujian alpha yang telah dilakukan, menunjukkan bahwa aplikasi yang dibangun sudah memenuhi persyaratan fungsional. Secara fungsional sistem yang telah dibangun sudah dapat menghasilkan keluaran yang diharapkan.
108