SKRIPSI
RIYANDO HIDAYAT HASIBUAN 101402038
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKLULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
2017
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi
RIYANDO HIDAYAT HASIBUAN 101402038
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKLULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
2017
PERSETUJUAN
Judul : APLIKASI PERMANIAN BEKEL
MENGGUNAKAN LEAP MOTION CONTROLLER
Kategori : SKRIPSI
Nama : RIYANDO HIDAYAT HASIBUAN
Nomor Induk Mahasiswa : 101402038
Program Studi : S1 TEKNOLOGI INFORMASI
Departemen : TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA UTARA Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Baihaqi Siregar, S.Si., MT. Romi Fadilah Rahmat, B.Comp,Sc., M.Sc
NIP. 19790108201212 1 002 NIP. 19860303201012 1 004
Diketahui/disetujui oleh
Program Studi S1 Teknologi Informasi Ketua,
Muhammad Anggia Muchtar, ST., MM.IT NIP. 19800110200801 1 010
PERNYATAAN
APLIKASI PERMAINAN BEKEL MENGGUNAKAN LEAP MOTION CONTROLLER
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan,
Riyando Hidayat Hasibuan 101402038
UCAPAN TERIMA KASIH
Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa, atas berkat dan rahmat-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi.
Pertama-tama, penulis ingin mengucapkan terima kasih kepada Bapak Romi Fadilah Rahmat, B.Comp,Sc.,. selaku pembimbing pertama dan Bapak Baihaqi Siregar, S.Si., MT selaku pembimbing kedua yang telah membimbing penulis dalam penelitian serta penulisan skripsi ini. Penulis juga mengucapkan terima kasih kepada dosen pembanding yang telah memberikan masukan serta kritik yang bermanfaat dalam penulisan skripsi ini. Penulis juga menyampaikan ucapan terima kasih kepada seluruh dosen serta pegawai program studi S1 Teknologi informasi, yang telah membantu serta membimbing penulis selama proses perkuliahan.
Penulis tentunya tidak lupa berterima kasih kepada kedua orang tua penulis, Drs. Imran Sanusi Hasibuan dan Dra. Merawati Harahap, yang telah membesarkan dan membimbing penulis hingga saat ini. Terima kasih juga penulis ucapkan kepada abang Muhammad Imam Hasibuan serta adik-adik Sofiah Hasibuan dan Khadijah Hasibuan, yang telah memberi dukungan kepada penulis dalam menyelesaikan skripsi ini.
Penulis juga mengucapkan terima kasih kepada seluruh teman-teman yang telah membantu pemahaman dasar-dasar unity Farhan Luthfi S.Kom dan Kurniawan Widhianto S.Kom. Terimakasi kepada seluruh teman-teman Teknologi Informasi angkatan 2010, yang telah bersama penulis dalam menjalani masa perkuliahan.
Terima kasih juga untuk teman saya Ovy Rizki Fahrani S.Kom yang Skripsinya menjadi acuan awal saya membuat tugas akhir ini. Secara khusus, penulis juga hendak menyampaikan ucapan terima kasih kepada seluruh teman-teman Scarlet, untuk hari- hari yang telah dilalui bersama, serta untuk bantuan dan motivasi yang diberikan dalam penyelesaian skripsi ini.
ABSTRAK
Permainan bekel merupakan permainan tradisional yang berasal dari jawa barat.
Permainan tersebut menggunakan biji dan bola untuk memainkannya. Jumlah biji pada permainan tersebut biasanya digunakan 6-10 biji. Permainan dilakukan dengan cara melemparkan bola lalu mengambil biji satu satu, dua dua, hingga seluruh biji sekaligus. Dalam aturan main pada permainan bekel bola hanya boleh memantul satu kali di lantai. Namun, permainan tradisional bekel saat ini semakin ditinggalkan karena kecanggihan teknologi pada permainan modern. Oleh karena itu, diperlukan suatu teknologi modern yang dapat digunakan untuk memainkan permainan bekel pada aplikasi permainan. Pada penelitian ini penulis membangun aplikasi permainan tradisional bekel dengan menggunakan Leap Motion Controller sebagai alat bantu untuk memainkannya. Dengan menggunakan alat ini, pemain dapat berinteraksi pada aplikasi permainan dengan gerakan-gerakan tangan yang dibaca oleh sensor Leap Motion. Peneleitian ini juga membuktikan aplikasi-aplikasi permainan tradisional yang sudah ada dapat dikembangkan dengan teknologi Leap Motion Controller.
Kata Kunci : permainan bekel, Leap Motion Controller, gerakan tangan, sensor Leap Motion Controller.
APPLICATION BEKEL GAME USING LEAP MOTION CONTROLLER
ABSTRACT
Bekel is a traditional game from Jawa Barat. The game used seed and ball for the play.
Number of seeds such games are usually used six until ten ( 6 – 10 ) seeds. The game is done by throwing the ball and then take the seeds of one by one, two by two, until all the seeds at once. In the rules of the game on the game bekel ball can only bounce once on the floor. However, the traditional game of jacks is currently being abandoned because of the sophistication of technology in the modern game. therefore, we need a modern technology that can be used to play a game of jacks on game applications. In this study, the authors build applications using the traditional game of jacks with Leap Motion Controller as a tool to play. Using this tool, players can interact in a game application with hand motion are detect by sensors Leap Motion. This study also proves application traditional game can be played by Leap Motion Controller.
Keyword : bekel game, Leap Motion Controller, hand motion, sensor Leap Motion Controller.
DAFTAR ISI
Hal.
PERSETUJUAN ii
PERNYATAAN iii
UCAPAN TERIMA KASIH iv
ABSTRAK v
ABSTRACT vi
DAFTAR ISI vii
DAFTAR TABEL viii
DAFTAR GAMBAR ix
BAB 1 PENDAHULUAN 1
1.1. Latar Belakang 1
1.2. Rumusan Masalah 3
1.3. Tujuan Penelitian 3
1.4. Batasan Masalah 3
1.5. Manfaat Penelitian 3
1.6. Metodologi Penelitian 4
1.7. Sistematika Penulisan 4
BAB 2 LANDASAN TEORI 6
2.1. Permainan Bekel 6
2.2. Koefisien Restitusi Tumbukan 8
2.3. Fungsi Random 9
2.4. Leap Motion Controller 9
2.4.1. Spesifikasi Leap Motion Controller 11
2.4.2. Leap Motion Controller API dan Arsitektur Sistem 11
2.4.3. Hand Class 14
2.5. Penelitian Terdahulu 16
BAB 3 ANALISIS DAN PERANCANGAN SISTEM 18
3.1. Arsitektur Umum 18
3.2. Leap Motion Sensor Gerakan Tangan 19
3.2.1. Gerakan Menggenggam Bola 20
3.3. Analisis Object Data Model Bola dan Biji 20
3.3.1. Deskripsi Logika Pantulan Objek Bola denga Koefisien 22 Restitusi
3.3.2. Deskripsi Acak Biji 23
3.4. Game Logic 23
3.4.1. Alur Dasar Permainan 24
3.4.2. Pengecekan Item 25
3.4.3. Perancangan Tingkat Kesulitan Aplikasi Permainan 26
3.5. Database 26
3.5.1. Penyimpanan Database Skor 26
3.5.2. Perancangan Database Skor 27
3.6. User Interface 28
BAB 4 IMPLEMENTASI DAN PENGUJIAN 31
4.1. Implementasi Sistem 31
4.1.1. Konfigurasi Perangkat Keras 31
4.1.2. Konfigurasi Perangkat Lunak 32
4.2. Tampilan Aplikasi 32
4.2.1. Tampilan Menu Utama 32
4.2.2. Tampilan Papan Skor 34
4.2.3. Arena Permainan 35
4.2.4. Tampilan Animasi Game Over dan Berhasil 36
4.2.5. Gerakan Tangan 38
4.2.6. Tampilan Shortcut 41
4.3. Pengujian Sistem 42
4.4. Pengujian Tingkat Kesetujuan dan Kepuasan Aplikasi 48
4.5. Keterbatasan Leap Motion Controller 51
BAB 5 KESIMPULAN DAN SARAN 53
5.1. Kesimpulan 53
5.2. Saran 54
DAFTAR PUSTAKA 55
DAFTAR TABEL
Hal.
Tabel 2.1. Spesifikasi Minimum Leap Motion Controller 11
Tabel 2.2. Penelitian Terdahulu 17
Tabel 3.1. Tingkat Kesulitan Permainan 26
Tabel 4.1. Spesifikasi Perangkat Keras Yang Digunakan 32 Tabel 4.2. Spesifikasi Perangkat Lunak Yang Digunakan 32
Tabel 4.3. Rencana Pengujian 43
Tabel 4.4. Hasil Pengujian Tampilan Menu Utama 43
Tabel 4.4. Hasil Pengujian Tampilan Menu Utama(lanjutan) 44
Tabel 4.5. Hasil Pengujian Tampilan Papan Skor 44
Tabel 4.5. Hasil Pengujian Tampilan Papan Skor(lanjutan 45
Tabel 4.6. Hasil Pengujian Gerakan Tangan 45
Tabel 4.7. Hasil Pengujian Logika Permainan 46
Tabel 4.8. Hasil Pengujian Tampilan Objek Permainan 46
Tabel 4.9. Hasil Pengujian Tampilan Animasi 47
Tabel 4.10. Hasil Pengujian Tampilan Shortcut 47
Tabel 4.11. Kategori Pemberian Nilai 48
Tabel 4.12. Kuesioner Tingkat Kesetujuan Antarmuka, Interaksi dan Gestur 48 Tabel 4.12. Kuesioner Tingkat Kesetujuan Antarmuka, Interaksi dan 49
Gestur(lanjutan)
Tabel 4.13. Kuesioner Tingkat Kepuasan Antarmuka, Interaksi dan Gestur 49
DAFTAR GAMBAR
Hal.
Gambar 2.1. Permainan Bekel 7
Gambar 2.2. Interaction Area Leap Motion Controller 10 Gambar 2.3. Sistem Arsitektur Aplikasi Native Interface 12 Gambar 2.4. Sistem Arsitektur WebSocket Interface 13
Gambar 2.5. GrabStrength 0.0 15
Gambar 2.6. GrabStrength 1.0 15
Gambar 3.1. Arsitektur Umum Aplikasi Permainan Bekel 19
Gambar 3.2. Kolom Tabel 27
Gambar 3.4. Rancangan Interface Menu 28
Gambar 3.5. Rancangan Interface Tingkat Kesulitan 29
Gambar 3.6. Rancangan Interface Pilih Biji 29
Gambar 3.7. Rancangan Interface Papan Skor 30
Gambar 3.8. Rancangan Interface Arena Permainan 30
Gambar 4.1. Tampilan Menu Utama 34
Gambar 4.2. Tampilan Papan Skor 34
Gambar 4.3. Tampilan Arena Permainan 35
Gambar 4.4. Tampilan Objek Biji 36
Gambar 4.5. Tampilan Animasi Game Over 37
Gambar 4.6. Tampilan Animasi Berhasil 38
Gambar 4.7. Tampilan Gerakan Tangan 40
Gambar 4.8. Tampilan Shortcut 42
Gambar 4.9. Grafik Tingkat Kesetujuan Antarmuka, Interaksi dan Gestur 50 Gambar 4.10. Grafik Tingkat Kepuasan Antarmuka, Interaksi dan Gestur 51
PENDAHULUAN
1.1. Latar Belakang
Permainan bekel merupakan salah satu permainan tradisional yang berasal dari Indonesia pada provinsi Jawa Barat. Di Jawa Barat permainan bekel lebih dikenal dengan nama beklen yang berarti bekel. Kata beklen atau bekel diperkirakan berasal dari bahasa Belanda yaitu bikkelen yang memiliki arti semangat juang.
Permainan bekel menggunakan bola berwarna-warni yang terbuat dari karet dan biji yang terbuat khusus dari kuningan atau disebut juga dengan biji bekel. Tata cara permainan ini diawali dengan melemparkan bola ke atas lalu menyebarkan biji di lantai. Biji diambil satu satu atau bisa seluruh biji sekaligus. Jika biji telah berhasil diambil seluruhnya maka akan dilanjutkan ke tahap pengambilan biji dua dua, tiga tiga, dan seterusnya hingga biji diambil sekaligus dalam satu pengambilan biji.
Permainan bekel juga sangat berpengaruh bagi anak karena berdasarkan tata cara permainan bekel ini memerlukan keterampilan dan kentangkasan tersendiri untuk memainkannya. Pentingnya permainan bekel bagi anak adalah memberikan bentuk aktif dalam belajar yang meliputi pikiran, badan, dan semangat dan menyediakan kesempatan untuk melatih keterampilan dan fungsi-fungsi baru (Komariyah, 2015).
Namun, permainan bekel hingga saat ini mulai banyak ditinggalkan. Banyak faktor yang membuat permainan tradisional ini ditinggalkan. Salah satunya karena teknologi permainan modern saat ini yang membuat permainan tidak memakan tempat dan tidak terkendala oleh waktu, serta tidak perlu menunggu orang lain untuk bermain (Tedi, 2015). Pada akhirnya banyak anak-anak akan beralih kepada permainan modern yang menggunakan teknologi seperti permainan pada komputer, smartphone, ataupun playstation.
Permainan komputer merupakan program komputer yang memungkinkan pemain dapat berinteraksi lewat kontrol untuk memenuhi tujuan tertentu (Setiawan, et al. 2013). Pada permainan komputer terdapat beberapa perangkat yang mendukung untuk membuat permainan komputer semakin terlihat canggih dan menambah kesenangan pada pemainnya. Dengan bantuan perangkat-perangkat tersebut permainan komputer dapat memberikan kesan yang lebih nyata saat memainkannya.
Banyak permainan pada kompter yang menggunakan perangkat sensor untuk memainkan permainan komputer agar memberikan kesan yang nyata ketika pemain berinteraksi dengan permainan salah satunya seperti perangkat sensor Leap Motion Controller.
Leap Motion Controller adalah sebuah perangkat sensor yang bertujuan untuk menerjemahkan gerakan tangan ke dalam perintah komputer (Potter, et al. 2013). Leap Motion Controller berupa alat prefesial Universal Serial Bus (USB) yang berukuran kecil dirancang untuk diletakkan pada desktop fisik, menghadap ke atas dan menggunkan dua kamera IR monokromotik dan tiga inframerah LED yang mengamati permukaan berbentuk hemisphere di atasnya dengan jarak jangkauan sekitar 1 centimeter (Nainggolan, 2015).
Leap Motion Controller dirancang untuk mendeteksi gerakan tangan hingga ke jari dengan akurat. Gerakan-gerakan tersebut akan dibaca oleh sensor sebagai input pada komputer untuk menjalankan perintah yang telah diberikan. Sama halnya seperti mouse dan keyboard hanya saja perangkat Leap Motion Controller tidak membutuhkan kontak fisik untuk menggunakannya. Pada aplikasi permainan bekel, gerakan tangan ini akan membuat pengguna seolah sedang berinteraksi dengan objek- objek yang ada pada permainan.
Permainan yang memanfaatkan teknologi Leap Motion Controller sudah pernah diterapkan seperti aplikasi permainan yang dibangun oleh (Cho, 2014) pada aplikasi Pengembangan Permainan Pembelajaran Pada Anak Menggunakan Leap Motion Controller berdasarkan Honey Bee Dance.
Berdasarkan uraian diatas maka penulis berkeinginan untuk membangun aplikasi permainan yang mengambil tema dari permainan tradisional bekel dengan sedikit penyesuaian agar dapat berjalan pada perangkat Leap Motion Controller.
1.2. Rumusan Masalah
Permainan bekel merupakan permainan tradisional yang kini mulai ditinggalkan oleh banyak orang dikarenakan perkembangan teknologi pada media hiburan yang semakin canggih. Ada pun aplikasi-aplikasi permainan yang mengambil tema dari permainan tradisional yang dikembangkan pada teknologi komputer maupun smartphone.
Namun, kebanyakan aplikasi permainan tersebut masih sedikit yang mengembangkannya dengan memanfaatkan perangkat-perangkat teknologi modern yang mampu mengoptimalkan aplikasi khususnya pada aplikasi permainan. Oleh karena itu, dibutuhkan pengembangan pada aplikasi-aplikasi permainan tradisional dengan memanfaatkan perangkat-perangkat teknologi modern.
1.3. Tujuan Penelitian
Tujuan dari penelitian ini adalah menggunakan Leap Motion Controller sebagai perangkat teknologi modern dalam membantu mengembangkan aplikasi permainan tradisional bekel.
1.4. Batasan Masalah
Ada pun batasan masalah dalam pengerjaan skripsi ini adalah :
1. Jenis biji yang digunakan pada permainan ini hanya biji bekel, biji kuwuk, dan tutup botol.
2. Gerakan bola yang diimplementasikan pada permainan ini hanya gerak ke atas dan ke bawah ketika bola digenggam.
1.5. Manfaat Penelitian Manfaat dari penelitian ini adalah:
1. Mengembangkan sebuah aplikasi permainan pada permainan tradisional bekel dengan memanfaatkan teknologi Leap Motion Controller.
2. Memahami cara kerja dan implementasi Leap Motion Controller pada suatu sistem.
1.6. Metodologi Penelitian
Sistematika penulisan dari skripsi ini terdiri dari 5 bagian utama sebagai berikut : 1. Studi Literatur
Pada tahap Studi literatur ini dilakukan pengumpulan bahan referensi mengenai konsep permainan tradisional bekel dan Leap Motion Controller.
2. Analisis dan Perancangan
Pada tahap ini analisis terhadap bahan referensi yang telah dikumpulkan pada tahap sebelumnya untuk mendapatkan pemahaman mengenai konsep dari permainan bekel dan implementasi alat Leap Motion Controller pada system.
3. Implementasi
Pada tahap ini dilakukan implementasi Leap Motion Controller pada aplikasi permainan tradisional bekel untuk digunakan sebagai alat bantu interaksi manusia dan komputer.
4. Pengujian
Pada tahap ini dilakukan pengujian pada aplikasi permainan apakah telah memenuhi kriteria atau tidak.
5. Penyusunan Laporan
Pada tahap ini dilakukan penysunan laporan hasil pengujian aplikasi permainan serta implementasi Leap Motion Controller pada aplikasi permainan tradisional bekel.
1.7. Sistematika Penulisan BAB 1 PENDAHULUAN
Bab ini berisi penjelasan latar belakang dari penelitian, rumusan masalah, tujuan penelitian, batasan masalah, manfaat penelitian, metodologi penelitian, serta sistematika penulisan.
BAB 2 LANDASAN TEORI
Bab ini berisi teori-teori yang diperlukan untuk memahami permasalahan yang dibahas pada penelitian ini. Teori-teori yang berhubungan dengan permainan bekel dan Leap Motion Controller.
BAB 3 ANALISI DAN PERANCANGAN
Bab ini berisi pembahasan analisis dan pengimplementasian Leap Motion Controller pada aplikasi permainan bekel serta perancangan aplikasi permainan.
BAB 4 IMPLEMENTASI DAN PENGUJIAN
Bab ini berisi pembahasan tentang implementasi dari perancangan penerapan yang tekah disusun pada Bab 3 dan hasil yang didapatkan dari pengujian sistem yang dibangun.
BAB 5 KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dari kesuluruhan bab-bab yang telah dibahas sebelumnya dan saran-saran yang akan diajukan untuk pengembangan penelitian selanjutnya.
LANDASAN TEORI
Pada bab ini akan membahas teori-teori dasar yang berhubungan dengan perancangan aplikasi permainan bekel dengan Leap Motion Controller.
2.1. Permainan Bekel
Permainan beklen atau bekel merupakan adu ketangkasan antara 2 atau 4 orang.
Permainan ini biasanya dilakukan oleh anak perempuan, berumur 7 – 12 tahun.
Mereka dapat bermain di ruang tertutup maupun terbuka. Alat yang digunakan adalah bola bekel berbagai warna berukuran diameter 3 cm dan kulit kerang atau kewuk biasanya berjumlah 6 sampai 10 buah. Kuwuk yang dianggap bagus berwarna kekuningan agak bundar dan tepinya agak bulat lonjong. Anak-anak di daerah Priangan, terutama di kalangan menengah ke atas menggunakan kuningan berbentuk tak beraturan. Kedua sisi diberi tanda bulatan kecil agak cekung, masing-masing satu dan dua buah. Untuk menentukan pemain pertama dilakukan suten atau undian. Setiap pemain dinyatakan menang bila berhasil melewati seluruh babak permainan, yang terdiri dari tiga babak diawali dengan melambungkan bola (Zakiah, 2013).
Permainan bekel pada dasarnya dimainkan diatas lantai yang cukup datar dengan jumlah pemain 2 sampai 5 orang atau lebih. Dapat juga dilakukan sendiri atau berkelompok. Untuk memainkan permainan ini diperlukan keahlian dan kelincahan untuk menangkap bola setelah dipantulkan, permainan ini juga memerlukan pengaturan waktu dan strategi yang tepat(Sartika, 2010). Untuk lebih jelasnya permainan tradisional bekel dapat dilihat pada gambar 2.1.
Gambar 2.1. Permainan Bekel
Pada umumnya permainan menggunakan jumlah biji antara 6, 8, dan 10 biji tergantung kemampuan pemain. Permainan diawali dengan melambungkan bola dan setiap pengambilan biji bola hanya diperbolehkan memantul 1 kali. Pada permainan bekel terdiri dari 3 babak, babak pertama adalah babak pengambilan biji. Aturan permainan pada babak pertama, Awalnya bola dilambungkan saat bola melambung biji kuwuk ditebarkan ke lantai. Selanjtunya dilakukan pengambilan biji kuwuk secara berturut. Diawali dengan mengambil satu satu biji atau disebut juga dengan pihijieun.
Kemudian jika pengambilan satu satu biji telah berhasil mengambil seluru biji pengambilan akan dilanjutkan ke tahap selanjutnya. Tahap selanjutnya disebut juga dengan piduaeun, mengambil dua dua biji. Begitu seterusnya hingga pengambilan seluruh jumlah biji dalam 1 kali melambungkan bola.
Pada babak kedua permainan melakukan hal yang sama seperti babak pertama akan tetapi ketika bola dilambungkan yang harus dilakukan pertama kali adalah membalikan posisi biji kuwuk pada bagian yang terbuka dan bergerigi kemudian membalikkan biji kuwuk pada bagian yang bundar. Selanjutnya dillakukan pengambilan biji kuwuk seperti babak pertama.
Pada babak ketiga pemain melakukan hal yang sama seperti babak kedua akan tetapi biji kuwuk tidak diambil melainkan biji kuwuk disusun membentuk barisan.
Kemudian setelah membentuk barisan biji kuwuk diambil seluruhnya dan ditebarkan kembali.
2.2. Koefisien Restitusi Tumbukan
Tumbukan merupakan peristiwa saling mendekatnya dua partikel dan keduanya salibng berinteraksi dengan gaya tertentu. Gaya interaksi diasumsikan lebih besar dari gaya luar. Sebuah tumbukan dimana total energi kinetik yang diperoleh lebih kecil dari energi sebelum terjadi tumbukan disebut sebagai tumbukan lenting sebagian dan apabila sebuah objek saling bertumubukan akan tetapi objek saling menempel hal tersebut disebut sebagai tumbukan tidak lenting sama sekali(Young et al, 2002).
Berdasarkan penjelasan diatas dapat disimpulkan bahwa terdapat 3 jenis tumbukan. Yang pertama tumbukan lenting sempurna, kedua tumbukan lenting sebagian, dan ketiga tumbukan tidak lenting sama sekali. Perbedaan tumbukan- tumbukan tersebut dapat diketahui berdasarkan nilai koefisien elastisitas atau disebut juga dengan koefisien restitusi dari dua buah benda yang bertumbukan.
Koefisien Restitusi(dilambangkan dengan huruf e) merupakan tingkat kelentingan suatu tumbukan yang dapat dinyatakan melalui sebuah nilai. Sebuah nilai e bernilai = 1 menunjukkan tumbukan tersebut merupakan tumbukan lenting sempurna. Jika e bernilai < 1 menunjukkan tumbukan tesebut merupakan tumbukan lenting sebagian. Jika e bernilai 0 menunjukkan tumbukan tersebut merupakan tumbukan tidak lenting sama sekali(Farkas & Ramiser. 2006). Koefisien restitusi dirumuskan sebagai berikut :
e =
− 𝑣′−𝑣′𝑣 −𝑣
Keterangan :
𝑣 =
kecepatan gerak benda 1 sebelum tumbukan (m/s).𝑣 =
kecepatan gerak benda 2 sebelum tumbukan (m/s).𝑣
′=
kecepatan gerak benda 1 sesudah tumbukan (m/s).𝑣
′=
kecepatan gerak benda 2 sesudah tumbukan (m/s).Dari persamaan diatas, terlihat bahwa yang koefisien restitusi didapat berdasarkan kecepatan awal benda 1 bertumbukan dengan benda 2 sehingga menghasilkan kecepatan gerak sesudah terjadi tumbukan.
2.3. Fungsi Random
Fungsi random disebut juga dengan fungsi bilangan acak yang pada dasarnya digunakan untuk menghasilkan bilangan acak. Bilangan acak merupakan sebuah deretan bilangan yang akan diambil satu bilangan dari deretan bilangan tersebut dimana semua memiliki peluang yang sama untuk diambil, akan tetapi hasil dari bilangan tersebut tidak dapat diketahui. Pada aplikasi permainan bekel fungsi random digunakan untuk mengacak posisi biji.
Pada engine Unity fungsi pembangkitan bilangan acak terdapat pada class UnityEngine. Unity menyediakan 3 fungsi pembangkit bilangan acak yaitu Random.ColorHSV, Random.InitState, dan Random.Range. Random.ColorHSV sebagai pembangkit warna acak pada Unity dimana warna diacak melalui HSV color dan alpha range. Random.InitState menginisialkan fungsi pembangkit dengan seed, bilangan yang diacak merupakan urutan dari nilai bilangan yang sudah ditentukan.
Pada Random.InitState memungkinkan menampilkan bilangan yang sama yang tidak dapat diprediksi. Random.Range berfungsi untuk mengacak yang dibatasi dengan bilangan minumum hingga bilangan maksimum yang sudah ditentukan sebelumnya (Unity, 2016).
Pada Random.Range dapat mengacak bilangan yang terdiri dari banyak bilangan dalam satu wadah, seperti mengacak koordinat berdimensi 3(x,y,z).
2.4. Leap Motion Controller
Leap Motion Controller adalah alat sensor perangkat keras komputer yang mendukung gerakan tangan dan jari sebagai masukan, yang dapat disamakan fungsinya seperti mouse, namun tidak membutuhkan kontak langsung dengan tangan
atau senuthan (Yowanda, et al. 2014). Leap Motion Controller memiliki bentuk persegi panjang dengan ukuran panjang 7,5cm, lebar 3cm, dan tinggi 1,2cm yang dihubungkan dengan komputer melalui perangkat USB. Karena Bentuknya yang kecil, Leap Motion Controller dapat dengan mudah diletakkan di permukaan meja maupun laptop atau keyboard(Canneyt, 2013).
Sebagai alat sensor, Leap Motion Controller memiliki beberapa alat di dalamnya untuk mengamati. Alat-alat tersebut berupa IR monokromatik dan tiga inframerah LED(Nainggolan, 2015). Jarak yang dapat dijangkau oleh Leap Motion Controller untuk melakukan interaksi pada user disebut juga dengan InteractionArea berjarak 2 kaki dari atas Leap Motion Controller serta berjarak 2 kaki kesamping kiri dan kanan dengan radius 150 derajat dan berjarak 2 kaki pada kedalaman kiri dan kanan dengan radius 120 derajat. Radius interaksi area dapat dilihat pada Gambar 2.1.
Gambar 2.2. Interaction Area Leap Motion Controller(Leap Motion, 2017) Hal tersebut dapat membuat user menggerakan tangan mereka persis seperti gerakan asli pada gerakan yang terdapat di tampilan 3 dimensi. Gerakan tangan dapat dilacak melibihi 200 frame per second, sehingga posisi tangan dapat dibaca dengan real time. Luas jarak yang efektif pada Leap Motion Controller adalah sekitar 25 sampai 600 milimetir diatas alat Leap Motion Controller(Manuel, 2014).
2.4.1. Spesifikasi Leap Motion Controller
Adapun spesifikasi minimum alat Leap Motion Controller berdasarkan Leap Motion(2017)dapat dilihat pada Tabel 2.1.
Tabel 2.1 Spefikasi Minimum Leap Motion Controller Leap Motion(2017)
Sistem Operasi Windows® 7 atau 8 Mac® OS X 10.7
Prosesor AMD Phenom™ II atau Intel® Core™ i3/i5/i7 Memory 2 GB RAM
Port USB USB 2.0 port
Adapun Software Development Kit orginal Leap Motion Controller yang dapat diperoleh di http://leapmotion.com.setup.
2.4.2. Leap Motion Controller API dan Arsitektur Sistem
Leap Motion Controller API merupakan software development kit atau disebut juga pemrograman aplikasi pada Leap Motion Controller untuk memperoleh data antarmuka Leap Motion Controller. Penampungan data yang didapatkan pada Leap Motion API adalah frame(Nowicki, et al. 2014).
Terdapat 2 jenis antarmuka pada Leap Motion Controller yaitu Native Interface dan WebSocket Interface. Aplikasi Native Interface didukung dengan library dimana library menghubungkan layanan leap motion service dan mendukung data pengamatanan tangan ke perangkat komputer. Library dapat terhubung langsung dengan beberapa bahasa pemrograman. Bahasa pemrograman tersebut adalah bahasa pemrograman Java, Csharp/C#, C++, Objective-C, dan Phyton. Adapun sistem arsitektur aplikasi Native Interface dapat dilihat pada Gambar 2.2.
Gambar 2.3. Sistem Arsitektur Aplikasi Native Interface (Leap Motion, 2017)
Penjelasan dari Gambar 2.2 dimulai dari tahap pertama dimana leap motion service menerima data dari Leap Motion Controller melalui USB. Data tersebut diproses dan dikirimkan kembali ke aplikasi yang menggunakan Leap Motion Controller. Pada dasarnya, data hasil dari pengamatan Leap Motion Controller dikirimkan ke aplikasi foreground. Data tersebut juga dapat diterima aplikasi background.
Selanjutnya pada tahap kedua aplikasi Leap Motion berjalan terpisah sehingga dari Leap Service sehingga memungkinkan komputer pengguna untuk mengatur instalasi Leap Motion yang digunakan.
Pada tahap ketiga aplikasi foreground menerima data pengamatan gerakan dari Leap Service. Semua aplikasi yang menggunakan Leap Motion Controller dapat terhubung ke Leap Motion service menggunakan library asli Leap Motion. Ketika aplikasi yang menggunakan Leap Motion Controller kehilangan fokus, Leap Motion service akan berhenti memberikan informasi gerakan tangan dan jari yang telah diamati ke Leap Motion Controller. Sementara aplikasi background dapat terus
menerima data tersebut meskipun tidak sedang dalam fokus atatu bekerja di background.
Pada WebSocket Interface dapat diakses menggunakan domain localhost port 6437. Data pengamatan gerakan yang diberikan oleh WebSocket Interface berupa pesan JSON. Untuk mengambil pesan JSON digunakan client library JavaScript yang telah disediakan serta client library JavaScript juga menyajikan data pengamatan objek seperti JavaScript pada umumnya. Adapun sistem arsitektur WebSocket Interface dapat dilihat pada Gambar 2.3.
Gambar 2.4. Sistem Arsitektur WebSocket Interface (Leap Motion, 2017)
Penjelasan dari Gambar 2.3 dimulai dari tahap pertama dimana Server WebSocket yang didukung oleh Leap Motion service adalah http://127.0.0.1:6437.
Pengaktifan server WebSocket dapat diaktifkan melalui panel kendali Leap Motion oleh user. Panel kendali juga dapat mematikan server WebSocket.
Selanjutnya pada tahap kedua server WebSocket mengirim data pengamatan gerakan tangan dan jari dalam bentuk pesan JSON. Pengaturan dapat dilakukan kembali dari aplikasi dengan cara mengirim pesan pengaturan ke server.
Tahap ketiga, pada aplikasi web harus menggunakan klien library JavaScript, leap.js. Library tersebut akan membangun koneksi ke server dan menggunakan pesan JSON. WebSocket Interface ini ditujukan terutama untuk aplikasi Leap Motion pada web.
2.4.3 Hand Class
Kelas Hand bertindak untuk menerima data gerakan tangan yang diamati oleh Leap Motion Controller pada setiap frame ketika program dijalankan. Dengan adanya kelas hand ini Leap Motion Controller dapat membedakan tangan kiri dan tangan kanan.
Adapun properti pada kelas Hand yang digunakan mengatur kekuatan genggaman tangan, properti tersebut dinamakan dengan GrabStrength. Pada properti GrabStrength kekuatan genggaman tangan ditentukan dengan nilai 0.0 sampai 1.0, dimana nilai 0.0 menunjukan tangan melepas genggaman dan nilai 1.0 menunjukan tangan menggenggam. Untuk lebih jelasnya properti GrabStrength dapat dilihat pada Gambar 2.3 dan Gambar 2.4.
Gambar 2.5. GrabStrength 0.0 (Leap Motion, 2017)
Gambar 2.6. GrabStrength 1.0 (Leap Motion, 2017)
2.5. Penelitian Terdahulu
Beberapa penelitian terdahulu yang menjadi sumber refrensi penelitian ini adalah penelitian Ovy Rizky pada tahun 2015 yang membangun aplikasi permainan tradsional bekel berbasis android yang menggunakan metode gerak jatuh bebas sebagai metode gerak pada bola dan menggunakan fungsi random untuk mengacak biji pada permainan bekel.
Pada tahun 2015, Farhan Luthfi membangun aplikasi anatomi manusia berdimensi tiga dengan menggunakan Leap Motion Controller. Pada penelitiannya menerapkan teknologi Leap Motion Controller sebagai alat bantu menampilkan anatomi tubuh manusia. Gerakan tangan dibaca oleh leap motion untuk memutar, memegang, menggeser objek anatomi manusia dan menampilkan nama dari bagian- bagian anatomi manusia.
Pada tahun 2014, Ok-Hue Cho Membangun Aplikasi permainan untuk anak dengan menggunakan Leap Motion Controller berbasis tarian lebah madu. Pada permainan ini pemain mengikuti gerakan tarian lebah berdasarkan garis-garis yang terdpat pada antarmuka permainan dengan menggunakan gerakan tangan pemain di atas Leap Motion Controller. Gerakan tangan yang dilakukan pada permainan ini bagus untuk perkembangan otak anak.
Pada tahun 2015, Martin Ebner dan Norbert Spot Membangun aplikasi permainan berbasi pembelajaran pada anak dengan menggunakan Leap Motion Controller. Aplikasi permainan tersebut menerapkan pelajaran matematika sekolah dasar yang akan digabungkan dengan alur permainan pada permainan. Soal akan ditampilkan ketika pemain menemukan sebuah kasus pada permainan. Pemain akan menjawab soal dengan cara menggerakan tangannya di atas Leap Motion Controller pada benda yang terdapat jawaban dari soal tersebut.
Tabel 2.2. Penelitan Terdahulu
NO Judul Penelitian Nama Peneliti Keterangan 1 Game Adaptasi
Bekel Berbasis Android
Ovy Rizky Fahrani (2015)
Menerapkan gerak jatuh bebas pada bola dan fungsi random pada biji pada permainan bekel berbasi android. hasil yang didapat antara lain gerak bola telah berfungsi serta fungsi random biji
2 Anatomi Manusia Berdimensi Tiga Menggunakan Leap Motion Controller
Farhan Luthfi N.
(2015)
Menerapkan alat Leap Motion Controller sebagai alat bantu menampilkan anatomi tubuh manusia. Hasil dari penggunaan alat Leap Motion Controller pada anatomi manusia sangat interaktif.
3 Development of Serious Game for Kids using Leap Motion based on Honey Bee Dance
Ok-Hue Cho (2014) Gerakan tangan yang mengikuti tarian madu pada permainan ini bagus untuk perkembangan otak anak.
4 Game-Based
Learning with the
Leap Motion
Controller
Martin Ebner &
Norbert Spot (2015)
Mengembangkan fungsi dari Leap Motion Controller dengan membangun prototipe permainan berbasis pembelajaran pada anak sekolah dasar
ANALISIS DAN PERANCANGAN SISTEM
Bab ini membahas penerapan alat Leap Motion Controller pada aplikasi permainan tradisional bekel dan perancangan konsep permainan bekel sebagai persiapan awal sebelum implementasi sistem. Bab ini juga membahas arsitektur umum dari sistem yang akan dibangun.
3.1. Arsitektur Umum
Rangkaian langkah yang dilakukan pada perancangan aplikasi permainan bekel akan digambarkan pada arsitektur umum. Rangkain langkah tersebut dimulai dari user interface sebagai antarmuka pada layar device, dilanjutkan dengan leap motion system sebagai pengamatan gerakan tangan dan jari oleh Leap Motion Controller, object data model sebagai pengeksekusi gerak bola dan pengacakan posisi biji pada arena permainan yang ditampilkan pada layar, game logic yang menentukan alur permainan, dan database yang telah terkoneksi pada komputer sebagai penyimpan hasil skor pada permainan ketika permainan berakhir. Keseluruhan proses perancangan aplikasi akan ditampilkan pada user interface. Ada pun arsitektur umum permainan dapat dilihat pada Gambar 3.1.
Gambar 3.1. Arsitektur Umum Aplikasi Permainan Bekel
3.2. Leap Motion Sensor Gerakan Tangan
Alat Leap Motion Controller berguna sebagai sensor yang mengamati gerakan tangan ketika tangan diletakan diatas Alat Leap Motion. Gerakannya diamati dan ditampilkan
pada antarmuka dalam bentuk objek berdimensi tiga. Data dari gerakan-gerakan tangan tersebut akan di proses pada leap motion service lalu akan dikirimkan ke aplikasi Unity. Data-data tersebut akan diterima oleh Unity dan menjalankannya sesuai dengan kodenya masing-masing. Ada pun gerakan menggenggam bola yang akan digunakan pada permainan bekel pada objek tangan untuk menggenggam bola.
3.2.1. Gerakan Menggenggam Bola
Untuk menggenggam bola awalnya posisi tangan pemain diletakkan diatas alat Leap Motion Controller agar tampilan model tangan pada antarmuka permainan terilihat.
Selanjutnya arahkan tangan mendekati bola yang posisinya di lantai. Lakukan gerakan menggenggam pada bola agar bola lengket di tangan. Gerakan Menggenggam ini menggunakan properti GrabStrength dari kelas Hand. Bola dapat digenggam dengan jari dan telapak tangan atau hanya digenggam dengan jari saja.
3.3. Analisis Object Data Model Bola dan Biji
Pada bab sebelumnya telah dijelaskan bagaimana dasar koefisien restitusi tumbukan dan fungsi random. koefisien restitusi tumbukan akan diterapkan sebagai metode pantulan pada objek bola ke objek lantai dan tangan. Awalnya bola akan diberi kecepatan maksimum dan minimum ketika bola berada di udara. Lalu bola diberikan koefisien restitusi yang sudah ditentukan sebagai tingkat kelentingan pantulan bola.
Ketika bola telah mencapai ketinggian maksimal maka bola akan terjatuh ke lantai atau ke tangan fungsi tumbukan berperan untuk menetukan jenis tumbukan pada lantai dan tangan. Jenis tumbukan yang digunakan yaitu jenis tumbukan lenting sebagian dan tumbukan tidak lenting sama sekali. Jenis tumbukan lenting sebagian akan diterapkan ketika bola jatuh ke lantai sedangkan jenis tumbukan tidak lenting akan diterapkan ketika bola jatuh ke tangan.
Pada fungsi random akan diterapkan pada biji sebagai pengacak posisi biji sehingga biji akan muncul dalam posisi acak pada setiap permainan.
3.3.1 Deskripsi Logika Pantulan Objek Bola Menggunakan Koefisien Restitusi Pada engine Unity terdapat engine yang dapat melakukan simulasi objek fisik seperti bola memantul engine tersebut disebut dengan engine physic. Prinsip kerjanya, engine physic akan melakukan spesifikasi gaya terhadap objek berdasarkan input user dalam setiap perulangan. Sehingga, output yang ditimbulkan adalah hasil komputasi dari engine physic. Pada aplikasi permainan ini objek bola diberi engine physic berupa pantulan bola. Pantulan bola akan diinput nilai koefisien restitusi sehingga bola dapat memantul dari kecepatan bola ketika bola jatuh.
Penerapan logika pantulan objek bola menggunakan koefisien restitusi tumbukan adalah sebagai berikut :
1. Bola berada di posisi lantai pada awalnya.
2. Bola digenggam lalu dilemparkan ke atas dengan batas kecepatan maksimum dan minimum yang sudah ditentukan
3. Jika bola telah mencapai puncak ketinggian bola maka bola akan diberikan gravitasi sehingga bola jatuh dengan batas kecepatan maksimum dan minimum yang sudah ditentukan
4. Jika bola jatuh ke lantai maka bola akan diberikan koefisien restitusi dengan
𝑒
pada lantai.5. Jika bola jatuh ke tangan maka bola akan diberikan koefisien restitusi
𝑒
padalantai.
Pada perancangan aplikasi permainan ini, layar yang digunakan adalah layar berdimensi 3. Layar berdimensi 3 pada umumnya memeliki 3 sumbu koordinat(x,y,z) dimana x sebagai lebar, y sebagai tinggi, z sebagai panjang. Pada aplikasi permainan ini pergerakan bola hanya dapat bergerak ke atas dan ke bawah. Pergerakan pada koordinat x dan z dikunci sehingga bola hanya dapat bergerak ke koordinat y.
Dalam deskripsi logika pantulan objek bola pada apilkasi permainan bekel, terdapat 2 objek yaitu objek lantai dan tangan sebagai pemicu apakah bola memantul atau tidak. Kedua objek tersebut diberikan nilai koefisien restitusi. Sehingga jika bola menyentuh lantai maka nilai koefisien restitusi berupa nilai tumbukan lenting sebagian
yang mengakibatkan bola memantul namun pada setiap pantulan ketinggan maksimum yang dicapai bola akan berukurang. Jika bola menyentuh tangan maka nilai koefisien restitusi berupa nilai tumbukan tidak lenting sama sekali yang mengakibatkan bola tidak dapat memantul di tangan.
Ada pun pseudocode yang didapat dari metode yang dijabarkan diatas adalah.
_______________________________________________________________
begin
float maxSpeed = 20.0;
float minSpeed = -20.0;
float highBall = 0.0;
int gravityBall;
float bounce;
if (ball = grab) { if(ball = throw){
gravityBall = 1;
if(ballReturn == false){
if (speedBall == maxSpeed){
highBall++;
}
else if (speedBall == minSpedd){
highBall++;
}
else{
ballReturn = true;
highBall--;
} }
if(ballReturn == true){
if (ballReturn == Floor){
bounce = 0.9;
}
else if (ballReturn == Hand){
bounce = 0.0;
} } } }
end__________________________________________________________________
3.3.2. Deskripsi Acak Biji
Pada permainan tradisional bekel biji akan disebar saat bola telah dilempar. Biji akan tersebar dengan posisi acak. Pada aplikasi permainan bekel ini posisi biji akan dibuat acak sebagai variasi dari permainan. Variabel koordinat merupakan tipe array dengan panjang 3 sehingga ada 3 kemungkinan biji muncul pada koordinat yang telah ditentukan. Setiap nilai pada koordinat(x,y,z) akan diberikan nilai yang berbeda. Oleh karena itu digunakan fungsi Random.range untuk mengacak list array dari terkecil hingga terbesar. Hal ini dilakukan agar biji yang ditampilkan tidak berada di posisi yang sama.
Ada pun psuedecode dari fungsi random pada biji adalah sebagai berikut : _______________________________________________________________
begin
Position Sebagai koordinat posisi
randomPosition Sebagai pengacak posisi pada jumlah array Vector3[] Position = new Vector3[3]
start(){
posisi[0] = value(x), Value(y), Value(z);
posisi[1] = value(x), Value(y), Value(z);
posisi[2] = value(x), Value(y), Value(z);
randomPosition = Random.Range(0,3);
showPosition = posisi[randomPosition];
}
end____________________________________________________________
3.4. Game Logic
Logika permainan dibuat berdasarkan alur dasar permainan bekel. Pada logika permainan aplikasi permainan bekel menggunakan fungsi pengecekan item pada tiap tahap permainan untuk memutuskan kegiatan pemain selama permainan berlangsung.
Penjelasan lebih detail mengenai logika permainan dapat dilihat pada sub-bab sebagai berikut.
3.4.1. Alur Dasar Permainan
Pada aplikasi permainan bekel alur permainan dimulai dengan memilih tingkat kesulitan lalu dilanjutkan dengan pemilihan biji. Selanjutnya aplikasi akan menampilkan pada layar arena permainan sesuai dengan tingkat kesulitan dan pemilihan biji yang telah dipilih sebelumnya. Untuk memulai permainan dimulai dengan pemain mengambil bola dengan cara menggenggam bola lalu bola dilemparkan ke atas. Ketika bola dilemparkan ke atas biji akan muncul dengan posisi acak di lantai. Biji harus diambil sesuai dengan tingkatan pengambilan lalu menangkap bola atau biji dapat diambil seluruh biji sekaligus lalu menangkap bola.
Jika biji diambil sesuai dengan tingkat pengambilan maka skor bertambah. Jika biji diambil tidak sesuai dengan tingkat pengambilan, ketika bola ditangkap nyawa akan berkurang. Jika bola tidak ditangkat melebihi dari 1 pantulan nyawa akan berukrang.
Ada pun psuedocode dari alur permainan adalah sebagai berikut :
_______________________________________________________________
if(ballThrow){
random(biji);
sisaBiji = totalBiji - bijiDiambil;
if(bijiDiambil == pengambilan) { if(ballCatch){
skor++;
} }
else if(bijiSisa < pengambilan){
if(ballCatch){
skor++;
} } else{
nyawa--;
}
if(pantulanBola > 1){
nyawa--;
}
if(nyawa == 0){
permainan = GameOver;
}
if(bijiDiambil == totalBiji){
pengambilan++
}
}______________________________________________________________
3.4.2. Pengecekan Item
Pada permainan aplikasi bekel fungsi pengecekan item digunakan sebagai trigger pada item-item permainan yang saling berkaitan dalam hal ini pantulan bola, jumlah biji di lantai, jumlah biji yang diambil dan jumlah nyawa yang tersedia. Fungsi akan dijalankan ketika bola dilempar ke atas hingga biji muncul dilantai.
Pada pengecekan item digunakan struktru if-else dan else-if yang memiliki fungsi untuk mengeksekusi pernyataan jika salah satu ekspresi memberikan nilai benar dan juga memberikan alternatif lain jika ekspresi memberikan nilai yang salah.
Pengecekan item merupakan aturan yang menetukan berhasil atau gagalnya pemain pada permainan. Struktur keputusan if-else dan else-if yang meliputi aturan dasar pemainan bekel dapat dilihat sebagai berikut :
1. Jika jumlah biji yang diambil sesuai dengan tingkat pengambilan maka skor bertambah. Jika tidak nyawa berkurang.
2. Jika bola memantul lebih dari 1 kali maka nyawa berkurang. Jika tidak permainan berlanjut.
3. Jika nyawa habis maka permainan berakhir. Jika tidak permainan berlanjut;
4. Jika jumlah biji diambil sama banyaknya dengan jumlah biji yang digunakan maka permainan berhasil. Jika tidak tingkat pengambilan bertambah.
Sedangkan pada struktur else-if memiliki fungsi untuk menentukan naik atau tidaknya tingkat permainan. Alur permainan bekel menjadi dasar dari struktur else-if ketika mengambil biji. Pertama biji diambil satu persatu sampai habis. Selanjutnya diambil dua dua, tiga tiga dan seterusnya hingga dilakukan pengambilan sekaligus sesuai dengan jumlah biji yang digunakan. Biji juga dapat diambil sekaligus sesuai dengang jumlah biji yang digunakan pada tiap tingkat permainan. Jika biji tidak diambil sesuai dengan tingkat pengambilan maka nyawa pemain akan berkurang.
Proses pengecekan item dipengaruhi juga oleh tingkat kesulitan yang dipilih karena jumlah biji yang digunakan akan berbeda pada tiap tingkat kesulitan.
Perancangan tingkat kesulitan dapat dilihat pada sub-bab 3.4.3 sebagai berikut.
3.4.3. Perancangan Tingkat Kesulitan Aplikasi Permainan
Pada tingkat kesulitan aplikasi permainan bekel dirancangang berdasarkan jumlah biji pada permainan. Semakin sulit permainan maka semakin banyak jumlah biji yang digunakan serta tingkat level pada permainan juga akan bertambah. Pada aplikasi permainan bekel terdapat 3 jenis tingkat kesulitan. Untuk penjelasa yang lebih jelas dapat dilihat pada tabel 3.1.
Tabel 3.1. Tingkat Kesulitan Permainan
Tingkat Kesulitan Jumlah Biji Jumlah Level
MUDAH 6 6
SEDANG 8 8
SUSAH 10 10
Pada tiap pengambilan sebuah biji penulis memberikan nilai 10 pada skor untuk semua jenis tingkat kesulitan.
3.5. Database
Pada permainan data yang disimpan pada database berupa jumlah skor yang didapat dan tingkatan level yang dicapai serta waktu ketika data disimpan dan nomor id sesuai dengan isi tabel pada database. Data yang disimpan pada database dapat dilihat di menu papan skor pada permainan. Penjelasan pada penyimpanan dan perancangan skor dapat dilihat pada sub-bab berikut.
3.5.1. Penyimpanan Database Skor
Data yang disimpan dari permainan dalam database adalah data skor dan level. Data dibaca dan disimpan pada database dengan menggunakan koneksi string dimana koneksi tersebut akan dihubungkan dengan file database berada. Tipe file pada
database merupakan .sqlite file yang disimpan pada folder data permainan. Lokasi file
berada pada /Skripsi/Bekel/Bekel_Data/.
Pada penyimpanan skor, skor dan level yang disimpan ke database hanya skor tertinggi. Skor dan Level disimpan ketika permainan berakhir. Sedangkan pada pembacaan, aplikasi akan membaca data yang telah disimpan saat proses inisialisasi data ke variabel penampungan. Jika ditemukan maka isi file akan disimpan ke variabel penampungan untuk dapat ditampilkan akan tetapi jika tidak ditemukan maka variabel akan diisi dengan nilai default.
3.5.2. Perancangan Database Skor
Pada aplikasi permainan skor yang disimpan ke database hanya 5 skor tertinggi pada masing-masing tingkat kesulitan permainan. Tempat penyimpanan skor terdiri dari 3 tabel pada database dimana pada tabel 1 merupakan tabel untuk skor tingkat kesulitan mudah, tabel 2 merupakan tabel untuk skor tingkat kesulitan sedang, dan tabel 3 merupakan tabel untuk skor tingkat kesulitan susah. Tiap tabel berisi 4 kolom, isi kolom tersebut dapat dilihat pada gambar 3.2.
Gambar 3.2. Kolom Tabel
Penjelasan dari gambar 3.2 dapat dilihat pada uraian sebagai berikut :
1. Pada kolom dengan nama ID berisi data dengan tipe integer dengan nilai default null dan kolom ID dijadikan sebagai primary key. Kolom ID dibuat unik agar nilai yang terisi pada kolom tidak pernah sama 2. Pada kolom dengan nama Skor berisi data dengan tipe integer dengan
nilai default null. Kolom ini akan menyimpan data dari skor aplikasi permainan.
3. Pada Kolom dengan nama Babak berisi data dengan tipe integer dengan nilai default null. Kolom ini akan menyimpan data level permainan.
4. Pada Kolom dengan nama Date berisi data dengan tipe datetime dengan nilai default current_date. Kolom ini akan berisi tanggal pada waktu ketika data tersimpan ke database.
3.6. User Interface
Pada tahap ini merupakan tahap perancangan antarmuka pada aplikasi permainan bekel. Terdapat 6 antarmuka yang harus dirancang berdasarkan gambar 3.1. Berikut rancangan antarmuka halaman tersebut.
1. Menu
Tampilan antarmuka menu merupakan tampilan antarmuka ketika game dijalankan. Pada antarmuka ini akan terdapat pilihan bermain, membaca petunjuk permainan ataupun melihat skor. Rancangan antarmuka menu dapat dilihat pada Gambar 3.3.
Gambar 3.3. Rancangan Interface Menu
2. Tingkat Kesulitan
Halaman tingkat kesulitan adalah halaman dimana terdapat 3 tombol pilihan tingkat kesulitan pada permainan. Rancangan antarmuka tingkat kesulitan dapat dilihat pada gambar 3.4.
Gambar 3.4. Rancangan Interface Tingkat Kesulitan
3. Pilih Biji
Halaman pilih biji adalah halaman pemain melakukan pemilihan biji. Jenis biji yang digunakan pada permainan ini hanya 3 jenis yaitu biji bekel, biji kuwuk, dan tutup botol. Rancangan antarmuka pilih biji dapat dilihat pada gambar 3.5.
Gambar 3.5. Rancangan Interface Pilih Biji
4. Papan Skor
Halaman papan skor adalah halaman yang akan menampilkan skor tertinggi yang telah disimpan pada database. Rancangan antarmuka halaman papan skor dapat dilihat pada gambar 3.6.
Gambar 3.6. Rancangan Interface Papan Skor
5. Arena Permainan
Halaman arena permainan adalah halaman yang digunakan untuk memainkan permainan bekel. Rancangan antarmuka arena permainan dapat dilihat pada gambar 3.7.
Gambar 3.7. Rancangan Interface Arena Permainan
IMPLEMENTASI DAN PENGUJIAN
Bab ini membahas implementasi dan pengujian sistem sesuai dengan analisis perancangan sistem pada Bab 3. Penjelasan tentang implementasi sistem dilakukan untuk mengetahui hasil rancangan aplikasi dan pengujian aplikasi untuk membuktikan jika aplikasi dapat berjalan dengan baik.
4.1. Implementasi Sistem
Implementasi aplikasi permainan bekel menggunakan Leap Motion Controller yang dibuat dengan engine bernama Unity.
4.1.1 Konfigurasi Perangkat Keras
Dalam Pembuatan aplikasi permainan, dibutuhkan perangkat keras tertentu yang kompatibel sehingga sistem dapat dibangun sesuai dengan perancangan yang telah ditentukan. Spesifikasi perangkat keras yang digunakan untuk membangun sistem ini dapat dilihat pada Tabel 4.1.
Tabel 4.1 Spefikasi Perangkat Keras Yang Digunakan NO Jenis Komponen Komponen Yang Digunakan
1. Prosesor AMD A8-4500m APU with Radeon™ HD Graphic 1.90 GHz
2. Memory 4GB DDR3
3. Storage 500GB
4. Kartu Grafis AMD Radeon HD7640G + HD 7470M 5. Resolusi Layar 1366×768 pixel (14” Monitor)
6. Leap Motion Controller Leap Motion Controller Firmware revisiom 1.7.0
4.1.2 Konfigurasi Perangkat Lunak
Perangkat lunak yang digunakan pada implementasi dan pengujian penelitian ini dapat dilihat pada Tabel 4.2.
Tabel 4.2 Spefikasi Perangkat Lunak Yang Digunakan NO Jenis Perangkat Lunak Perangkat Lunak Yang Digunakan
1. Sistem Operasi Microsoft Windows 7 Ultimate 2. Game Engine Unity 5.3.5f1
3. Leap Motion SDK Leap Motion API 2.2.7+30199 4. Objek Model Tools Blender 2.72
4.2. Tampilan Aplikasi
Implementasi tampilan aplikasi pada perancangan antarmuka pengguna yang telah diterapkan pada sistem. Setiap tampilan akan dibahas bagaimana proses penggunaannya.
4.2.1 Tampilan Menu Utama
Tampilan menu utama merupakan tampilan awal pada aplikasi permainan. Sebelum permainan dijalankan.
a) Tampilan awal
Tampilan awal merupakan tampilan awal ketika user menjalankan aplikasi permainan.
b) Tampilan tingkat kesulitan
Tampilan tingkat kesulitan merupakan tampilan ketika user menakan tombol play pada tampilan awal. Tingkat kesulitan permainan akan ditentukan pada tampilan ini.
c) Tampilan pemilihan biji
Tampilan tingkat kesulitan merupakan tampilan ketika user memilih tingkat kesulitan permainan. Biji yang akan ditampilkan pada arena permainan akan ditentukan pada tampilan ini.
Gambar 4.1. Tampilan Menu Utama
4.2.2. Tampilan Papan Skor
Tampilan papan skor akan muncul jika menekan tombol Scoreboard pada tampilan awal. Tampailan tersebut terdapat tombol pilihan untuk melihat skor tertinggi pada tiap tingkat kesulitan dan juga terdapat tombol panah untuk kembali ke menu.
Tampilan papan skor dapat dilihat pada Gambar 4.2.
Gambar 4.2. Tampilan Papan Skor
4.2.3. Arena Permainan
Arena permainan muncul setelah tingkat kesulitan dan biji dipilih, tampilan tersebut menampilkan skor, level, nyawa, infoboard sebagai papan informasi untuk memberitahukan pengambilan biji pada tiap level, papan guide sebagai papan petunjuk untuk memberitahukan pemain tombol-tombol shortcut pada keyboard.
Objek bola, biji, dan tangan ditampilkan pada arena. Tampilan arena permainan dapat dilihat pada gambar 4.3.
Gambar 4.3. Tampilan Arena Permainan
Objek biji akan ditampilkan setelah bola dilempar. Untuk lebih jelasnya dapat dilihat pada gambar 4.4.
Gambar 4.4. Tampilan Objek Biji
4.2.4. Tampilan Animasi Game Over dan Animasi Berhasil
Tampilan animasi game over akan muncul ketika nyawa habis. Tampilan animasi game over dapat dilihat pada gambar 4.5.
a) Tampilan animasi game over ketika bola memantul lebih dari satu kali
Tampilan ini akan muncul apabila user kehabisan nyawa pada permainan dikarenakan user gagal menangkap bola dan bola memantul lebih dari dua kali.
b) Tampilan animasi game over ketika biji tidak diambil sesuai pengambilan Tampilan ini akan muncul apabila user kehabisan nyawa pada permainan dikarenakan user mengambil biji tidak sesuai dengan pengambilan biji.
Gambar 4.5. Tampilan Animasi Game Over
Tampilan animasi berhasil akan muncul ketika permainan berhasil diselesaikan.
Tampilan animasi berhasil dapat dilihat pada gambar 4.6.
Tampilan ini akan muncul apabila user telah menyelesaikan permainan pada tiap babak.
b) Tampilan animasi berhasil ketika seluruh babak telah diselesaikan
Tampilan ini akan muncul apabila user telah menyelesaikan seluruh babak permainan.
Gambar 4.6. Tampilan Animasi Berhasil
4.2.5. Gerakan Tangan
Untuk berinteraksi dengan objek-objek yang terdapat pada permainan dan tombol- tombol pada setiap tampilan menggunakan gerakan tangan yang diamati oleh Leap Motion Controller. Untuk lebih jelasnya dapat dilihat pada gambar 4.7.
a) Gerakan menggenggam bola
Gerakan menggenggam akan ditampilkan pada tampilan permainan apabila user melakukan gerakan menggenggam pada Leap Motion Controller.
b) Gerakan menangkap bola
Gerakan menangkap akan ditampilkan pada tampilan permainan apabila user melakukan gerakan menangkap dengan cara memutar telapak tangan menghadap ke atas pada Leap Motion Controller.
c) Gerakan mengambil biji
Gerakan mengambil biji akan ditampilkan pada tampilan permainan apabila user mengarahkan tangan pada Leap Motion Controller ke biji yang ada pada tampilan permainan.
d) Gerakan menekan tombol
Gerakan menekan tombol akan ditampilkan pada tampilan permainan apabila user mengarahkan tangan pada Leap Motion Controller ke tombol yang ada pada tampilan permainan.
Gambar 4.7. Gerakan Tangan
4.2.6. Tampilan Shortcut
Pada arena permain terdapat papan guide yang memberikan petunjuk untuk memunculkan tombol shortcut pada keyboard. Adapun tampilan yang ditampilakan dari shortcut tersebut dapat dilihat pada gambar 4.8.
a) Tampilan pause shortcut ESC
Tampilan shortcut ESC akan muncul apabila user menekan tombol ESC pada keyboard. Tampilan ini digunakan untuk memberitahukan user bahwa permainan sedang berhenti.
b) Tampilan mengulang permainan shortcut R
Tampilan shortcut R akan muncul apabila user menekan tombol R pada keyboard.
Tampilan ini digunakan untuk memberitahukan user apabila user ingin mengulangi permainan.
c) Tampilan kembali ke menu shortcut B
Tampilan shortcut B akan muncul apabila user menekan tombol B pada keyboard.
Tampilan ini digunakan untuk memberitahukan user apabila user ingin kembali ke tampilan menu awal permainan.
Gambar 4.8. Tampilan Shortcut
4.3. Pengujian Sistem
Pengujian sistem dilakukan untuk menguji komponen-komponen yang telah dirancang dan diimplementasikan ke dalam sistem dengan menggunakan metode black box.
Pengujian ini bertujuan untuk memeriksa apakah aplikasi berjalan dengan baik sesuai pada tahap perancangan.
Pada Tabel 4.3 ditampilkan rencana pengujian yang menggunakan teknik black box.
Tabel 4.3 Rencana Pengujian
No Komponen Sistem Yang Diuji Butir Uji 1 Tampilan Menu Utama Pengujian tampilan dan tombol 2 Tampilan Papan Skor Pengujian tampilan dan tombol
3 Tampilan Gerakan Tangan Pengujian tampilan gerakan tangan pada permainan
4 Logika Permainan Pengujian logika yang diterapkan pada permainan
5 Tampilan Objek permainan Pengujian tampilan metode yang telah diterapkan pada objek permainan.
6 Tampilan Animasi Pengujian tampilan dan tombol 7 Tampilan Shortcut Pengujian tampilan dan tombol
Hasil pengujian dari tabel 4.1 adalah sebagai berikut:
1. Tampilan Menu Utama
Tabel 4.4 Hasil Pengujian Tampilan Menu Utama No Target Pengujian Hasil Yang
Diharpkan
Hasil Pengujian Status 1 Uji Tampilan Menu
Utama
Menampilkan tombol- tombol menu utama
Menampilkan tombol- tombol menu utama
Berhasil
2 Uji Pemilihan Tombol Play
Menampilkan tombol- tombol tingkat
kesulitan
Menampilkan tombol- tombol tingkat
kesulitan
Berhasil
3 Uji Pemilihan Tombol Tingkat Kesulitan
Menampilkan tombol- tombol pemilihan biji
Menampilkan tombol- tombol pemilihan biji
Berhasil
4 Uji Pemilihan Tombol Pemilihan Biji
Menampilkan biji yang dipilih dengan jumlah sesuai tingkat kesulitan yang dipilih
Menampilkan biji yang dipilih dengan jumlah sesuai tingkat kesulitan yang dipilih
Berhasil
Tabel 4.4 Hasil Pengujian Tampilan Menu Utama (lanjutan) No Target Pengujian Hasil Yang
Diharpkan
Hasil Pengujian Status 5 Uji Pemilihan
Tombol Scoreboard
Menampilkan tombol- tombol dan 5 skor terbaik
Menampilkan tombol- tombol dan 5 skor terbaik
Berhasil
6 Uji Pemilihan Tombol Exit
Keluar dari aplikasi Keluar dari aplikasi Berhasil
2. Tampilan Papan Skor
Tabel 4.5 Hasil Pengujian Tampilan Papan Skor No Target Pengujian Hasil Yang
Diharapkan
Hasil Pengujian Status 1 Uji Tampilan
Papan Skor
Menampilkan 5 skor terbaik yang telah tersimpan di database dan tombol-tombol pada tampilan papan skor
Menampilkan 5 skor terbaik yang telah tersimpan di database dan tombol-tombol pada tampilan papan skor
Berhasil
2 Uji Pemilihan Tombol Easy
Menampilkan 5 Skor terbaik pada tingkat kesulitan easy dari database
Menampilkan 5 Skor terbaik pada tingkat kesulitan easy dari database
Berhasil
3 Uji Pemilihan Tombol Normal
Menampilkan 5 Skor terbaik pada tingkat kesulitan normal dari database
Menampilkan 5 Skor terbaik pada tingkat kesulitan normal dari database
Berhasil
4 Uji Pemilihan Tombol Hard
Menampilkan 5 Skor terbaik pada tingkat kesulitan hard dari database
Menampilkan 5 Skor terbaik pada tingkat kesulitan hard dari database
Berhasil
Tabel 4.5 Hasil Pengujian Tampilan Papan Skor (lanjutan) No Target Pengujian Hasil Yang
Diharapkan
Hasil Pengujian Status 5 Uji Pemilihan
Tombol Back
Menampilkan kembali tampilan menu utama
Menampilkan kembali tampilan menu utama
Berhasil
3. Tampilan Gerakan Tangan
Tabel 4.6 Hasil Pengujian Gerakan Tangan No Target Pengujian Hasil Yang
Diharapkan
Hasil Pengujian Status 1 Uji Tampilan
Gerakan Menggenggam
Gerakan tangan menggenngam ditampilkan ke antarmuka sehingga bola dapat digenggam
Gerakan tangan menggenngam ditampilkan ke antarmuka sehingga bola dapat digenggam
Berhasil
2 Uji Tampilan Gerakan Menangkap
Gerakan membalikkan posisi telapak tangan ke atas dibaca ditampilkan ke antarmuka sehingga bola dapat ditangkap
Gerakan membalikkan posisi telapak tangan ke atas dibaca ditampilkan ke antarmuka sehingga bola dapat ditangkap
Berhasil
3 Uji Tampilan Gerakan
Mengambil Biji
Gerakan tangan bergerak ditampilkan ke antarmuka dan menghilangkan biji ketika disentuh tangan
Gerakan tangan bergerak ditampilkan ke antarmuka dan menghilangkan biji ketika disentuh tangan
Berhasil
4 Uji Tampilan Gerakan Menekan Tombol
Gerakan tangan bergerak ditampilkan ke antarmuka dan menampilkan
tampilan dari tombol yang ditekan
Gerakan tangan bergerak ditampilkan ke antarmuka dan menampilkan
tampilan dari tombol yang ditekan
Berhasil
4. Logika Permainan
Tabel 4.7 Hasil Pengujian Logika Permainan No Target Pengujian Hasil Yang
Diharapkan
Hasil Pengujian Status 1 Uji Logika
Mengambil Biji Sesuai Dengan Pengambilan
Tampilan nilai pada antar muka score bertambah dan life tidak berkurang
Tampilan nilai pada antar muka score bertambah dan life tidak berkurang
Berhasil
2 Uji Logika Mengambil Biji Tidak sesuai Dengan Pengambilan
Tampilan nilai pada antar muka score bertambah dan life berkurang
Tampilan nilai pada antar muka score bertambah dan life berkurang
Berhasil
3 Uji Logika Bola Memantul Lebih Dari Satu Kali
Tampilan nyawa pada antarmuka life akan berkurang
Tampilan nyawa pada antarmuka life akan berkurang
Berhasil
5. Tampilan Objek permainan
Tabel 4.8 Hasil Pengujian Tampilan Objek Permainan No Target Pengujian Hasil Yang
Diharapkan
Hasil Pengujian Status 1 Uji Tampilan
Pantulan Bola Ke Lantai
Bola yang ditampilkan pada antarmuka akan terlihat memantul jika bola jatuh ke lantai
Bola yang ditampilkan pada antarmuka akan terlihat memantul jika bola jatuh ke lantai
Berhasil
2 Uji Tampilan Pantulan Bola Ke Tangan
Bola yang ditampilkan pada antarmuka akan terlihat tidak
memantul jika bola jatuh ke tangan
Bola yang ditampilkan pada antarmuka akan terlihat tidak
memantul jika bola jatuh ke tangan
Berhasil
3 Uji Tampilan Pengacakan Biji
Biji akan ditampilkan dengan posisi acak
Biji akan ditampilkan dengan posisi acak
Berhasil