ii
ABSTRACT
DEVELOPMENT OF VIRTUAL REALITY-BASED
VISITOR SERVICES GUIDANCE APPLICATION AT CICENDO EYE HOSPITAL BANDUNG
By
WILLY AHMAD SYAFIQ 10111375
With the number of rooms, facilities, types of services, procedures, and administrative requirements possessed Cicendo Eye Hospital Bandung, visitors and patients often do not know what services are available, the facilities provided, where the location of a room or facility, and choose the wrong route to room or facilities. The number of officials and media that there is still not able to provide information - such information properly.
Applications built has some features that consists of a collection of information about hospital services, referrals shortest route to a place-based 3D using Dijkstra's algorithm and QR Code technology, as well as visualization features complete facilities using the concept of virtual tour. This application is based on the Android mobile platform.
Based on alpha and beta testing can be concluded that the applications are built can help patients and visitors in search of information about facilities, services, procedures and administrative requirements in hospitals. This application helps officers and complements existing information media, helping to provide visualization and completeness of the details of the hospital facilities, and can provide the shortest route guidance toward a room or facility properly.
i
MATA CICENDO BANDUNG
Oleh
WILLY AHMAD SYAFIQ 10111375
Dengan banyaknya ruangan, fasilitas, jenis layanan, prosedur, dan persyaratan administrasi yang dimiliki Rumah Sakit Mata Cicendo Bandung, pengunjung maupun pasien seringkali tidak mengetahui apa saja layanan yang ada, fasilitas yang disediakan, dimana letak suatu ruangan atau fasilitas, dan salah memilih rute menuju ruangan atau fasilitas tersebut. Jumlah petugas dan media yang ada saat ini masih belum dapat memberikan informasi – informasi tersebut dengan baik.
Aplikasi yang dibangun memiliki beberapa fitur yang terdiri dari kumpulan informasi layanan rumah sakit, arahan rute terpendek menuju suatu tempat berbasis 3D yang menggunakan Algoritma Dijkstra dan teknologi QR Code, serta fitur visualisasi kelengkapan fasilitas menggunakan konsep virtual tour.
Aplikasi ini berbasis mobile dengan platformAndroid.
Berdasarkan pengujian alpha dan beta dapat disimpulkan bahwa aplikasi yang di bangun dapat membantu pasien dan pengunjung dalam mencari informasi mengenai fasilitas, layanan, prosedur, dan persyaratan administrasi yang ada di rumah sakit. Aplikasi ini membantu petugas dan melengkapi media informasi yang ada, membantu memberikan visualisasi dan rincian kelengkapan fasilitas rumah sakit, serta dapat memberikan panduan rute terpendek menuju suatu ruangan atau fasilitas dengan baik.
1
BAB 1
PENDAHULUAN
1.1. Latar Belakang Masalah
Rumah Sakit Mata Cicendo Bandung berdiri di atas lahan seluas 11.400 m2 dengan luas bangunan 13.832,9 m2 yang terdiri dari 8 gedung utama meliputi instalasi rawat jalan, instalasi rawat inap, instalasi bedah, instalasi penunjang, perkantoran, perkuliahan, dan fasilitas riset. Sebagai Pusat Mata Nasional dan Rumah Sakit Negeri kelas A, Rumah Sakit Mata Cicendo Bandung memiliki banyak keunggulan dalam segi kelengkapan fasilitas penunjang baik dari segi medis maupun non medis.
Setelah melakukan observasi serta wawancara dengan pihak rumah sakit, pasien, dan pengunjung didapat fakta bahwa dengan banyaknya ruangan, fasilitas, jenis layanan, prosedur, dan persyaratan administrasi yang ada, pengunjung maupun pasien seringkali tidak mengetahui apa saja fasilitas yang disediakan, dimana letak suatu ruangan atau fasilitas, dan salah memilih rute menuju ruangan atau fasilitas tersebut. Disamping itu pasien dan pengunjung seringkali mengalami kesulitan dalam mencari informasi dikarenakan terbatasnya jumlah dan posisi media informasi maupun petugas informasi yang ada, sehingga pasien atau pengunjung harus selalu menghampiri petugas atau mencari media informasi yang seringkali posisinya berjauhan dan seringkali harus mengantri.
arahan dengan baik dikarenakan banyaknya informasi dan keterbatasan media yang digunakan.
Berdasarkan pemaparan masalah tersebut diperlukan sebuah solusi pemberi informasi yang mampu menunjukan rincian serta visualisasi yang baik. Solusi yang diusulkan adalah sebuah aplikasi multimedia panduan layanan pengunjung berbasis virtual reality, aplikasi tersebut akan menyediakan informasi layanan rumah sakit, virtual tour untuk memberikan visualisasi bangunan serta fasilitas rumah sakit, dan denah interaktif untuk menunjukan rute terpendek menuju suatu tempat. Platform yang digunakan adalah android, platform tersebut dipilih karena kebutuhan akan mobilitas serta hasil kuesioner yang diberikan kepada pasien dan pengunjung menunjukan bahwa pasien dan pengunjung lebih banyak menggunakan perangkat mobile yang menggunakan sistem operasi android. 1.2. Identifikasi Masalah
Berdasarkan latar belakang yang sudah dipaparkan diatas dapat diidentifikasi beberapa masalah sebagai berikut:
1. Pasien dan pengunjung tidak mengetahui apa saja fasilitas, layanan, prosedur, dan persyaratan administrasi yang ada di rumah sakit.
2. Terbatasnya jumlah media informasi dan petugas informasi, sehinga seringkali tidak dapat melayani pasien atau pengunjung dengan baik.
3. Sulit untuk memberikan visualisasi dan rincian kelengkapan fasilitas rumah sakit dikarenakan keterbatasan media yang digunakan.
4. Media yang digunakan saat ini belum mampu menunjukan posisi ruangan atau fasilitas serta panduan rute terpendek untuk menuju ruangan atau fasilitas tersebut.
1.3. Maksud dan Tujuan
1.3.1. Maksud
3
1.3.2. Tujuan
Adapun tujuan dari penelitian ini adalah sebagai berikut:
1. Membantu menyediakan informasi mengenai fasilitas, layanan, prosedur, dan persyaratan administrasi yang ada di rumah sakit.
2. Membantu petugas dan melengkapi media informasi yang ada untuk pelayanan yang lebih baik.
3. Membantu memberikan visualisasi dan rincian kelengkapan fasilitas rumah sakit.
4. Memberikan panduan rute terpendek menuju suatu ruangan atau fasilitas. 1.4. Batasan Masalah
Batasan masalah pada penelitian ini adalah sebagai berikut:
1. Aplikasi yang akan dihasilkan adalah aplikasi multimedia yang terdiri dari informasi layanan, virtual tour interaktif, dan denah interaktif yang mampu menampilkan rute terpendek.
2. Ruangan dan area yang dapat di akses dalam virtual tour hanya ruangan yang bersifat publik dan diizinkan oleh pihak Rumah Sakit Mata Cicendo Bandung.
3. Virtual tour tidak menampilkan objek hingga level peralatan medis.
4. Virtual reality disini hanya menggunakan display gadget atau smartphone
tanpa menggunakan teknologi display stereoskopik khusus.
5. Aplikasi tidak menggunakan koneksi internet saat penggunaannya.
6. Modeling ruangan, properti, dan bangunan keseluruhan dibuat berdasarkan foto dan floor plan rumah sakit yang diambil pada saat penelitian dilakukan.
7. Metode yang digunakan dalam pencarian rute terpendek adalah Algoritma Dijkstra.
8. Untuk menentukan posisi pengunjung atau pasien saat pencarian rute terpendek menggunakan teknologi QR Code (hasil scan QR Code
9. Pendekatan analisis yang digunakan perangkat lunak ini adalah OOAD
(Object Oriented Analysis and Design) dengan UML (Unified Modeling Language).
10. Untuk QR Code Reader menggunakan library Zxing.Net 11. Platform yang digunakan adalah Android.
12. Aplikasi dibangun dengan menggunakan Unity3D C# languange.
13. Perangkat mobile yang digunakan untuk aplikasi ini miniminal menggunakan OS android versi 4.1 Jelly Bean
14. Asset 3D dibuat dengan menggunakan 3ds Max
15. Pembuatan QR Code menggunakan aplikasi di luar sistem yang dibangun, adapun pembuatan QR Code dilakukan diuar sistem yang dibangun yaitu menggunakan QR Code Generator berbasis dekstop.
16. Informasi layanan rumah sakit yang ditampilkan pada aplikasi adalah informasi seputar kelengkapan fasilitas, prosedur pendaftaran, edukasi penyakit mata, nama ruangan beserta fungsionalitas dan jam operasional ruangan.
1.5. Metodologi Penelitian
5
Gambar 1.1 Bagan Metodologi Penelitian
1. Studi Literatur
Studi literatur mengenai tema penelitian, dalam hal ini adalah literatur mengenai pengembangan aplikasi berbasis android, map 3D, virtual tour, dan penggunaan algoritma pencarian rute terpendek.
2. Wawancara
Wawancara merupakan teknik pengumpulan data dengan cara melakukan tanya jawab kepada narasumber untuk didapatkan informasi yang diinginkan. Wawancara dilakukan kepada pihak rumah sakit untuk mendapatkan masalah atau kendala dan aturan bisnis yang ada di rumah sakit. 3. Observasi
sakit, dan sistem pelayanan informasi bagi pengunjung atau pasien yang sedang berjalan.
4. Identifikasi masalah
Mengidentifikasi masalah berdasarkan hasil observasi, wawancara, dan studi literatur. Masalah yang ada adalah pada keterbatasan jumlah petugas dan media yang digunakan, keterbatasan kemampuan media yang digunakan, penyampaian informasi, serta kondisi jaringan internet di lapangan.
5. Analisis Kebutuhan Data
Menganalisis kebutuhan data untuk solsusi yang sistem yang diusulkan. Dalam hal ini data yang di analisis adalah data ruangan, fasilitas, dan layanan yang ada di rumah sakit.
6. Pengumpulan Data
Pengumpulan data berupa data ruangan, fasilitas, dan layanan yang disediakan rumah sakit. Data – data tersebut didapat dari pihak rumah sakit berupa floor plan, denah, brosur, foto, dan dokumen terkait. Selain itu dilakukan juga pengambilan gambar terkini dari rumah sakit.
7. Pembangunan Perangkat Lunak
Pembangunan perangkat lunak menggunakan metode pembangunan perangkat lunak waterfall.
8. Pengujian
Setelah melakukan pembangunan dilakukan pengujian perangkat lunak menggunakan pengujian Black Box, menyebarkan kuesioner kepada pengguna yaitu pengunjung dan pasien rumah sakit, dan melakukan wawancara kepada pihak rumah sakit.
1.5.1. Metode Pembangunan Perangkat Lunak
7
berlanjut ke proses perencanaan, pemodelan, konstruksi, dan penyebaran secara bertahap. [1]
Gambar 1.2 Model Waterfall
1. Communication
Tahap awal dalam proses pembangunan sistem dimulai dari melakukan analisis terhadap kebutuhan software, dan melakukan pengumpulan data dengan cara melakukan pertemuan dengan customer, maupun mengumpulkan data – data tambahan yang ada di jurnal ilmiah maupun di internet.
2. Planning
Proses planning merupakan lanjutan dari proses communication (analysis requirement). Tahapan ini akan menghasilkan dokumen user requirement atau data yang berhubungan dengan keinginan user dalam pembangunan sistem, termasuk rencana yang akan dilakukan.
3. Modelling
Dalam proses ini, akan dilakukan penerjemahan syarat kebutuhan ke sebuah perancangan software yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada rancangan struktur data, arsitektur software, representasi
interface, dan algoritma prosedural. Pada tahapan ini, akan menghasilkan dokumen yang disebut software requirement.
4. Construction
Pada tahap ini, akan dilakukan proses membuat kode atau coding yang merupakan proses penerjemah desain ke dalam bahasa yang bisa dikenali oleh komputer. Setelah proses pengkodean selesai, maka akan dilakukan testing
5. Deployment
Tahap ini merupakan tahap terakhir dari model waterfall. Dalam tahap ini, sistem sudah siap untuk digunakan oleh user. Dan kemudian software yang telah dibangun harus dilakukan pemeliharaan secara berkala.
1.6. Sistematika Penulisan
Berikut adalah sistematika penulisan yang dibuat: BAB 1 PENDAHULUAN
Bab 1 menguraikan latar belakang permasalahan, merumuskan inti permasalahan, mencari solusi atas masalah tersebut, mengidentifikasi masalah tersebut, menentukan maksud dan tujuan, kegunaan penelitian, pembatasan masalah, metode penelitian, dan sistematika penulisan.
BAB 2 LANDASAN TEORI
Bab 2 menguraikan bahan-bahan kajian, konsep dasar, dan teori para ahli yang berkaitan dengan penelitian. Meninjau permasalahan dan hal-hal yang berguna dari penelitian-penelitian dan sintesis serupa yang pernah dikerjakan sebelumnya dan menggunakannya sebagai acuan pemecahan masalah pada penelitian ini.
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
Bab 3 menguraikan hasil analisis dari objek penelitian untuk mengetahui hal atau masalah apa yang timbul dan mencoba memecahkan masalah tersebut dengan mengaplikasikan perangkat-perangkat dan pemodelan yang digunakan.
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM
9
bagaimana sistem dirancang, dibangun, diuji, dan disesuaikan dengn hasil penelitian.
BAB 5 KESIMPULAN DAN SARAN
11
BAB 2
TINJAUAN PUSTAKA
2.1. Profil Tempat Penelitian
2.1.1. Sejarah Instansi
Diresmikan oleh Gubernur Jenderal J.B. Van Heutsz pada tanggal 3 Januari 1909. Pada awalnya bernama koningen Wilhelmina Gasthuis voor Ooglijders dengan direktur pertamanya dr. CHA Westhoff.
Sempat menjadi Rumah Sakit Umum pada jaman pendudukan Jepang tahun 1942-1945, menggantikan posisi Rumah Sakit Rancabadak yang menjadi Rumah Sakit Militer. Kemudian berganti nama sesuai dengan nama jalan dimana rumah sakit ini berapa menjadi Rumah Sakit Mata Tjitjendo pada tahun 1980.
Rumah Sakit Mata Cicendo merupakan satu-satunya rumah sakit mata milik pemerintah republik Indonesia yang berada dibawah Direktorat Jenderal Bina Pelayanan Medik Departemen Kesehatan Republik Indonesia [2].
2.1.2. Logo Instansi
Gambar 2.1 Logo Rumah Sakit Mata Cicendo
2.1.3. Badan Hukum Instansi
Rumah Sakit Mata Cicendo merupakan sakit mata milik pemerintah republik Indonesia yang berada dibawah Direktorat Jenderal Bina Pelayanan Medik Departemen Kesehatan Republik Indonesia [2].
1. SK Menkes No. 1040 Tahun 1992, RS MATA RUJUKAN NASIONAL Tipe B Non Pendidikan
3. SK Menteri Kesehatan RI No. 059/MENKES/SK/I/2009, 16 Januari 2009 PUSAT MATA NASIONAL
2.1.4. Visi dan Misi
A. Visi
Menjadi Rumah Sakit Mata Rujukan Nasional yang berstandar internasional di bidang pelayanan, pendidikan dan penelitian kesehatan mata pada tahun 2019.
B. Misi
Rumah Sakit Mata Cicendo Bandung memiliki misi sebagai berikut:
1. Memberikan pelayanan kesehatan mata yang paripurna sesuai dengan standard dunia yang berorientasi pada kepuasan bagi seluruh lapisan masyarakat, terjangkau, merata, dan berkeadilan.
2. Memberikan peluang dan lingkungan yang kondusif untuk penyelenggaraan pendidikan kesehatan mata yang inovatif.
3. Menyelenggarakan penelitian dan pengembangan serta penapisan ilmu dan teknologi di bidang kesehatan mata.
4. Melaksanakan pengabdian dan pemberdayaan masyarakat dalam upaya pemeliharaan dan peningkatan kesehatan mata.
13
2.1.5. Struktur Organisasi
2.2. Landasan Teori
2.2.1. Multimedia
Multimedia adalah penggunaan komputer untuk menyajikan dan menggabungkan teks, suara, gambar, animasi dan video dengan alat bantu (tool) dan koneksi (link) sehingga pengguna dapat bernavigasi, berinteraksi, berkarya dan berkomunikasi [3]. komponen multimedia terbagi atas lima jenis yaitu:
1. Teks
Teks merupakan elemen multimedia yang menjadi dasar untuk menyampaikan informasi, karena teks adalah jenis data yang paling sederhana dan membutuhkan tempat penyimpanan yang paling kecil. Teks merupakan cara yang paling efektif dalam mengemukakan ide-ide kepada pengguna, sehingga penyampaian informasi akan lebih mudah dimengerti oleh masyarakat. Jenis-jenis teks seperti Printed Text, yaitu teks yang dihasilkan oleh word processor atau word editor dengan cara diketik yang nantinya dapat dicetak. Scanned Text yaitu teks yang dihasilkan melalui proses scanning tanpa pengetikan. Dan Hypertext yaitu jenis teks yang memberikan link ke suatu tempat / meloncat ke topik tertentu.
2. Grafik (image)
Sangat bermanfaat untuk mengilustrasi informasi yang akan disampaikan terutama informasi yang tidak dapat dijelaskan dengan kata-kata. Jenis-jenis grafik seperti bitmap yaitu gambar yang disimpan dalam bentuk kumpulan pixel, yang berkaitan dengan titik-titik pada layar monitor. Digitized picture adalah gambar hasil rekaman video atau kamera yang dipindahkan ke komputer dan diubah ke dalam bentuk bitmaps. Hyperpictures, sama seperti hypertext hanya saja dalam bentuk gambar.
3. Audio
Multimedia tidak akan lengkap jika tanpa audio (suara). Audio bisa berupa percakapan, musik atau efek suara.
15
a) WAVE
Merupakan format file digital audio yang disimpan dalam bentuk digital dengan eksistensi WAV.
b) MIDI (Musical Instrument Digital Interface)
MIDI memberikan cara yang lebih efisien dalam merekam music dibandingkan wave, kapasitas data yang dihasilkan juga jauh lebih kecil. MIDI disimpan dalam bentuk MID.
4. Video
Video menyediakan sumber yang kaya dan hidup untuk aplikasi multimedia. Dengan video dapat menerangkan hal-hal yang sulit digambarkan lewat kata-kata atau gambar diam dan dapat menggambarkan emosi dan psikologi manusia secara lebih jelas.
5. Animasi
Animasi adalah simulasi gerakan yang dihasilkan dengan menayangkan rentetan frame ke layer. Frame adalah satu gambar tunggal pada rentetan gambar yang membentuk animasi. Menurut Foley, Van Dam, Feiner dan Hughes [4] animate adalah untuk membuat sesuatu hidup, sebagian orang mengira bahwa animasi itu sama dengan motion (gerakan), tetapi animasi mencakup semua yang mengandung efek visual sehingga animasi mencakup perubahan posisi terhadap waktu, bentuk, warna, struktur, tekstur dari sebuah objek, posisi kamera, pencahayaan, orientasi dan focus dan perubahan dalam teknik rendering.
2.2.2. Grafika Komputer
Seperangkat alat yang terdiri dari hardware dan software untuk membuat gambar, grafik atau citra realistik untuk seni, game komputer, foto dan animasi komputer [5].
Merupakan sekumpulan alat terdiri dari hardware dan software yang digunakan untuk membuat gambar (to create pictures) dan berinteraksi dengan gambar dengan cara-cara seperti yang biasa digunakan [6].
dan merupakan suatu proses pembuatan, penyimpanan dan manipulasi model dan citra.
Grafika Komputer secara umum dapat dibagi menjadi dua bagian, yaitu grafika 2 dimensi dan grafika 3 dimensi. Dalam teknik penyajian, grafika 2 dimensi memiliki kekurangan, yaitu ketidakmampuan untuk merepresentasikan objek 3 dimensi. Grafika 3 dimensi dapat menggambarkan sebuah benda dalam dunia nyata menjadi sebuah objek dari berbagai sudut pandang. Tidak seperti grafika 2 dimensi, dalam grafika 3 dimensi banyak sekali hal yang harus dipertimbangkan.
2.2.3. Elemen – Elemen Grafika Komputer
Objek 3 Dimensi
Secara konseptual dalam grafika komputer objek 3 dimensi dibuat dari rangkaian poligon. Poligon adalah sejumlah dari segmen garis yang dihubungkan antara ujung garis satu dengan yang lainnya membentuk suatu bidang tertutup. Hal yang membedakan 2 dimensi dan 3 dimensi adalah kedalaman. Kedalaman didefinisikan sebagai jarak antara viewer terhadap benda yang dia lihat. Ini berarti berbeda dengan 2 dimensi yang hanya menggunakan 2 ukuran, yaitu panjang dan lebar, maka 3 dimensi menggunakan 3 ukuran, yaitu panjang, lebar dan kedalaman. Secara geometri ketiga ukuran tersebut disimbolkan dengan sumbu x, y, dan z. 3D tidak hanya digunakan dalam matematika dan fisika saja melainkan dibidang grafis, seni, animasi, komputer dan lain-lain. Konsep tiga dimensi atau 3D menunjukkan sebuah objek atau ruang memiliki tiga dimensi geometris yang terdiri dari kedalaman, lebar dan tinggi. Contoh tiga dimensi suatu objek atau benda adalah bola, piramida atau benda spasial seperti kotak sepatu.
2.2.4. Virtual Reality
17
Pada umumnya virtual reality hanya mengutamakan pengalaman visual yang ditampilkan lewat layar komputer atau melalui display stereoskopik khusus, tetapi beberapa simulasi juga memiliki beberapa informasi sensorik tambahan, contohnya seperti suara melalui speaker atau headphone. Virtual reality juga dapat meliputi komunikasi jarak jauh yang dapat menampilkan kehadiran user secara
virtual melalui penggunaan dari perangkat input standar seperti keyboard dan mouse, atau melalui perangkat lainnya seperti polhemus (wired glove). Lingkungan yang disimulasi oleh virtual reality dapat dibuat menyerupai dunia nyata, contohnya seperti simulasi untuk pilot atau pelatihan untuk pertempuran, atau dapat berbeda dari kenyataaan secara signifikan, contohnya seperti di dalam game yang berbasis virtual reality. Virtual reality sering digunakan dalam pembuatan berbagai macam aplikasi, contohnya seperti aplikasi yang berfungsi sebagai terapi kecemasan, aplikasi untuk pelatihan seperti flight simulator dan ship simulator, multiplayer online gaming seperti World of Warcraft dan Second Life, Nintendo Wii, dan virtual tour [7].
2.2.5. Virtual Tour
Virtual tour adalah simulasi dari sebuah lokasi yang sesungguhnya, umumnya terdiri oleh sequence video atau kumpulan foto. Virtual tour juga dapat menggunakan beberapa elemen multimedia lain, contohnya seperti sound effect, musik, narasi, dan teks, dan sering digunakan untuk menggambarkan varietas dari media yang berbasis video dan fotografi. Virtual tour merupakan bagian dari virtual reality. Panoramic tour dan virtual tour sering dianggap memiliki arti yang sama, yaitu sebuah virtual tour yang dibuat dengan menggunakan bantuan kamera, terdiri dari sejumlah foto yang diambil dari satu posisi yang strategis dengan cara kamera dan lensa diputar mengelilingi satu lokasi yang sering disebut dengan istilah
no-parallax point (titik tepat di belakang lensa dimana cahaya bertemu).
interaktif. Informasi ruang (space) yang bisa diolah menjadi aplikasi ini meliputi ruang indoor maupun outdoor [7].
Gambar 2.3 Contoh Virtual Tour 3D Pada Real Estate
Gambar 2.4 Contoh Virtual Tour Foto 360o
2.2.6. 3D Modeling
19
dalam komputer simulasi fenomena fisik. Model juga dapat secara fisik dibuat menggunakan perangkat Printing 3D. Model dapat dibuat secara otomatis atau manual. Manual proses pemodelan geometris mempersiapkan data untuk komputer grafis 3D mirip dengan seni plastik seperti mematung [8].
2.2.7. Low Poly
Low Poly adalah polygon mesh dalam 3D computer graphics yang memiliki jumlah polygon yang relatif kecil. Low Poly Mesh digunakan pada saat aplikasi
real-time seperti game. Jumlah poligon dalam mesh merupakan faktor penting untuk mengoptimalkan kinerja tetapi dapat memberikan penampilan yang tidak diinginkan dengan grafis yang dihasilkan.
2.2.8. Teori Dasar Graf
Gambar 2.5 (G1) graf sederhana, (G2) multigraf, dan (G3) multigraf
Gambar di atas memperlihatkan tiga buah graf, G1, G2 dan G3. G1 adalah graf dengan himpunan simpul V dan himpunan sisi E adalah:
V = {1, 2, 3, 4}
E = {(1, 2), (1, 3), (2, 3), (2, 4), (3, 4)}
G2 adalah graf dengan himpunan simpul V dan himpunan sisi E adalah: V = {1, 2, 3, 4}
E = {(1, 2), (2, 3), (1, 3), (1, 3), (2, 4), (3, 4), (3, 4)} = {e1, e2, e3, e4, e5, e6, e7}
G3adalah graf dengan himpunan simpul V dan himpunan sisi E adalah: V = {1, 2, 3, 4}
E = {(1, 2), (2, 3), (1, 3), (1, 3), (2, 4), (3, 4), (3, 4), (3, 3)} = {e1, e2, e3, e4, e5, e6, e7, e8}
Pada G2, sisi e3 = (1, 3) dan sisi e4= (1, 3) dinamakan sisi-ganda (multiple edges atau parallel edges) karena kedua sisi ini menghubungi dua buah simpul yang sama, yaitu simpul 1 dan simpul 3. Pada G3 , sisi e8 = (3, 3) dinamakan gelang atau kalang (loop) karena ia berawal dan berakhir pada simpul yang sama.
2.2.9. Graf Berbobot (Weighted Graph)
21
komunikasi ke simpul komunikasi lain (dalam jaringan komputer), ongkos produksi, dan sebagainya.
2.2.10. Lintasan Terpendek
Persoalan mencari lintasan terpendek di dalam graf merupakan salah satu persoalan optimasi. Graf yang digunakan dalam pencarian lintasan terpendek adalah graf berbobot (weighted graph), yaitu graf yang setiap sisinya diberikan suatu nilai atau bobot. Bobot pada sisi graf dapat menyatakan jarak antar kota, waktu pengiriman pesan, ongkos pembangunan, dan sebagainya. Asumsi yang kita gunakan di sini adalah bahwa semua bobot bernilai positif. Kata terpendek berbeda-beda maknanya bergantung pada tipikal persoalan yang akan diselesaikan. Namun, secara umum terpendek berarti meminimisasi bobot pada suatu lintasan dalam graf [9].
2.2.11. Algoritma Dijkstra
Algoritma yang ditemukan oleh Dijkstra untuk mencari path atau rute terpendek. Misalkan G adalah graf berarah berlabel dengan titik-titik V(G) = {v1, v2,..., vn} dan path terpendek yang dicari adalah dari v1 ke vn. Algoritma Dijkstra dimulai dari titik v1. dalam iterasinya, algoritma akan mencari satu titik yang jumlah bobotnya dari titik 1 terkecil. Titik-titik yang terpiih dipisahkan dan titik-titik tersebut tidak diperhatikan lagi dalam iterasi berikutnya.
Misalkan:
V (G) = {v1, v2,.., vn}
L = Himpunan titik-titik ε V (G) yang sudah terpilih dalam jalur path terpendek.
D(j) = Jumlah bobot path terkecil dari v1 ke vj w(i,j) = Bobot garis dari titik vi ke vj
w*(1,j) = Jumlah bobot path terkecil dari v1 ke vj
Secara formal, algoritma Dijkstra untuk mencari path terpendek adalah sebagai berikut:
1) L = { };
2) Untuk i = 2, ..., n, lakukan D(i) – w(1, i)
Menurut algoritma di atas, path terpendek dari titik v1 ke vn adalah melalui titik- titik dalam L secara berurutan, dan jumlah bobot path terkecilnya adalah D(n). Algoritma Dijkstra dinyatakan dalam pseudo-code berikut ini( Rinaldi Munir 2005 , hal. 414):
procedure Dijkstra (input m:matriks, a:simpul awal) (
Mencari lintasan terpendek dari simpul awal a ke semua simpul lainnya Masukan : matriks ketetanggaan (m) dari graf berbobot G dan simpul awal a Keluaran : lintasan terpendek dari a ke semua simpul lainnya
Deklarasi
s1, s2, ..., sn :integer (tabel integer)
d1, d2, ..., dn :integer (tabel integer)
i, j, k: integer Algoritma
( langkah 0 (Inisialisasi:) for i ← 1 to n do
si← 0
di← mai
endfor (langkah 1 :)
Sa←1 (karena simpul a adalah simpul asal lintasan terpendek, jadi simpul a sudah pasti terpilih dalam lintasan terpendek )
23 kemampuan untuk menyimpan data di dalamnya. QR Code merupakan evolusi dari kode batang (barcode). Barcode merupakan sebuah simbol penandaan objek nyata yang terbuat dari pola batang-batang berwarna hitam dan putih agar mudah untuk dikenali oleh komputer [10]. Contoh QR Code bisa dilihat pada gambar berikut.
Gambar 2.6 QR Code
QR Code merupakan singkatan dari Quick Response Code, atau dapat diterjemahkan menjadi kode respon cepat. QR Code dikembangkan oleh Denso Corporation, sebuah perusahaan Jepang yang banyak bergerak di bidang otomotif.
kendaraan di bagian manufaktur dengan cepat dan mendapatkan respon dengan cepat pula.
Seiring berkembangnya QR Code, semakin banyak penelitian yang dilakukan mengenai kode simbol ini. Berbagai penelitian terus dilakukan, baik untuk menambah jumlah data yang dapat disimpan dalam QR Code, menambah resistensi terhadap kerusakan, dan lain-lain. Beberapa penelitian yang telah dilakukan diantaranya adalah :
1. Pembuatan aplikasi pembacaan QR Code menggunakan perangkat mobile
berbasis J2ME
2. QR Code untuk tandatangan digital
3. QR Code untuk autentikasi novel user
4. QR Code untuk edukasi
2.2.13. UML ( Unified Modeling Language )
Banyak sekali model dalam pengembangan software, ada yang terstruktur dan ada juga yang berorientasi objek. UML ( Unified Modeling Language) adalah sebuah “bahasa” yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML merupakan pengganti dari metode objek orientasi analisis dan objek orientasi design ( OOA&D). yang hadir sekitar akhir tahun 1980-an dan awal 1990. UML Menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi perangkat lunak, dimana aplikasi tersebutdapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dengan bahasa pemrograman apapun, tetapi karena UML menggunakan class dan operation dalam konsep dasar, maka akan lebih cocok untuk penulisan piranti lunak dalam bahasa berorientasi objek.
25
1. Grady Booch OOD ( Object-Oriented Design ) 2. Jim Rumbauhgh OMT ( Object Modeling Technique )
3. Ivar Jacobson OOSE ( Object-Oriented Software enginering )
UML merupakan bahsa untuk menspesifikasikan, memvisualisasikan, membangun dan mendokumentasikan bagian dari informasi yang digunakan atau dihasilkan dari proses pembuatan perangkat lunak (Artifacts), Didalamnya dapat berupa model, deskripsi atau deskripsi dari perangkat lunak, seperti pada pemodelan bisnis dan sistem non perangkat lunak lainnya. UML ( Unified Modeling Language ) dibuat oleh Grady Booch, James
Rumbaugh, dan Ivan Jacobson dibawah naungan Rational Software Corp. UML sendiri terdiri atas pengelompokkan diagram-diagram sistem menurut aspek atau sudut pandang tertentu. Diagram adalah yang menggambarkan permasalahan maupun solusi dari permasalahan suatu model. UML mempunyai 9 diagram, yaitu;
use-case, class, object, state, sequence, collaboration, activity, 28 component, dan
deployment diagram. Diagram pertama adalah use case menggambarkan sekelompok use cases dan aktor yang disertai dengan hubungan diantaranya. Diagram use cases ini menjelaskan dan menerangkan kebutuhan/requirement yang diinginkan/dikehendaki pengguna, serta sangat berguna dalam menentukan struktur organisasi dan model dari pada sebuah sistem.
Use Case Diagram
Use case merupakan gambaran umum dari fungsi atau proses utama yang menggambarkan tentang salah satu perilaku sistem. Perilaku sistem ini terdefinisi dari proses bisnis sistem yang akan dimodelkan. Tidak semua proses bisnis digambarkan secara fungsional pada use case, tetapi yang digambarkan hanya fungsionalitas utama yang berkaitan dengan sistem. Use case menitik beratkan bagaimana suatu sistem dapat berinteraksi baik antar sistem maupun diluar sistem. Contoh use case diagram dapat dilihat pada gambar berikut.
Activity Diagram
peran mirip diagram alir, tetapi perbedaan prinsip antara notasi diagram alir adalah activity diagram mendukung behavior paralel. Node pada sebuah activity diagram disebut sebagai action, sehingga diagram tersebut menampilkan sebuah activity
yang tersusun dari action. Sequence Diagram
Sequence diagram adalah grafik dua dimensi dimana obyek ditunjukkan dalam dimensi horizontal, sedangkan lifeline ditunjukkan dalam dimensi vertikal.
Class Diagram
Class diagram merupakan himpunan dari objek-objek yang sejenis. Sebuah objek memiliki keadaan sesaat (state) dan perilaku (behavior). State sebuah objek adalah kondisi objek tersebut yang dinyatakan dalam attribute/properties. Sedangkan perilaku suatu objek mendefinisikan bagaimana sebuah objek bertindak/beraksi dan memberikan reaksi.
Collaboration Diagram
Collaboration diagram adalah perluasan dari objek diagram. Objek diagram menunjukkan objek-objek yang hubungannya satu dengan yang lain.
Collaboration diagram menunnjukkan mesage-message objek yang dikirim satu sama lain.
Component Diagram
Component diagram mempresentasikan dunia riil item yaitu component software. Component software adalah bagian fisik dari sebuah sistem karena menetap di komputer. Component diagram mengandung component, iterface dan relationship.
Deployment Diagram
Deployment diagram, menunjukkan tata letak sebuah sistem secara fisik, menampakkan bagian-bagian software yang berjalan pada bagian-bagian
27
2.2.14. Pengujian Black Box
Metode pengujian blackbox fokus pada keperluan penelusuran kesalahan fungsional dari software. Ujicoba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya :
Tujuan metode ini mencari kesalaman pada: 1. Fungsi-fungsi yang salah atau hilang 2. Kesalahan interface
3. Kesalahan dalam struktur data atau akses database eksternal 4. Kesalahan performa
5. kesalahan inisialisasi dan terminasi
Teknik pengujian black box terdiri dari 10 jenis diantaranya Equivalence Partitioning, Boundary Value Analysis/Limit Testing, Comparison Testing, Sample
Testing, Robustness Testing, Behavior Testing, Requirement Testing, Performance
Testing, Endurance Testing, Cause-Effect Relationship Testing. Salah satunya yang akan dibahas adalah Equivalence partitioning.
Equivalence partioning merupakan metode ujicoba blackbox yang membagi domain input dari program menjadi beberapa kelas data dari kasus ujicoba yang dihasilkan. Kasus uji penanganan single yang ideal menemukan sejumlah kesalahan (misalnya : kesalahan pemrosesan dari seluruh data karakter) yang merupakan syarat lain dari suatu kasus yang dieksekusi sebelum kesalahan umum diamati.
2.2.15. Pengujian Kuesioner
Kuesioner adalah sebuah daftar pernyataan yang harus diisi oleh orang yang akan dievaluasi (responden). Metode yang digunakan dalam kuesioner pada penelitian ini adalah skala Likert. Dalam skala likert, responden diminta untuk membaca dengan seksama setiap pernyataan yang disajikan, kemudian ia diminta untuk menilai pernyataan-pernyataan tersebut.
jawaban sangat setuju (SS), setuju (S), belum memutuskan atau netral (N), tidak setuju (T), dan sangat tidak setuju (ST). Untuk masingmasing jawaban mempunyai bobot nilai yang berbeda, adapun pemberian bobot nilai itu sendiri tergantung jenis pernyataan yang dapat dilihat pada tabel berikut [11].
Jenis
Untuk mencari persentase dari masing-masing jawaban kuesioner digunakan rumus skala likert sebagai berikut :
� =� �� � � � %
Keterangan rumus mencari nilai presentase dari jawaban kuesioner dapat dilihat pada tabel berikut.
Tabel 2.1 Keterangan Rumus Mencari Nilai Persentase Kuesioner
Nama Keterangan
P Nilai persentase yang dicari
S Jumlah frekuensi dikalikan dengan skor yang di tetapkan jawaban
Skor Ideal Nilai tertinggi dikalikan dengan jumlah sampel
2.2.16. Autodesk 3D Studio Max
3D Studio Max merupakan software graphics yang dibuat oleh Autodesk. Program ini memadukan graphics vektor dengan raster image sehingga objek yang dihasilkan mendekati realistis. 3D Studio Max mampu menghasilkan objek dalam bentuk gambar ataupun dalam bentuk file interaktif seperti gambar animasi yang disimpan dalam bentuk file *.avi atau *.mov [8].
2.2.17. Unity
29
atau tiga dimensi dan dapat digunakan secara gratis, selain untuk membuat Game, Unity 3D juga dapat digunakan untuk membuat konten yang interaktif lainnya seperti, visual arsitektur dan real-time 3D animasi, selain sebagai game engine
Unity 3D juga dapat digunakan sebagai sebuah editor bagi game yang sudah ada [13]. Unity 3D dibuat dengan menggunakan bahasa perogram C++, tapi pengguna tidak perlu menggunakan bahasa C++ yang sulit, karena Unity 3D mendukung bahasa program lain seperti JavaScript, C#, dan Boo, Unity memiliki kemiripan dengan game engine lainnya seperti, Blender game engine, Virtools, gamestudio, adapaun kelebihan dari Unity 3D, Unity dapat dioperasikan pada platform Windows dan Mac Os dan dapat menghasilkan game untuk Windows, Mac, Linux, Wii, iPad, iPhone, google Android dan juga browser. Untuk browser, kita memerlukan sebuah plugin, yaitu Unity Web Player, sama halnya dengan Flash Player pada Browser. Game Unity 3D juga mendukung dalam pembuatan game untuk console game Xbox 360 dan PlayStation 3 [13].
2.2.18. Android
2.2.19. Versi Android
1. Android versi 1.1
Gambar 2.7 Logo Android 1.1
Pada 9 Maret 2009, Google merilis Android versi 1.1. Android versi ini dilengkapi dengan pembaruan estetis pada aplikasi, jam alarm, voice search
(pencarian suara), pengiriman pesan dengan Gmail, dan pemberitahuan email. 2. Android versi 1.5 (Cupcake)
Gambar 2.8 Logo Android Cupcake
Pada pertengahan Mei 2009, Google kembali merilis telepon seluler dengan menggunakan Android dan SDK (Software Development Kit) dengan versi 1.5 (Cupcake). Terdapat beberapa pembaharuan untuk penambahan beberapa fitur dalam seluler versi ini yakni kemampuan merekam dan menonton video dengan modus kamera, mengunggah video ke Youtube dan gambar ke Picasa langsung dari telepon, dukungan Bluetooth A2DP, kemampuan terhubung secara otomatis ke headset Bluetooth, animasi layar, dan keyboard pada layar yang dapat disesuaikan dengan sistem.
3. Android versi 1.6 (Donut)
31
Donut (versi 1.6) dirilis pada September dengan menampilkan proses pencarian yang lebih baik dibanding sebelumnya, penggunaan indikator baterai dan kontrol applet VPN. Fitur lainnya adalah galeri yang memungkinkan pengguna untuk memilih foto yang akan dihapus; kamera, camcorder dan galeri yang dintegrasikan; CDMA / EVDO, 802.1x, VPN, Gestures, dan Text-to-speech engine; kemampuan dial kontak; teknologi text to change speech (tidak tersedia pada semua ponsel; pengadaan resolusi VWGA.
4. Android versi 2.0/2.1 (Eclair)
Gambar 2.10 Logo Android Eclair
Pada 3 Desember 2009 kembali diluncurkan ponsel Android dengan versi 2.0/2.1 (Eclair), perubahan yang dilakukan adalah pengoptimalan hardware, peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru dan dukungan HTML5, daftar kontak yang baru, dukungan flash untuk kamera 3,2 MP, digital Zoom, dan Bluetooth 2.1.
Agar dapat bergerak cepat dalam persaingan perangkat generasi yang berikutnya, Google melakukan investasi dengan mengadakan kompetisi aplikasi mobile terbaik (killer apps – aplikasi unggulan). Kompetisi ini berhadiah $25,000 bagi setiap pengembang aplikasi terpilih. Kompetisi diadakan selama dua tahap yang tiap tahapnya dipilih 50 aplikasi terbaik.
5. Android versi 2.2 (Froyo: Frozen Yoghurt)
Gambar 2.11 Logo Android Froyo
Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan. Perubahan-perubahan umum terhadap versi – versi sebelumnya antara lain dukungan Adobe Flash 10.1, kecepatan kinerja dan aplikasi 2 sampai 5 kali lebih cepat, intergrasi V8 JavaScript engine yang dipakai Google Chrome yang mempercepat kemampuan
rendering pada browser, pemasangan aplikasi dalam SD Card, kemampuan WiFi
Hotspot portabel, dan kemampuan auto update dalam aplikasi Android Market. 6. Android versi 2.3 (Gingerbread)
Gambar 2.12 Logo Android Gingerbread
Pada 6 Desember 2010, Android versi 2.3 (Gingerbread) diluncurkan. Perubahan-perubahan umum yang didapat dari Android versi ini antara lain peningkatan kemampuan permainan (gaming), peningkatan fungsi copy paste, layar antar muka (User Interface) yang sudah didesain ulang, dukungan format video VP8 dan WebM, efek audio baru (reverb, equalization, headphone virtualization,
dan bass boost), dukungan kemampuan Near Field Communication (NFC), dan dukungan jumlah kamera yang lebih dari satu.
33
Gambar 2.13 Logo Android Honeycomb
Android Honeycomb dirancang khusus untuk tablet. Android versi ini mendukung ukuran layar yang lebih besar. User Interface pada Honeycomb juga berbeda karena sudah didesain untuk tablet. Honeycomb juga mendukung multi processor dan juga akselerasi perangkat keras (hardware) untuk grafis. Tablet pertama kali yang dibuat dengan menjalankan Honeycomb adalah Motorola Xoom. Perangkat tablet tersebut bernama Eee Pad Transformer yang merupakan produk dari Asus yang masuk ke pasar Indonesia pada Mei 2011.
8. Android versi 4.0 (ICS: Ice Cream Sandwich)
Gambar 2.14 Logo Android Ice Cream Sandwich
9. Android versi 4.1 (Jelly Bean)
Gambar 2.15 Logo Android Jelly Bean
35
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem
Analisis sistem dapat didefinisikan sebagai penguraian dari suatu sistem yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasikan permasalah-permasalahan, kesempatan-kesempatan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikan. Analisis dapat juga diartikan sebagai penelitian atas sistem yang telah ada dengan tujuan untuk merancang sistem yang baru atau diperbarui. Dalam proses pembuatan suatu sistem mutlak dilakukan penelitian dan penganalisaan tentang sistem yang akan dibangun. 3.1.1. Analisis Masalah
Analisis masalah adalah tahap penjabaran masalah yang ada sebelum aplikasi ini dibangun dan bertujuan untuk membantu pembangunan aplikasi ini. Analisis masalah yang ada meliputi hal-hal sebagai berikut:
1. Pasien dan pengunjung tidak mengetahui apa saja fasilitas, layanan, prosedur, dan persyaratan administrasi yang ada di rumah sakit.
2. Terbatasnya jumlah media informasi dan petugas informasi, sehinga seringkali tidak dapat melayani pasien atau pengunjung dengan baik. 3. Sulit untuk menyampaikan informasi yang membutuhkan penjelasan
secara rinci dan membutuhkan visualisasi dikarenakan keterbatasan media yang digunakan.
4. Media yang digunakan saat ini belum mampu menunjukan posisi ruangan atau fasilitas serta rute yang terpendek untuk menuju ruangan atau fasilitas tersebut.
3.1.2. Analisis Sistem yang Sedang Berjalan
informasi sedang melayani pasien atau pengunjung lain maka harus mengantri, bagian informasi memberikan informasi yang diminta dan akan memberikan catatan atau dokumen pendukung jika diperlukan.
37
Gambar 3.1 Prosedur Pada Sistem Yang Berjalan
3.1.3. Analisis Sistem yang Diusulkan
Gambar 3.2 Prosedur Pada Sistem Yang Diusulkan
3.1.4. Analisis Aplikasi Sejenis
Analisis aplikasi sejenis merupakan analisis yang akan membahas mengenai aplikasi yang menjadi acuan dalam pembangunan sebuah aplikasi. Dalam analisis aplikasi sejenis akan dibahas mengenai berbagai hal yang ada di dalam aplikasi sejenis diantaranya meliputi konten, cara menggunakan serta komponen-komponen apa saja yang ada dalam aplikasi tersebut sehingga dapat menjadi acuan bagi kebutuhan yang akan dibangun.
Aplikasi India Green Reality (AR / VR)
Aplikasi ini adalah aplikasi interaktif untuk Real Estate yang terdiri dari
39
a. 360 Views
Gambar 3.3 360 Views
Jenis view ini digunakan untuk menampilkan exterior bangunan dengan control pinch, drag, and touch untuk pergerakan sudut pandang. b. 360 Degree Tours
Gambar 3.4 360 Degree Tours
c. Real-Time Walkthrough dengan Virtual Joysticks
Gambar 3.5 Real-Time Walkthrough dengan Virtual Joysticks
Jenis view yang memungkinakan pengguna bergerak mengelilingi suatu bangunan dan melihat sekeliling dengan menggunakan virtual joystick.
Aplikasi Denah 3D RSUD Gunung Jati
41
Gambar 3.6 Tampilan Menu Utama
Halaman utama aplikasi yang berisi pilihan untuk memulai aplikasi atau membaca petunjuk penggunaan.
Gambar 3.7 Menu Denah 3D
Gambar 3.8 Tampilan Cari Ruang Tampilan cari tuangan terdiri dari tombol menu dan cari
Gambar 3.9 Tampilan Scan QRCode Titik Keberadaan
Halaman QRCode reader untuk menentukan posisi awal.
43
Memilih ruangan tujuan yang tersedia di menu.
Gambar 3.11 Tampilan Rute Terpendek
Tampilan rute terpendek berupa denah 2 dimensi, rute ditunjukan dengan garis berwarna.
Gambar 3.12 Tampilan Video Petunjuk Ruang
Tampilan video petunjuk ruang berupa tampilan 3d seperti gambar di atas.
Untuk memilih info ruangan terlebih dahuklu dilakukan pemilihan ruangan.
Gambar 3.14 Tampilan Info Ruang
45
Gambar 3.15 Tampilan Video 3D RSUD Gunung Jati
Gambar 3.16 Tampilan Petunjuk Penggunaan
Tabel 3.1 Kesimpulan Analisis Aplikasi Sejenis
No Nama Aplikasi Basis Aplikasi Grafis Metode Pencarian Ruang Lingkup Konten
1 India Green Reality (AR / VR)
Mobile 3D - Real Estate India Green Terdapat fitur virtual tour dengan
berbagai jenis view
2 Denah 3D RSUD
Gunung Jati
Mobile 3D Algoritma Floyd
Warsahall
Rumah Sakit Umum Daerah Gunung Jati Kota Cirebon
Terdapat pilihan untuk mengetahui rute terpendek dan
menampilkan petunjuk denah berupa video 3d
3 Panduan Layanan
Pengunjung Berbasis Virtual Reality Di Rumah Sakit Mata Cicendo Bandung
Mobile 3D Algoritma Dijkstra Rumah Sakit Mata Cicendo
Bandung
47
Dari tabel di atas dapat disimpulkan bahwa aplikasi yang dibangun menggabungkan konsep dan fitur - fitur dari aplikasi sejenis. Aplikasi yang dibangun mengambil konsep virtual tour yang digunakan aplikasi India Green Reality (AR / VR) dan mengambil konsep pencarian rute terpendek dari aplikasi Denah 3D RSUD Gunung Jati. Dan menambahkan fitur informasi layanan yang disediakan rumah sakit seperti dafatar laboratorium yang ada, alat diagnostik, kelengkapan fasilitas penunjang, serta informasi yang sering ditanyakan pasien atau pengunjung.
3.1.5. Analisis Arsitektur Sistem
Aplikasi yang akan dibangun merupakan aplikasi berbasis android yang memiliki 3 fungsional utama yaitu, virtual tour rumah sakit, panduan rute menuju ruangan tertentu, dan informasi layanan rumah sakit.
Gambar 3.17 Arsitektur Sistem
yang terdapat di bagian depan ruangan yang ada di rumah sakit. Jika proses scan
QR Code tidak dimungkinkan pengguna tetap dapat menentukan posisi awal dengan memilih ruangan dalam bentuk Combo Box. Dalam menentukan rute terpendek menuju suatu ruangan tersebut digunakan algoritma Dijkstra, setelah hasil perhitungan selesai aplikasi akan menampilkan panduan rute dalam bentuk 3D dengan sudut pandang atas (floor plan view) dan menampilkan arahan atau rute dalam bentuk warna penunjuk seperti pada gambar di atas.
Untuk melakukan virtual tour pengguna menentukan kategori dan ruangan yang akan dipilih sebagai area tour. Sedangkan untuk melihat informasi layanan rumah sakit pengguna menentukan kategori dan konten yang diinginkan.
Untuk data virtual tour, informasi layanan rumah sakit, dan panduan rute ini bersifat statis sehingga tidak dibutuhkan penggunaan database, semua hanya menggunakan penyimpanan lokal dan tidak menggunakan koneksi internet saat penggunaannya.
Analisis Virtual Reality
Virtual reality yang akan dibangun adalah Architectural Virtual Tour berbasis android, virtual tour ini menggunakan model – model 3D yang dibentuk berdasarkan keadaan sesungguhnya di lapangan. Dalam pembangunan Virtual Tour
dilakukan beberapa tahapan yaitu sebagai berikut: 1. Pengumpulan data
Dalam tahap ini dilakukan pengumpulan data yang berupa denah rumah sakit (floor plan), foto bangunan dan fasilitas rumah sakit, serta pengambilan video keseluruhan rumah sakit untuk kemudian digunakan sebagai referensi pada proses
49
Denah umum ini akan dijadikan referensi pemodelan 3D secara keseluruhan, setelah poemodelan pergedung atau perbagian selesai dilakukan.
Gambar 3.19 Denah Politeknik Lt.3 RSM Cicendo Bandung
51
Gambar 3.20 Tampilan Depan Gedung Rumah Sakit
2. Pemodelan (3D Modelling)
Pada tahapan pemodelan ini data – data yang telah didapatkan dijadikan referensi pembuatan model 3D, pembuatan model menggunakan tools Autodesk 3d’s Max Design 2015. Tahapan ini akan menghasilkan model – model 3D yang berupa gedung – gedung dan properti yang masih terpisah. Adapun langkah – langkah pemodelan 3d adalah sebagai berikut:
a) Modeling and Compositing Object
Gambar 3.21 Contoh Object
b) Texturing Object
Pada tahap ini dilakukan pemberian texture pada object seperti texture dinding, lantai, atap, kursi, dan properti lainnya. Berikut adalah contoh hasil output pada tahap ini.
Gambar 3.22 Contoh hasil Texturing
c) Export Object
53
3. Penggabungan dan Penyusunan Object
Langkah berikutnya adalah menggabungkan object 3D yang telah dibuat. Proses ini menggunakan tools Unity 3D, hasil export berupa file .FBX di import ke dalam Unity 3D, pada tahap ini object – object disusun sedemikian rupa sehingga menyerupai kondisi sesungguhnya di dunia nyata.
4. Lightmapping
Pada tahap ini dilakukan pemberian cahaya pada scene. Cahaya atau light merupakan bagian penting dari sebuah scene, cahaya menentukan warna dan suana lingkungan 3D. Dalam Unity 3D terdapat beberapa jenis light yang dapat digunakan yaitu Point Lights, Spot Lights, Directional Lights, Area Lights. Semua jenis light digunakan untuk membuat suasana serealistik mungkin. Berikut contoh scene yang belum diberi pencahayaan dan yang sudah diberi pencahayaan, jenis lighting yang digunakan adalah Directional Light.
Gambar 3.24 Sesudah Lightmapping
5. Pemberian Controller
Gambar 3.25 Mobile Controller Rig
Setelah Scene terbentuk, diperlukan sebuah controller untuk mengatur pergerakan camera, dalam hal ini adalah pengunjung dan pasien yang melakukan virtual tour. Controller berupa dua virtual joystick yang menyerupai controller pada game console Playstation.
a. LeftJoystick
55
virtualtour. Analog ini mengatur dua axis yaitu axis x (horizontal) dan
axis y (vertikal).
Gambar 3.26 Axis X dan Axis Y Pada Left Joystick
Berikut adalah method yang memberikan nilai posisi camera yang sudah disediakan oleh unity3D.
public void OnDrag(PointerEventData data) { Vector3 newPos = Vector3.zero;
transform.position = Vector3.ClampMagnitude( new Vector3(newPos.x , newPos.y , newPos.z), MovementRange)+ startPos;
UpdateVirtualAxes (transform.position); }
b. Right Joystick
yang digunakan untuk membatasi sudut pandang agar sudut pandang lebih natural adalah sebagai berikut:
Vector2 mouseInput = new
Vector2(CrossPlatformInputManager.GetAxisRaw("HorizontalLoo k"),
CrossPlatformInputManager.GetAxisRaw("VerticalLook")); float camX = _camera.transform.localEulerAngles.x;
if((camX > 280 && camX <= 360) || (camX >= 0 && camX < 80) || (camX >= 80 && camX < 180 && mouseInput.y > 0) ||
(camX > 180 && camX <= 280 && mouseInput.y < 0)) {
_camera.transform.localEulerAngles += new
Vector3(-mouseInput.y, _camera.transform.localEulerAngles.y, _camera.transform.localEulerAngles.z);
}
transform.localEulerAngles += new Vector3(0, mouseInput.x, 0);
6. Pemberian Collider
Unity 3D memiliki berbagai jenis collider diantaranya BoxCollider, SphereCollider, CapsuleCollider, MeshCollider, PhysicMaterial, Rigidbody.
57
Gambar 3.27 Collider Sebagai Trigger
7. Penanaman Informasi atau keterangan
Pada tahapan ini dilakukan penanaman informasi atau keterangan mengenai object – object pada virtual tour. Informasi yang ditampilkan pada proerti atau ruangan dapat berupa hal –hal berikut:
a. Nama gedung b. No lantai c. Nama Ruangan
d. Kegunaan ruangan (secara umum) e. Jam operasional
f. Keterangan mengenai properti tertentu
Gambar 3.28 keterangan pada objek atau lokasi
Analisis Algoritma Dijkstra
59
Tabel 3.2 Keterangan Node
Node Nama Ruangan
A Area Parkir
B Informasi
C Depo Farmasi Lt.1
D Pendaftaran Reguler
E IGD
F Kasir Rawat Jalan dan Rawat Inap
G Optik Lt.1
H Kantin
I Museum
J Lobi Poliklinik
K Depo Farmasi Lt.2
L Penyakit Dalam
M Katarak dan Bedah Refraktif
N Elektrodiagnostik dan Terapi
O Rekonstruksi, Okuloplasti dan Onkologi
P Optik Lt.2
Q Laboratorium
R Konsultasi Gizi
S Konsultasi Pasien
T Infeksi - Imunologi
U Refraksi
V Glaukoma
W Depo Farmasi Lt.3
X Vitreoretina
Y Neuro Oftalmologi
Z Konsultasi Pasien
A2 Optik Lt.3
G2 Strabismus dan Pediatrik Oftalmologi
Gambar 30 Graph Ruangan di Lantai 1
Langkah – langkah untuk menentukan jarak terpendek dari A ke F dengan menggunakan algoritma Dijkstra adalah sebagai berikut:
1. Pada awalnya status dari node yang belum terpilih diinisialisasikan dengan “0” dan yang sudah terpilih diinisialisasikan dengan “1” dimulai dari node A.
2. Tentukan bobot dari node yang langsung berhubungan dengan node sumber yaitu node A, seperti node A ke node B = 6.9, node A ke node I = 5.6, dan untuk node C, D, E, F, G, H diinisialisasikan dengan “-“ karena tidak ada lintasan yang menghubungkan secara langsung dengan node A.
3. Karena jarak di hitung dari node A, sehingga node A disebut sebagai
Predecessor (node sumber).
Tabel 3.3 Hasil Iterasi Ke-1
Node A B C D E F G H I
Status 1 0 0 0 0 0 0 0 0
Bobot - 6.9 - - - 5.6
Predecessor A A - - - A
Node terpilih dari iterasi ke-1: A
61
Dari Tabel 2 pilih node yang memiliki bobot yang paling kecil dan statusnya masih “0” yaitu node I. Untuk itu status node I menjadi “1” dan predecessor-nya tetap A, dan node lain predecessor-nya masih sama. Karena node I sudah terpilih, selanjutnya diperoleh node F dengan bobot 17.4, node G dengan bobot 11.7, node H dengan bobot 17.6. Sedangkan
predecessor F, G, dan H adalah I.
Tabel 3.4 Hasil Iterasi Ke-2
Node A B C D E F G H I
Status 1 0 0 0 0 0 0 0 1
Bobot - 6.9 - - - 17.4 11.7 17.6 5.6
Predecessor A A - - - I I I A
Dari Tabel 3 di dapatkan bahwa node B memiliki bobot yang paling kecil, sehingga statusnya akan berubah menjadi “1” dan predecessor -nya masih tetap A. Selanjut-nya diperoleh node C dengan bobot 11.3 dan node D dengan bobot 9.1.
Tabel 3.5 Hasil Iterasi Ke-3
Node A B C D E F G H I
Gambar 3.30 Node Terpilih Pada Iterasi Ke-2
A
I B
Dari tabel 4 didapat bahwa node yang memiliki bobot paling kecil dan statusnya masih ”0” adalah node D. Statusn node D akan berubah menjadi “1”. Selanjutnya didapat node E dengan bobot 12.7, sedangkan untuk node F tidak mengalami perubahan karena bobot yang baru 23.5 lebih besar dari bobot yang lama yaitu 17.4.
Tabel 3.6 Hasil Iterasi Ke-4
Node A B C D E F G H I
Status 1 1 0 1 0 0 0 0 1
Bobot - 6.9 11.3 9.1 12.7 17.4 11.7 17.6 5.6
Predecessor A A B B D I I I A
Dari Tabel 5 didapat bahwa node C memiliki bobot paling kecil sehingga statusnya akan berubah menjadi “1”.
Tabel 3.7 Hasil Iterasi Ke-5
Node A B C D E F G H I Gambar 3.32 Node Terpilih Pada Iterasi Ke-4
A
I B
D C
63
Dari Tabel 6 didapat bahwa node G memiliki bobot paling kecil sehingga statusnya akan berubah menjadi “1”.
Tabel 3.8 Hasil Iterasi Ke-6
Node A B C D E F G H I
Status 1 1 1 1 0 0 1 0 1
Bobot - 6.9 11.3 9.1 12.7 17.4 11.7 17.6 5.6
Predecessor A A B B D I I I A
Dari Tabel 7 didapat bahwa node E memiliki bobot paling kecil sehingga statusnya akan berubah menjadi “1”.
Tabel 3.9 Hasil Iterasi Ke-7
Node A B C D E F G H I
Gambar 3.34 Node Terpilih Pada Iterasi Ke-6
tidak mengalami perubahan karena bobot yang baru 23.7 lebih besar dari bobot yang lama yaitu 17.6.
Tabel 3.10 Hasil Iterasi Ke-8
Node A B C D E F G H I
Status 1 1 1 1 1 1 1 0 1
Bobot - 6.9 11.3 9.1 12.7 17.4 11.7 17.6 5.6
Predecessor A A B B D I I I A
Dari Tabel 8 didapat bahwa node H memiliki bobot paling kecil sehingga statusnya akan berubah menjadi “1”.
Tabel 3.11 Hasil Iterasi Ke-9
Node A B C D E F G H I
Gambar 3.36 Node Terpilih Pada Iterasi Ke-8
A
65
Iterasi akan berhenti karena semua node sudah terpilih. Sehingga akan menghasilkan rute terpendek dari node A ke setiap node yang ada. Untuk melihat jalur mana yang terpilih dapat ditelusuri dari predecessor-nya, sehingga akan didapat:
Tabel 3.12 Iterasi Keseluruhan
Sumber Tujuan Rute Bobot ruangan F maka solusinya adalah rute A-I-F.
Analisis QR Code
QR Code digunakan sebagai salah satu cara untuk mendapatkan posisi awal dalam fungsional pencarian rute terpendek menuju suatu ruangan. Pada sistem yang akan dibangun QR Code digunakan untuk menyimpan data nama ruangan. Berikut adalah tabel data dan panjang karakter yang digunakan:
Tabel 3.13 Panjang Karakter Nama Ruangan
Atribut Data Ruangan Panjang Karakter Maksimal
Nama Ruangan 52
3.1.5.3.1. Proses Encode
Proses pembuatan QR Code dilakukan diluar sistem yang dibangun, proses
encoding menggunakan aplikasi Encode/Decode berbasis desktop. Berikut adalah tampilan aplikasi pada saat proses encode.
sehingga dapat diproses untuk dijadikan titik hitam dan titik putih pada QR Code
yang akan dibuat. Tidak hanya informasi yang telah dikonversi, QR Code juga harus memiliki pola-pola standar yang dapat memudahkan proses pembacaan. Proses-proses secara umum yang harus dilalui untuk membangkitkan QR Code dari sebuah teks dapat dilihat pada diagram alir berikut.
Gambar 3.38 Diagram alir pembangkitan QR Code
Data yang digunakan berupa string, jenis encoding mode yang digunakan adalah Byte dengan Correction Level = M yang mampu Recovers 15% of data. Adapun versi QR Code yang digunakan adalah versi 1, kombinasi ini dipilih karena dengan correctionlevel M, versi QR Code 3 dan mode encodingbyte panjang text
67
Tabel 3.14 Spesifikasi QR Code
Data String
Encoding Byte
Version 3
Correction Level M
Berikut adalah contoh hasil encode dari kode ruangan dengan nama ruangan terpanjang yaitu Strabismus Pediatrik Oftalmologi.
Gambar 3.39 QR Code Kode Ruangan Strabismus Pediatrik Oftalmologi
QR Code tersebut akan diguanakan sebagai alat bantu untuk menentukan posisi awal pada saat pencarian rute terpendek menuju suatu ruangan atau fasilitas di rumah sakit. QR Code tersebut akan ditempel pada bagian depan ruangan baik pada pintu atau properti tertentu.
3.1.5.3.2. Proses Decode
Berikut adalah contoh proses decode dari sebuah nama ruangan RRIBGNVC01.
pengguna akan mendapatkan kode ruangan yang kemudian digunakan untuk melanjutkan proses mencari rute terpendek menuju suatu ruangan, dalam contoh diatas kode yang didapat adalah RRIBGNVC01, sesuai dengan aturan pengkodean kode ruangan maka arti dari kode tersebut adalah ruang rawat inap dengan nama ruangan Bougenville terletak pada gedung C dan berada di lantai 1.
3.1.6. Analisis Kebutuhan Non-Fungsional
Analisis Pengguna
Analisis pengguna dimaksudkan untuk mengetahui siapa saja pengguna aplikasi. Pengguna aplikasi ini sendiri yaitu para pengunjung Rumah Sakit Mata Cicendo Bandung yang menggunakan Smartphone atau Computer Tablet dengan
platform android.
Analisis Perangkat Keras
Spesifikasi minimal perangkat keras yang dapat digunakan untuk menjalankan aplikasi adalah sebagai berikut :
Tabel 3.15 Spesifikasi Minimal Perangkat Keras
No Perangkat Keras Spesifikasi
1 Processor Qualcomm MSM8230 Snapdragon Dual-core 1GHzGPU
2 Memori RAM: 1 GB
3 OS Android OS, v4.1 (Jelly Bean)
4 Resolusi Layar 800x480
Analisis Perangkat Lunak
Perangkat lunak yang dibutuhkan untuk proses pembangunan aplikasi Panduan Layanan Pengunjung Berbasis Virtual Reality Di Rumah Sakit Mata Cicendo Bandung adalah sebagai berikut:
Tabel 3.16 Spesifikasi Perangkat Lunak
No Perangkat Lunak Spesifikasi
1 Sistem Operasi Windows Versi 8.1
2 IDE Mono Develop Versi 4.01
3 Game Engine Unity Versi 4.6
4 Android SDK Android 4.22 (API 17)
69
3.1.7. Analisis Kebutuhan Fungsional
Analisis kebutuhan fungsional ini dimodelkan dengan menggunakan UML (Unified Modeling Language). Diagram yang digunakan yaitu Use Case Diagram, Class Diagram, Sequence Diagram, dan Activity Diagram.
Use Case Diagram
Diagram Use Case merupakan pemodelan untuk kelakuan (behaviour) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem yang akan dibuat. Berikut ini adalah perancangan proses-proses yang terdapat pada aplikasi Panduan Layanan Pengunjung Berbasis Virtual Reality di Rumah Sakit Mata Cicendo Bandung:
Gambar 3.40 Use Case Diagram
3.1.7.1.1. Definisi Aktor
Tabel 3.17 Definisi Aktor
No Aktor Deskripsi
1 Pengguna Pasien atau pengunjung yang menggunakan aplikasi
3.1.7.1.2. Definisi Use Case
Definisi Use Case menjelaskan fungsi use case yang terdapat pada Use Case Diagram. Definisi Use Case dijelaskan pada tabel berikut:
Tabel 3.18 Definisi Use Case
No Use Case Deskripsi
1 Menampilkan Rute
Terpendek
Berfungsi untuk menampilkan rute terpendek menuju suatu ruangan
2 Menampilkan Info
Layanan
Berfungsi untuk menampilkan informasi seputar layanan yang disediakan rumah sakit
3 Memulai Virtual Tour Berfungsi untuk memulai virtual tour
4 Melihat Petunjuk
Penggunaan
Berfungsi menampilkan petunjuk penggunaan aplikasi
5 Menentukan Posisi Awal Berfungsi untuk melakukan Scan QR Code untuk menentukan titik awal keberadaan (posisi saat ini).
6 Scan QR Code Berfungsi untuk menentukan titik awal keberadaan (posisi saat ini).
7 Memilih Tujuan Berfungsi memilih ruangan tujuan
8 Mencari Rute Terpendek Berfungsi mencari rute terpendek (perhitungan)
9 Memilih Jenis View Berfungsi memilih jenis view camera untuk virtual tour
10 Memilih Ruangan Berfungsi memilih ruangan yang akan digunakan untuk virtual tour
Use Case Skenario
Dalam Skenario Use Case ini menggambarkan alur penggunaan sistem dimana setiap skenario digambarkan dari sudut pandang aktor, seseorang, atau piranti yang berinteraksi dengan perangkat lunak dalam berbagai cara.
1. Menampilkan Rute Terpendek