Download - about AR Proposal

Transcript

BAB I PENDAHULUAN ALIMUDIN

7

10

BAB IITINJAUAN PUSTAKA2.1 Teknologi Augmented RealityAugmented Reality adalah teknologi yang menggabungkan benda maya dua dimensi ataupun tiga dimensi ke dalam sebuah lingkungan nyata. Augmented reality hanya menambahkan atau melengkapi kenyataan, tidak seperti realitas maya yang sepenuhnya menggantikan kenyataan (Ronald T. Azuma, 1997).Dikarenakan penggunaan Augmented Reality sangat menarik dan memudahkan penggunanya dalam melakukan berbagai hal, tidak dipungkiri pemngembangan teknologi Augmented Reality berkembang pesat hingga penggunananya telah menyebar hamper ke semua aspek kehidupan. Terdapat tiga poin penting dalam Augmented Reality, yaitu combines real and virtual, is interactive and realtime dan is registered in 3D.2.1.1Sekilas Augmented RealitySejarah tentang Augmented Reality dimulai sejak tahun 1957 - 1962. Pada saat itu seorang penemu yang bernama Morton Heilig menciptakan sebuah simulator yang disebut dengan Sensorama. Pada tahun 1966, Ivan Sutherland menemukan head-mounted yang ia sebut dengan jendela ke dunia virtual. Tahun 1975 seorang ilmuan yang bernama Myron Krueger menemukan videoplace yang memungkinkan para pengguna dapat berinteraksi langsung dengan objek virtual. Pada tahun 1989, Jaron Lanier memperkenalkan virtual reality di dunia maya yang bersifat komersial. Pada tahun 1992 Augmented Reality digunakan untuk melakukan pada pesawat dan tahun yang sama Rosenberg mengembangkan fungsi sistem Augmented Reality yang disebut dengan Virtual Fixture (http://www.pocket-lint.com/news/108888-the-history-of-augmented-reality). 2.1.2Tujuan Augmented RealityTujuan dari Augmented Reality adalah untuk menciptakan sebuah sistem dimana pengguna tidak dapat membedakan antara dunia nyata dengan augmentasi virtual. Saat ini Augmented Reality digunakan dalam hiburan, pelatihan militer, teknik desain, robotika, manufaktur dan industri lainnya. Augmented reality menarik perhatian para pakar, peneliti, dan developer IT dengan model teknologi yang ditawarkannya, yaitu memproyeksikan objek virtual kedalam kehidupan nyata.2.1.3Prinsip Kerja Augmented RealitySistem Augmented Reality bekerja berdasarkan deteksi citra dan citra yang digunakan adalah marker. Kamera yang telah dikalibrasi akan mendeteksi marker yang diberikan, kemudian setelah mengenali dan menandai pola marker, webcam akan melakukan perhitungan apakah marker sesuai dengan database yang dimiliki. Jika tidak, maka informasi marker tidak akan diolah, tetapi jika sesuai maka informasi marker akan digunakan untuk menampilkan objek 3D atau animasi yang telah dibuat sebelumnya.

2.1.4 Metode Augmented RealityMetode Augmented Reality terdiri dari dua metode, yaitu Marker Augmented Reality dan Markerless Augmented Reality. Pada metode Marker Augmented Reality aplikasi Augmented berjalan dengan memindai tanda atau yang lebih sering disebut sebagai marker. Pengguna aplikasi memerlukan sebuah marker untuk menampilkan elemen-elemen digital. Dengan menggunakan algoritma yang dikembangkan, komputer dapat mengenali marker secara umum dengan cara mengenali pola dari marker tersebut.Sedangkan metode yang kedua, yaitu Markerless Augmented Reality, salah satu metode Augmented Reality yang tidak perlu lagi menggunakan sebuah marker untuk menampilkan elemen-elemen digital. Sekalipun dinamakan dengan markerless, aplikasi tetap berjalan dengan melakukan pemindaian terhadap objek, ruang lingkup yang dipindai lebih luas dibandingkan dengan marker Augmented Reality.2.2 Marker Augmented RealityMarker merupakan ilustrasi hitam dan putih persegi dengan batas hitam tebal dan latar belakang putih. Komputer akan mengenali posisi dan orientasi marker dan menciptakan dunia virtual 3D yaitu titik (0,0,0) dan 3 sumbu yaitu X, Y, dan Z. Sebuah marker tidak selamanya berbentuk kotak persegi dan memiliki warna hitam putih, melainkan memiliki bentuk dan warna sesuai dengan keinginan yang dapat dibuat dengan bebas oleh pembuat aplikasi. 2.3 Vuforia QualcommDalam penerapannya teknologi Augmented Reality memiliki beberapa komponen yang harus ada untuk mendukung kinerja dari proses pengolahan citra digital. Menurut R. Silva J, komponen-komponen tersebut adalah sebagai berikut:

1. Scene Generator adalah komponen yang bertugas untuk melakukan rendering citra yang ditangkap oleh kamera. 2. Tracking System merupakan komponen yang terpenting dalam Augmented reality. Dalam proses tracking dilakukan sebuah pendeteksian pola objek virtual dengan objek nyata sehingga sinkron diantara keduanya dalam artian proyeksi virtual dengan proyeksi nyata harus sama atau mendekati sama sehingga mempengaruhi validitas hasil yang akan didapatkan.3. Display, dalam pembangunan sebuah sistem yang berbasis AR, ada beberapa parameter mendasar yang perlu diperhatikan yaitu optik dan teknologi video. Keduanya mempunyai keterkaitan yang tergantung pada faktor resolusi, fleksibilitas, dan titik.Vuforia Qualcomm merupakan library yang digunakan sebagai pendukung adanya Augmented Reality pada Android. Vuforia menganalisa gambar dengan menggunakan pendeteksi marker dan menghasilkan informasi 3D dari marker yang sudah dideteksi via API. Programmer dapat menggunakannya untuk membangun objek 3D virtual pada kamera. Adapun contoh nyata pembuatan objek 3D dengan menggunakan vuforia adalah seperti ditunjukkan pada gambar di bawah ini.

Gambar 2.1 Objek benda abstrak 3D virtual yang tampil pada kamera sebuah deviceSumber : google, kata kunci:reality augmentedGambar 2.1 adalah pengembangan aplikasi menggunakan platform Qualcomm Augmented Reality. Platform tersebut terdiri dari dua komponen diantaranya adalah:

1. Target Management System, mengijinkan pengembang melakukan upload gambar yang sudah diregistrasi oleh marker dan kemudian melakukan download target gambar yang akan dimunculkan.2. QCAR SDK Vuforia, mengijinkan pengembang untuk melakukan koneksi antara aplikasi yang sudah dibuat dengan library.

Gambar 2.2 Arsitektur Library QCAR SDKSumber : https://developer.vuforia.com/resources/dev-guide/getting-startedGambar 2.2 memberikan gambaran umum pembangunan aplikasi dengan Qualcomm AR Platform. Platform ini terdiri dari SDK QCAR dan Target System Management yang dikembangkan pada portal QdevNet. User mengunggah gambar masukan untuk target yang ingin dilacak dan kemudian mengunduh sumber daya target, yang di-bundle dengan app.2.3.1Arsitektur SistemMenurut Professor Michael R. Lyu (2011), komponen inti dari QCAR Lib adalah sebagai berikut:

1. Camera, spesifikasi kamera cukup dengan menggunakan kamera tunggal. Kamera mengambil gambar untuk melacak marker dan kemudian melakukan registrasi marker. Pengembang dapat mengaturnya ketika memulai dan menghentikan pengambilan gambar.2. Image converter, gambar akan dikonversi dariformat YUV12 ke format RGB565 untuk Open GLES kemudian mengatur pencahayaan untuk pelacakan marker.3. Tracker, menggunakan algoritma komputer vision untuk mendeteksi dan melakukan pelacakan objek nyata yang diambil dari kamera. Objek tersebut dievaluasi dan hasilnya akan disimpan yang kemudian akan diakses oleh aplikasi.4. Renderer, digunakan untuk melakukan rendering hasil objek yang ditangkap oleh kamera ke video yang dimaksudkan untuk optimasi device.5. Application code, application code melibatkan inisialisasi dari semua komponen diatas. Selama objek yang dikehendaki diubah prosesnya, maka application code harus diubah berdasarkan lokasi objek virtual.6. Target resources, dihasilkan dari target management system. Output yang dihasilkan dari sistem berupa file binary yang menyimpan pola marker dan file konfigurasi XML.2.4Proses Pelacakan Proses pelacakan adalah beberapa objek yang dapat dilacak dan diregistrasi oleh QCAR SDK. Dalam proses pelacakan ada beberapa parameter untuk menentukan objek yang akan dilacak. Dari proses pelacakan ada langkah yang harus diketahui yaitu Registrasi Marker , Adapun parameter tersebut adalah nama, ID, status dan posisi yang disimpan dalam state object. Target gambar adalah satu dari banyaknya proses pelacakan. Adapun komponen-komponen dalam proses pelacakan adalah sebagai berikut :1. Parameter yang digunakan adalah sebagai berikut:a) TipeUNKNOWN_TYPE: pelacakan yang tidak diketahuiIMAGE_TARGET: pelacakan berdasarkan gambarMULTI_TARGET

: pelacakan gabunganMARKER

: pelacakan markerb) Nama, sebuah kalimat yang unik yang digunakan untuk mengidentifikasi pelacakan dari database. Untuk penulisan nama hanya diperbolehkan maksimal 64 karakter dan hanya mengandung karakter a-z, A-Z, dan 0-9.c) StatusUNKNOWN : tempat/lokasi pelacakan tidak diketahui. Biasanya dikembalikan sebelum tracker initialization.

UNDEFINE : tempat/lokasi pelacakan tidak didefinisikan.NOT_FOUND: lokasi pelacakan tidak ditemukan pada database.

DETECTED : lokasi pelacakan dideteksi dalam frame.TRACKED : pelacakan telah terlacak dalam frame.d) Posisi, digunakan untuk menentukan posisi marker yang sudah diidentifikasi.2. Koordinat SistemOutput yang dihasilkan berupa identifikasi posisi marker dengan menggunakan tiga sumbu koordinat yaitu x, y dan z. koordinat ini dimaksudkan agar posisi objek dapat dengan mudah diatur berdasarkan sumbu koordinat.

Gambar 2.3 Pelacakan Penentuan KoordinatSumber : https://developer.vuforia.com/resources/dev-guide/unified-target-coordinatesGambar 2.3 menunjukkan bahwa SDK QCAR menggunakan sistem koordinat tangan kanan. Setiap Image Target dan Frame Marker mendefinisikan sistem koordinat lokal dengan (0,0,0) dipusat (tengah) dari target. +X pergi ke kanan, +Y naik dan +poin Z keluar dari dilacak (kearah dari yang dapat dilihat). Fitur ini memungkinkan sebuah objek geometris (kotak) yang harus dilacak terus menerus dengan koordinat yang sama, bahkan jika bagian Image Target lain yang terlihat dalam tampilan kamera. Komponen-komponennya:1. Target Management SystemQualcomm target management system mengijinkan pengembang untuk melakukan upload gambar dan menghasilkan kumpulan data pada target tujuan. Aplikasi dapat mencocokkan image dalam frame berikut kumpulan datanya.2. Virtual ButtonVirtual Button adalah koordinat bidang yang terdapat pada image target dimana user dapat menyentuh koordinat bidang tersebut di dunia nyata yang kemudian sentuhan tangan pada koordinat menimbulkan efek/aksi.

2.5 AndroidAndroid merupakan sistem operasi untuk smartphone yang dikembangkan Google. Sistem operasiAndroid merupakan sistem operasi mobile berbasis kernel Linux yang dikembangkan oleh Android Inc dan kemudian diakuisisi oleh Google. Sistem operasi ini bersifat open source sehingga para programmer dapat membuat aplikasi secara mudah. Kemunculan sistem operasi Android ditandai dengan hadirnya Android seri pertama, yaitu Android 1.5 atau seri Cupcake. Setelah itu dengan berbagai pengembangan, muncullah Sistem Operasi Android seri terbaru dengan berbagai pengembangan yang lebih baik lagi.Saat iniSistem Operasi Android sudah digunakan di banyak vendor smartphone, misalnya HTC, Samsung, Sony Ericsson, Motorola dan LG. Android mengalami perkembangan yang cukup pesat.2.6 Unity 3DUnity merupakan salah satu software untuk membuat sebuah game atau aplikasi. Unity menyediakan fitur pengembangan game dan aplikasi dalam berbagai platform, yaitu Unity Web, Windows, Mac, Android, iOS, XBox, Playstation 3 dan Wii. Dalam unity disediakan berbagai pilihan bahasa pemrograman untuk mengembangkan game ataupun aplikasi, antara lain JavaScript, C#, dan BooScript.

Namun meskipun disediakan tiga bahasa pemrograman, kebanyakan developer menggunakan JavaScript dan C# sebagai bahasa yang digunakan untuk mengembangkan game ataupun aplikasi mereka.2.7 Bahasa Pemrograman C#C# (dibaca: C sharp) merupakan sebuah bahasa pemrograman yang berorientasi objek yang dikembangkan oleh Microsoft sebagai bagian dari inisiatif kerangka .NET Framework. Bahasa pemrograman ini dibuat berbasiskan bahasa C++ yang telah dipengaruhi oleh aspek-aspek ataupun fitur bahasa yang terdapat pada bahasa-bahasa pemrograman lainnya seperti Java, Delphi, Visual Basic, dan lain-lain) dengan beberapa penyederhanaan. 2.7.1Pengertian Bahasa Pemrograman C#

C# merupakan sebuah program dengan bahasa pemrograman yang beorientasi objek yang sudah lama dikembangkan oleh perusahaan Microsoft sebagai bagian dari inisiatif kerangka. NET Fremwork . Bahasa pemrograman ini dibuat dengan bahasa yang berbasiskan bahasa C++ yang telah dipengaruhi oleh aspek-aspek dan fitur bahasa yang terdapat pada bahasa-bahasa pemrograman lainnya seperti Java, Delphi, Visual Basic, dan lain-lain) dengan beberapa penyederhanaan, bahasa C# kini telah banyak mengalami perubahan dan membuat sistem cara baru dengan membuang beberapa fitur berbahaya dari bahasa C.2.8 Unified Modeling Language (UML)

Unified Modelling Language (UML) adalah sebuah bahasa yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun.2.8.1 Use Case DiagramUse case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah apa yang diperbuat sistem, dan bukan bagaimana. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem. Seorang atau sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu jika kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Komponen use case diagram terdiri dari actor dan use case.

Gambar 2.4 Komponen use case diagram2.8.2 Activity DiagramActivity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.Tabel 2.1 Notasi Activity Diagram

NoSimbolKeterangan

1Start Point (titik mulai)

2End Point (titik akhir)

3

Activities (aktivitas yang dilakukan)

4Decision

5SwimlaneSebuah cara untuk mengelompokan activity berdasarkan Actor (dalam sebuah urutan yang sama)

2.8.3 Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu.Tabel 2.2 Notasi Sequence Diagram

NoSimbolKeterangan

1Lifeline, objek entity yaitu antar muka yang saling berinteraksi

2Message, spesifikasi dari komunikasi antar objek yang memuat informasi-informasi tentang aktivitas yang terjadi

3Message, spesifikasi dari komunikasi antar objek yang memuat informasi-informasi tentang aktivitas yang terjadi

6