BAB II LANDASAN TEORI
Pada bab ini merupakan bab yang mengkaji landasan teori yang menjadi dasar dalam pelaksanaan kegiatan tugas akhir. Landasan teori ini meliputi definisi taman kota, konsep tiga dimensi, Augmented Reality, Marker, Pengenalan Android dan Software DevelopmentKit yang digunakan seperti Unity3D, Mono Develop dan Google SketchUp.
2.1
Taman Kota Taman (Garden) diterjemahkan dari bahasa Ibrani, Gan berarti melindungi atau mempertahankan lahan yang ada dalam suatu lingkungan berpagar. Oden berarti kesenangan, kegembiraan, dan kenyamanan secara lengkap dapat diartikan taman adalah sebidang lahan berpagar yang digunakan
untuk
mendapatkan
kesenangan,
kegembiraan,
dan
kenyamanan(Laurie,1986:9).[1] Kota adalah tempat berlangsungnya proses hidup dan kehidupan atau sebagai tempat berlangsungnya aktifitas manusia (Setiyaningrum, Diyah, 2002:4). [2] Taman kota adalah taman yang berada dilingkunagan perkotaan dalam skala yang luas dan dapat mengantisipasi dampak-dampak yang ditimbulkan oleh perkembangan kota dan dapat dinikmati oleh seluruh warga kota. Taman kota memiliki manfaat sebagai berikut: 1. Fungsi Ekologis Taman kota sebagai penjaga kualitas lingkungan kota, dengan adanya penghijaun maka taman kota dapat berfungsi sebagai: a. Paru-paru kota yang menghasilkan banyak O2. b. Filter debu dan asap kendaraan bermotor, sehingga dapat meminimalisir polusi udara.
II-1
II-2
c. Tempat penyimpanan air tanah, sehingga mencegah datangnya banjir dan erosi serta menjamin pasokan air tanah. d. Peredam kebisingan kota yang pada aktivitas. e. Pelestarian lingkungan ekosistem. 2. Fungsi Sosial a. Sebagai tempat komunikasi sosial. b. Sebagai sarana olahraga, bermain, dan rekreasi. c. Sebagai landmark sebuah kota. d. Meanambah nilai estetika sebuah lingkungan sehinggaa menjadi daya tarik tersendiri bagi sebuah kota. 2.2
Konsep Tiga Dimensi
3D atau tiga dimensi adalah sebuah objek atau ruang yang memiliki panjang, lebar dan tinggi yang memiliki bentuk. 3D tidak hanya digunakan dalam matematika dan fisika saja melainkan dibidang grafis, seni, animasi, komputer dan lain-lain.[3] 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 / benda adalah bola, piramida atau benda spasial seperti kotak sepatu.Istilah "3D" juga (dan salah) yang digunakan (terutama bahasa Inggris) untuk menunjukkan representasi dalam grafis komputer (digital), dengan cara menghilangkan gambar stereoscopic atau gambar lain dalam pemberian bantuan, dan bahkan efek stereo sederhana, yang secara konstruksi membuat efek 2D (dalam perhitungan proyeksi perspektif, shading) .[3] 2.2.1
Pemodelan Tiga Dimensi
Pemodelan adalah membentuk suatu benda-benda atau obyek. Membuat dan mendesain obyek tersebut sehingga terlihat seperti hidup. Sesuai dengan obyek dan basisnya, proses ini secara keseluruhan dikerjakan di komputer. Melalui konsep danproses desain, keseluruhan obyek bisa diperlihatkan secara 3 dimensi, sehingga banyak yang menyebut hasil ini sebagai pemodelan tiga dimensi (3D modelling) (Nalwan, 1998). Ada beberapa aspek yang harus dipertimbangkan bila membangun model obyek, kesemuanya memberi kontribusi pada kualitas hasil akhir. Hal-hal tersebut meliputi metoda untuk mendapatkan atau membuat data
II-3
yang men ndeskripsikaan obyek, tu ujuan dari model, m ting gkat kerumiitan, perhituungan biaya,keseesuaian dann kenyaman nan, serta kemudahan k manipulassi model. Proses P pemodelan n 3D membbutuhkan peerancangan yang dibag gi dengan beberapa b tahhapan untuk pem mbentukannnya. Sepertii obyek apa yang inggin dibentukk sebagai obyek o dasar, meetoda pemodelan obyeek 3D, penccahayaan dan d animasii gerakan obyek o sesuai deengan uruttan proses yang akaan dilakukan. Gambaar dibawahh ini menunjukkkan proses pemodelan 3D.[4]
Gambar 2.1 2 Proses Pemodelan P 3D [4] Pada gam mbar 2.1 nampak n baahwa lima bagian yaang saling terhubungg dan mendukun ng untuk terrciptanya sebuah moddel 3D. Adaapun tujuann dan fungsi dari masing-m masing bagian tersebutt adalah proses p yangg akan dijelaskan seebagai berikut: 1. Mootion Captuure/Model 2D, 2 yaitu laangkah awal untuk men nentukan bentuk moodel obyek yang akan dibangun d daalam bentukk 3D. Penekkanannya adalah a oby yek berupaa gambar wajah w yang sudah dibeentuk intennsitas warnaa tiap pixxelnya denggan metodee Image Addjustment Brightness/C B /Contrast, Image I Co olor Balancce, Layer Multiply, M daan tampilann Convert Mode M RGB B dan forrmat JPEG.. Dalam tahhap ini diggunakan aplikasi grafiis seperti A Adobe Phhotoshop ataau sejenisnyya. Dalam tahap t ini prroses penen ntuan obyeek 2D meemiliki penngertian bahhwa obyekk 2D yang akan dibenntuk meruppakan obyek 2D dapat dim dassar pemodeelan 3D. Keseluruhan K masukkan deengan
II-4
jumlah lebih dari satu, model yang akan dibentuk sesuai dengan kebutuhan. Tahap rekayasa hasil obyek 2D dapat dilakukan dengan aplikasi program grafis seperti Adobe Photoshop dan lain sebagainya, pada tahap pemodelan 3D, pemodelan yang dimaksud dilakukan secara manual. Dengan basis obyek 2D yang sudah ditentukan sebagai acuan. Pemodelan obyek 3D memiliki corak yang berbeda dalam pengolahannya, corak tersebut penekanannya terletak pada bentuk permukaan obyek. 2. Metode Modeling 3D , Ada beberapa metode yang digunakan untuk pemodelan 3D. Ada jenis metode pemodelan obyek yang disesuaikan dengan kebutuhannya seperti dengan nurbs dan polygon ataupun subdivision. Modeling polygon merupakan bentuk segitiga dan segiempat yang menentukan area dari permukaan sebuah karakter. Setiap polygon menentukan sebuah bidang datar dengan meletakkan sebuah jajaran polygon sehingga kita bisa menciptakan bentuk-bentuk permukaan. Untuk mendapatkan permukaan yang halus, dibutuhkan banyak bidang polygon. Bila hanya menggunakan sedikit polygon, maka object yang didapat akan terbagi sejumlah pecahan polygon. Sedangkan Modeling dengan NURBS (Non-Uniform Rational Bezier Spline) merupakan metode paling populer untuk membangun sebuah model organik. Kurva pada Nurbs dapat dibentuk dengan hanya tiga titik saja. Dibandingkan dengan kurva polygon yang membutuhkan banyak titik (verteks) metode ini lebih memudahkan untuk dikontrol. Satu titik CV (Control verteks) dapat mengendalikan satu area untuk proses tekstur. 3. Rendering adalah proses akhir dari keseluruhan proses pemodelan ataupun animasi komputer. Dalam rendering, semua data-data yang sudah dimasukkan dalam proses modeling, animasi, texturing, pencahayaan dengan parameter tertentu akan diterjemahkan dalam sebuah bentuk output. 4. Texturing. Proses texturing ini untuk menentukan karakterisik sebuah materi obyek dari segi tekstur. Untuk materi sebuah objek bisa digunakan aplikasi properti tertentu seperti reflectivity, transparency, dan refraction. Texture kemudian bisa digunakan untuk meng-create berbagai variasi
II-5
warna pattern, tingkat kehalusan/kekasaran sebuah lapisan objek secara lebih detail. 5. Image dan Display, merupakan hasil akhir dari keseluruhan proses dari pemodelan. Biasanya obyek pemodelan yang menjadi output adalah berupa gambar untuk kebutuhan koreksi pewarnaan, pencahayaan, atau visual effect yang dimasukkan pada tahap teksturing pemodelan. 2.2.2
Visualisasi
Visualisasi adalah merupakan sebutan lain dari grafika komputer, rekayasa dalam pembuatan gambar, diagram atau animasi untuk penampilan suatu informasi. Secara umum, visualisasi dalam bentuk gambar baik yang bersifat abstrak maupun nyata telah dikenal sejak awal dari peradaban manusia. Contoh dari hal ini meliputi lukisan di dinding-dinding gua dari manusia purba, bentuk huruf hiroglip Mesir, sistem geometri Yunani, dan teknik pelukisan dari Leonardo da Vinci untuk tujuan rekayasa dan ilmiah, dll. Pada saat ini visualisasi telah berkembang dan banyak dipakai untuk keperluan ilmu pengetahuan, rekayasa, visualisasi disain produk, pendidikan,
multimedia interaktif, kedokteran, dll.
Pemakaian dari grafika komputer merupakan perkembangan penting dalam dunia visualisasi, setelah ditemukannya teknik garis perspektif pada zaman Renaissance. Perkembangan bidang animasi juga telah membantu banyak dalam bidang visualisasi yang lebih kompleks dan canggih. Dalam grafik komputer 3D, 3D modeling adalah proses mengembangkan matematika representasi dari setiap tigadimensi benda (baik benda mati atau hidup) melalui perangkat lunak khusus. Produk ini disebut sebagai model 3D. Hal ini dapat ditampilkan sebagai gambar dua dimensi melalui proses yang disebut 3D rendering atau digunakan dalam komputer simulasi fenomena fisik. Model juga dapat secara fisik dibuat menggunakan perangkat Printing 3D.[4] 2.3
Augmented Reality Augmented Reality (AR) adalah sebuah istilah untuk lingkungan yang
menggabungkan dunia nyata dan dunia virtual serta dibuat oleh komputer sehingga batas antara keduanya menjadi sangat tipis. Ronald Azuma pada tahun 1997 mendefinisakan Augmented Reality sebagai sistem yang memiliki
II-6
karakteristik sebagai berikut : -
Menggabungkan lingkungan nyata dan virtual
-
Berjalan secara interaktif dalam waktu nyata
-
Integrasi dalam tiga dimensi (3D)
Secara sederhana Augmented Reality (AR) bisa didefinisikan sebagai lingkungan nyata yang di tambahkan objek virtual. Penggabungan objek nyata dan virtual dimungkinkan melalui perangkat-perangkat input tertentu.[5] Augmented Reality (AR) merupakan varisasi dari Virtual Environments (VE), atau yang lebih dikenal dengan sebuah lingkungan Virtual Reality (VR). Teknologi VR membuat pengguna tergabung dalam sebuah lingkungan virtual secara keseluruhan. Ketika tergabung dalam lingkungan tersebut, pengguna tidak bisa melihat lingkungan nyata di sekitarnya. Sebaliknya, Augmented Reality (AR) memungkinkan pengguna untuk melihat lingkungan nyata, dengan objek virtual yang ditambahkan atau tergabung dengan lingkungan nyata. Tidak seperti Virtual Reality (VR) yang sepenuhnya menggantikan lingkungan nyata, Augmented Reality (AR) sekedar menambahkan atau melengkapi lingkungan nyata.[5] Tujuan utama Augmented Reality (AR) adalah untuk menciptakan lingkungan baru dengan menggabungkan interaktivitas lingkungan nyata dan virtual sehingga pengguna merasa bahwa lingkungan yang diciptakan adala nyata. Dengan kata lain, pengguna merasa tidak ada perbedaan yang dirasakan antara Augmented Reality (AR) dengan apa yang meraka lihat/rasakan dilingkungan nyata. Dengan bantuan teknologi Augmented Reality (AR) (seperti visi komputasi dan pengenalan pola ) lingkungan nyata disekitar kita akan dapat berinteraksi dalam bentuk digital (virtual). Informasi tentang objek dan lingkungan disekitar kita dapat ditambahkan kedalam sistem Augmented Reality (AR) yang kemudian informasi tersebut ditampilkan diatas layer dunia nyata secara real-time seolah-olah informasi tersebut adalah nyata. Informasi yang ditampilkan oleh objek virtual membantu pengguna melaksanakan kegiatan-kegiatan dalam dunia nyata. Augmented Reality
II-7
(AR) banyak digunakan dalam berbagai bidang seperti kesehatan, militer, industri manufaktur dan juga telah diaplikasikan dalam perangkat-perangkat yang digunakan orang banyak, seperti pada telepon genggam.[5] 2.3.1
Sejarah Augmented Reality
Konsep pertama Augmented Reality dikenalkan oleh Morton Heilig, seorang cinematographer pada tahun 1950an. Ketika itu Augmented Reality membutuhkan sebuah alat besar sebagai alat output. Alat output dapat berupa yang dipasang ditubuh kita (dikenal dengan nama HMD, Head Mouted Device), ada juga yang berupa monitor, seperti monitor TV, LCD, monitor ponsel dan lainnya. Alat HMD pertama kali ditemukan pada tahun 1968 oleh Ivan Sutherland dari Harvard University.[6] Augmented Reality dengan input berupa sensor GPS diperkenalkan pada tahun 2003 dari hasil penelitian Loomis, dkk. Pada karya ilmiahnya Personal guidance system for the visualli impaired using GPS, GIS and VR technologies, pada tahun 1994. Pada tahun 1996, Rekimoto dalam karya ilmiahnya Augmented Reality Using the 2D Matrix Code. In Proceedings of the Workshop on Interactive Systems and Software memperkenalkan marker 2D untuk pertama kalinya. 2.3.2
Prinsip Kerja Augmented Reality
Sistem Augmented Reality bekerja berdasarkan deteksi citra dan citra yang digunakan adalah marker. Prinsip kerjanya sebenarnya cukup sederhana. Kamera yang telah dikalibrasi akan mendeteksi marker yang diberikan, kemudian mengenali dan menandai pola marker, kamera akan melakukan perhitungan apakah marker sesuai database yang dimiliki. Bila tidak, maka informasi marker tidak akan diolah, tetapi bila sesuai maka informasi marker akan digunakan untuk me-render dan menampilkan objek tiga dimensi yang telah dibuat sebelumnya.[6] 2.3.3
Pemanfaatan Augmented Reality Sebagai Penanda Objek
Seiring dengan bekembangnya teknologi pemanfaatan Augemted Reality-pun mengalami perkembangan. Sebelumnya teknologi tiga dimensi digunakan hanya dalam pembuatan film-film ataupun iklan pada televisi, dan sekarang pemanfaatan tersebut telah berkembang untuk keperluan yang lebih luas sebagai media
II-8
promosi, media pembelajaraan, pengenalan objek, sebuah prototype modeling ataupun presentasi rancang bangun. Pengguna memilih sudut pandang sesuai dengan kegiatan yang dilakukannya. Augmented Reality memungkinkan pengguna secara real-time mendapatkan tentang informasi dari suatu objek melalu kamera ponsel. Hal ini membuat Augmented Reality sebagai alat untuk membantu persepsi dan interaksi pengguna dengan dunia nyata. Informasi yang ditampilkan oleh benda maya membantu pengguna melaksanakan kegiatan-kegiatan dalam dunia nyata.[7] 2.3.4
Vuforia SDK
Vuforia adalah Augmented Reality Software Development Kit (SDK) untuk perangkat mobile yang memungkinkan pembuatan aplikasi Augmented Reality. Dulunya lebih dikenal QCAR (Qualcomm Company Augmented Reality). Ini menggunakan teknologi Computer Vision untuk mengenali dan melacak gambar planar (Targer Imgae) dan objek tiga dimensi sederhana seperti kotak secara realtime. Kemampuan registrasi citra memungkinkan pengembang untuk mengatur posisi dan virtual oriantasi objek, seperti model tiga dimensi dan media lainnya, dalam kaitannya dengan gambar nyata ketika dal ini dilihat melalui kamera perangkat mobile. Objek maya kemudian melacak posisi dan orientasi dari gambar secara real-time sehingga perspektif pengguna muncul bahwa objek virtual adalah bagian dari adegan dunia nyata. SDK Vuforia mendukung berbagai jenis target dua dimensi dan tiga dimensi termasuk target gambar markerless. Konfigurasu multi target tiga dimensi dan marker frame. Fitur tambahan dari SDK termasuk deteksi Oklusi lokal menggunakan tombol virtual. Vuforia menyediakan Application Programming Interfaces (API) di C++, Java, Objective C. SDK mendukung pembangunan untuk iOS dengan kompatibilitas yang perangkat mobile seperti iPhone, iPad dan perangkat Android dengan versi OS 2.2 Atau lebih.[7]
II-9
2.3.5
V Vuforia APII Referencee
Vuforia API A referencce berisi informasi tenntang hirarkki kelas dann fungsi meember dari QCAR SDK. Sisstem QCAR R SDK ditaampilkan seeperti pada gambar dibbawah ini :
Gambar 2.2 Sistem m High-levell Vuforia [77] 2.3.6
A Arsitektur V Vuforia
Vuforia SD DK memerllukan beberrapa kompoonen penting g agar dapaat bekerja deengan baik. Kom mponen-kom mponen terseebut antara lain : a. Kam mera Kam mera dibutukkkan untukk memastikaan bahwa setiap framee yang ditanngkap dan diteruskann secara efi fisien ke trracker. Paraa developeer hanya tinnggal mberi tahu kamera k kapaan mereka mulai m menan ngkap dan berhenti b mem b. Imagge Converteer Men ngkonversi format kam mera (misaalnya YUV V12) kedalaam format yang dapaat dideteksi oleh OpelGL (misalnya RGB B565) dan untuk traacking (missalnya luminnance). c. Traccker computer vision yanng dapat mendeteksi dan Men ngandung algoritma a m melaacak objekk dunia nyaata yang ada a pada video v kameera. Berdasarkan gam mbar dari kaamera, algooritma yangg berbeda bertugas b un ntuk mendeeteksi trackkable baru dan mengevaluasi virrtual button n. Hasilnyaa akan disim mpan
II-10
dalaam state obj bject yang akan a digunaakan oleh video v backg ground rennderer dan dapat diasees dari appliication codee. d. Videeo Backgrouund Renderrer Me-render
gaambar darii kamera yang y tersim mpan didalaam state object.
Perfforma dari video backkground rennderer sanggat bergantuung pada device d yangg digunakann. e. Application Codde nginisialisassi semua komponen k diatas dan n melakukaan tiga tahhapan Men code sepertti : pentting dalam application a 1. Query Q state object o pada target baru yang terdetteksi atau marker. m 2. Update Up logikka aplikasi setiap s input baru dimassukkan. 3. Render grafiss yang ditam mbahkan (aaugmented). f. Targget Resourcces Dibu uat mengguunakan on--line Targeet Managem ment Systeem. Assets yang diunnduh berisi sebuah kon nfigurasi xm ml – config.xml – yangg memungkinkan deveeloper untuuk mengko onfigurasi bbeberapa fitur f dalam m trackablee dan binddary file yanng berisi database trackkable.
Gam mbar 2.3 Diagram D Aliiran Data Vuforia V [7]
II-11
Sebuah aplikasi Vuforia SDK berbasis AR menggunakan layar perangkat mobile sebagai lensa atau cermin ke dunia augmented dimana dunia nyata dan maya tampaknya hidup berdampingan. Aplikasi ini membuat kamera menampilkan gambar langsung pada layar untuk mewakili pandangan dari dunia fisik. Objek Virtual 3D kemudian ditampilkan pada kamera dan mereka terlihat menyatu di dunia nyata. Gambar 2.1 memberikan gambaran umum pembangunan aplikasi dengan Qualcomm AR Platform. Platform ini terdiri dari SDK Vuforia dan Target System Management yang dikembangkan pada portal QdevNet. Seorang pengembang meng-upload gambar masukan untuk target yang ingin dilacak dan kemudian mendownload sumber daya target, yang dibundel dengan App. 2.3.7
Marker
Marker adalah suatu pola yang dibuat dalam bentuk gambar yang akan dikenali oleh kamera. Marker adalah kunci dari Augmented Reality (AR). Informasi marker akan digunakan untuk menampilkan objek.[3] Dalam pembuatannya marker yang baik, citra atau pola gambar memiliki sifat sebagai berikut : 1. Kaya detail, misalnya, pemandangan jalan, sekelompok orang, kolase dan lainnya. 2. Memiliki kontras yang baik, yaitu, memiliki daerah terang dan gelap, ataupun remang. 3. Tidak ada pola berulang, misalnya banyak kotak yang berukuran sama dalam satu gambar atau pola marker. 4. Gambar harus 8 atau 24-bit dengan format PNG dan JPG dengan ukuran kurang dari 2MB. Format JPGs harus RGB atau GrayScale (tidak CMYK) File gambar *.JPGs ini nantinya akan di-upload ke vuforia, marker yang telah di-upload akan dinilah kualitasnya oleh sistem, berikut adalah contohnya :
II-12
G Gambar 2.44 Contoh Marker M Pada gambar 2.4 adalah coontoh gambbar yang sangat baik k dalam proses p pendetek ksian markker. Gambaar tersebutt memiliki features yang y tinggii dan ketajam man gambarr tersebar di d semua bagian b gam mbar. Objek k yang terssusun tersebutt menghasilkkan tepi yanng tajam daan memberikkan kontras tinggi. 2.3.8
M Metode Penggenalan Poola Gambarr
Qualcomm m sebagai salah satu peengembangg Augmentedd Reality melakukan m p proses pendeteksian markerr menggunnakan penggenalan po ola gambarr. Metode yang digunakann dalam QC CAR adalah Natural Feeatures Traccking dengaan metode FAST F Corner Detection D yaaitu pendeteeksian denggan mencarri titik-titik k (interest point) p atau sudu ut-sudut (coorner) padaasuatu gambbar. Istilah corner daan interest point sering digguakan seccara berganntian. Pertaama-tama dilakukan penteksiann tepi (edge), keemudian dillakukan anaalisa tepi unntuk mendaapatkan penndeteksian sudut (corner) secara s cepaat. Algoritm ma ini kemuudian dikem mbangkan, sehingga s deeteksi tepi secarra eksplisit tidak lagii diperlukann. Misalnya mendetekksi kelengkkukan dalam graadient gam mbar. Pada saat itu jugga ternyataa bagian-baagian yang tidak berbentukk sudut (corrner) terdetteksi juga sebagai s baggian dari gaambar, misalnya titik-titik kecil k pada latar belakaang gelap mungkin m terrdeteksi. Tittik-titik ini yang disebut intterest point namun istillah corner tetap t digunaakan.[7] 2.3.9
N Natural Featture Trackiing and Dettection
Ponsel adalah platforrm kinerja rendah r dengan sumberr daya yangg sangat terrbatas s dibandingkan dengann komputerr. Akibatnyya, keterbaatasan ponssel dalam setiap aspek haruus diperhituungkan ketikka mengembbangkan sebbuah teknollogi AR. Baanyak AR solusii, yang diraancang khussus untuk pponsel, menggunakan penanda p berrbasis
II-13
pelacakan untuk menimbulkan m n estimasii dan men ngkoordinassikan eksttraksi. Pendekataan ini bekkerja dengaan cukup baik dan menyederrhanakan proses p pelacakan, sehingga bagi b penggu una akhir, lingkungan l harus diperrsiapkan terrlebih dahulu. haal ini membbuat proseduur pengembbangan mennjadi rumit tetapi mem mbawa fleksibilitaas sehinggaa setiap bennda dengan tekstur yan ng cukup-rinnci dapat deengan mudah dillacak. dapat Dalam metode m ini informasi yang y diperrlukan untu uk tujuan pelacakan p diperoleh dengan cara opticcal-flow berbasis b peencocokan template atau koresponddensi fitur. "Optical flow fl atau aliran optik adalah pola gerakan jelas benda, perrmukaan, dan d tepi dallam adegann visual yanng disebabkkan oleh gerrakan relatif anttara pengam mat (mata atau kamerra) dan adeegan". Korrespondensi fitur bekerja leb bih baik daan lebih efekktif daripadda pencocokkan templatte karena mereka m bergantunng pada pencocokan fittur lokal. Mengingat M koresponden nsi tersebut, pose secara kassar dapat diihitung den ngan estimasi yang kuaat yang mem mbuatnya cukup c sensitif teerhadap okklusi parsiaal, blur, reefleksi, peruubahan skaala, kemiringan, perubahann iluminasi atau kesalahan penccocokan. Saalah satu unsur u diteraapkan pendekataan pelacakann fitur alam mi didasarkaan pada verssi modifikaasi dari SIFT T dan FERN fittur deskripttor. SIFT sangat s baikk dalam mengekstrak m tetapi proosesor intensif bekerja kareena kompu utasi, semenntara FERN N menggunnakan klasifikasi fitur, yangg cepat tetappi membutu uhkan kapasitas memoori yang bessar.Dalam hal h ini pelaksanaaan SIFT dan FERN N telah teerintegrasi, tetapi denngan signiifikan modifikasi untuk mem mbuat sebuaah sistem peelacakan coocok untuk ponsel. p
Gambar 2.5 2 Alur SIF FT dan FERN [7]
II-14
Gambar diatas adalah gambar bagaimana alur kerja SIFT dan FERN dari teknik pelacakan. 2.4
Pengenalan Android Pada sub bab ini akan dijelaskan mengenai sejarah Android dan versi
android yang nantinya akan digunakan untuk menjalankan aplikasi Taman Kota. 2.4.1
Sejarah Android Android Inc, adalah sebuah perusahaan software kecil yang didirikan pada bulan Oktober 2003 di Palo Alto, California, USA. Didirikan oleh beberapa senior di beberapa perusahaan yang berbasis IT & Communication yaitu Andy Rubin, Rich Miner, Nick Sears dan Chris White. Menurut Rubin, Android Inc didirikan untuk mewujudkan mobile device yang lebih peka terhadap lokasi dan preferensi pemilik. Dengan kata lain, Android Inc, ingin mewujudkan mobile device yang lebih mengerti pemiliknya.[8] Konsep yang dimiliki Android Inc, ternyata menggugah minat raksasa Google untuk memilikinya. Pada bulan Agustus 2005, akhirnya Android Inc diakuisisi oleh Google Inc. Seluruh sahamnya dibeli oleh Google. Nilai pembelian Android Inc ini oleh Google tidak ada release pastinya. Tetapi banyak yang memperkirakan nilai pembelian Android Inc oleh Google. Saat itu banyak berspekulasi, bahwa akuisisi ini adalah langkah awal yang dilakukan Google untuk masuk ke pasar mobile phone. Pada bulan November 2007, terbentuklah Open Handset Alliance yang merupakan konsorsium dari beberapa perusahaan : Broadcom Corporation, Google, HTC, Intel, LG, Marvell Technology Group, Motorola, Nvidia, Qualcom, Samsung Electronics, Sprint Nextel, TMobile dan Texas Instruments. Mereka sepakat untuk membuat open standart bagi mobile phone. Bulan Desember 2008, bergabunglah 14 perusahaan lainnya yaitu : ARM Holdings, Atheros Communications, Asustek Computer
II-15
Inc, Garmin Ltd, PacketVideo, Softbank, Sony Ericsson, Toshiba Corp dan Vocafone Group Plc. Hal ini merupakan langkah besar dalam sejarah Android untuk menjadi pemimpin dalam sistem operasi untuk mobile phone. 2.4.2
Versi Android Saat ini OS Android telah menjadi banyak versi dengan penjelasan sebagai berikut : a. Android versi 1.1 Android memang diluncurkan pertama kali pada tahun 2007, namun sistem operasi ini mulai dirilis dan ditetapkan ke berbagai gadget pada tanggal 9 Maret 2009 silam, Android versi 1.1 merupakan Android awal yang dimana versi ini baru memerikan sentuhan dibeberapa aplikasi, diantaranya yaitu sistem antar muka bagi pengguna (user interface) yang lebih baik, jam dan beberapa aplikasi standar lainnya. b. Android versi 1.5 (Cupcake) Hanya perlu waktu kurang dari 2 bulan, yaitu pada bulan Mei 2009 Android kembali mengalamu perubaha versi. Android versi 1.1 kemudian disempurnakan dengan Android versi 1.5 atau yang dikenal sebagai Android Cupcake. Perubahan yang terjadi pada sistem operasi Android Cupcake bisa dibilang cukup banyak. Diantaranya adalah sistem fasilitas mengunggah video ke Youtube, aplikasi headset nirkabel Bluetooth, tampilan keyboard dilayar, serta tampilan gambar bergerak yang lebih atraktif. c. Android versi 1.6 (Donut) Donut (versi 1.6) diluncurkan dalam tempo kurang dari 4 bulan semenjak peluncuran perdana Android Cupcake, yaitu pada bulan September 2009. Android versi Donut memiliki beberapa fitur yang lebih baik disbanding dengan pendahulunya, yakni mampu menayangkan indicator baterai pada ponsel, pengguna dapat memilih dan menentukan file yang akan dihapus, zoom-in
II-16
zoom-out gambar dengan membaca gerakan serta arah gerakan tangan (gesture), penggunaan koneksi CDMA/EVDO, dan lain sebagainya. d. Android versi 2.0/2.1 (Éclair) Masih ditahun yang sama, android kembali merilis operathing system versi terbarunya, yaitu Android versi 2.0/2.1 Eclair. Android Éclair diluncurkan oleh Google 3 bulan setelah peluncuran Android versi 1.6. Dengan meluncurkan 4 versi ditahun yang sama, akhirnya bagitu banyak perusahaan pengembang gadget atau handset yang mulai tertarik untuk menggunakan dan mengembangkan Android sebagai platform utama yang digunakan untuk handset-handset terbaru mereka. Inilah dimana era kebangkitan Android yang sempat mendobrak doktrin penggunaan sistem layar yang awalnya dipandang kurang user friendly. e. Android versi 2.2 (Froyo : Frozen Yoghurt) Butuh 5 bulan bagi Google untuk melakukan regenerasi dari Android Éclair versi sebelumnya ke versi Froyo Frozen Yoghurt. Pada tanggal 20 Mei 2010, Android versi 2.2 alias Android Froyo ini dirilis. Sistem operasi dengan julukan Froyo ini melakukan beberapa update dan juga pembenahan seputar aplikasi serta tampilannya. Keinginan untuk bisa menempatkan sebuah kartu ekspansi berbentuk slot Micro SD berkapasitas besar sudah bisa diwujudkan oleh OS versi ini. Aplikasi lainnya yang juga dilakukan pembaharuan adlaah dukungan Adobe 10.1 serta kecepatan kinerjanya yang jauh lebih baik hingga 5x lebih cepat jika dibandingkan dengan versi sebelumnya. f. Android versi 2.3 (Gingerbread) 7 bulan kemudian Android kembali melakukan gebrakan dengan merilis kembali Android versi 2.3 atau yang dikenal sebagai Android Gingerbread. Gingerbread terlihat sangat berbeda dari sistem operasi sebelumnya dimana tampilan Gingerbread jauh lebih atraktif dan sudah mampu mendukung fitur dual kamera
II-17
untuk melakukan video call. Bukan hanya itu saja, Android Gingerbread juga mulai mengkonsentrasikan kepada kemampuan untuk meningkatkan mutu aplikasi-aplikasi permainan (games) yang dijalankan didalamnya. g. Android versi 3.0/3/1 (Honeycomb) Pada bulan Mei 2011 Android versi 3.0/3.1 atau Android Honeycomb dirilis. Android Honeycomb merupakan sebuah sistem operasi android yang tujuannya memang dikhususkan bagi penggunaan tablet berbasis Android. Halaman pengguna (user interface) yang digunakan pada Android versi ini juga sangat berbeda dengan yang digunakan pada smartphone Android. Hal tersebut tentu saja disebabkan oleh tampilan layar yang lebih besar pada tablet serta untuk mendukung penggunaan hardware dengan spesifikasi yang lebih tinggi yang digunakan pada perangkat tersebut. h. Android versi 4.0 (ICS: Ice Cream Sandwich) Android ICS atau Ice Cream Sandwich juga dirilis pada tahun yang sama dengan Honeycomb, yaitu pada bulan Oktober 2011. Kini, Android Ice Cream Sandwich merupakan salah satu sistem operasi yang paling banyak digunakan oleh para pengembang smartphone yang sudah memiliki nama besar seperti Samsung, Sony, Acer dengan smartphone ICS Acer Liquid Gallant E350 terbarunya serta produsen-produsen kelas berat lainnya untuk digunakan pada produk-produk terbaru mereka. i. Android versi 4.1 (Jelly Bean) Android Jelly Bean merupakan versi Android yang terbaru pada saat ini. Salah satu gadget yang menggunakan sistem operasi Jelly Bean adalah Goole Nexus 7 yang diprakarsai oleh ASUS, vendor asal Taiwan yang juga menjadi teman satu akmpung halaman dengan Acer. Fitur terbaru dari sistem opasi Android Jelly Bean ini salah satunya adalah peningkatan kemampuan on-screen
II-18
keyboard yang lebih cepat serta lebih responsive, pencarian data kontak dengan vitur Voice Search dan lain sebagainya. j. Android versi 4.4 (Kitkat) Google selaku pemilik Android telah mengumumkan peluncuran Android versi terbaru "Android KitKat" pada bulan Oktober tahun ini (2013), namun belum diketahui dengan pasti berapa tanggal peluncurannya. Berbagai media banyak yang memprediksi tanggal 28 Oktober adalah tanggal peluncuran Android Versi 4.4 ini. Nexus 5 adalah Smartphone pertama yang bakal mencicipi OS Android Kitkat. 2.5
Development Kit
Agar dalam penelitian tugas akhir ini dapat terlaksana dan berjalan dengan lancar, maka dibutuhkan perangkat lunak sebagai berikut : a. Unity 3D Unity adalah sebuah Tools yang terintegrasi untuk membuat bentuk objek 3D pada Video Games, atau untuk konteks interaktif lain seperti Visualisasi Arsitektur atau animasi 3D real-time. Lingkungan dari pengembangan Unity 3D berjalan pada Microsoft Windows dan Mac Os X, serta permainan yang dibuat oleh Unity dapat berjalan pada Windows, Mac, Xbox 360, Playstation 3, Wii, iPad, iPhone, dan tidak ketinggalan pada platform Android. Unity juga dapat membuat game berbasis browser yang menggunakan Unity web player plugin, yang dapat bekerja pada Mac dan Windows, tapi tidak pada Linux. Web player yang dihasilkan juga digunakan untuk pengembangan pada widgets Mac. Unity pada dasarnya berisi atas editor untuk membangun/mendesign materi dari suatu permainan dan sebuah game engine untuk mengeksekusi produk akhir. Tools yang memiliki kemampuan seperti Unity yang telah ada sebelumnya diantaranya adalah Director, Blender game Engine, Virtools, Torque Game builder, dan Gamestudio, yang mana juga digunakan sebagai lingkungan grafik yang terintegrasi sebagai metode awal pengembangan.
II-19
b. MonoDevelop MonoDevelop adalah IDE cross-platform terutama dirancang untuk C # dan bahasa .NET lainnya. MonoDevelop memungkinkan pengembang untuk menulis dengan cepat pada aplikasi desktop dan aplikasi Web ASP.NET di Linux, Windows dan Mac OSX. MonoDevelop memudahkan pengembang untuk port aplikasi .NET yang dibuat dengan Visual Studio untuk Linux dan Mac OSX yang mempertahankan basis kode tunggal untuk semua platform. c. Google Sketchup 3D SketchUp adalah sebuah model 3D program yang dirancang untuk arsitektur, sipil, dan insinyur mekanik serta pembuat film, game , dan profesi terkait. program ini sangat mudah sekali dalam penggunaannya, lebih gampang dibandingkan program 3D lainnya seperti 3DCad, 3DsMax, dan sebagainya. SketchUp dikembangkan oleh perusahaan startup Boulder, Colorado yang bersama-didirikan pada tahun 1999 oleh Brad Schell dan Joe Esch. SketchUp pertama kali dirilis pada bulan Agustus 2000 sebagai alat konten 3D tujuan penciptaan umum, dengan tagline "3D untuk Semua Orang" dan
merumuskan
sebuah
program
perangkat
lunak
yang
akan
memungkinkan para profesional desain untuk menggambar apa yang mereka ingin, pikirkan sesuai cara dan kebebasan dengan sebuah pena yang akan menyenangkan untuk digunakan. SketchUp juga memiliki user friendly tombol untuk membuatnya lebih mudah untuk digunakan. 2.6
Model Prototipe (Prototyping) Prototipe adalah pemodelan evolusioner yang bersifat iterative yang
merupakan model proses perangkat lunak yang telah secara eksplisit dirancang untuk mengakomodasi suatu produk yang akan berubah secara perlahan berevolusi sepanjang waktu. Pembuatan Prototipe dapat digunakan sebagai model proses yang berdiri sendiri, pembuatan prototype lebih umum digunakan sebagai teknik yang dapat diimplementasikan di dalam konteks setiap model perangkat lunak.
II-20
G Gambar 2.6 6 Paradigm ma Pembuaatan Protottipe Pembuatan prototipe p p pada gambbar 2.6 dimulai d denngan dilakkukan komunikaasi antara tim pengemb bangan perangkat lunaak dengan pada pelannggan. Tim peng gembangan akan men ndefinisikann spesifikassi kebutuhaan apapun yang diketahui saat ini. Itterasi pembbuatan prottotipe diren ncanakan deengan cepaat dan pemodelan cepat n dalam bentuk ranccangan cepaat dilakukaan. Suatu rancangan r berfokus pada p repeseentasi semuua aspek peerangkat lun nak yang akkan terlihatt oleh para penggguna akhiir. Rancang gan cepat akan a memuulai konstrruksi pembuatan prototipe, setelah itu akan dilakuukan evaluaasi-evaluasii tertentu teerhadap prottotipe k akkhirnya akaan memberikkan umpan balik yang telahh dibuat sebbelumnya, kemudian yang akan n digunakaan untuk memperhalu m us spesifikaasi kebutuhan. Iterasi akan terjadi kettika prototippe diperbaikki untuk mem menuhi keb butuhan. Ideealnya prottotipe bertinndak sebaggai mekanissme untuk mengidenti m fikasi spesifikasii-spesifikasi kebutuhann perangkatt lunak. Jikaa suatu prottotipe yang dapat digunakann akan dikembangkan, kita bisa menggunaka m an program yang sudahh ada sebelumnyya atau deengan meneerapkan peenggunaan perkakas yang y sudahh ada sebelumnyya yang meemungkinkaan program m dapat diggunakan dan n dibuat deengan lebih muddah serta ceppat.
II-21
2.7
UML (Unified Modelling Language) UML merupakan sautu bahasa botasi berupa grafik atau gambar yang
digunakan untuk merancang menjabarkan, mendokumentasikan dan membuat struktur solusi dalam perancangan perangkat lunak. Saat ini UML merupakan bahasa pemodelan yang cukup diandalkan oleh user, developer, system analyst, maupun pihak lain yang terlibat dalam perancangan perangkat lunak. Hal ini dikarenakan UMLcukup mudah dipahami dan dikomunikasikan. Pada dasarnya UML tidak terikat oleh suatu bahasa pemograman tertentu. Hal ini membuat UML digunakan secara luas. Dalam penggunakan, UML merupakan notasi-notasi khusus. Notasi pada UML merupakan sekumpulan bentuk khusus yang menggabarkan berbagai diagram yang memiliki arti dan tujuan yang spesifik. Pada sub bab berikut ini akan dijabarkan beberapa jenis UML. 2.7.1
Use case Diagram Use cae diagram adalah sebuah diagram yang memvisualisasikan
fungsionalitas yang diharapkan dari sebuah sistem. Pada umunya, pada use case diagram terdiri dari komponen yang meliputi use case dan aktor. Use case merupakan sebuah interaksi antara aktor dan sistem. Sedangkan aktor adalah manusia, entitas, mesin atau sistem lain yang berinteraksi dan melakukan aktivitas tertentu. Penggunaan use case diagram dapat membantu dalam menyusun requirement sebuah sistem dan merancang test case untuk fitur pada sebuah sistem. 2.7.2
Class Diagram Class diagram adalah diagram UML yang menggambarkan tentang
keadaan suatu sistem yang didalamnya terdapat fungsi atau prosedur-prosedur. Selain itu, class diagram yang dapat digunakan untuk memvisualisasikan struktur dan deskripsi dari sebuah class, package serta hubungan satu dengan lainnya seperti pewarisan asosiasi dan lain sebagainya. 2.7.3
Activity Diagram Activity diagram adalah diagram UML yang menggambarkan berbagai
aliran aktivitas dalam sistem yang sedang dirancang. Activity diagram merupakan state diagram khusu, dimana sebagian besar state merupakan sebuah aksi (action).
II-22
Activity diagram tidak menggambarkan behavior dari sebuah sistem, melainkan lebih menggambarkan pada proses-proses dan jalur-jalur aktivitas. 2.7.4
Sequence Diagram Sequence Diagram menggambarkan interaksi antar objek di dalam dan
disekitar sistem dalam bentuk message yang digambarkan terhadap waktu. Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu. 2.7.5
Deployment Diagram Deployment/physical
diagram
menggambarkan
detail
bagaimana
komponen di deploy dalam infrastruktur sistem, dimana komponen akan terletak (pada mesin, atau piranti keras), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal yang bersifat fisikal. Sebuah node adalah server, workstation, ataupun piranti keras lain yang digunakan untuk men-deploy komponen dalam lingkungan sebenarnya.