• Tidak ada hasil yang ditemukan

SKRIPSI RIYANDO HIDAYAT HASIBUAN

N/A
N/A
Protected

Academic year: 2022

Membagikan "SKRIPSI RIYANDO HIDAYAT HASIBUAN"

Copied!
67
0
0

Teks penuh

(1)

SKRIPSI

RIYANDO HIDAYAT HASIBUAN 101402038

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKLULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

2017

(2)

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

(3)

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

(4)

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

(5)

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.

(6)

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.

(7)

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.

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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.

(13)

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.

(14)

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.

(15)

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.

(16)

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.

(17)

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.

(18)

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.

(19)

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).

(20)

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

(21)

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).

(22)

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.

(23)

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

(24)

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.

(25)

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.

(26)

Gambar 2.5. GrabStrength 0.0 (Leap Motion, 2017)

Gambar 2.6. GrabStrength 1.0 (Leap Motion, 2017)

(27)

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.

(28)

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

(29)

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.

(30)

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

(31)

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.

(32)

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

𝑒

pada

lantai.

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

(33)

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__________________________________________________________________

(34)

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.

(35)

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++

}

}______________________________________________________________

(36)

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.

(37)

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

(38)

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.

(39)

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

(40)

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

(41)

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

(42)

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.

(43)

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.

(44)

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.

(45)

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.

(46)

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

(47)

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

(48)

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.

(49)

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.

(50)

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.

(51)

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

(52)

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

(53)

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.

(54)

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

(55)

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

(56)

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

(57)

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

Gambar

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
Gambar 2.3. Sistem Arsitektur Aplikasi Native Interface (Leap Motion, 2017)
Gambar 2.4. Sistem Arsitektur WebSocket Interface (Leap Motion, 2017)
Gambar 3.1. Arsitektur Umum Aplikasi Permainan Bekel
+7

Referensi

Garis besar

Dokumen terkait

memimpin Kecamatan Tigabinanga seperti tertera pada tabel 2.2 di bawah ini.. Tabel 2.2

dengan judul “ Perilaku Politik Pemilih Pemula Pada Pemilihan Gubernur Sumatera Utara Tahun 2013 (Studi Kasus Di Kecamatan Tigabinanga Kabupaten Karo) ”.. Penulisan skripsi

RAKER ini juga dilaksanakan untuk mengkoordinasikan dan mensinergikan program pembangunan sektor perdagangan tahun 2009 antara pusat dan daerah dalam rangka “merampungkan”

Selain itu perbedaan hasil mungkin juga disebabkan oleh perbedaan jenis usaha perusahaan yang dijadikan sampel dalam penelitian, penelitian ini menggunakan sampel

Mahkamah Konstitusi (MK) memiliki kewenangan konstitusi untuk menguji peraturan perundang-undangan terhadap UUD Negara Republik Indonesia Tahun 1945 “ judicial

Implemenatasi program generasi berencana pada remaja sekolah melalui wadah PIK-R masih kurang berhasil dikarenakan kurangnya komunikasi, pengetahuan sumber daya manusia

Alhamdulillah, puji syukur yang tak terhingga atas rahmat dan berkah dari Tuhan semesta alam Allah SWT yang telah meridhoi penulis sehingga dapatmenyelesaikan