BAB 2 LANDASAN TEORI
2.1
Teori Umum 2.1.1
Intelegensia Semu Menurut Gaskin (2008) Pada tahun 1965 inovator artificial intelligence Herbert Simon mengatakan bahwa "mesin akan mampu menggantikan pekerjaan manusia dalam waktu 20 tahun". Dua tahun kemudian peneliti MIT Marvin Minsky telah memprediksikan "dalam satu generasi... masalah untuk membuat artificial intelligence akan diselesaikan secara substansial". Budaya yang populer akan beralih ke artificial intelligence, memberikan kita sebuah bandwagon dan Rosie the Robot dari sebuah televisi serial dari sebuah film "2001: A Sapace Odyssey" and R2D2 dari Star Wars. Menurut Thompson (2008, p3-5) intelegensia semu merupakan suatu sistem penalaran. Salah satu aspek dari IS adalah membuat keputusan berdasarkan informasi atau input dari model yang telah ada. Suatu modul akan menerima input, menganalisis input tersebut dan menghasilkan output. Penggunaan IS dalam hal ini dilakukan untuk mengambil keputusan pada pendeteksian atau pengenalan sebuah pola yang telah ditentukan sebelumnya. 2.1.1.1
Definisi Intelegensia Semu Menurut Bourg dan Seemann (2004, p2) intelegensia semu merupakan suatu perilaku mesin cerdas yang telah dibuat 7
8
sebelumnya. Ada dua kategori artificial intelligence atau intelegensia semu yaitu strong dan weak AI. Strong AI apabila ada keterkaitan dengan emosi dan kemampuan untuk belajar dan beradaptasi. Weak AI adalah penggunaan teknologi yang lebih luas untuk memberikan kecerdasan khusus terhadap mesin.
Tabel 2.1 Definisi Artificial Intelligence - Russell dan Norvig (2003, p5) Thinking Humanly
Thinking Rationally
"The exciting new effort to make
"The study of mental faculties through
comput-
the
ers think ... machines with minds, in the
use of computational models."
full and literal sense." (Haugeland,
(Charniak and McDermott, 1985)
1985)
"The study of the computations that
"[The automation of] activities that we
make
associate with human thinking, activities
it possible to perceive, reason, and act."
such as decision-making, problem solv-
(Winston, 1992)
ing, learning .. ." (Hellman, 1978) Acting Humanly
Acting Rationally
"The art of creating machines that per-
"Computational Intelligence is the study
form functions that require intelligence
of the design of intelligent agents."
when performed by people." (Kurzweil,
(Poole
1990)
et at, 1998)
"The study of how to make computers
"Al ... is concerned with intelligent be-
do
havior in artifacts." (Nilsson, 1998
things at which, at the moment, people are better." (Rich and Knight, 1991)
9
2.1.2
Computer Vision Menurut Matthies et al. (2007) baik di Bumi maupun di Ruang Angkasa, motivasi utama untuk mengembangkan komputer yang berbasis Computer Vision, sistem navigasi otonom adalah keterbatasan dalam latency dan bandwith membuat kemampuan manusia untuk mengontrol robot jarak jauh sangat terbatas. Tujuan Computer Vision adalah membuat suatu keputusan dari suatu obyek nyata yang dilihat oleh komputer. Dalam membuat keputusan dari obyek nyata yang dilihat oleh komputer, komputer membutuhkan beberapa deskripsi atau model dari image obyek tersebut. Beberapa ahli akan mengatakan tujuan computer vision adalah membangun deskripsi dari image. Pengertian lain dari computer vision adalah ilmu teknologi dari mesin yang dapat melihat. Secara disiplin ilmiah, computer vision dikaitkan dengan teori dibalik sistem artifisial yang mengambil informasi dari gambar maupun video. Data gambar dapat berbentuk macam-macam, seperti urutan video, pemandangan dari beberapa kamera atau multidimensional dari medical scanner. Jadi dapat disimpulkan pengertian dari computer vision adalah pengambilan fitur-fitur dari gambar maupun video menjadi informasi – informasi yang dibutuhkan untuk tujuan pengambilan keputusan. 2.1.2.1
Pengertian Computer Vision Computer Vision menurut Bradski dan Kaehler (2008, p1) adalah transformasi dari data gambar atau video menjadi sebuah keputusan atau dapat berupa gambar baru.
10
Menurut Saphiro dan Stockman (2001, p1) tujuan dari Computer Vision adalah membuat keputusan yang berguna mengenai atau tentang benda fisik yang asli berdasarkan dari image yang terlihat. 2.1.2.2
Computer Vision dan Augmented Reality Menurut
Saphiro
dan
Stockman
(2001,
p530-p532)
Pembuatan sistem Augmented Reality membutuhkan : 1. Model 3D dari objek untuk digabungkan dengan dunia nyata. 2. Korespondensi antara dunia nyata dengan model 3D melalui kalibrasi. 3. Tracking digunakan menentukan sudut pandangan pengguna terhadap dunia nyata. 4. Real-Time Display yang digabungkan dengan citra asli dan juga grafik komputer yang dibuat berdasarkan model. 5. Waktu respon terhadap gerakan dan akurasi antara gambar dan grafik sangat mempengaruhi keefektifan sistem.
Affect Human
Sense
Computer System
Gambar 2.1 Operasi Kerja Pada Lingkungan AR
Real Environment
Synthetic Environment
11
Beberapa contoh dari aplikasi Augmented Reality : 1. Penggunaan Augmented Reality untuk membantu operasi. 2. Tampilan yang menunjukkan lokasi geografis pada mobil. Tampilan dapat menampilkan nama dari bangunan dan jalanan. 3. Teleconferencing dimana pengguna dapat saling melihat lingkungan model yang sama untuk berdiskusi. Teknik Computer Vision digunakan untuk mencari kartu (marker) dan menggunakan teknik pattern recognition untuk mengenali pattern yang ada, dan mengidentifikasi arti dari setiap marker. 2.2
Teori Khusus 2.2.1
Augmented Reality Menurut Perey (2011), Visi kami di masa depan adalah bahwa setiap materi yang dicetak, dimulai dari poster, paket yang dikirim, halaman dari koran, majalah atau buku, dapat memberikan nilai bila dikombinasikan dengan kamera, algoritma dapat mendeteksi isi halaman dan platform yang mengambil data digital yang berhubungan. Kombinasi dari sistem AR (Augmented Reality) dengan media cetak akan memberikan nilai lebih dibandingkan dengan sesuatu yang hanya dicetak saja atau konten digital saja. Menurut Suryawinata (2010), Augmented Reality (AR) adalah kombinasi antara dunia maya (virtual) dan dunia nyata (real) yang dibuat oleh komputer. Obyek virtual dapat berupa teks, animasi, model 3D atau
12
video yang digabungkan dengan lingkungan sebenarnya sehingga pengguna merasakan obyek virtual berada dilingkungannya. AR adalah cara baru dan menyenangkan dimana manusia berinteraksi dengan komputer, karena dapat membawa obyek virtual ke lingkungan pengguna, memberikan pengalaman visualisasi yang alami dan menyenangkan. Sistem ini berbeda dengan Virtual Reality (VR), yang sepenuhnya merupakan virtual environment. Dengan bantuan teknologi augmented reality lingkungan nyata disekitar kita akan dapat berinteraksi dalam bentuk digital (virtual). Informasi informasi tentang obyek dan lingkungan disekitar kita dapat ditambahkan kedalam sistem augmented reality yang kemudian informasi tersebut ditampilkan diatas layer dunia nyata secara real-time seolah-olah informasi tersebut adalah nyata. Augmented Reality (AR) merupakan salah satu cabang di bidang teknologi yang belum terlalu lama, namun memiliki perkembangan yang sangat cepat. Perkembangan augmented reality pada industri mobile phone juga mempunyai perkembangan yang paling cepat. 2.2.1.1 Augmented Reality VS Virtual Reality Augmented Reality dan Virtual Reality merupakan cabang dari ilmu komputer, yang hampir sama. Perbedaan utama dari augmented reality dan virtual reality adalah virtual reality tidak menggunakan camera feed. Semua tampilan yang dihasilkan pada virtual reality adalah animasi ataupun hasil dari rekaman.Sedangkan pada augmented reality,
13
hasil yang ditampilkan merupakan gabungan dari dunia nyata dan juga hasil animasi / komputer. 2.2.1.2 Penggunaan Augmented Reality Banyak sekali aplikasi yang menggunakan augmented reality, yang dimaksudkan untuk digunakan oleh masyarakat umum, seperti augmented reality pada game, browser, dan aplikasi navigasi. Beberapa ini merupakan contoh dari penggunaan augmented reality pada bidang bidang tertentu. a. Bidang Militer dan hukum Pada bidang militer, digunakan untuk melakukan simulasi b. Kendaraan Pada kendaraan, biasa digunakan untuk memberikan petunjuk arah dengan menggunakan layar lebar. c. Kesehatan Augmented Reality menyediakan data-data input berguna pada saat operasi, dan terkadang membantu memberikan instruksi yang dapat memaksimalkan proses operasi real time. d. Arsitektur Menggunakan blue print untuk menampilkan augmented reality berupa bangunan secara virtual, sehingga mempercepat pekerjaan di bidang arsitektur, dan dapat memperkirakan kelemahankelemahan yang ada pada bangunan.
14
e. Pariwisata Sudah mulai banyak augmented reality yang dipakai di beberapa tempat yang dikenal di dunia, untuk menampilkan informasi mengenai daerah tersebut. Dengan augmented reality, para pengunjung juga dapat melihat kembali bangunan-bangunan pada masa lampau yang pernah berdiri di tempat tersebut. f. Edukasi Penggunaan pada bidang edukasi contohnya adalah penggunaan buku 3D. 2.2.2
OpenCV Menurut Bradski dan Kaehler (2008, p1) OpenCV adalah open source Computer Vision Library. Pustaka tersebut dikembangkan menggunakan bahasa pemrograman C dan C++, yang berjalan pada 3 sistem operasi, yaitu : Linux, Windows, Mac OS X. OpenCV didesain untuk memberikan efisiensi komputasi dengan fokus pada real time application. OpenCV dikembangkan dengan optimisasi bahasa C yang memberikan kelebihan pada multicore processors. Satu tujuan dari OpenCV adalah menghasilkan infrastruktur dari Computer Vision yang mudah digunakan dan dapat membantu membuat aplikasi yang mutakhir secara cepat. Pustaka OpenCV memiliki lebih dari 500 fungsi yang dapat digunakan dalam membantu Computer Vision.
15
2.2.3
Android Menurut Reed (2010) Ledakan Android telah terjadi selama tahun lalu, sekitar dua tahun setelah Android memulai debutnya di musim gugur 2007. Sejak Januari saja, Android telah berkembang dua kali lipat dari total pangsa pasar di sistem operasi mobile, dan perangkat berbasis Android menyumbang 44% dari smartphone yang dibeli pada kuartal ketiga 2010, menurut perusahaan riset ChangeWave. Perusahaan riset Gartner memproyeksikan bahwa pada akhir tahun penjualan perangkat Android akan melebihi yang didasarkan pada OS BlackBerry dan iPhone OS, yang berarti bahwa Android akan menantang Symbian sebagai sistem operasi yang paling banyak digunakan oleh ponsel di dunia. Menurut Lee (2011,p2) Android adalah mobile operating system yang memodifikasi sistem operasi Linux yang dibuat oleh Google dan Open
Handset
Alliance(OHA).
Sistem
operasi
ini
pertama
kali
diperkenalkan dengan nama yang sama yaitu Android,inc. Pada tahun 2005, Google berencana untuk memasuki dunia mobile, Google membeli Android dan mengambil alih pengembangannya. Google menginginkan agar android bersifat bebas dan gratis. Sebagai Open Source dan bebas dalam memodifikasi, di dalam android tidak ada ketentuan yang tetap dalam konfigurasi Software dan Hardware. Fitur- fitur yang didapat dalam Android antara lain : • Storage - Menggunakan SQLite, database yang ringan, untuk sebuah penyimpanan data.
16
• Connectivity - Mendukung GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth (termasuk A2DP dan AVRCP), WiFi, LTE, dan WiMax. • Messaging –Mendukung SMS dan MMS • Web Browser – Berbasiskan open-source WebKit, bersama mesin Chrome’s V8 JavaScript • Media support – Termasuk mendukung untuk beberapa media berikut : H.263, H.264 (dalam bentuk 3GP or MP4), MPEG-4 SP, AMR, AMRWB (dalam bentuk 3GP), AAC, HE-AAC (dalam bentuk MP4 atau 3GP), MP3, MIDI, Ogg Vorbis, WAV, JPEG, GIF, dan BMP. • Hardware support – Sensor akselerasi, Kamera, Kompas Digital, Sensor Kedekatan, GPS. • Multi-touch –Mendukung multi-touch screens • Multi-tasking – Mendukung aplikasi multi-tasking • Flash-support – Android 2.3 mendukung Flash 10.1 • Tethering – Mendukung pembagian dari koneksi Internet sebagai wired/wireless hotspot 2.2.3.1
Versi Android Sejak pertama kali muncul sampai sekarang, Android telah memiliki sejumlah pembaharuan. Pembaharuan ini dilakukan untuk memperbaiki bug dan menambah fitur-fitur yang baru. Versi-versi yang ada pada android yaitu :
17
1. Android versi 1.1 Pada tanggal 9 Maret 2009, Google merilis Android versi 1.1. Android ini dilengkapi dengan pembaruan estetis pada aplikasi, jam alarm, voice search, pengiriman pesan dengan Gmail, dan pemberitahuan email 2. Android versi 1.5 (Cupcake) Pada pertengahan Mei 2009, Google kembali merilis telepon seluler dengan menggunakan Android dan SDK (Software Development Kit). Terdapat beberapa pembaruan termasuk juga penambahan beberapa fitur dalam seluler versi ini, yaitu kemampuan merekam dan menonton video dengan 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 sistem. 3. Android versi 1.6 (Donut) Donut (versi 1.6) dirilis pada September 2009 dengan menampilkan proses pencarian yang lebih baik dibanding sebelumnya, penggunaan baterai indikator 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
18
(tidak tersedia pada semua ponsel; pengadaan resolusi VWGA. 4. Android versi 2.0/2.1 (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. 5. Android versi 2.2 (Froyo: Frozen Yoghurt) Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan. Perubahan-perubahan
umumnya
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 pembaruan secara otomatis dalam aplikasi Android Market. 6. Android versi 2.3 (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, desain
19
ulang layar antar muka (User Interface), 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. 7. Android versi 3.0/3.1 (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 multiprocessor dan juga akselerasi perangkat keras (hardware) untuk grafis. Tablet pertama yang dibuat dengan menjalankan Honeycomb adalah Motorola Xoom. Perangkat tablet dengan platform Android 3.0 telah banyak hadir di Indonesia. Perangkat
yang
pertama
muncul
bernama
Eee
Pad
Transformer produksi dari Asus yang masuk pasar Indonesia pada Mei 2011. 8. Android versi 4.0 (ICS: Ice Cream Sandwich) Diumumkan pada tanggal 19 Oktober 2011, membawa fitur Ice Cream Sandwich untuk smartphone dan menambahkan fitur baru termasuk membuka kunci dengan pengenalan wajah, jaringan data pemantauan penggunaan dan kontrol, terpadu kontak jaringan sosial, perangkat tambahan fotografi, mencari email
secara
offline,
dan
berbagi
informasi
dengan
20
menggunakan NFC. Ponsel pertama yang menggunakan sistem operasi ini adalah Samsung Galxy Nexus. 9. Android versi 4.1 (Jelly Bean) Android Jelly Bean yaang diluncurkan pada acara Google I/O lalu
membawa
sejumlah
keunggulan
dan
fitur
baru.
Penambahan baru diantaranya meningkatkan input keyboard, desain baru fitur pencarian, user interface yang baru dan pencarian melalui voice search yang lebih cepat. 2.2.4
Unity Unity adalah sebuah aplikasi yang berintegrasi dengan banyak tools dan rapid workflows yang digunakan untuk membuat konten tiga dimensi yang interaktif dan bersifat multiplatform. Unity juga memungkinkan pengembang untuk membuat object, meng-import asset yang telah disediakan dari luar dan menggabungkan semuanya secara cepat dan efisien. Pengembang dapat menggabungkan beberapa script dan waktu untuk compile relatif cepat.
Ada 10 global platform yang Unity. Platform tersebut adalah IOS, Android, Windows, MacOS, Linux, Web Player, Flash, PS3, Xbox, Wii. 2.2.5
Vuforia Vuforia merupakan software untuk augmented reality, yang menggunakan sumber yang konsisten mengenai computer vision yang fokus pada image recognition.Vuforia mempunyai banyak fitur-fitur dan
21
kemampuan, yang dapat membantu pengembang untuk mewujudkan pemikiran mereka tanpa adanya batas secara teknikal. Dengan support untuk iOS, Android, dan Unity3D, platform Vuforia mendukung para pengembang untuk membuat aplikasi yang dapat digunakan di hampir seluruh jenis smartphone dan tablet. Pengembang juga diberikan kebebasan untuk mendesain dan membuat aplikasi yang mempunyai kemampuan antara lain : 1. Teknologi computer vision tingkat tinggi yang mengijinkan developer untuk membuat efek khusus pada mobile device. 2. Terus-menerus mengenali multiple image. 3. Tracking dan Detection tingkat lanjut. 4. Dan solusi pengaturan database gambar yang fleksibel.
Gambar 2.2 Vuforia Structure
22
Target pada vuforia merupakan obyek pada dunia nyata yang dapat dideteksi oleh kamera, untuk menampilkan obyek virtual. Beberapa jenis target pada vuforia adalah : 1. Image targets, contoh : foto, papan permainan, halaman majalah, sampul buku, kemasan produk, poster, kartu ucapan. Jenis target ini menampilkan gambar sederhana dari Augmented. 2. Frame markers, tipe frame gambar 2D dengan pattern khusus yang dapat digunakan sebagai potongan permainan di permainan pada papan. 3. Multi-target, contohnya kemasan produk atau produk yang berbentuk kotak ataupun persegi. Jenis ini dapat menampilkan gambar sederhana Augmented 3D. 4. Virtual buttons, yang dapat membuat tombol sebagai daerah kotak sebagai sasaran gambar. Pada Vuforia, ada 2 jenis workflow dengan dasar database yang dapat dipilih oleh developer, yaitu Cloud Database dan Device Database. Setelah memilih metode yang dipilih, developer dapat mengikuti panduan di bawah ini untuk membuat aplikasi pada Vuforia.
23
Gambar 2.3 Developing Guide