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 Prosesor Layar Monitor Memori Harddisk b. Perangkat lunak
Spesifikasi perangkat keras Intel Core 2 Duo 1.66 Ghz, 1280 x 800 LCD 12.1” inc 1 GB DDR2 320 GB SATA HDD
Perangkat lunak yang digunakan untuk mengimplementasikan sistem dijelaskan pada tabel 4.2. Tabel 4.2. Perangkat lunak yang digunakan Komputer Sistem Operasi
Spesifikasi Perangkat Lunak Windows XP Professional 32-bit SP2 Adobe Flash CS3
Bahasa Pemrograman 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 Kondisi 3D
Kondisi 2D
Algoritma Penyelesaian Kondisi Dan Pencarian Kondisi D‟
F2
Selesai R
y2
Selesai R2
Selesai F
U‟
R
Selesai R‟
D‟
R
Selesai y‟
101
Lanjutan Tabel 4.3. Tahap Penyelesaian Rubik’s Cube Layer Pertama R‟
D‟
R
Selesai y‟
D
F
D
F‟
Selesai U
Layer Pertama Selesai Tabel 4.4. Tahap Penyelesaian Rubik’s Cube Layer Kedua Kondisi 3D
Kondisi 2D
Algoritma Penyelesaian Kondisi Dan 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
Selesai U‟
U‟
F‟
U
F
U
R
U‟
R‟
U‟
Selesai y‟
103
Lanjutan Tabel 4.4. Tahap Penyelesaian Rubik’s Cube Layer Kedua U‟
F‟
U
F
U
R
R‟
y2
U‟
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‟
R
U
U‟
F‟
Selesai R2
D
R‟
U2
R
D‟
R‟
U2
R‟
Selesai U2
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 Trik Bermain Daftar Trik Trik Singkat Acak Rubik
Berhenti Acak Susun Rubik Panduan Pengaturan
Detail Pengujian Lihat daftar trik Lihat trik Lihat langkah trik singkat Sumbu X, Y, Z Sisi atas, bawah teracak Sisi kanan, kiri teracak Sisi depan, belakang teracak Rubik berhenti Reset Rubik Lihat Panduan Lihat pengaturan
Jenis Pengujian Blackbox Blackbox Blackbox Blackbox Blackbox Blackbox Blackbox Blackbox Blackbox Blackbox 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
Tabel 4.7. Kasus dan hasil uji (data normal) Kasus dan hasil uji ( data normal) Yang diharapkan Pengamatan Menampilkan Tombol dapat tampilan daftar berfungsi sesuai trik yang diharapkan Klik daftar trik Menampilkan isi Tombol dapat dari daftar trikl berfungsi sesuai yang diharapkan Klik tombol main Menampilkan Tombol dapat rubik tampilan berfungsi sesuai permainan rubik yang diharapkan Klik tombol Trik Menampilkan Tombol dapat singkat tampilan untuk berfungsi sesuai langkah-langkah yang diharapkan penyelesaian dalam bentuk gambar da notasi gerak. Klik tombol Acak Untuk mengacak Tombol dapt Rubik posisi titik awal berfungsi sesuai dan titik tujuan yang diharapkan secara bersamaan Klik tombol Menghentikan Tombol dapat Berhenti Acak gerakan rubik berfungsi sesuai yang diharapkan Klik tombol Susun Menyusun dan Tombol dapat Rubik menampilkan berfungsi yang rubik dalam diharapkan keadaan belum teracak Klik tombol Menampilkan Tombol dapat Panduan panduan dalam berfungsi yang bermain rubik dan diharapkan notasi apa saja yang digunakan Klik tombol Menampilkan Tombol dapat Pengaturan pengaturan berfungsi yang diharapkan Masukan Klik tombol Trik Bermain
Kesimpulan Sukses
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