IMPLEMENTASI LINGKUNGAN REALITAS MAYA DENGAN MENGGUNAKAN CAVE AUTOMATED VIRTUAL ENVIRONMENT (CAVE)

Gratis

0
0
83
9 months ago
Preview
Full text

  erlu

  TUGAS AKHIR – KI141502

  

IMPLEMENTASI LINGKUNGAN REALITAS MAYA

DENGAN MENGGUNAKAN CAVE AUTOMATED

  VIRTUAL ENVIRONMENT (CAVE) AHMAD RIDWAN FAUZI NRP 5112100099 Dosen Pembimbing Imam Kuswardayan, S. Kom, MT. Dr. Darlis Herumurti, S.Kom, M.Kom. JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INFORMASI

INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA 2016

  (Halaman ini sengaja dikosongkan)

  TUGAS AKHIR – KI141502

  

IMPLEMENTASI LINGKUNGAN REALITAS MAYA

DENGAN MENGGUNAKAN CAVE AUTOMATED

  VIRTUAL ENVIRONMENT (CAVE) AHMAD RIDWAN FAUZI NRP 5112100099 Dosen Pembimbing Imam Kuswardayan, S. Kom, MT. Dr. Darlis Herumurti, S.Kom, M.Kom. JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INFORMASI

INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA 2016

  

(Halaman ini sengaja dikosongkan)

  FINAL PROJECT– KI141502

VIRTUAL REALITY ENVIRONMENT

  VIRTUAL ENVIRONMENT (CAVE) AHMAD RIDWAN FAUZI NRP 5112100099 Advisor Imam Kuswardayan, S. Kom, MT. Dr. Darlis Herumurti, S.Kom, M.Kom. DEPARTMENT OF INFORMATICS FACULTY OF INFORMATION TECHNOLOGY SEPULUH NOPEMBER INSTITUTE OF TECHNOLOGY SURABAYA

  

(Halaman ini sengaja dikosongkan)

  

(Halaman ini sengaja dikosongkan)

  

IMPLEMENTASI LINGKUNGAN REALITAS MAYA

DENGAN MENGGUNAKAN CAVE AUTOMATED

VIRTUAL ENVIRONMENT (CAVE)

  Nama Mahasiswa : Ahmad Ridwan Fauzi NRP : 5112 100 099 Jurusan : Teknik Informatika FTIf-ITS Dosen Pembimbing I : Imam Kuswardayan, S. Kom, MT.

  Dosen Pembimbing II : Dr. Darlis Herumurti, S.Kom, M.Kom.

  ABSTRAK Realitas maya merupakan teknologi yang sedang umum

dibicarakan dewasa ini. Sering dijumpai pada permainan

komputer bahwa beberapa permainan komputer tersebut dalam

pengoperasiannya telah menggunakan realitas maya. Hal ini

ditujukan untuk menghadirkan sensasi lingkungan maya agar

bisa dirasakan seolah-olah nyata terjadi bagi penggunanya.

Untuk menghadirkan sensasi yang semakin nyata terasa,

diperlukan suatu perangkat yang mampu menghadirkan

lingkungan maya tersebut sehingga dapat terasa sangat nyata

dan seolah-olah terjadi bagi penggunanya.

  Penerapan perangkat CAVE ini sudah cukup umum di

beberapa negara, akan tetapi belum banyak dijumpai di

Indonesia. Harapannya perangkat CAVE ini dapat menghadirkan

lingkungan maya yang sensasinya terasa seolah-olah mendekati

lingkungan yang nyata. Selain itu, perangkat ini juga ditujukan

untuk kepentingan riset. Ini dikarenakan perangkat inilah yang

pada pengembangan selanjutnya menjadi masa depan yang baik

bagi dunia realitas maya. Sebagai tambahan, perangkat CAVE

ini juga diharapkan dapat memberikan nilai edukasi bagi

penggunanya dengan menghadirkan lingkungan maya dari

beberapa lansekap yang terkenal di Indonesia, sehingga

pengguna dapat merasakan sensasi ketika pengguna berada pada

lingkungan tersebut tanpa harus menghadiri tempat tersebut.

  Perangkat CAVE tersusun atas 4 komputer yang masing-

masing bertanggung jawab untuk menampilkan gambar pada 4

proyektor yang disusun berbentuk kubus. Penyusunan dengan

menggunakan bentuk kubus ditujukan agar perangkat ini dapat

menayangkan gambar yang sama dengan sisi pandang yang

berbeda. Untuk melakukan sinkronisasi gambar tersebut,

diperlukan penyiaran data antar komputer. Terdapat satu

komputer yang bertindak sebagai server dan sisanya sebagai

client. Komputer server berperan dalam mengatur interaksi

pengguna dalam menggerakkan dan memutar kamera yang ada

di aplikasi, dan menyiarkan data posisi dan rotasi kamera ke

seluruh komputer client, sedangkan komputer client berperan

untuk menerima data posisi dan rotasi kamera dari komputer

server agar sama, dan menampilkan gambar dengan sisi pandang

berbeda.

  Hasil pengujian dengan mensimulasikan perangkat ini

menggunakan monitor saja menunjukkan hasil yang kurang baik

dari segi penilaian tingkat imersif. Namun perangkat ini masih

memiliki potensi yang cukup baik apabila diuji dan diterapkan

dengan menggunakan komponen yang sesuai. Fungsi lainnya,

seperti interaksi pengguna dengan perangkat, rasa pusing yang

dialami, serta realisme yang disajikan oleh dua scene yang telah

disediakan menunjukkan hasil yang cukup baik.

  

Kata kunci: Virtual Reality, CAVE, Unity, Perangkat Realitas

Maya, Proyektor, Lingkungan

VIRTUAL REALITY ENVIRONMENT

IMPLEMENTATION USING CAVE AUTOMATED

  Student Name : Ahmad Ridwan Fauzi NRP : 5112 100 099 Major : Teknik Informatika FTIf-ITS Advisor I : Imam Kuswardayan, S. Kom, MT.

  Advisor II : Dr. Darlis Herumurti, S.Kom, M.Kom.

  

ABSTRACT

Virtual reality environment is becoming very popular

recently. Its implementation has been very well known used in

several video games and it becomes the core of the video games’

gameplay itself. This is mainly due to the fact that by

implementing the virtual environment, it will deliver the feeling as

if the user is integrated into the virtual world. In order to deliver

that realistic feeling, a device is needed to bring the virtual

environment so that it is very realistic and it feels as if the

interaction inside the virtual world can be realistically felt by the

user.

  The implementation of this device can be commonly found

in several countries, nonetheless in Indonesia it is still quite

uncommon. The expectation is that by implementing this device, it

can deliver the virtual environment in which the sensation can be

felt as if the user is in the real world. Besides, this device is

mainly for research. It is because this device, on the next

improvement, is the future of virtual reality. In addition, CAVE is

also expected to provide educational value to the user by

delivering the virtual environment from several famous

Indonesia’s landscapes, so that the user will experience the

sensation of visiting the place without actually coming to the

place directly.

  CAVE device is mainly composed of 4 PCs that are

responsible in projecting the generated image to the 4 projectors

placed in a room using a cube shape. The cube shape is chosen

due to the fact that this device needs to display the same picture

with different view side for each projector. To synchronize the

generated image, a broadcasting is needed among the PCs. One

PC is defined as server that acts as the broadcaster and the

manager of the interaction to move and to rotate the camera in

application, while the other PCs act as the receiver of the data

sent from server to synchronize the camera movement and

rotation, and the display that shows different view side.

  The result of the experiment by simulating the device

using only LCD monitor has proven a less satisfactory result in

terms of immersion. Nevertheless this device still has a promising

potential if it is tested and installed using the proper components.

The test of the other functionalities, such as user interaction,

dizziness level, and the realism created by the two provided

scenes, has shown a good result.

  

Keywords: Virtual Reality, CAVE, Unity, Virtual Reality Device,

Projector, Environment

KATA PENGANTAR

  Segala puji dan syukur kehadirat Allah Subhanahu wa Ta’ala yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan Tugas Akhir yang berjudul “Implementas Lingkungan Realitas Maya dengan Menggunakan CAVE Automated Virtual Environment.”

  Pengerjaan Tugas Akhir ini adalah untuk menerapkan seluruh ilmu yang telah didapat saat masa perkuliahan sejak penulis masuk ke jurusan Teknik Informatika ITS pada tahun 2012 khususnya. Penulis pun berharap hasil dari Tugas Akhir ini dapat dimanfaatkan oleh masyarakat secara luas.

  Dalam pelaksanaan dan pembuatan Tugas Akhir ini, penulis mendapatkan banyak bantuan dari berbagai pihak. Melalui lembar ini, penulis ingin menyampaikan ucapan terima kasih secara khusus kepada:

  1. Allah SWT atas limpahan rahmat dan rezeki-Nya sehingga penulis dapat menyelesaikan Tugas Akhir.

  2. Ayah penulis, Jauhari Tri Wasisto dan Ibu penulis, Trini Handayani, yang selalu memberikan banyak dukungan yang tidak bisa penulis sebutkan satu per satu.

  3. Bapak Imam Kuswardayan selaku dosen pembimbing tugas akhir pertama dan dosen wali yang telah memberikan banyak pengarahan, bimbingan, dan ilmunya selama penulis mengerjakan tugas akhir dan dalam masa perkuliahan.

  4. Bapak Darlis Herumurti selaku dosen pembimbing Tugas Akhir kedua dan Ketua Jurusan Teknik Informatika ITS yang telah memberikan apresiasi dan berbagi ilmu selama penulis mengerjakan Tugas Akhir.

  5. Bapak Radityo Anggoro selaku dosen koordinator Tugas Akhir yang telah membantu penulis atas segala sesuatu yang berkenaan dengan syarat-syarat dan terlaksananya sidang Tugas Akhir.

  6. Dosen-dosen Teknik Informatika yang dengan sabar mendidik dan memberikan pengalaman baru kepada penulis selama berkuliah di Teknik Informatika.

  7. Staf TU Teknik Informatika ITS yang senantiasa memudahkan segala urusan penulis di jurusan.

  8. Rekan-rekan dan pengelola Laboratorium Interaksi, Grafika, dan Seni yang telah fasilitas sehingga penulis dapat berdiskusi dengan peserta Tugas Akhir yang lainnya

  9. Rekan-rekan dan sahabat-sahabat penulis angkatan 2012 yang telah memberikan dorongan motivasi dan bantuan kepada penulis.

  10. Seluruh penguji yang terlibat dalam uji coba tugas akhir ini.

  Tanpa penguji, tugas akhir ini tidak akan dapat diselesaikan dan dikembangkan ke depannya.

  11. Seluruh pihak yang tidak bisa penulis sebutkan satu per satu dikarenakan banyaknya pihak yang terlibat dalam pengerjaan tugas akhir kali ini.

  Penulis memohon maaf apabila terdapat kekurangan, kesalahan maupun kelalaian dalam pengerjaan tugas akhir ini. Kritik dan saran yang membangun dapat disampaikan kepada penulis sebagai bahan perbaikan selanjutnya.

  Surabaya, Desember 2016 Penulis

  Ahmad Ridwan Fauzi

  

DAFTAR ISI

  

  

  

  

  

  

  

  

  

  

  

  

  

  LEMBAR PENGESAHAN.......................................................... v i KODE SUMBER........................................................................xix

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  5.3.3.1 Hasil Penilaian Tingkat Imersif Monitor................. 35

  5.3.3.2 Hasil Penilaian Tingkat Imersif Proyektor.............. 44

  5.3.3.3 Hasil Penilaian Tingkat Realisme Scene................. 45

  5.3.3.4 Hasil Penilaian Tingkat Rasa Pusing....................... 49

  5.3.3.5 Kekurangan dan Saran dari Penguji......................... 51

  

  

  

  

  

  

  

DAFTAR GAMBAR

Gambar 2.1 Sistem CAVE............................................................ 7Gambar 3.1 Scene Alam (Scene 1)............................................. 14Gambar 3.2 Scene Perkotaan (Scene 2)...................................... 14Gambar 3.3 Diagram Kasus Aplikasi..........................................15Gambar 3.4 Diagram Aktivitas Melakukan Eksplorasi pada

  

Gambar 3.5 Rancangan Instalasi Perangkat CAVE....................18Gambar 3.6 Peletakkan Monitor untuk Simulasi Perangkat

  

Gambar 5.1 3 Monitor yang Disusun Menyerupai Perangkat

  

Gambar 5.2 Smartphone yang Digunakan untuk Mendeteksi

  

Gambar 5.3 Grafik Penilaian Tingkat Imersif.............................40Gambar 5.4 Grafik Penilaian Pengalaman Akselerasi yang

  

Gambar 5.5 Grafik Penilaian Perbedaan Pengalaman Akselerasi

  

Gambar 5.6 Grafik Penilaian Dukungan Joypad pada Tingkat

  

Gambar 5.7 Grafik Penilaian Dukungan Pengaturan Kamera pada

  

Gambar 5.8 Grafik Penilaian Dukungan Penempatan Layar pada

  

Gambar 5.9 Perangkat CAVE yang Disusun oleh Dua Proyektor44Gambar 5.10 Grafik Penilaian Tingkat Imersif Perangkat

  

Gambar 5.11 Grafik Penilaian Tingkat Realitas Scene 1............47Gambar 5.12 Grafik Penilaian Tingkat Realitas Scene 2............48Gambar 5.13 Grafik Penilaian Pengaruh Suara Lingkungan pada

  

Gambar 5.14 Grafik Penilaian Tingkat Pusing yang Dialami Saat

  

  

(Halaman ini sengaja dikosongkan)

  

DAFTAR TABEL

Tabel 3.1 Karakteristik Pengguna...............................................15Tabel 3.2 Tabel Skenario Kasus Penggunaan.............................16Tabel 3.3 Skenario Kasus Penggunaan Melakukan Eksplorasi pada Scene yang Telah Disediakan..............................................16Tabel 4.1 Spesifikasi Komputer yang Digunakan pada

  

Tabel 4.2 Spesifikasi Smartphone Android yang Digunakan pada

  

Tabel 5.1 Lingkungan Uji Coba Perangkat Lunak .....................29Tabel 5.2 Spesifikasi Smartphone Android yang Digunakan pada

  

Tabel 5.3 Daftar Nama dan Jenis Perangkat Penguji..................34Tabel 5.4 Hasil Kuesioner dari Pertanyaan yang Berkaitan dengan Tingkat Realisme Perangkat............................................36Tabel 5.5 Hasil Pertanyaan yang Berkaitan dengan Tingkat

  

Tabel 5.6 Hasil Kuesioner dari Tingkat Rasa Pusing yang

  

Tabel 5.7 Tabel Kekurangan Perangkat Menurut Penguji..........51Tabel 5.8 Tabel Saran Penguji.................................................... 52

  

(Halaman ini sengaja dikosongkan)

  

KODE SUMBER

  Kode Sumber 4.1. Inisialisasi Server...........................................20 Kode Sumber 4.2. Menghubungkan Komputer Client dengan Server........................................................................................... 21 Kode Sumber 4.3. Implementasi Pengiriman Data dan Pengisian Data Posisi dan Rotasi................................................................. 22 Kode Sumber 4.4. Implementasi Penerimaan Data dari Komputer Server........................................................................................... 23 Kode Sumber 4.5. Sinkronisasi Posisi dan Rotasi Kamera pada Komputer Client...........................................................................23 Kode Sumber 4.6. Pergerakan Kamera di Aplikasi Menggunakan Joypad.......................................................................................... 25 Kode Sumber 4.7. Potongan Kode di Ponsel untuk Mengirimkan Data Kemiringan Sumbu Z ke Komputer Server.........................26 Kode Sumber 4.8. Rotasi Kamera pada Komputer Server dengan Data yang Telah Diterima............................................................27

  

(Halaman ini sengaja dikosongkan)

1 BAB I PENDAHULUAN

  Bab ini memaparkan garis besar Tugas Akhir yang meliputi latar belakang, tujuan dan manfaat pembuatan, rumusan dan batasan permasalahan, metodologi pembuatan Tugas Akhir, dan sistematika penulisan.

1.1 Latar Belakang

  Realitas maya merupakan teknologi yang sedang umum dibicarakan dewasa ini. Sering dijumpai pada permainan komputer bahwa beberapa permainan komputer tersebut dalam pengoperasiannya telah menggunakan realitas maya. Hal ini ditujukan untuk menghadirkan sensasi lingkungan maya agar bisa dirasakan seolah-olah nyata terjadi bagi penggunanya. Untuk menghadirkan sensasi yang semakin nyata terasa, diperlukan suatu perangkat yang mampu menghadirkan lingkungan maya tersebut sehingga dapat terasa sangat nyata dan seolah-olah terjadi bagi penggunanya.

  Oculus Rift milik Facebook adalah salah satu contoh perangkat realitas maya. Akan tetapi perangkat tersebut hanya bertindak layaknya seperti monitor komputer biasa yang hanya menghadirkan realitas maya dalam bentuk gambar saja. Selain itu, pada satu sesi, Oculus Rift hanya bisa digunakan oleh satu pengguna saja.

  Akhir-akhir ini terdapat perangkat realitas maya yang dinamakan CAVE (Cave Automated Virtual Environment). Perangkat tersebut biasanya tersusun atas 4 komputer, 4 proyektor yang masing-masing komputer berperan untuk menampilkan 4 kamera dengan sisi pandang berbeda, beberapa speaker, dan tracking

  

sensor. Perangkat ini ditempatkan dalam satu ruangan yang cukup

  luas, minimal berukuran 2x2 meter. Di dalam ruangan tersebut terdapat 4 proyektor, masing-masing diposisikan untuk menghadap depan, kanan, kiri, dan bawah. Penerapan tersebut dapat menciptakan lingkungan maya bagi pengguna yang berada pada ruangan tersebut.

  Penerapan perangkat CAVE ini sudah cukup umum di beberapa negara, akan tetapi belum banyak dijumpai di Indonesia. Harapannya perangkat CAVE ini dapat menghadirkan lingkungan maya yang sensasinya terasa seolah-olah mendekati lingkungan yang nyata. Selain itu, perangkat ini juga ditujukan untuk kepentingan riset. Hal ini karena perangkat inilah yang pada pengembangan selanjutnya menjadi masa depan yang baik bagi dunia realitas maya. Sebagai tambahan, perangkat CAVE ini juga diharapkan dapat memberikan nilai edukasi bagi penggunanya dengan menghadirkan lingkungan maya dari beberapa lansekap yang terkenal di Indonesia, sehingga pengguna dapat merasakan sensasi ketika pengguna berada pada lingkungan tersebut tanpa harus menghadiri tempat tersebut.

1.2 Rumusan Masalah

  Masalah yang akan diselesaikan pada tugas akhir kali ini adalah sebagai berikut:

  1. Bagaimana rancangan teknik visualisasi yang disajikan oleh CAVE dari lingkungan 3 dimensi yang telah dibuat?

  2. Bagaimana rancangan instalasi CAVE ini agar dapat menciptakan lingkungan maya yang telah dibuat dan divisualisasikan dengan baik?

  3. Apakah arsitektur yang tepat agar dapat mensinkronisasikan posisi di setiap komputer?

4. Bagaimana interaksi pengguna di lingkungan maya yang telah

  disediakan?

1.3 Batasan Masalah

  Batasan masalah pada kasus ini dapat dijelaskan sebagai berikut:

  1. CAVE tersusun dari 1-3 proyektor yang mewakili sisi pandang depan, kanan, dan kiri;

  2. Arsitektur Client-Server digunakan untuk mensinkronisasikan posisi kamera antar komputer;

3. Interaksi pengguna akan diatur dengan menggunakan joypad dan smartphone.

  1.4 Tujuan

  Tujuan pembuatan tugas akhir ini adalah sebagai berikut:

  1. Mengetahui sensasi lingkungan maya yang dapat dirasakan dengan perangkat CAVE ini;

  2. Menciptakan lingkungan maya senyata mungkin dengan menggunakan perangkat CAVE.

  1.5 Manfaat

  Manfaat Tugas Akhir ini adalah:

  1. Sebagai penelitian untuk mengetahui sebaik apakah penerapan CAVE dalam menghadirkan lingkungan maya;

  2. Memberikan nilai edukasi bagi pengguna dengan menghadirkan lingkungan maya yang menampilkan beberapa objek wisata terkenal di Indonesia.

  1.6 Metodologi

  Pembuatan Tugas Akhir dilakukan menggunakan metodologi sebagai berikut: A. Studi literatur

  Pada studi literatur ini, akan dipelajari sejumlah referensi yang diperlukan dalam pembuatan aplikasi, yaitu sebagai berikut:

  1. CAVE;

  2. Unity3D;

  3. Arsitektur Client-Server;

  B. Perancangan perangkat lunak Pada tahap ini, dilakukan analisa awal dan pendefinisian kebutuhan sistem untuk mengetahui permasalahan yang sedang dihadapi. Selanjutnya, dirumuskan rancangan sistem yang dapat memberi solusi terhadap permasalahan tersebut. Langkah yang akan digunakan pada tahap ini adalah sebagai berikut:

  1. Pencarian dan pendataan materi yang akan digunakan

  2. Perancangan sistem dan mekanisme 3. Analisis kebutuhan non fungsional.

  C. Implementasi dan pembuatan sistem Aplikasi ini akan dibangun dengan bahasa pemrograman C# dan Unity3D dengan menggunakan pustaka jaringan untuk mensinkronisasikan 3 komputer dalam waktu bersamaan dalam menghadirkan perangkat CAVE. Selain itu beberapa contoh lingkungan akan digunakan untuk uji coba perangkat CAVE ini.

  D. Uji coba dan evaluasi Pada tahap ini, akan dilakukan pengujian terhadap perangkat lunak menggunakan kuisioner. Beberapa partisipan uji coba akan diminta untuk melakukan penjelajahan lingkungan realitas maya menggunakan perangkat CAVE ini dan setelah eksplorasi dilakukan, maka pengguna akan diberikan kuisioner yang berisi penilaian mengenai realitas perangkat CAVE tersebut.

  E. Penyusunan laporan tugas akhir Pada tahap ini, dilakukan penyusunan laporan yang menjelaskan dasar teori dan metode yang digunakan dalam Tugas Akhir ini serta hasil dari implementasi aplikasi perangkat lunak yang telah dibuat.

1.7 Sistematika Penulisan

  Buku Tugas Akhir ini terdiri dari beberapa bab, antara lain sebagai berikut.

  BAB I PENDAHULUAN Bab ini berisi latar belakang masalah, rumusan dan batasan

  permasalahan, tujuan dan manfaat pembuatan tugas akhir, metodologi yang digunakan, dan sistematika penyusunan tugas akhir.

  BAB II TINJAUAN PUSTAKA Bab ini membahas dasar pembuatan dan beberapa teori penunjang

  yang berhubungan dengan pokok pembahasan yang mendasari pembuatan tugas akhir ini.

  BAB III ANALISIS DAN PERANCANGAN Bab ini membahas analisis dari sistem yang dibuat meliputi analisis

  permasalahan, deskripsi umum perangkat lunak, spesifikasi kebutuhan, dan identifikasi pengguna. Kemudian membahas rancangan dari sistem yang dibuat meliputi rancangan skenario kasus penggunaan, arsitektur, data, dan antarmuka.

  BAB IV IMPLEMENTASI Bab ini membahas implementasi dari rancangan sistem yang

  dilakukan pada tahap perancangan . Penjelasan implementasi meliputi implementasi pembangkitan area aplikasi, dan antarmuka aplikasi.

  BAB V PENGUJIAN DAN EVALUASI Bab ini membahas pengujian dari aplikasi yang dibuat dengan

  melihat keluaran yang dihasilkan oleh aplikasi dan evaluasi untuk mengetahui kemampuan aplikasi.

  BAB VI PENUTUP Bab ini berisi kesimpulan dari hasil pengujian yang dilakukan serta saran untuk pengembangan aplikasi selanjutnya.

  

(Halaman ini sengaja dikosongkan)

2 BAB II TINJAUAN PUSTAKA

  Pada bab ini akan dibahas mengenai teori-teori yang menjadi dasar dari pembuatan Tugas Akhir ini. Teori-teori tersebut adalah CAVE, Unity3D, dan Arsitektur Client-Server.

2.1 CAVE

  CAVE adalah singkatan dari Cave Automated Virtual Environment. CAVE adalah realitas maya berbasis proyeksi yang dikembangkan di Electronic Visualization Laboratory (EVL) terletak di University of Illinois. Teknologi ini pertama kali dipublikasikan

  [1] pada SIGGRAPH tahun 1992.

  Sistem ini sendiri dibangun sebagai solusi atas keterbatasannya realitas maya dengan menggunakan alat HMD (Head Mounted Display), khususnya untuk penerapan saintifik dan teknik. CAVE menggunakan layar yang besar dan tetap. Hal ini mengurangi keterbatasan pengguna dan memungkinkan beberapa orang membagikan pengalaman realitas maya yang sama. Gambar 2.1 menunjukkan contoh sistem CAVE yang telah diterapkan saat ini:

Gambar 2.1 Sistem CAVE

  Keuntungan CAVE sendiri adalah masih terasa imersif namun tidak mengisolasi pengguna dari dunia yang sesungguhnya. Seringkali isolasi dari dunia nyata tersebut akan membuat pengguna mudah bosan dan memusingkan. CAVE juga dapat digunakan bagi ilmuwan dan insinyur untuk melakukan eksplorasi data serta melakukan ulasan desain. Dikarenakan CAVE sendiri cukup lebar bagi beberapa pengguna, maka insinyur, ilmuwan, desainer, dan manajer dapat bergabung di satu ruangan CAVE untuk bekerja

  [2] secara bersama-sama.

  CAVE kedua dibangun tahun 1994 di NCSA (National

  [1]

  Supercomputing Application). CAVE tersebut digunakan sebagai uji coba untuk mengaplikasikan teknologi baru bagi penerapan saintifik dan teknik. Grup Visualization and Virtual Environment NCSA mengembangkan sistem CAVE yang dibuat khusus untuk

  [4] membantu peneliti memvisualisasikan datanya dengan lebih baik.

2.2 Unity3D

  Kakas Unity dapat membangun lingkungan maya yang akan digunakan oleh CAVE. Unity adalah kakas game engine yang biasanya digunakan untuk mengembangkan video game untuk PC,

  

console, perangkat mobile, dan situs. Pada bulan November 2012,

  lebih dari 1,3 juta pengembang telah menggunakan kakas Unity

  [5] untuk mengembangkan permainan ke berbagai perangkat yang ada. [3] Tahun 2013, pengembang Unity telah berkembang hingga 2 juta.

  Saat ini, Unity telah mengalami beberapa perkembangan sampai versi 5. Unity 5 menyediakan beberapa pembaruan yang banyak dari perkembangan sebelumnya termasuk pembaruan animasi dan fisik, sistem pencahayaan yang baru, dan penambahan pilihan audio. Selain itu, Unity 5 pun sudah mendukung mesin fisik PhysX versi terbaru dan terdapat beberapa kakas untuk melakukan

  [7]

  audio mixing. Unity bukanlah kakas yang paling efisien di antara kakas untuk mengembangkan permainan yang ada di pasar, namun Unity merupakan kakas yang fleksibel dan mendukung banyak perangkat..

  Banyaknya forum diskusi dan referensi lain di internet untuk membantu pengembang aplikasi jika mendapat masalah. Asset Store yang merupakan tempat jual beli asset sehingga pengembang tidak perlu susah untuk mendapatkan modul yang diinginkan.

2.3 Arsitektur Client-Server Arsitektur Client-Server selalu dikaitkan dengan layanan.

  Pada tiap arsitektur yang diterapkan, sesuai dengan namanya, terdapat client dan server. Client adalah sebuah entitas yang dapat meminta layanan, sedangkan server adalah penyedia layanan. Permintaan layanan adalah tentang “apa” yang dibutuhkan dan selesai atau tidaknya suatu pekerjaan bergantung oleh server. Arsitektur Client-Server yang ideal tidak bergantung akan sistem operasi atau perangkat keras yang digunakan.

  Pada arsitektur Client-Server terdapat arsitektur 2-Tier dan 3- Tier. Arsitektur 2-Tier adalah arsitektur yang mana client mengirimkan permintaan pada server dan server secara langsung

  [6]

  melayani permintaan client tersebut. Sedangkan arsitektur 3-Tier terdiri dari client, middleware (application server), dan server. Pada arsitektur ini client mengirimkan permintaan kepada server, namun permintaan tersebut terlebih dahulu masuk ke middleware yang nantinya diteruskan secara langsung ke server.

  

(Halaman ini sengaja dikosongkan)

3 BAB III ANALISIS DAN PERANCANGAN

  Pada bab ini akan dibahas analisis dan perancangan yang akan digunakan untuk menyelesaikan Tugas Akhir ini. Dalam Tugas Akhir ini akan dibuat sebuah aplikasi yang dapat mensinkronisasikan antar komputer sehingga seluruh informasi posisi dan rotasi kamera yang ada di dalam aplikasi dalam satu komputer akan sama dengan komputer yang lain. Sisi pandang masing-masing komputer akan dibedakan dan inilah yang akan digunakan untuk membangun sistem CAVE.

3.1 Analisis Sistem

  Sistem CAVE yang akan dibangun pada kali ini caranya dengan mensinkronisasikan posisi dan rotasi kamera dalam aplikasi bagi seluruh komputer yang terhubung. Terdapat 4 komputer yang menampilkan adegan yang sama dengan sisi pandang kamera aktif yang beda. Pada kasus ini, terdapat satu komputer server dan tiga komputer klien. Komputer server akan menayangkan sisi pandang kamera depan. Sedangkan komputer klien akan menayangkan sisi pandang kanan, kiri, atau belakang, disesuaikan dengan kebutuhan.

  Komputer server akan mengirimkan pesan ke seluruh komputer klien yang terhubung. Pesan yang dikirimkan adalah posisi dan rotasi kamera yang ada pada komputer server. Pesan inilah yang nantinya akan digunakan oleh komputer klien untuk menyamakan posisi dan rotasi dengan komputer server sehingga seluruh komputer akan tersinkronisasi. Jika seluruh komputer telah terhubung, maka pengguna dapat melakukan eksplorasi pada scene yang telah dimasukkan dalam aplikasi tersebut.

  Pada kesempatan ini, tiap komputer terhubung pada monitor. Uji coba yang diterapkan pada tugas akhir ini mensimulasikan perangkat CAVE sebenarnya yang terhubung dengan proyektor, dan mengganti proyektor tersebut dengan monitor yang disusun seperti perangkat CAVE aslinya. Tiga monitor digunakan untuk menampilkan sisi pandang depan, kanan dan kiri. Pengguna dapat melakukan eksplorasi dari scene yang telah disediakan dengan menggunakan joypad dan smartphone. Tombol yang digunakan pada joypad kali ini adalah handle analog kiri untuk menggerakkan kamera yang ada di aplikasi. Tombol L1 pada joypad digunakan untuk berlari. Rotasi pengguna diatur dengan sensor gyroscope yang ada pada smartphone. Data kemiringan pada sumbu y yang ditangkap oleh sensor tersebut dikirim melalui access point dari ponsel ke komputer server.

  Dalam membangun aplikasi yang digunakan pada tugas akhir kali ini, kakas Unity3D dipakai untuk menerapkan seluruh fitur yang dibutuhkan. Bahasa pemrograman yang digunakan adalah C# dengan menggunakan pustaka networking bernama UNet versi 4 untuk melakukan siaran informasi dari server ke client. Selain itu kakas ini juga digunakan untuk menampilkan scene dan menambahkan interaksi pengguna di dalam aplikasi sehingga pengguna dapat melakukan eksplorasi pada aplikasi ini.

3.2 Perancangan Aplikasi

3.2.1 Deskripsi Umum Perangkat Lunak

  Aplikasi yang dipakai kali ini digunakan untuk mensinkronisasikan posisi dan rotasi kamera yang ada di dalam aplikasi antar komputer serta menayangkan scene dan menambahkan interaksi berupa eksplorasi scene bagi pengguna. Masing-masing komputer terhubung dalam satu jaringan LAN. Aplikasi dibedakan menjadi dua, aplikasi untuk server yang digunakan untuk menyiarkan data ke seluruh komputer client, dan aplikasi untuk client yang digunakan untuk menerima data dari komputer server. Komputer server pada kasus ini juga bertindak sebagai penggerak dan pemutar kamera dalam aplikasi, sedangkan komputer client hanya digunakan untuk menerima data posisi dan rotasi kamera serta menampilkan gambar dengan sisi pandang kamera yang berbeda.

  Pada aplikasi yang dikhusukan untuk server, aplikasi ini khusus menangani pengiriman data dan interaksi dengan pengguna. Aplikasi ini yang akan dihubungkan dengan joypad sebagai alat yang akan digunakan untuk berinteraksi. Pengguna hanya cukup menjalankan aplikasi yang telah dibangun dan menghubungkan aplikasi yang dikhususkan untuk client dengan aplikasi untuk server.

  Eksplorasi yang dimaksud pada kali ini adalah dengan melakukan pergerakan di dalam aplikasi. Scene yang telah disediakan cukup luas bagi pengguna agar dapat melakukan eksplorasi dengan cukup puas. Pengguna berinteraksi dengan joypad agar dapat melakukan rotasi serta maju ke arah yang diinginkan. Apabila seluruh komponen dalam aplikasi ini sudah tersinkronisasi dengan baik, maka sistem CAVE berjalan sebagaimana mestinya dan lingkungan realitas maya dapat dihadirkan pada sistem ini dan digunakan oleh beberapa pengguna dalam satu sesi, tidak seperti perangkat realitas maya lain pada umumnya.

  3.2.2 Spesifikasi Kebutuhan Fungsional

  Berdasarkan deskripsi umum sistem, kebutuhan fungsional aplikasi ini adalah menampilkan lingkungan realitas maya dalam sebuah perangkat yang telah disusun agar dapat dilihat dengan sisi pandang depan, belakang, kanan, dan kiri.

  3.2.3 Spesifikasi Kebutuhan Non-Fungsional

  Terdapat beberapa kebutuhan non-fungsional yang apabila dipenuhi, dapat meningkatkan kualitas dari aplikasi ini. Berikut daftar kebutuhan non-fungsional:

  1. Realtime

  Aplikasi ini dapat mensinkronisasikan antar komputer dengan delay yang kecil sehingga seluruh komputer seolah-olah bergerak dalam waktu yang bersamaan dan pengguna tidak merasa antar satu layar dengan lainnya seperti terlihat bergerak secara terpisah.

  2. Scene virtual berupa tiga dimensi Scene yang digunakan pada kesempatan ini berbentuk tiga

  dimensi. Hal ini ditujukan agar pengguna dapat merasakan realisme dari perangkat CAVE ini. Scene yang akan digunakan terdapat pada Gambar 3.1 dan 3.2.

Gambar 3.1 Scene Alam (Scene 1)Gambar 3.2 Scene Perkotaan (Scene 2)

3.2.4 Karakteristik Pengguna

  Sistem ini dapat digunakan oleh semua pengguna, tidak ada karakteristik khusus yang diperlukan dalam menggunakan sistem ini. Karakteristik pengguna tercantum dalam Tabel 3.1.

Tabel 3.1 Karakteristik Pengguna Kemampuan

  Nama Hak Akses Tugas yang harus Aktor Aplikasi dimiliki

  Menggunakan Pengguna Pihak yang Tidak ada menggunakan aplikasi

3.3 Perancangan Sistem

  Tahap perancangan dalam subbab ini dibagi menjadi beberapa bagian yaitu perancangan diagram kasus penggunaan, perancangan skenario kasus penggunaan, dan perancangan instalasi sistem.

  3.3.1 Perancangan Diagram Kasus Penggunaan

  Dalam aplikasi Tugas Akhir ini, terdapat satu kasus penggunaan, yaitu melakukan eksplorasi pada scene yang telah disediakan. Peran yang terlibat dalam sistem ini tidak dibedakan menjadi beberapa peran, hanya pengguna biasa saja.

Gambar 3.3 Diagram Kasus Aplikasi

  3.3.2 Perancangan Skenario Kasus Penggunaan

  Diagram kasus penggunaan yang terdapat di dalam sistem ditunjukkan pada Gambar 3.3. Diagram kasus penggunaan dalam aplikasi yang digunakan pada sistem ini adalah melakukan eksplorasi pada scene yang telah disediakan.

  Penjelasan dari kasus penggunaan tersebut dicantumkan pada Tabel 3.2. Tabel tersebut berisi penjelasan skenario yang akan dilakukan ketika pengujian.

Tabel 3.2 Tabel Skenario Kasus Penggunaan

  No Kode Kasus Penggunaan Nama Kasus Penggunaan Keterangan

  1 UC-001 Melakukan Eksplorasi pada Scene yang Telah Disediakan

  Pengguna dapat menggerakkan dan merotasi kamera yang ada di aplikasi menggunakan joypad dan smartphone yang telah disediakan

3.3.2.1 Kasus Penggunaan Aplikasi

  Penjelasan kasus penggunaan aplikasi untuk skenario UC- 001 yakni Melakukan Eksplorasi pada Scene yang Telah Disediakan ditunjukkan pada Tabel 3.3.

Tabel 3.3 Skenario Kasus Penggunaan Melakukan Eksplorasi pada Scene yang Telah Disediakan

  Nama Kasus Penggunaan Melakukan Eksplorasi pada Scene yang Telah Disediakan

  Kode UC-001

  Deskripsi Kasus penggunaan dimana pengguna menggerakkan dan merotasi kamera di dalam aplikasi untuk melakukan eksplorasi pada scene yang telah disediakan

  Aktor Pengguna

  Kondisi Awal - Alur Normal 1. a. Pengguna mengatur arah dan menggerakkan kamera yang ada di dalam aplikasi menggunakan

handle analog kiri di joypad,

  b. Pengguna memutar kepala yang telah dilampirkan dengan smartphone untuk merotasi kamera yang ada di dalam aplikasi

  2. Sistem menggerakkan dan merotasikan kamera di dalam aplikasi sesuai tombol yang dipilih

3.3.2.2 Diagram Aktivitas

  Diagram aktivitas menampilkan langkah-langkah normal yang harus dilakukan pemain untuk menjalankan studi kasus aplikasi dimulai dari awal aplikasi hingga kondisi akhir. Gambar-gambar di bawah ini merupakan gambar-gambar diagram aktivitas masing- masing kasus penggunaan. Untuk kasus penggunaan UC-001, yaitu melakukan eksplorasi pada scene yang telah disediakan, dapat dilihat pada Gambar 3.4.

Gambar 3.4 Diagram Aktivitas Melakukan Eksplorasi pada Scene yang Telah Disediakan

3.3.3 Perancangan Instalasi Sistem

  Instalasi sistem untuk menampilkan lingkungan maya yang dihasilkan dari aplikasi dapat dijelaskan dengan menggunakan kerangka kubus pada Gambar 3.5.

Gambar 3.5 Rancangan Instalasi Perangkat CAVE

  Pada Tugas Akhir ini, instalasi perangkat disimulasikan dengan menggunakan tiga monitor. Ketiga monitor ini menampilkan sisi pandang depan, kanan, dan kiri. Tata peletakkan monitor dilakukan dengan menempelkan tiga monitor secara berjajar. Setelah itu, monitor yang menampilkan sisi pandang kanan diputar 90 derajat searah jarum jam dan monitor yang menampilkan sisi pandang kiri diputar 90 derajat berlawanan arah jarum jam. Ilustrasi dari peletakkan monitor tersebut dapat dilihat pada Gambar 3.6.

Gambar 3.6 Peletakkan Monitor untuk Simulasi Perangkat

4 BAB IV

  IMPLEMENTASI

  Pada bab ini akan dibahas mengenai implementasi dari perancangan perangkat lunak. Di dalamnya mencakup proses penerapan dan pengimplementasian algoritma, dan antar muka yang mengacu pada rancangan yang telah dibahas sebelumnya.

4.1 Lingkungan Implementasi

  Lingkungan implementasi perangkat lunak pada kali ini menggunakan 3 komputer serta 1 perangkat Android untuk mendeteksi rotasi. Ketiga komputer yang digunakan memiliki spesifikasi yang sama.

Tabel 4.1 Spesifikasi Komputer yang Digunakan pada Lingkungan Implementasi Perangkat Lunak

  Prosesor: Intel Core i3-3240 (4 CPUs) 3.4GHz Perangkat Memori: 2048 MB Keras Kartu Grafis: AMD Radeon HD8470 Graphics

  Sensor : GyroSensor Perangkat Sistem Operasi: Windows 10 Lunak

Tabel 4.2 Spesifikasi Smartphone Android yang Digunakan pada Lingkungan Implementasi Perangkat Lunak

  Merk: Samsung S4 Zoom Perangkat Prosesor: ARM Cortex-A9 Dual-core @ 1500 MHz Keras Memori: 1,5 GB

  Sensor : GyroSensor Perangkat Sistem Operasi: KitKat Lunak

4.2 Implementasi Alur Proses Aplikasi

  Pada subbab ini, akan dibahas implementasi alur proses aplikasi yang telah dibangun pada bab sebelumnya.

  

4.2.1 Implementasi Penghubungan Komputer Client dengan

Server

  Komputer client pada kali ini harus dihubungkan dengan komputer server agar komputer server dapat mendeteksi komputer mana saja yang terhubung dengan server. Setelah mengetahui seluruh komputer yang terhubung dengan server, maka server akan mengirimkan data posisi dan rotasinya agar tiap komputer yang terhubung dapat tersinkronisasi dan menampilkan scene yang sama dengan sisi pandang kamer yang berbeda.

  Masing-masing komputer terhubung dalam satu jaringan LAN yang sama. Berdasarkan fakta ini, komputer server dapat mengirimkan data posisi dan rotasinya melalui komputer client melalui jaringan LAN tersebut. Agar komputer client dapat terhubung dengan komputer server, pengguna terlebih dahulu memasukkan IP dari komputer server, lalu menekan tombol “Connect”, maka kedua komputer sudah saling terhubung.

  Implementasi dari cara menghubungkan komputer server dengan client dapat dilihat pada Kode Sumber 4.1 dan 4.2.

  1. public void Awake () {

2. if (Network.peerType == NetworkPeerType.Disconnected)

3. {

  4. Network.InitializeServer(10, port, false); 5. } 6. }

  

Kode Sumber 4.1 Inisialisasi Server

1. void OnGUI () {

2. if (Network.peerType == NetworkPeerType.Disconnected)

3. { 4. serverIP = GUI.TextField

  5. (new Rect(25, 25, 150, 25), serverIP); 6. if (GUI.Button(new Rect(25, 50, 150, 25), "Connect")) 7. {

  8. Network.Connect(serverIP, port); 9. } 10. } 11. }

  

Kode Sumber 4.2 Menghubungkan Komputer Client dengan

Server

  

4.2.2 Implementasi Pengiriman Data Posisi dan Rotasi dari

Komputer Server ke Client

  Setelah seluruh komputer terhubung, maka server akan melakukan penyiaran (broadcast) data posisi dan rotasi ke seluruh komputer client yang terhubung. Pada tahap ini juga komputer klient pertama yang terhubung akan mengaktifkan kamera dengan sisi pandang kanan, lalu komputer client yang kedua akan mengaktifkan kamera dengan sisi pandang kiri, dan komputer client yang ketiga akan mengaktifkan sisi pandang belakang.

  Setelah seluruh client menentukan sisi pandang kamera yang aktif, maka komputer client akan melakukan sinkronisasi posisi dan rotasi dengan komputer server. Implementasi ini dapat dilihat pada Kode Sumber 4.3.

  1. void FixedUpdate() 2. {

  3. SendInfoToClient(); 4. this.someInfo = playerObj.transform.position.x.ToString () + " " + playerObj.transform.position.y.ToString () + " " + playerObj.transform.position.z.ToString () + " " + playerObj.transform.localEulerAngles.x.ToString () + " "

  • playerObj.transform.localEulerAngles.y.ToString () + "

    " + playerObj.transform.localEulerAngles.z.ToString ();

    5. } 6. [RPC]

  7. void SendInfoToClient() 8. {

  

9. GetComponent<NetworkView>().RPC("ReceiveInfoFromServer

", RPCMode.Others, someInfo); 10. }

  

Kode Sumber 4.3 Implementasi Pengiriman Data dan Pengisian

Data Posisi dan Rotasi

  Seperti yang dapat dilihat pada Kode Sumber 4.3, pengiriman data menggunakan fungsi FixedUpdate. Pada Unity, fungsi ini berguna untuk menjalankan perintah dalam jangka waktu yang tetap. Kali ini, fungsi FixedUpdate ditetapkan untuk dipanggil selama 0,01 detik sekali. Angka tersebut dipilih agar komputer tidak memiliki beban komputasi yang berat, namun juga data dapat dikirimkan dengan cepat agar sinkronisasi dapat berjalan dengan lancar. Kode sumber tersebut ditempatkan pada komputer server.

  Pada fungsi SendInfoToClient, yang terdapat pada Kode Sumber 4.3, dapat dilihat pada parameter pertama dari baris 9 terdapat ReceiveInfoFromServer. ReceiveInfoFromServer ini adalah fungsi yang terdapat pada komputer client dan akan dipanggil setiap kali komputer server mengirimkan data ke komputer client.

  1. [RPC] 2. void ReceiveInfoFromServer(string someInfo) 3. { 4. float xPos, yPos, zPos, wRot, xRot, yRot, zRot;

  5. 6. xPos = float.Parse (someInfo.Split (' ') [0], CultureInfo.InvariantCulture.NumberFormat); 7. yPos = float.Parse (someInfo.Split (' ') [1], CultureInfo.InvariantCulture.NumberFormat); 8. zPos = float.Parse (someInfo.Split (' ') [2], CultureInfo.InvariantCulture.NumberFormat); 9. camPos = new Vector3(xPos, yPos, zPos); 10.

  11. xRot = float.Parse (someInfo.Split (' ') [3], CultureInfo.InvariantCulture.NumberFormat);

  12. yRot = float.Parse (someInfo.Split (' ') [4], CultureInfo.InvariantCulture.NumberFormat); 13. zRot = float.Parse (someInfo.Split (' ') [5], CultureInfo.InvariantCulture.NumberFormat); 14. camRot = new Vector3(xRot, yRot, zRot); 15. }

  

Kode Sumber 4.4 Implementasi Penerimaan Data dari

Komputer Server

  Variabel someInfo telah berisi data posisi dan rotasi yang diterima dari komputer server, namun data ini masih berbentuk string. Data posisi dan rotasi tersebut telah tergabung dalam satu string yang dipisahkan oleh spasi. Maka digunakan fungsi split untuk mendapatkan masing-masing data posisi dan rotasi.

  

4.2.3 Implementasi Sinkronisasi Posisi dan Rotasi dari Data

yang Telah Diterima di Komputer Client 1. void Update () 2. { 3. transform.position = Vector3.Lerp(transform.position, posRotGetter.camPos,

  0.0001f); 4. transform.localEulerAngles = posRotGetter.camRot; 5. }

  

Kode Sumber 4.5 Sinkronisasi Posisi dan Rotasi Kamera pada

Komputer Client

  Fungsi Lerp pada baris 3 di Kode Sumber 4.5 digunakan agar sinkronisasi terlihat halus pada aplikasi. Seringkali apabila nilai posisi dari suatu kamera disamakan secara langsung dengan mengganti nilainya, sinkronisasi berjalan dengan kasar.

  

4.2.4 Implementasi Pergerakan Kamera di Aplikasi

Menggunakan Joypad

  Pada kesempatan ini, joypad digunakan untuk mengatur interaksi antara pengguna dengan aplikasi. Joypad ini dapat digunakan untuk menggerakkan serta merotasi kamera yang ada di dalam aplikasi sehingga pengguna dapat melakukan eksplorasi pada

  

scene yang telah disediakan oleh aplikasi. Pada Unity terdapat kode

  sumber yang bernama RigidbodyFirstPersonController. Kode ini digunakan untuk menggerakkan kamera di dalam aplikasi dengan menggunakan konsep rigidbody agar pergerakan terasa seperti berjalan pada dunia nyata. Kode sumber tersebut dimodifikasi agar dapat digunakan oleh joypad. Joypad yang digunakan memiliki desain seperti joypad konsol Playstation 3. Potongan kode dari implementasi fitur ini dapat dilihat pada Kode Sumber 4.6.

  1. public void UpdateDesiredTargetSpeed(Vector2 input) { 2. if (Input.GetButton("L1Button")) 3. {

  4. CurrentTargetSpeed *= RunMultiplier; 5. m_Running = true; 6. } 7. else 8. { 9. m_Running = false; 10. } 11. } 12. private void FixedUpdate() 13. {

14. GroundCheck();

  15. Vector2 input = GetInput(); 16. input.x = Input.GetAxis("leftHandleHorizontal"); 17. input.y = Input.GetAxis("leftHandleVertical"); 18. if (Mathf.Abs(input.x) <= 0.008f) 19. input.x = 0; 20. if (Mathf.Abs(input.y) <= 0.008f) 21. input.y = 0; 22. if ((Mathf.Abs(input.x) > float.Epsilon ||

  Mathf.Abs(input.y) > float.Epsilon) && (advancedSettings.airControl || m_IsGrounded))

  23. {

  24. Vector3 desiredMove = cam.transform.forward*input.y + cam.transform.right*input.x; 25. desiredMove = Vector3.ProjectOnPlane(desiredMove, m_GroundContactNormal).normalized;

  26. 27. desiredMove.x = desiredMove.x*movementSettings.CurrentTargetSpeed; 28. desiredMove.z = desiredMove.z*movementSettings.CurrentTargetSpeed; 29. desiredMove.y = desiredMove.y*movementSettings.CurrentTargetSpeed; 30. if (m_RigidBody.velocity.sqrMagnitude < (movementSettings.CurrentTargetSpeed*movementSettings.Cur rentTargetSpeed)) 31. {

  32. m_RigidBody.AddForce(desiredMove*SlopeMultiplier(), ForceMode.Impulse);

  33. } 34. } 35. . 36. . 37. . 38. }

  

Kode Sumber 4.6 Pergerakan Kamera di Aplikasi

Menggunakan Joypad

  Pada potongan kode tersebut, fungsi pertama digunakan untuk berlari. Kali ini, fungsi berlari tersebut dapat dilakukan dengan menekan tombol L1. Fungsi kedua digunakan untuk menggerakkan kamera ke arah yang dituju. Fungsi ini dapat dipanggil dengan cara menggerakkan handle analog kiri dari joypad.

  

4.2.5 Implementasi Rotasi Kamera di Aplikasi Menggunakan

Gyroscope yang Ada pada Smartphone

  Rotasi kamera yang berada di aplikasi diatur dengan menggunakan sensor gyroscope. Data yang diambil adalah data kemiringan (attitude) pada sumbu z yang dirasakan oleh sensor tersebut. Pada asumsi sebelumnya, telah diterapkan rotasi dengan menggunakan data perubahan sudut, akan tetapi menghasilkan rotasi yang sangat tidak akurat. Ponsel ini akan ditempel pada kepala pemain dengan posisi terlentang agar kemiringan pada sumbu z dapat dideteksi seakurat mungkin. Setelah itu, data dikirim ke komputer server melalui access point. Komputer server akan menerima data yang telah dikirim dan menyamakan rotasi kamera dengan data yang didapat. Implementasi dari fitur ini dapat dilihat pada Kode Sumber 4.7 dan Kode Sumber 4.8.

  1. void FixedUpdate() { 2. if (hostConnected)

  3. SendSocketMessage((-

Input.gyro.attitude.eulerAngles.z).ToString() + ",2");

4. } 5. public void SendSocketMessage(string msgSend) 6. { 7. byte error; 8. byte[] buffer = new byte[1024];

9. Stream stream = new MemoryStream(buffer);

  10. BinaryFormatter formatter = new BinaryFormatter(); 11. formatter.Serialize(stream, msgSend); 12. int bufferSize = 1024; 13.

  14. NetworkTransport.Send(socketId, connectionId, myChannelId, buffer, bufferSize, out error); 15. }

  

Kode Sumber 4.7 Potongan Kode di Ponsel untuk Mengirimkan

Data Kemiringan Sumbu Z ke Komputer Server

1. public WifiConnector angleGetter; 2. void FixedUpdate() {

  3. angleRot = angleGetter.getAngle(); 4.

5. Quaternion oldTransform = transform.rotation;

  6. Quaternion newTransform = Quaternion.Euler(0, (- angleRot) + 90, 0);

  7. 8. transform.rotation = Quaternion.Lerp(oldTransform, newTransform, 0.1f); 9. }

  

Kode Sumber 4.8 Potongan Kode di Komputer Server untuk

Melakukan Rotasi Kamera dengan Data yang Telah Diterima

  Data kemiringan pada sumbu z pada komputer server diambil dari kelas WifiConnector yang bertanggungjawab menghubungkan komputer server dengan ponsel. Karena posisi awal penempatan ponsel miring, maka pada baris ke-6 dapat dilihat bahwa sudut dari data yang diterima ditambahkan 90 derajat. Lalu sudut itu pun dinegatifkan karena perputaran sudut ponsel berlawanan arah dengan perputaran kamera yang ada di aplikasi. Setelah data tersebut diproses, maka sudut diganti dengan menggunakan fungsi Lerp agar perputaran dapat dirasakan dengan halus.

  

(Halaman ini sengaja dikosongkan)

5 BAB V PENGUJIAN DAN EVALUASI

  Pada bab ini akan dijelaskan mengenai rangkaian uji coba dan evaluasi yang dilakukan. Proses pengujian dilakukan menggunakan metode black-box berdasarkan skenario yang telah ditentukan dan pengujian dilakukan dengan survei langsung kepada pengguna. Pengujian kali ini disimulasikan dengan menggunakan 3 monitor yang disusun menyerupai perangkat CAVE yang akan dibangun. Pengujian ulang dilakukan pula dengan menggunakan dua proyektor.

5.1 Lingkungan Uji Coba

  Lingkungan pelaksanaan uji coba meliputi perangkat keras dan perangkat lunak yang akan digunakan pada sistem ini. Terdapat dua jenis perangkat, 3 komputer dan 1 smartphone, yang digunakan pada pengujian.

Tabel 5.1 Lingkungan Uji Coba Perangkat Lunak

  Perangkat Keras

  Prosesor: Intel Core i3-3240 (4 CPUs) 3.4GHz Memori: 2048 MB Kartu Grafis: AMD Radeon HD8470 Graphics Sensor : GyroSensor

  Perangkat Lunak

  Sistem Operasi: Windows 10

Tabel 5.2 Spesifikasi Smartphone Android yang Digunakan pada Lingkungan Implementasi Perangkat Lunak

  Perangkat Keras

  Merk: Samsung S4 Zoom Prosesor: ARM Cortex-A9 Dual-core @ 1500 MHz Memori: 1,5 GB Sensor : GyroSensor

  Perangkat Lunak

  Sistem Operasi: KitKat

Gambar 5.1 dan 5.2 menunjukkan perangkat yang digunakan dalam uji coba tugas akhir ini.Gambar 5.1 3 Monitor yang Disusun Menyerupai Perangkat CAVE SebenarnyaGambar 5.2 Smartphone yang Digunakan untuk Mendeteksi Rotasi Pengguna

5.2 Pengujian Fitur

  Pengujian fitur ini ditujukan untuk mengetahui apakah aplikasi dan perangkat sudah dapat berjalan sebagaimana mestinya. Pada kali ini, fungsionalitas dari aplikasi hanya terdiri dari satu fungsionalitas, yaitu melakukan eksplorasi pada scene yang telah disediakan. Dalam melakukan eksplorasi ini, tentu saja beberapa komputer yang disediakan untuk menampilkan aplikasi tersebut harus terhubung satu sama lain. Selain itu pengguna juga harus dapat berinteraksi dengan aplikasi menggunakan joypad untuk menggerakkan kamera yang ada di dalam aplikasi serta smartphone yang digunakan untuk mendeteksi rotasi kepala dari pengguna.

  Pengujian dilakukan dengan menggunakan metode black box. Beberapa fitur yang telah disebutkan itu diuji dengan menggunakan spesifikasi perangkat yang telah didefinisikan pada bagian lingkungan uji coba.

5.2.1 Pengujian Fitur Sinkronisasi antar Komputer

  Pengujian ini ditujukan untuk melihat apakah aplikasi dapat mensinkronisasikan komputer yang disediakan untuk menampilkan satu gambar dengan sudut pandang yang berbeda. Tiap komputer terhubung pada satu access point yang sama sehingga untuk mensinkronisasikan komputer client dengan server, alamat IP server harus diketahui untuk nantinya dimasukkan pada komputer client dan dihubungkan. Apabila terhubung, maka kamera yang ada di aplikasi pada komputer client akan memiliki posisi dan rotasi yang sama dengan yang ada pada komputer server. Kamera yang aktif akan ditentukan pada saat komputer client sudah terhubung. Komputer client pertama yang terhubung dengan server akan memiliki sisi pandang kanan, selanjutnya kiri, dan yang terakhir adalah belakang. Pada uji coba kali ini, dikarenakan perangkat yang tersedia terbatas, maka uji coba dilakukan pada tiga komputer. Monitor yang terhubung pada komputer tersebut disusun menyerupai perangkat CAVE yang sebenarnya.

  Pengujian fitur sinkronisasi ini menunjukkan hasil yang kurang baik dikarenakan terdapat lag pada komputer client ketika kamera pada komputer server digerakkan. Walaupun posisi dan rotasi kamera antar komputer sudah tersinkronisasi, akan tetapi terdapat sedikit lag yang mengakibatkan gerakan yang tidak halus pada komputer client. Hal ini disebabkan pengiriman data ke komputer client dilanjutkan dengan perpindahan posisi serta rotasi kamera berdasarkan data yang diterima tidak secepat perpindahan posisi serta rotasi kamera yang secara langsung diatur oleh interaksi dengan aplikasi seperti pada komputer server.

  Hal tersebut dapat diatasi dengan menambahkan fungsi Lerp yang ada pada Unity. Akan tetapi pada saat pengujian, access point, masih dalam jaringan lokal, mengalami beberapa kali hang yang cukup buruk akibat jaringan lokal yang tidak stabil. Hal ini tidak hanya menimbulkan lag pada komputer client, akan tetapi kamera pada aplikasi komputer client tidak bergerak mengikuti komputer server. Solusi lainnya adalah menggunakan komputer dengan beberapa video card sehingga pastinya tidak akan terjadi lag karena satu komputer bertanggung jawab untuk seluruh display.

  

5.2.2 Pengujian Fitur Interaksi Pengguna dan Aplikasi untuk

Menggerakkan Kamera dengan Joypad

  Pada tugas akhir kali ini, joypad bertindak sebagai penggerak kamera yang ada di aplikasi. Joypad yang digunakan kali ini memiliki dua handle analog dimana handle analog kiri digunakan untuk menentukan arah gerak aplikasi. Tombol L1 digunakan untuk berlari.

  Interaksi pengguna dengan aplikasi menggunakan joypad ini sudah cukup berhasil karena joypad dapat mengatur interaksi perpindahan posisi kamera dengan baik. Lalu ketika berlari dengan menekan tombol L1, kamera dapat bergerak lebih cepat dibanding tanpa menekan tombol L1.

  

5.2.3 Pengujian Fitur Interaksi Pengguna dan Aplikasi untuk

Merotasi Kamera dengan Smartphone

  Smartphone yang telah disebutkan spesifikasinya pada

  bagian lingkungan uji coba memiliki sensor gyroscope untuk mendeteksi rotasi yang dilakukan oleh pengguna. Pada kali ini, yang akan dideteksi oleh sensor gyroscope adalah perputaran kepala pengguna. Maka smartphone ditempatkan di atas kepala pengguna.

  Terdapat aplikasi yang digunakan oleh smartphone untuk mengambil data dari sensor gyroscope dan mengirimkan data tersebut dengan menggunakan access point ke aplikasi yang dijalankan di komputer untuk merotasi kamera yang ada di aplikasi komputer tersebut.

  Interaksi rotasi kamera dengan menggunakan smartphone ini menunjukkan hasil yang baik. Rotasi kamera dapat dirasakan dengan halus ketika pengguna memutar kepala sesuai dengan perputaran yang diinginkan. Akan tetapi berdasarkan saran dari salah satu pengguna, interaksi rotasi ini lebih baik diimplementasikan untuk memengaruhi arah gerak kamera dibandingkan merotasi kamera. Uraian mengenai penjelasan ini dapat dilihat pada bagian 5.4.

5.3 Pengujian Pengguna

  Pengujian ini dititikberatkan pada sejauh mana perangkat telah menghadirkan pengalaman realitas maya yang imersif serta mendapatkan saran dan kritik dari partisipan mengenai fitur yang perlu ditambah serta hal-hal yang perlu dilakukan untuk meningkatkan realisme dari perangkat yang hendak diuji. Terdapat dua scene yang disediakan untuk melihat sejauh mana kumpulan aset yang terdapat pada satu scene dapat memengaruhi tingkat realisme dari suatu perangkat. Pada tiap scene, pengguna diminta untuk melakukan eksplorasi sebebasnya dengan mencoba kontrol yang ada pada aplikasi seperti berjalan dan berlari menggunakan joystick, serta berputar dengan menggunakan smartphone yang ditempatkan di atas kepala untuk mendeteksi rotasi.

5.3.1 Skenario Uji Coba Pengguna

  Dalam melakukan pengujian perangkat lunak, penguji diminta untuk mencoba menggunakan perangkat lunak yang bersangkutan untuk melakukan eksplorasi dengan menggunakan kontrol yang telah disediakan di dalam aplikasi. Sebelum menguji coba aplikasi yang dibuat dalam tugas akhir ini, penguji terlebih dahulu membaca kuesioner yang telah disediakan untuk mengetahui maksud dari pengujian ini dan memahami aspek realisme apa yang dinilai.

  Pengujian aplikasi oleh pengguna dilakukan dengan sebelumnya memberikan informasi seputar gambaran umum dari perangkat, fungsionalitasi aplikasi dalam menjalankan perangkat, serta tujuan yang ingin dicapai dari dibuatnya perangkat ini. Setelah informasi tersampaikan, pengguna kemudian diarahkan untuk langsung mencoba aplikasi dengan spesifikasi lingkungan yang telah disebutkan pada bagian lingkungan uji coba.

  Jumlah pengguna yang terlibat dalam pengujian perangkat lunak sebanyak delapan orang. Dalam melakukan pengujian, pengguna diminta untuk melakukan eksplorasi pada dua scene yang telah disediakan di dalam aplikasi selama satu menit.

  Dalam memberikan penilaian dan tanggapan, penguji diberikan formulir pengujian perangkat lunak. Formulir pengujian perangkat lunak ini memiliki beberapa aspek penilaian dan pada bagian akhir terdapat saran untuk perbaikan fitur.

5.3.2 Daftar Penguji Perangkat Lunak

  Pada subbab ini ditunjukkan daftar pengguna yang bertindak sebagai penguji coba aplikasi yang dibangun. Daftar nama penguji aplikasi beserta perangkat yang diguakan ditunjukkan pada Tabel 5.3.

Tabel 5.3 Daftar Nama dan Jenis Perangkat Penguji

  No Nama Pekerjaan

  

1 M. Husain Fuad D. Mahasiswa Teknik Informatika ITS

  

2 Arif Fathur M. Mahasiswa Teknik Informatika ITS

  

3 Hendro Eko P. Mahasiswa Teknik Informatika ITS

  

4 Andaru Kharismanda Mahasiswa Teknik Informatika ITS

  

5 Fahmy Thoriqul H. Mahasiswa Teknik Informatika ITS

  

6 Biandina Meidyani Mahasiswa Teknik Informatika ITS

  

7 Bandem Suardika Mahasiswa Teknik Informatika ITS

  

8 M. Ardhinata Juari Mahasiswa Teknik Informatika ITS

5.3.3 Hasil Uji Coba Pengguna

  Uji coba yang dilakukan terhadap beberapa pengguna ditujukan untuk menilai tingkat realisme perangkat yang dipengaruhi oleh faktor suara, penataan kamera, penataan layar, pemilihan scene, dan cara pengguna berinteraksi dengan aplikasi. Selain menilai realisme, dikarenakan perangkat ini adalah perangkat realitas maya, maka penilaian tingkat rasa pusing yang dirasakan juga dinilai pada kali ini. Intinya penilaian kali ini dibedakan menjadi tiga aspek, yaitu penilaian tingkat realisme perangkat, tingkat realisme scene dan tingkat rasa pusing yang dialami. Saran serta kekurangan yang dialami oleh penguji juga sangat dipertimbangkan pada kesempatan ini. Pada kesempatan ini, pengujian dilakukan dua kali. Pengujian pertama adalah pengujian perangkat yang disusun oleh monitor dan pengujian kedua adalah pengujian perangkat yang disusun oleh proyektor.

  

5.3.3.1 Hasil Penilaian Tingkat Imersif dan Realisme Perangkat

Monitor

  Penilaian ini bertujuan untuk mengetahui sejauh mana perangkat ini menghadirkan pengalaman realitas maya yang imersif kepada pengguna. Pada subbab 5.3.3 telah dijelaskan beberapa faktor yang memengaruhi tingkat imersif dari suatu perangkat. Hasil dari pengujian untuk monitor ini dapat dilihat pada Tabel 5.4.

Tabel 5.4 Hasil Kuesioner dari Pertanyaan yang Berkaitan dengan Tingkat Realisme Perangkat

  

Bagaimana penilaian Anda mengenai tingkat imersif dari

perangkat ini?

No Nama Penilaian

  1 M. Husain Fuad D. Sangat Imersif

  2 Arif Fathur M. Cukup Imersif

  3 Hendro Eko P. Cukup Imersif

  4 Andaru Kharismanda Sedikit Imersif

  5 Fahmy Thoriqul H. Cukup Imersif

  6 Biandina Meidyani Cukup Imersif

  7 Bandem Suardika Sangat Imersif

  8 M. Ardhinata Juari Cukup Imersif

Seberapa realistis menurut Anda ketika objek yang ada di

scene yang telah disediakan aplikasi berlalu ketika Anda terus

melaju?

  No Nama Penilaian

  1 M. Husain Fuad D. Sangat Realistis

  2 Arif Fathur M. Cukup Realistis

  3 Hendro Eko P. Cukup Realistis

  4 Andaru Kharismanda Sedikit Realistis

  5 Fahmy Thoriqul H. Cukup Realistis

  6 Biandina Meidyani Cukup Realistis

  7 Bandem Suardika Cukup Realistis

  8 M. Ardhinata Juari Sedikit Realistis

Adakah perbedaan yang dirasakan ketika Anda jalan atau

berlari di dalam aplikasi?

  No Nama Penilaian

  1 M. Husain Fuad D. Sepenuhnya Terasa

  2 Arif Fathur M. Sangat Terasa

  3 Hendro Eko P. Sangat Terasa

  4 Andaru Kharismanda Cukup Terasa

  5 Fahmy Thoriqul H. Sepenuhnya Terasa

  6 Biandina Meidyani Sangat Terasa

  7 Bandem Suardika Cukup Terasa

  8 M. Ardhinata Juari Cukup Terasa

Dengan menggunakan joypad yang telah disediakan, apakah

joypad ini mendukung realisme yang disajikan oleh perangkat

serta scene yang telah disediakan?

No Nama Penilaian

  1 M. Husain Fuad D. Sepenuhnya Mendukung

  2 Arif Fathur M. Sangat Mendukung

  3 Hendro Eko P. Sangat Mendukung

  4 Andaru Kharismanda Sedikit Mendukung

  5 Fahmy Thoriqul H. Sangat Mendukung

  6 Biandina Meidyani Cukup Mendukung

  7 Bandem Suardika Sangat Mendukung

  8 M. Ardhinata Juari Sangat Mendukung

  

Apakah pengaturan kamera (posisi, field of view, tipe lensa)

yang ada pada aplikasi ini mendukung realisme yang

disajikan oleh perangkat ini?

No Nama Penilaian

  1 M. Husain Fuad D. Sangat Mendukung

  2 Arif Fathur M. Sedikit Mendukung

  3 Hendro Eko P. Sedikit Mendukung

  4 Andaru Kharismanda Cukup Mendukung

  5 Fahmy Thoriqul H. Sangat Mendukung

  6 Biandina Meidyani Cukup Mendukung

  7 Bandem Suardika Cukup Mendukung

  8 M. Ardhinata Juari Cukup Mendukung

Apakah penempatan layar untuk menampilkan aplikasi saat

ini mendukung realisme yang disajikan oleh perangkat ini?

  No Nama Penilaian

  1 M. Husain Fuad D. Sepenuhnya Mendukung

  2 Arif Fathur M. Sedikit Mendukung

  3 Hendro Eko P. Cukup Mendukung

  

4 Andaru Kharismanda Sedikit Mendukung

  

5 Fahmy Thoriqul H. Sedikit Mendukung

  

6 Biandina Meidyani Sedikit Mendukung

  

7 Bandem Suardika Cukup Mendukung

  

8 M. Ardhinata Juari Cukup Mendukung

Gambar 5.3 Grafik Penilaian Tingkat ImersifGambar 5.4 Grafik Penilaian Pengalaman Akselerasi yang Dihadirkan oleh PerangkatGambar 5.5 Grafik Penilaian Perbedaan Pengalaman Akselerasi Saat Berjalan dan BerlariGambar 5.6 Grafik Penilaian Dukungan Joypad pada Tingkat Realisme PerangkatGambar 5.7 Grafik Penilaian Dukungan Pengaturan Kamera pada Realisme PerangkatGambar 5.8 Grafik Penilaian Dukungan Penempatan Layar pada Realisme Perangkat

  Tingkat imersif yang dihadirkan perangkat ini melalui uji coba simulasi dengan menggunakan layar monitor masih kurang baik. Hal ini juga disebabkan karena monitor yang dipakai terlalu kecil sehingga pengguna juga tidak dapat merasakan pengalaman realitas maya sesungguhnya yang dihadirkan oleh perangkat CAVE. Namun pada pertanyaan mengenai perasaan akselerasi pengguna, seperti pada pertanyaan mengenai perbedaan yang dirasakan saat berlari dan pertanyaan mengenai objek yang berlalu saat kamera bergerak, menunjukkan hasil yang baik. Hal ini menunjukkan bahwa penerapan akselerasi pada aplikasi ini sudah dapat dirasakan dengan baik oleh pengguna.

  Dari segi pengaturan kamera serta penempatan layar masih menunjukkan hasil yang cukup. Penempatan layar dan kamera sudah sesuai, akan tetapi masih terdapat beberapa kendala, seperti saat melihat ke pojok layar, terdapat potongan gambar yang tidak pas yang ditunjukkan oleh kamera sehingga mengurangi tingkat imersif dari perangkat ini. Penggunaan monitor yang kecil pun masih menjadi kendala walaupun sudah ditempatkan sedemikian rupa untuk menyerupai perangkat CAVE yang sebenarnya. Untuk interaksi pengguna dengan aplikasi, jawaban dari kuesioner tersebut sudah menunjukkan hasil yang baik. Joypad yang digunakan oleh pengguna, serta rotasi kamera yang diatur oleh smartphone mendukung interaksi pengguna dengan aplikasi.

5.3.3.2 Hasil Penilaian Tingkat Imersif Perangkat Proyektor

  Pengujian kedua dilakukan menggunakan perangkat yang disusun oleh proyektor. Dikarenakan terdapat beberapa keterbatas infrastruktur, hanya dua proyektor yang digunakan untuk menampilkan sisi pandang depan dan sisi pandang kanan. Susunan perangkat ini dengan menggunakan proyektor dapat dilihat pada Gambar 5.9.

Gambar 5.9 Perangkat CAVE yang Disusun oleh Dua Proyektor

  Hasil penilaian tingkat imersif dengan menggunakan proyektor tersebut dapat dilihat pada Gambar 5.10.

Gambar 5.10 Grafik Penilaian Tingkat Imersif Perangkat

  Menggunakan dua proyektor dengan infrastruktur seadanya justru menghasilkan nilai tingkat imersif yang lebih rendah dibanding menggunakan monitor. Akibat adanya keterbatas ruang, gambar yang ditampilkan dapat terhalang oleh pengguna apabila berada di tengah proyektor, dan gambar yang ditampilkan oleh proyektor tidak sebesar tubuh pengguna sangat memengaruhi tingkat imersif perangkat ini. Namun apabila masalah tersebut dapat diatasi, potensi tingkat realitas yang dapat dihadirkan perangkat ini dapat ditingkatkan lebih baik lagi.

5.3.3.3 Hasil Penilaian Tingkat Realisme Scene

  Penilaian ini ditujukan untuk mengetahui sejauh mana scene yang telah disediakan dapat mendukung tingkat realisme yang dihadirkan oleh perangkat ini. Hasil dari kuesioner ini dapat dilihat pada Tabel 5.5.

Tabel 5.5 Hasil Pertanyaan yang Berkaitan dengan Tingkat Realisme Scene

  

Dari kedua scene yang telah diuji, tolong sebutkan tingkat

realitas pada scene 1.

No Nama Penilaian

  1 M. Husain Fuad D. Sangat Realistis

  2 Arif Fathur M. Sangat Realistis

  3 Hendro Eko P. Cukup Realistis

  4 Andaru Kharismanda Sedikit Realistis

  5 Fahmy Thoriqul H. Sedikit Realistis

  6 Biandina Meidyani Cukup Realistis

  7 Bandem Suardika Sangat Realistis

  8 M. Ardhinata Juari Cukup Realistis Dari kedua scene yang telah diuji, tolong sebutkan tingkat realitas pada scene 2. No Nama Penilaian

  1 M. Husain Fuad D. Cukup Realistis

  2 Arif Fathur M. Sedikit Realistis

  3 Hendro Eko P. Cukup Realistis

  4 Andaru Kharismanda Cukup Realistis

  5 Fahmy Thoriqul H. Cukup Realistis

  6 Biandina Meidyani Sangat Realistis

  7 Bandem Suardika Cukup Realistis

  8 M. Ardhinata Juari Cukup Realistis

Apakah suara lingkungan yang disediakan pada masing-

masing scene mendukung realisme yang disajikan oleh

perangkat ini?

No Nama Penilaian

  1 M. Husain Fuad D. Sepenuhnya Mendukung

  2 Arif Fathur M. Cukup Mendukung

  3 Hendro Eko P. Sangat Mendukung

  4 Andaru Kharismanda Sangat Mendukung

  5 Fahmy Thoriqul H. Sangat Mendukung

  6 Biandina Meidyani Cukup Mendukung

  7 Bandem Suardika Sangat Mendukung

  8 M. Ardhinata Juari Cukup Mendukung

Gambar 5.11 Grafik Penilaian Tingkat Realitas Scene 1Gambar 5.12 Grafik Penilaian Tingkat Realitas Scene 2Gambar 5.13 Grafik Penilaian Pengaruh Suara Lingkungan pada Tingkat Realisme Scene

  Pada penilaian kali ini, scene 2 menghasilkan nilai yang lebih baik dibanding scene 1 secara tipis. Scene 2 menghadirkan pencahayaan yang lebih realistis dibanding scene 1. Scene 2 juga tersusun atas objek yang lebih bervariasi sehingga pengguna tidak merasa repetitif. Hasil penilaian scene ini juga masih dapat ditingkatkan dengan mengganti pengaturan kualitas gambar menjadi maksimal dan menggunakan aset yang memiliki definisi tinggi. Pada saat ini, dikarenakan keterbatasan performa dari komputer yang dipakai, pengaturan diatur menjadi sangat rendah agar aplikasi dapat berjalan dengan lancar.

  Bagi suara yang telah disediakan, hasilnya suara ini mendukung realisme yang disajikan oleh scene. Suara ini disesuaikan dengan scene yang tersedia. Scene pertama diberi suara lingkungan hutan sedangkan pada scene kedua diberi suara suasana perkotaan pada malam hari. Hasilnya pengguna dapat merasakan bahwa suara mendukung realisme yang disediakan oleh scene tersebut.

5.3.3.4 Hasil Penilaian Tingkat Rasa Pusing yang Dialami

  Penilaian ini bertujuan untuk mengukur sejauh mana perangkat ini dapat membuat pengguna merasa pusing. Seperti yang telah diketahui bahwa pada saat menggunakan perangkat realitas maya, pengguna dapat merasakan pusing. Penyebab utamanya adalah karena terdapat perbedaan antara dunia maya dengan dunia nyata. Perbedaan tersebut yang menyebabkan pengguna merasa pusing. Hasil dari pertanyaan yang berkaitan dengan rasa pusing dapat dilihat pada Tabel 5.6.

Tabel 5.6 Hasil Kuesioner dari Tingkat Rasa Pusing yang Dialami

  

Apakah Anda merasakan rasa pusing atau mual dalam

menggunakan alat ini?

No Nama Penilaian

  1 M. Husain Fuad D. Tidak Pusing

  2 Arif Fathur M. Tidak Pusing

  3 Hendro Eko P. Sedikit Pusing

  4 Andaru Kharismanda Tidak Pusing

  5 Fahmy Thoriqul H. Sedikit Pusing

  6 Biandina Meidyani Tidak Pusing

  7 Bandem Suardika Tidak Pusing

  8 M. Ardhinata Juari Sedikit Pusing

Gambar 5.14 Grafik Penilaian Tingkat Pusing yang Dialami Saat Menggunakan Perangkat

  Perangkat CAVE ini tidak mengisolasi secara penuh antara dunia maya dengan dunia nyata sehingga pengguna tidak terlalu merasa pusing saat menggunakannya. Seperti yang dapat dilihat pada hasil pengujian tersebut bahwa pengguna tidak begitu merasa pusing saat menggunakan perangkat ini.

  

5.3.3.5 Kekurangan dari Perangkat Menurut Pendapat Penguji

serta Saran Penguji

  Saran dan kekurangan yang ada pada perangkat ini akan sangat dipertimbangkan untuk mengetahui bagian dari perangkat ini yang masih bisa ditingkatkan dan diperbaiki. Tabel 5.7 adalah kekurangan dari perangkat ini menurut pendapat penguji.

Tabel 5.7 Tabel Kekurangan Perangkat Menurut Penguji

  No Nama Kekurangan

  • Pada scene perkotaan view angle

  1 M. Husain Fuad D. terlalu tinggi untuk melihat sekeliling

  • Rotasi terasa sedikit berlebih

  2 Arif Fathur M. Penempatan layar kurang pas Kalibrasi untuk view mode dari sensor 3 Hendro Eko P. ke software kurang Kurang angin, kurang kendaraan, kurang luas spacenya, kurang bisa belok, kurang contol joystick, kurang panas, kurang populasi, kurang

  4 Andaru Kharismanda interaksi, kurang skenario, kurang laut, kurang hujan, terlalu tinggi lompatnya, pohonnya sama semua, gedungnya sama semua Adanya lag pada layar client, susah untuk bernavigasi dikarenakan posisi

  5 Fahmy Thoriqul H. monitor tidak ikut bergerak sesuai pergerakan kepala secara real

  6 Biandina Meidyani Susah untuk belok Pada scene 1, sudah terasa imersif,

  7 Bandem Suardika mungkin karena gambar kartunis jadinya kurang real. Pada scene 2, ada beberapa bagian yang kurang simetris (posisi objek depan, kanan dan kiri) sehingga kurang immersif Gyro: Gyroscope di aplikasi ini kurang mendukung, karena setiap kepala

  8 M. Ardhinata Juari pengguna bergerak seahrusnya scene yang dilihat pengguna tidak bergerak

Tabel 5.8 Tabel Saran Penguji

  No Nama Saran

  Penurunan kecepatan rotasi view dan

  1 M. Husain Fuad D. penurunan view angle pada scene perkotaan (scene 2) Perbaiki sinkronasi gerakan kepala 2 Arif Fathur M. dengan view di layar Kecepatan transisi saat pergerakan bisa lebih disesuaikan lagi, tinggi view

  3 Hendro Eko P. dengan benda juga perlu disesuaikan kembali

  • 4 Andaru Kharismanda - Menambahkan perangkat yang lebih mendukung untuk meningkatkan

  5 Fahmy Thoriqul H. imersifitas

  • Memperluas arena yang dapat di-

  explore pada tiap scene

  6 Biandina Meidyani Ada karakternya

  • Pada saat pengujian, perangkat lebih disesuaikan (ukuran layar, posisi layar,

  7 Bandem Suardika resolusi, dll)

  • Rotasi melihat kebawah

  8 M. Ardhinata Juari Ganti fungsionalitas gyro ke joystick

5.4 Evaluasi Hasil Uji Coba

  Aplikasi sudah dapat menghubungkan komputer yang bertugas untuk menampilkan gambar dengan sudut pandang masing- masing. Akan tetapi pada beberapa scene masih terdapat gambar yang sedikit terpotong sehingga mengurangi sedikit tingkat imersif perangkat dan scene yang disajikan.

  Interaksi dengan menggerakkan kamera sudah dapat dilakukan oleh joypad dengan baik, akan tetapi untuk rotasi kamera masih ada yang perlu sedikit disesuaikan. Pada saat ini, ketika kepala pengguna berputar, kamera yang ada di dalam aplikasi juga berputar. Ke depannya ketika kepala pengguna berputar, yang akan terpengaruh adalah hanya arah gerak dari kamera yang ada di dalam aplikasi sehingga arah gerak kamera mengikuti putaran kepala pengguna.

  Hasil tingkat realisme dari pengujian ini masih belum memuaskan akibat infrastruktur yang terbatas. Apabila diterapkan dengan menggunakan komponen yang sesuai maka tingkat realisme akan dapat dirasakan oleh pengguna jauh lebih nyata. Akan tetapi perbedaan kecepatan gerak dan lewatnya objek yang ada di dalam aplikasi ketika pengguna menggerakkan kamera sudah dapat dirasakan dengan baik oleh pengguna. Pengguna juga tidak terlalu merasakan pusing ketika menggunakan perangkat ini.

  Scene yang disediakan sudah cukup baik dalam

  menghadirkan realisme pada tugas akhir ini. Realisme yang dihadirkan oleh scene ini juga masih dapat ditingkatkan dengan mengubah pengaturan grafis untuk menunjukkan gambar yang paling bagus dan mengganti aset menjadi aset yang berdefinisi tinggi.

  

(Halaman ini sengaja dikosongkan)

6 BAB VI KESIMPULAN DAN SARAN

  Bab ini membahas mengenai kesimpulan yang dapat diambil dari tujuan pembuatan perangkat lunak dan hasil uji coba yang telah dilakukan sebagai jawaban dari rumusan masalah yang dikemukakan.

  6.1. Kesimpulan

  Dalam proses pengerjaan Tugas Akhir ini, mulai dari tahap analisis, desain, implementasi, hingga pengujian didapatkan kesimpulan sebagai berikut:

  1. Pengujian fitur menunjukkan bahwa aplikasi telah berhasil dalam menerapkan fitur-fitur penting yang harus dimiliki oleh perangkat ini, akan tetapi beberapa penyesuaian masih dapat dilakukan untuk meningkatkan realisme.

  2. Hasil uji coba mengindikasikan bahwa tingkat realisme yang dihadirkan oleh perangkat ini masih kurang memuaskan.

  Pentingnya komponen yang sesuai bagi perangkat ini sangat memengaruhi tingkat realisme.

  3. Scene yang disediakan untuk uji coba aplikasi sudah menghadirkan pengalaman realisme yang cukup baik. Scene ini juga masih dapat ditingkatkan kualitasnya dengan menggunakan aset yang berdefinisi tinggi untuk menghadirkan tingkat realisme yang lebih nyata.

  4. Pengguna tidak merasakan rasa pusing ketika menggunakan perangkat ini.

  Selain kesimpulan, juga terdapat saran yang ditujukan untuk pengembangan perangkat lunak lebih lanjut.

  6.2. Saran

  Berikut adalah beberapa saran untuk pengembangan sistem di masa yang akan datang berdasarkan pada hasil perancangan, implementasi dan uji coba yang telah dilakukan.

  1. Diperlukannya komponen yang sesuai dalam menyusun perangkat ini sehingga tingkat realisme dapat dirasakan oleh pengguna jauh lebih nyata.

  2. Penyesuaian rotasi kamera yang ditangani oleh sensor gyroscope milik smartphone agar pengguna dapat merasakan rotasi lebih nyata lagi.

  3. Kualitas aset yang menyusun scene dapat ditingkatkan dengan menggunakan aset berdefinisi tinggi serta menambah objek pada

  scene dan ruang eksplorasi yang lebih luas agar pengguna dapat merasakan pengalaman realisme yang lebih nyata.

7 DAFTAR PUSTAKA

  [1] CAVE Automatic Virtual Environment. (n.d.). Diakses tanggal

  25 Mei 2016, dari http://www.visbox.com/products/cave/ [2]

  CAVE Fully Immersive Virtual Reality - Virtual Reality. (n.d.). Diakses tanggal 25 Mei 2016, dari

  [3] Helgaeson, David. Another Million Unity Developers in the House. July 9, 2013. Diakses tanggal 21 Desember 2016, dari https://blogs.unity3d.com/2013/07/09/another-million- unity-developers-in-the-house/

  [4]

  Muhanna, M. A. (18 Maret 2014). Virtual reality and the CAVE: Taxonomy, interaction challenges and research directions

  [5]

  Game developers, start your Unity

  3D engines (interview). 2 November 2012. Diakses tanggal

  3 Juni 2016, dari

  [6]

  

Chung, Lawrence. (n.d.). Client-Server Architecture

  [7] Unity officially releases its new game engine: Unity 5.

  3 Maret 2015. Diakses tanggal 3 Juni 2015, dari

  

(Halaman ini sengaja dikosongkan)

8 BIODATA PENULIS

  Ahmad Ridwan Fauzi. Lahir di Cianjur, 5 Agustus 1994. Penulis menghabiskan masa sekolahnya (SD, SMP, SMA) di Cianjur.

  Semasa SMA, penulis aktif dalam mengikut perlombaan karya ilmiah dan berhasil menjuarai lomba Climate Smart Leaders yang diadakan oleh Yayasan Pengembangan Berkelanjutan dan didukung oleh Menteri

  Lingkungan Hidup pada Oktober 2011. Penulis juga sempat menjadi peserta program riset yang diadakan oleh Kanagawa Institute of Technology, Atsugi, Jepang pada Agustus 2016. Saat ini penulis berkuliah di Institut Teknologi Sepuluh Nopember Surabaya, tepatnya di Jurusan S1 Teknik Informatika Institut Teknologi Sepuluh Nopember.

Dokumen baru