• Tidak ada hasil yang ditemukan

Game Rhythm Android Dengan Augmented Reality

N/A
N/A
Protected

Academic year: 2017

Membagikan "Game Rhythm Android Dengan Augmented Reality"

Copied!
154
0
0

Teks penuh

(1)
(2)

GAME RHYTHM MOBILE MENGGUNAKAN

AUGMENTED REALITY

SKRIPSI

Diajukan untuk menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

IKA OKTARIA

10109763

PROGRAM STUDI S1

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

(3)
(4)
(5)

i

ABSTRAK

GAME RHYTHM ANDROID DENGAN AUGMENTED

REALITY

Oleh :

IKA OKTARIA

10109763

Tujuan penelitian ini merancang dan mengimplementasikan game rhythm

pada platform android menggunakan augmented reality dengan metode robust .

Game ini berfokus pada tari atau mensimulasikan instrument musik dengan format beat berupa stepmania (.sm). Fitur game rhythm augmented reality

menggunakan metaio mobile SDK yang berfungsi sebagai perantara interaksi antara cover CD/DVD musik dengan game rhythm. Proses marker pada game rhythm dengan mengarahkan kamera ke cover DC/DVD musik, kemudian akan muncul box 3D yang berisi daftar lagu dalam permainan.

.

(6)

ABSTRACT

MOBILE RHYTHM GAME USING ANDROID AUGMENTED

REALITY

By :

IKA OKTARIA

10109763

The purpose of this study to design and implement a rhythm game on

android platform using augmented reality with robust methods. This game focuses

on a dance or musical instrument simulate the beat of stepmania format (. Sm).

Augmented reality feature on game rhythm use the metaio mobile SDK which

serves as an intermediary for the interaction between the cover CD / DVD music

with the rhythm game. Marker on the rhythm game process by directing the

camera to cover CD / DVD music, then you will see a 3D box that lists the songs

in the game.

(7)

iii

KATA PENGANTAR

Salam Sejahtera,

Dengan memanjatkan puji syukur kehadirat Tuhan Yang Maha Kuasa, atas rahmat dan karunianya penulis dapat menyelesaikan Tugas Akhir, yang merupakan syarat untuk menyelesaikan program studi Strata-1 Jurusan Teknik Informatika Fakultas Teknik dan Ilmu Komputer pada Universitas Komputer Indonesia dengan judul Game Rhythm Mobile menggunakan Augmented Reality.

Selama pelaksanaan dan penyusunan laporan Tugas Akhir ini banyak menemui hambatan dan kesulitan. Namun berkat dorongan, bantuan dan bimbingan baik secara moril ataupun materil dari berbagai pihak hingga dapat mengatasinya. Untuk itu penulis ingin mengucapkan terima kasih kepada :

1. Tuhan Yang Maha Kuasa yang telah melimpahkan rahmat dan karunia-Nya. 2. Kedua orang tua Drs.Daniel P.Sinurat dan Masdiana ginting, serta keluarga

yang telah memberikan dukungan moril maupun materil yang tak terhingga selama ini.

3. Ibu Mira Kania Sabariah, S.T., M.T. sebagai Ketua Jurusan Program Studi Teknik Informatika Universitas Komputer Indonesia dan penguji yang telah memberikan arahan dalam penyelesaian Tugas Akhir.

(8)

iv

5. Bapak Harsa Wara Prabawa, S.Si.,M.Pd dan Bapak Irawan Afrianto, S.T., M.T. sebagai dosen pembimbing Tugas Akhir yang telah membimbing, memberi pegarahan serta memberi semangat dalam pengerjaan Tugas Akhir. 6. Panitia skripsi, dosen-dosen, Mas Hendar, Mas Aji serta karyawan-karyawan

di Universitas Komputer Indonesia yang telah membantu dan memberikan pengarahan.

7. Andri setiawan yang telah memberi dukungan, semangat dan bantuannya selama ini.

8. Semua pihak yang telah ikut membantu dalam penulisan laporan ini baik secara langsung maupun tidak langsung.

Semoga kebaikan yang telah diberikan kepada penulis mendapatkan berkat yang melimpah dari Tuhan Yang Maha Kuasa.

Penulis menyadari bahwa dalam penulisan Tugas Akhir ini masih memiliki banyak kekurangan baik dari segi materi maupun penyusunannya, mengingat terbatasnya pengetahuan dan kemampuan penulis. Untuk itu, dengan kerendahan hati penulis memohon maaf dan penulis sangat mengharapkan segala saran kritikan yang sekiranya dapat membantu penulis agar dalam penulisan selanjutnya bisa lebih baik.

Bandung, Agustus 2011

(9)

DAFTAR ISI

DAFTAR ISI ... v

DAFTAR TABEL ... x

DAFTAR GAMBAR ... xi

DAFTAR DIAGRAM ... xii

DAFTAR SIMBOL ... xiv

DAFTAR LAMPIRAN ... xvii

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Identifikasi Masalah ... 2

1.3 Maksud dan Tujuan ... 3

1.4 Batasan Masalah... 3

1.5 Metodologi Penelitian ... 4

1.5.1 Metodologi Penelitian ... 4

1.5.2 Metode Pengembangan Perangkat Lunak ... 5

1.6 Sistematika Penulisan ... 7

BAB II LANDASAN TEORI ... 9

2.1 Game ... 9

2.1.1 GameRhythm ... 9

(10)

2.2 Android ... 13

2.2.1 Sejarah Android [12] ... 13

2.2.2 Fitur-fitur di Android ... 16

2.2.3 Open Handset Alliance ... 17

2.2.4 Arsitektur Android ... 18

2.2.5 XML pada Android ... 23

2.3 Java [13] ... 24

2.3.1 Sejarah Perkembangan Java ... 26

2.3.2 Versi Awal Java ... 27

2.3.3 Kelebihan dan Kekurangan Java ... 28

2.3.4 Tahap Kompilasi Java ... 30

2.4 Augmented Reality (AR) [2] ... 31

2.4.1 Cara Kerja AR ... 33

2.4.1.1 Simple AR... 33

2.4.1.2 Marker Based AR ... 34

2.4.1.3 Markeless AR [11] ... 35

2.4.1.3.1 Proses Tracking Markerless [17] ... 38

2.4.1.4 GPS Based Tracking ... 39

2.5 Unified Modeling Language (UML) [14] ... 39

2.5.1 Diagram UML ... 40

(11)

2.6.1 Java Development Kit (JDK) ... 42

2.6.2 Software Development Kit (SDK) ... 43

2.6.2.1 Metaio Mobile SDK... 43

2.6.3 Eclipse ... 44

BAB III ANALISIS DAN PERANCANGAN ... 46

3.1 Analisis ... 46

3.1.1 Analisis Masalah ... 46

3.1.2 Analisis Sistem ... 46

3.1.2.1 Analisis Augmented reality terhadap Game ... 47

3.1.2.2 Analisis Game ... 62

3.1.3 Analisis Kebutuhan Non Fungsional ... 66

3.1.3.1 Analisis Perangkat Keras / Hardware ... 66

3.1.3.2 Analisis Perangkat Lunak / Software ... 67

3.1.3.3 Analisis Pengguna ... 67

3.1.4 Analisis Kebutuhan Fungsional ... 68

3.1.4.1 Use Case Diagram ... 68

3.1.4.2 Usecase Skenario ... 72

3.1.4.3 Activity Diagram ... 77

3.1.4.4 Sequence Diagram ... 81

3.1.4.4.1 Sequence Diagram Mulai Game ... 82

(12)

3.1.4.4.3 Sequence Diagram Petunjuk ... 83

3.1.4.4.4 Sequence Diagram Keluar ... 84

3.1.4.5 Deskripsi Class Diagram ... 85

3.1.4.5.1 Class Diagram Mulai Game ... 85

3.1.4.5.2 Class Diagram Pengaturan Game ... 88

3.1.4.5.3 Class Diagram Petunjuk Game ... 88

3.1.4.5.4 Class Diagram Keluar ... 89

3.2 Perancangan Antarmuka ... 93

3.2.1 Perancangan Menu Utama ... 93

3.2.2 Perancangan Mulai Game ... 94

3.2.3 Perancangan Pengaturan ... 95

3.2.4 Perancangan Petunjuk ... 97

3.3 Jaringan Semantik ... 98

BAB IV IMPLEMENTASI DAN PENGUJIAN ... 99

4.1 Implementasi ... 99

4.1.1 Perangkat Lunak Pembangunan ... 99

4.1.2 Perangkat Keras Pembangunan ... 100

4.1.3 Implementasi Antarmuka ... 100

4.2 Pengujian Perangkat Lunak... 101

4.2.1 Pengujian White Box ... 101

(13)

4.2.2.1 Pengujian Alpha ... 105

4.2.2.2 Rencana Pengujian ... 106

4.2.2.3 Kasus dan Hasil Pengujian Alpha ... 106

4.2.2.4 Kesimpulan Pengujian Alpha ... 110

4.2.2.5 Pengujian Beta ... 111

BAB V KESIMPULAN DAN SARAN ... 115

5.1 Kesimpulan ... 115

5.2 Saran ... 116

(14)

BAB I

1 PENDAHULUAN

1.1Latar Belakang Masalah

Menurut laporan dari Nielsen dan Billboard ( industri musik ) yang terdapat pada situs CNN ( Cable News Network ) bahwa penjualan musik digital (

download ) mengalami kenaikan sebesar 8,4% dari tahun 2011, sedangkan penjualan album fisik ( CD/DVD ) mengalami penurunan sebanyak 5%. Salah satu cara untuk meningkatkan kembali penjualan album fisik, para produsen musik bekerja sama dengan franchise makanan, dimana pada setiap pembelian paket produk tertentu di franchise tersebut maka pembeli akan mendapatkan bonus pembelian berupa album fisik.

Game rhythm merupakan permainan yang bertemakan musik. Game ini biasanya berfokus pada tari atau mensimulasikan instrumen musik, dimana memerlukan interaksi pemain untuk menekan tombol sesuai dengan beat pada waktu yang tepat. Untuk jenis game ini sudah banyak tersedia di berbagai

platform, antara lain IOS, Windows, Linux, dan Android.

Android sendiri merupakan sistem operasi mobile yang dibangun oleh

open Handset Alliance dan di pimpin oleh google dan produsen gadget. Sistem operasi android saat ini mengalami peningkatan baik dari sisi pengguna maupun pengembangannya. Salah satu pengembangan yang saat ini diminati adalah interaksi Augmented Reality ( AR ) pada sistem operasi android.

(15)

nyata. Hal ini membuat AR sesuai sebagai alat untuk membantu persepsi dan interaksi penggunanya dengan dunia nyata.

Pembangunan “Game Rhythm Mobile menggunakan Augmented Reality

dapat dijadikan solusi alternatif, dimana dengan game ini dapat meningkatkan nilai tambah pada penjualan CD/DVD musik, sehingga diharapkan minat masyarakat dalam membeli CD/DVD musik dapat meningkat kembali.

1.2Identifikasi Masalah

Game yang beredar saat ini kebanyakan menggunakan interaksi jari manusia atau disebut juga touchscreen. Gadget yang menggunakan touchscreen

ataupun multi – touch lebih banyak dipakai pada teknologi smartphone dan tablet

dengan menggunakan sistem operasi android. Dalam hal ini AR dapat dijadikan media interaksi tambahan dalam game, dalam kasus ini cover CD/DVD musik dijadikan penanda bagi aplikasi. Cover CD/DVD musik yang dijadikan penanda bagi aplikasi digunakan untuk mengurangi pembelian CD/DVD musik yang bajakan.

Selanjutnya perumusan masalah dapat dirumuskan sebagai berikut : 1. Bagaimana menerapkan augmented reality pada game rhythm dengan

menggunakan platform android ?

2. Bagaimana hubungan augmented reality terhadap game rhythm dengan menggunakan marker berupa cover CD/DVD musik ?

(16)

1.3Maksud dan Tujuan

Berdasarkan permasalahan yang diteliti, maka maksud dari penulisan tugas akhir ini adalah untuk membangung aplikasi game rhythm pada platform android dengan menambahkan media interaksi AR pada game tersebut.

Adapun tujuan yang akan dicapai dari pembangunan aplikasi game ini : 1. Merancang dan mengimplementasikan augmented reality, game rhythm

pada platform android.

2. Menggunakan augmented reality sebagai media perantara antara cover

CD/DVD musik dengan game rhythm dan menjadi alternatif media hiburan yang menarik.

3. Dengan pembangunan game ini diharapkan dapat memberikan nilai tambah suatu produk sehingga meningkatkan minat konsumen untuk membeli CD/DVD musik.

1.4Batasan Masalah

Ada beberapa batasan masalah dalam pembuatan tugas akhir ini, agar pembahasan lebih terfokus sesuai dengan tujuan yang akan dicapai. Berikut batasan masalah dalam tugas akhir ini :

1. Teknologi augmented reality hanya digunakan pada proses pemilihan lagu (deteksi marker dan menampilkan objek 3D)

2. Latar dari game menggunakan cover CD/DVD musik. 3. Marker yang digunakan berupa cover CD/DVD musik.

(17)

5. Format installeryang digunakan adalah “.apk”

6. Spesifikasi minimal hardware yang digunakan : a. Processor : 800 Mhz

b. RAM : 32 MB c. Kamera : 3 MP

7. API android terendah dan build target yang digunakan adalah 2.3.3 8. Rendering Engine yang digunakan dari metaio ( terdapat di dalam SDK ) 9. Game ini dibangun menggunakan software / IDE Eclipse Classic.

1.5Metodologi Penelitian

1.5.1 Metodologi Penelitian

Metode penelitian yang digunakan adalah metode eksperimental. Metode eksperimental adalah metode penelitian yang didasarkan pada suatu percobaan-percobaan ilmiah yang dilakukan dalam membuat sesuatu yang baru atau mengembangkan sesuatu berdasarkan ilmu-ilmu pengetahuan.

Tahapan penelitian yang dilakukan adalah: 1. Pengamatan

Menganalisis sistem yang sedang berjalan secara langsung. 2. Studi literatur

(18)

3. Wawancara

Yaitu penulis mengadakan tanya jawab dengan orang yang expert dalam hal multimedia, pemprograman (java), perangkat lunak dimana mereka mengerti tentang aplikasi game pada ponsel baik berupa sistem operasi android , augmented reality ataupun game rhythm tersebut.

1.5.2 Metode Pengembangan Perangkat Lunak

Metodologi pengembangan sistem perangkat lunak menggunakan metodologi waterfall [ Roger S.Pressman, slide set to accompany software enginerring 2005 : 9 ], yang meliputi beberapa proses diantaranya :

1. Communication.

Merupakan tahapan yang pertama kali dilakukan yaitu merumuskan system yang akan dibangun. Hal ini bertujuan agar pengembangan benar – benar memahami sistem yang akan dibangun dan langkah – langkah serta kebijakan apa saja yang berkaitan dengan pengembangan sistem tersebut.

2. Planning.

Menetapkan rencana kerja rekayasa perangkat lunak dengan membahas tugas – tugas teknis, sumber daya, produk kerja dan jadwal kerja.

3. Modelling.

(19)

4. Construction.

Pengkodean yang mengimplementasikan hasil desain ke dalam kode atau bahasa yang dimengerti oleh mesin komputer dengan menggunakan bahasa pemograman tertentu. Melakukan pengujian yang menghasilkan kebenaran program. Proses pengujian berfokus pada logika internal perangkat lunak. Memastikan bahwa semua pernyataan sudah diuji dan memastikan apakah hasil yang diinginkan sudah tercapai atau belum.

5. Deployment.

Menangani perangkat lunak yang sudah selesai agar dapat berjalan lancer dan terhindar dari gangguan – gangguan yang dapat menyebabkan kerusakan.

(20)

1.6Sistematika Penulisan

Sistematika penulisan proposal penelitian ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :

BAB I PENDAHULUAN

Merupakan bagian pengantar dari permasalahan yang akan dibahas dalam skripsi ini. Adapun hal-hal yang akan dibahas tentang latar belakang masalah, rumusan masalah, batasan masalah, tujuan dan manfaat penelitian, metodologi penelitian dan sistematika penyusunan laporan.

BAB II. LANDASAN TEORI

Membahas tentang konsep dasar sistem, konsep dasar informasi, konsep dasar sistem informasi, konsep dasar basis data, konsep dasar pengolahan data, metode analisis sistem, hardware (perangkat keras) dan software ( perangkat lunak) yang digunakan dalam pembuatan game rhythm mobile menggunakan augmented reality yang digunakan untuk menganalisis permasalahan yang ada.

BAB III. ANALISIS DAN PERANCANGAN SISTEM

Membahas mengenai analisis sistem dan perancangan sistem dari data-data yang ada serta menganalisis masalah dari model penelitian.

BAB IV. IMPLEMETASI DAN PENGUJIAN SISTEM

Bab ini menguraikan tentang implementasi game rhythm mobile mengunakan

(21)

BAB V. KESIMPULAN DAN SARAN

(22)

BAB II

2 LANDASAN TEORI

2.1 Game

Game atau permainan merupakan suatu aktivitas dengan tujuan untuk mengisi waktu luang dan memiliki beberapa aturan tertentu. Permainan biasanya dilakukan secara sendiri ataupun berkelompok. Game atau permainan juga merupakan simulasi dari bentuk nyata dalam kehidupan manusia [1]. Perkembangan game saat ini sangat pesat terdapat banyak sekali jenis game yang beredar, salah satu jenis yang populer saat ini adalah casual rhythm game. Selain karena menyenangkan aktifitas bermain permainan banyak dilakukan karena dukungan banyak platform untuk memainkannya, salah satu platform yang sangat diminati adalah android.

2.1.1 GameRhythm

(23)

ditekan oleh pemain dan kemudian game akan memberikan kepada pemain poin/skor sesuai dengan tingkat akurasi dan sinkronisasi dengan beat.

Salah satu game rhythm yang terkenal adalah VOS (Virtual Orchestra Studio). VOS sendiri adalah game seperti kita bermain Piano di Keyboard kita dengan 7 jari. Saat memainkan VOS kita dapat berlatih tangan , jari dan pikiran secara bersamaan. Game ini dibuat oleh Hanseul Soft, Korea Utara. Grafik game

ini pun sangat simpel, dibuat dengan sprites-sprites 2D dan 3D tuts yang ada di keyboard.

Pada game ini akan memilih lagu dan karakter yang disukai.Karakter yg dipilih akan mempengaruhi mata ketika bermain sebagai karakter masing-masing akan menggunakan warna latar belakang yang berbeda. Karakter yang tersedia antara lain Rock(ungu), Bit-robot (cyan), Flanka-sebuah raksasa lender(hijau lender), astri(abu-abu), PLO (biru-abu2), Franken (merah muda) dan Rucy (biru).game ini terdiri dari 7 beat berbeda yang akan jatuh ke bawah dan mencapai garis biru, dan pemain harus menekan tombol yang sesuai pada saat yang tepat ketika beat masih dalam garis biru. Setiap kali pemain menekan tombol dimana

(24)

Permainan ini membutuhkan musik sebagai pengantar pada saat permainan berlangsung. Musik dalam permainan ini menggunakan format kustom VOS yang pada dasarnya sebuah file midi dengan pengaturan beat yang kemudian di konversi ke format VOS. Game ini juga mendukung Be-Musik Script file (.BMS) yang dikembangkan Urao Yane.

Be-musik script (BMS) adalah format file untuk permainan rhythm. BMS ini menjelaskan bagimana beat tersebut diatur dan bagaimana permainan merespon ketika pemain mengambil tindakan tertentu. Ini adalah file teks biasa dengan garis – garis „direktif‟ dimulai dengan #karakter. File BMS terdistribusi normal dengan gambar yang sesuai dengan file suara. Format file BMS pada awalnya digunakan untuk simulator beatmania, tetapi karena game ini telah diadopsi dan didukung oleh banyak game action maka irama pun termasuk ke dalam stepmania. File BMS juga telah diproduksi untuk musik asli, bukan lagu – lagu game komersial.

2.1.2 StepMania [15]

Stepmania merupakan rhythm dan engine game yang bersifat cross

-platform, dan termasuk kedalam perangkat lunak open source. Pada awalnya stepmania dikembangkan sebagai simulator permainan konami yang merupakan seri dari permainan Dance Dance Revolution, dan kemudian berkembang menjadi sebuah rhythm game engine yang mampu mendukung berbagai jenis permainan berbasis rhythm.

Stepmania memiliki format berkas sendiri yaitu “.sm”, dimana format ini

(25)

dapat dimainkan oleh stepmania (dance, pump, beat, guitar, dll). Sintaks yang terdapat pada berkas “.sm” tidak berbeda jauh dengan “.dwi” dan “.ksf” hanya

terdapat beberapa tags yang berbeda.

Pada berkas ini tersimpan informasi mengenai lagu, beat dan latar belakang atau cover dari lagu. Berikut beberapa tag(label) yang terdapat pada berkas stepmania:

Tabel 2-1 Label dalam berkas StepMania

Label Keterangan

#TITLE Berisi informasi mengenai judul lagu

#SUBTITLE Isi pada label ini akan ditampilkan dibawah judul utama dari lagu pada layar Select Music di aplikasi stepmania

#ARTIST Nama artis yang menyanyikan lagu

#CREDIT Nama dari pembuat beat

#BANNER Berisi nama berkas dari gambar banner

#BACKGROUND Berisi nama dari berkas gambar latar

#MUSIC Berisi nama dari berkas music

#OFFSET Jumlah waktu dalam detik sebelum

atau sesudah musik dimulai sehingga

beat 0 terjadi.

#BPMS Memiliki format nilai “beat=bpm”,

yang menunjukkan bahwa pada “beat”,

kecepatan panah akan berubah sesuai “bpm”

#NOTES Berisi deskripsi mengenai beat/note

Pada #NOTES berisi sub-tag tentang informasi beat, antara lain:

a. NotesType, harus berisi salah satu jenis dari format yang didukung oleh stepmania

b. DifficultyClass, berisi nama dari tingkat kesulitan yang akan digunakan pada beat

c. DifficultyMeter, berisi peringkat dari tingkat kesulitan

(26)

1. Karakter 0, menandakan tidak ada beat

2. Karakter 1, menandakan beat biasa (tap note) 3. Karakter 2, menandakan mulainya “hold note” 4. Karakter 3, menandakan berakhirnya “hold note”

2.2 Android

Android adalah sistem operasi yang digunakan di smartphone dan juga tablet PC. Android juga merupakan subset perangkat lunak untuk ponsel yang meliputi sistem operasi, middleware dan key-application yang di release oleh Google. Saat ini disediakan Android SDK (Software Development Kit) sebagai alat bantu dan API (Application Programming Interface) diperlukan untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java.

2.2.1 Sejarah Android [12]

(27)

sebuah portal, yaitu Android Market, sehingga pengguna tinggal meng-install

aplikasi pilihannya. a. Produk Awal

September 2007 Google mengajukan hak paten aplikasi telepon seluler.Android yang digunakan pada perangkat bergerak (mobile) merupakan modifikasi kernel Linux 2.6. Sejak Android dirilis dilakukan berbagai pembaharuan berupa perbaikan bug dan penambahan fitur baru.

b. Android Versi 1.1

Dirilis oleh Google pada bulan Maret 2009. Android versi ini di lengkapi dengan pembaruan estetis pada aplikasi, jam alarm, voice search (pencarian suara), pengiriman pesan dengan Gmail dan pemberitahuan email.

c. Android Cupcake (1.5)

Hanya selang 1 bulan Google merilis Android 1.5 (Cupcake) dengan SDK (Software Development Kit). Terdapat beberapa pembaharuan termasuk juga penambahan beberapa fitur dalam seluler yakni kemampuan merekam dan menonton video dengan modus kamera, menggugah 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 disesuai dengan system.

d. Android Donut (1.6)

(28)

yang diintegrasikan : CDMA/EVDO, 802.1x, VPN, Gestures dan Text to speech engine, kemampuan dial kontak, teknologi text to change speech (tidak tersedia dalam ponsel), pengadaan resolusi VWGA.

e. Android Eclair (2.0 / 2.1)

Versi ini dirilis 3 desember 2009 yang mulai dipakai oleh banyak smartphone, fitur utama Eclair yaitu perubahan total struktur dan tampilan user interface dan merupakan versi Android yang pertama kali mendukung format HTML5. Perubahan yang lain yaitu : pengoptimalan hardware, peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru , daftar kontak yang baru, dukungan

flash untuk kamera 3.2 MP, digital zoom, dan Bluetooth 2.1. f. Android Froyo / Frozen Yoghurt (2.2)

Versi ini dirilis 20 mei 2010, android 2.2 dirilis dengan 20 fitur baru, antara lain peningkatan kecepatan kinerja, fitur Wi-Fi hotspot tethering dan dukungan terhadap Adobe Flash 10.1, aplikasi 2 sampai 5 kali lebih cepat, integrasi V8 Javascript engine yang dipakai Google Chrome yang mempercepat kemampuan

rendering pada browser, pemasangan aplikasi dalam SD card, kemampuan WiFi

Hotspot portable, dan kemampuan auto update dalam aplikasi Android Market. g. Android Gingerbread (2.3)

(29)

h. Android Honeycomb (3.0, 3.1 dan 3.2)

Merupakan versi Android yang ditujukan untuk gadget / device dengan layar besar seperti Tablet PC; Fitur baru Honeycomb yaitu dukungan terhadap prosessor multicore dan grafis dengan hardware acceleration.

i. Android Ice Cream Sandwich (4.0)

Android 4.0 Ice Cream Sandwich diumumkan pada 10 Mei 2011 di ajang Google

26 I/O Developer Conference (San Francisco) dan resmi dirilis pada tanggal 19 Oktober 2011 di Hongkong. Android versi 4.0 ini dapat digunakan di smartphone ataupun tablet. Fitur utama yang ditambahkan di Android 4.0 ialah Face Unlock,

Android Beam, perubahan major User Interface, dan ukuran layar standar (native screen) beresolusi 720p (high definition), perangkat tambahan fotografi, mencari email secara offline dan berbagai informasi dengan menggunakan NFC.

2.2.2 Fitur-fitur di Android

Berikut ini adalah fitu-fitur yang ada pada Android:

a. Framework Aplikasi yang mendukung penggantian komponen dan

reusable

b. Mesin virtual Dalvik dioptimalkan untuk perangkat mobile c. Integrated browser berdasarkan engine open source WebKit

d. Grafis yang dioptimalkan dan didukung oleh library grafis 2D, grafis 3D berdasarkan spesifikasi opengl ES 1,0 (Opsional akselerasi hardware) e. SQLite untuk penyimpanan data

(30)

g. GSM Telephony (tergantung hardware)

h. Bluetooth, EDGE, 3G, dan WiFi (tergantung hardware)

i. Kamera, GPS, kompas, dan accelerometer (tergantung hardware) j. Lingkungan Development yang lengkap dan kaya termasuk perangkat

emulator, tools untuk debugging, profil dan kinerja memori, dan plugin untuk Eclipse IDE.

k. Dukungna Perangkat Tambahan : Android dapat memanfaatkan kamera, layar sentuh, accelerometers, magnetometers, GPS, akselerasi 2D (dengan perangkat orientasi, scalling,konversi format piksel), dan akselerasi grafis 3D.

l. Multi-Touch : kemampuan layaknya handset modern yang dapat menggunakan dua jari atau lebih untuk berinteraksi dengan perangkat. m.Market : handphone memiliki tempat penjualan aplikasi, market pada

android merupakan katalog aplikasi yang dapat di download dan di-install

melalui internet.

2.2.3 Open Handset Alliance

(31)

Trend

Saat ini trend penggunaan ponsel Android semakin meningkat, terbukti pada tahun 2010 penjualan ponsel dengan OS Android di US telah mencapai peringkat pertama (33%), kemudian disusul oleh ponsel dengan OS BlackBerry (28%), dan yang ketiga oleh ponsel dengan iOS (22%).

Developer (Pengembang)

Bahasa yang digunakan untuk membuat aplikasi Android adalah Java. Oleh karena itu jangan heran jika Android memiliki komunitas pengembang aplikasi yang sangat luas dan besar. Tentunya dengan besarnya komunitas ini fungsionalitas dari perangkat yang menggunakan OS Android juga meningkat. Saat ini telah terdapat 70,000 aplikasi Android yang tersedia, dan menjadikan Android sebagai environment pengembangan aplikasi mobile terpopuler kedua saat ini.

Lisensi

Sebagian besar source code yang dirilis oleh Android berada dalam lisensi Apache, serta lisensi free software dan open source.

2.2.4 Arsitektur Android

(32)

Diagram 2-1 Diagram arsitektur sistem operasi android

Google mengibaratkan Android sebagai sebuah tumpukan software. Setiap lapisan dari tumpukan ini menghimpun beberapa program yang mendukung fungsi-fungsi spesifik dari system operasi. Berikut ini susunan dari lapisan – lapisan tersebut dilihat dari lapisan dasar hingga lapisan teratas.

Linux Kernel

(33)

Android dibangun di atas kernel Linux 2.6. Namun secara keseluruhan android bukanlah linux, karena dalam android tidak terdapat paket standar yang dimiliki oleh linux lainnya. Linux merupakan sistem operasi terbuka yang handal dalam manajemen memori dan proses. Oleh karenanya pada android hanya terdapat beberapa servis yang diperlukan seperti keamanan, manajemen memori, manajemen proses, jaringan dan driver. Kernel linux menyediakan driver layar, kamera, WiFi, Flash Memory, audio dan IPC (Interprocess Communication) untuk mengatur aplikasi dan lubang keamanan.

Libraries

Bertempat di level yang sama dengan android runtime adalah libraries. Android menyertakan satu set library-library dalam bahasan C/C++ yang digunakan oleh berbagai komponen yang ada pada sistem android. Kemampuan ini dapat diakses oleh programmer melewati android application framework. Sebagai contoh android mendukung pemutaran format audio, video dan gambar.

Berikut beberapa core library tersebut:

1. System C Library – variasi dari implemetasi standard C sistem library (libc) milik BSD, dioptimasi untuk piranti embedded berbasis linux. 2. Media Libraries – berdasarkan packet video‟s openCORE, library-library

ini mendukung playback dan recording dari berbagai format audio dan video popular, meliputi MPEG4, H.264, MP3, AAC, AMR, JPG, dan PNG.

(34)

4. LibWebCore – web browser engine modern yang mensupport android browser maupun embeddable web view.

5. SGL – Mendasari grafis 2D

6. 3D libraries – implementasi berdasarkan OpenGL ES 1.0 APIs, library ini menggunakan perangkat keras akselerasi 3D dan pengoptimalan 3D

software rasterizer.

7. FreeType– bitmap dan vector font rendering

8. SQLite – mesin database yang kuat dan ringan tersedia untuk semua aplikasi.

Library - library tersebut bukanlah aplikasi yang berjalan sendiri, namun hanya dapat digunakan oleh program yang berada di level atasnya. Sejak versi android 1.5 pengembang dapat membuat dan menggunakan pustaka sendiri menggunakan NDK (Native Development Toolkit).

Android Runtime

Lapisan berikutnya adalah android runtime yang berisi core libraries dan

(35)

efisien. Dalvik VM dapat mengeksekusi file dengan format .dex (Dalvik Executable) yang telah dioptimasi untuk menggunakan minimal memory

footprint. Virtual machine ini register-based, dan menjalankan class-class yang

decompilemenggunakan “dx” tool yang telah disertakan. Dalvik virtual machine menggunakan kernel linux untuk menjalankan fungsi – fungsi seperti threading

dan low levelmemory management.

Framework Aplikasi

Lapisan selanjutnya adalah framework aplikasi, yang mencakup program untuk mengatur fungsi – fungsi dasar smartphone. Application framework merupakan serangkaian tool dasar seperti alokasi resources smartphone, aplikasi telepon, pergantian antar proses atau program dan pelacakan lokasi fisik telepon. Para pengembang aplikasi memiliki aplikasi penuh kepada tool – tool dasar tersebut dan memanfaatkannya untuk menciptakan aplikasi yang lebih kompleks.

Programmer mendapatkan akses penuh untuk memanfaatkan API (Android Protocol Interface) yang juga digunakan core applications. Arsitektur aplikasi didesain untuk menyederhanakan pemakaian kembali komponen – komponen, dimana setiap aplikasi dapat menunjukkan kemampuannya dan aplikasi lain dapat memakai kemampuan tersebut. Mekanisme yang sama memungkinkan pengguna mengganti komponen yang dikehendaki. Di dalam semua aplikasi terdapat servis dan sistem yang meliputi :

(36)

b. Content Providers yang memungkinkan aplikasi untuk mengakses data dari aplikasi lain misalnya contact atau membagi data yang dimiliki.

c. Resources Manager, menyediakan akses ke non-code resources

misalnya localized strings, graphics dan layout files.

d. Notification Manager yang memungkinkan semua aplikasi untuk menampilkan custom alerts pada status bar.

e. Activity Manager yang memanage life cycle dari aplikasi dan menyediakan common navigationbackstack.

Applications

Di lapisan teratas terdapat aplikasi itu sendiri. Di lapisan inilah dapat ditemukan fungsi – fungsi dasar smartphone seperti menelepon dan mengirim pesan singkat, menjalankan web browser, mengakses daftar kontak, dan lain – lain. Sebagian penggunan pada lapisan inilah yang paling sering diakses, dimana pengaksesan fungsi – fungsi dasar tersebut melalui user interface.

2.2.5 XML pada Android

XML (Extensible Markup Language) adalah bahasa markup yang mendifinisikan seperangkat aturan untuk encoding dalam dokumen yang bersifat

(37)

1. Berkas Android Manifest

Setiap aplikasi android harus memiliki berkas ini (dengan nama AndroidManifest.xml) pada direktori root. Pada berkas ini berisi informasi penting tentang aplikasi untuk sistem android.

2. Layout

Android menyediakan kosakata XML sederhana yang sesuai dengan kelas View dan subclass-nya, seperti untuk widget dan layout.

3. Database

Database XML adalah persistensi data perangkat lunak sistem yang memungkinkan data yang akan disimpan dalam format XML. Data ini kemudian dapat dilihat, diekspor dan serialisasi ke dalam format yang diinginkan. XML database biasanya berhubungan dengan dokumen berorientasi database.

2.3 Java [13]

Di antara sekian banyak perangkat lunak yang sudah ada, kita sering mendengar istilah Java, atau disebut juga Java J2ME (Java 2 Micro Edition), yang merupakan turunan dari bahasa Java, di mana fungsi-fungsinya difokuskan untuk pembuatan aplikasi pada lingkungan telepon seluler.

(38)

komputer oleh Sun Microsystem Inc. dengan tujuan untuk menghasilkan suatu bahasa komputer sederhana tanpa harus terikat pada arsitektur tertentu.

Pada tahun 1995 Sun meluncurkan sebuah browser berbasis Java dengan julukan Hot Java, kemudian diikuti Netscape yang memutuskan untuk membuat browser dengan dilengkapi bahasa Java. Setelahnya, ikut bergabung pula berbagai pengembang ternama diantaranya IBM dan Microsoft. Pada tahun berikutnya, Sun Microsystem Inc. merilis Java Software Development Kit (JDK) pertamanya, yaitu JDK 1.1. Kemudian terus berkembang dari pemrograman applet yang berjalan di browser menjadi pemrograman kelas dunia yang banyak digunakan untuk pengembangan aneka ragam aplikasi. Bahasa pemrograman Java sendiri secara garis besar dikelompokan menjadi 3, yaitu

a. J2SE (Java 2 Standar Edition), digunakan untuk mengembangkan aplikasi-aplikasi desktop dan applet.

b. J2EE (Java 2 Enterprise Edition) dipergunakan untuk mengembangkan aplikasi-aplikasi berbasis client/server berskala enterprise

c. J2ME (Java 2 Micro Edition). J2ME diaplikasikan pada berbagai perangkat kecil dengan jumlah memori, kapasitas penyimpan dan user interface terbatas, seperti ponsel dan PDA.

(39)

berbagai fasilitas seperti game, multimedia, dukungan berbagai jenis konektivitas, maupun OTA.

2.3.1 Sejarah Perkembangan Java

Bahasa pemprograman java pertama lahir dari The Green Project yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas tahun 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.

Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program java Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen) seperti pada PDA sekarang ini. Teknologi baru ini dinamai “*7” (Star Seven).

Setelah era star seven selesai, sebuah anak perusahaan tv kabel tertarik ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto.

(40)

Mereka menjadikan perambah (browser) Mosaic sebagai landasan awal untuk membuat perambah java pertama yang dinamai Web Runner, terinspirasi dari flim 1980-an, Blade Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java.

Pada sekitar bulan maret 1995 untuk pertama kali kode sumber java versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan pemberitaan pertama kali pada surat kabar San Jose Mercury News pada tanggal 23 Mei 1995.

Nama Oak diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja James Gosling. Nama Oak ini tidak dipakai untuk versi release java karena sebuah perangkat lunak sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi java. Nama ini diambil dari kopi murni yang digiling langsung dari biji kopi (kopi tubruk) kesukaan Gosling. Konon kopi ini berasal dari pulau jawa. Jadi nama bahasa pemprograman Java tidak lain berasal dari kata jawa (bahasa inggris untuk jawa adalah java).

2.3.2 Versi Awal Java

Versi awal java di tahun 1996 sudah merupakan versi release sehingga dinamakan java versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya :

a. Java.lang – diperuntukkan kelas elemen – elemen dasar

b. Java.io – diperuntukkan kelas input dan output, termasuk penggunaan berkas

(41)

d. Java.net – diperuntukkan kelas TCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP.

e. Java.awt – kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)

f. Java.applet – kelas dasar aplikasi antar muka untuk diterapkan pada penjelajahan web.

2.3.3 Kelebihan dan Kekurangan Java

Kelebihan java:

a. Multiplatform. Kelebihan utama dari java ialah dapat dijalankan di beberapa platform/sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan dimana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin/bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating sistem linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, linux, Mrac OS dan Sun Solaris. Penyebabnya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri untuk menginterpretasikan

(42)

b. OOP (Object Oriented Programming) yang artinya semua aspek yang terdapat di java adalah objek. Java merupakan salah satu bahasan pemrograman berbasis objek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan, dan mengalokasi kesalahan sebuah program dengan basis java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan java sebagai salah satu bahasa pemrograman termudah, bahkan untuk fungsi yang advance seperti komunikasi antara komputer sekalipun

c. Library yang lengkap, dimana java terkenal dengan kelengkapan

library/perpustakaan (kumpulan program-program yang disertakan dalam pemrogram java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.

d. Bergaya C++ , memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke java. Saat ini pengguna java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke java.

(43)

memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).

Kekurangan Java:

a. Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini memungkinkan karena kode jadi java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi seperti nama-nama kelas, metode dan tipe data. Hal yang sama juga terjadi pada Microsoft.Net Platform. Dengan demikian , algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah

dibajak/di-reverse-engineer.

b. Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnyaseperti C/C++ dan Pascal (lebih spesifik lagi delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru, tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.

2.3.4 Tahap Kompilasi Java

Tulis/ubah. Pemrogram menulis program dan menyimpannya di media dalam bentuk berkas „java‟

(44)

b. Muat. Pemuat kelas memuat bytecodes ke memori.

c. Verifikasi. Peng-verifikasi memastikan bytecodes tidak menganggu sistem keamanan java.

d. Jalankan. Penerjemah menerjemahkan bytecodes ke bahasa mesin.

2.4 Augmented Reality (AR) [2]

Pengertian sederhana dari AR adalah menambahkan objek virtual ke dalam dunia nyata sehingga nampak berdampingan dalam ruang yang sama di dunia nyata. 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. Menurut Ronald T. Azuma

augmented reality adalah penggabungan benda-benda nyata dan maya di lingkungan nyata, berjalan secara interaktif dalam waktu nyata, dan terdapat integrasi antar benda dalam tiga dimensi, yaitu benda maya terintegrasi dalam dunia nyata [Azuma, 1997]. Ronald T. Azuma juga mendefinisikan Augmented reality sebagai sistem yang memiliki karakteristik sebagai berikut:

a. Menggabungkan lingkungan nyata dan virtual

b. Berjalan secara interaktif dalam waktu nyata

c. Integrasi dalam tiga dimensi (3D)

Penggabungan objek nyata dan virtual dimungkinkan dengan teknologi

(45)

melakukan simulasi terhadap suatu objek nyata dengan menggunakan komputer yang mampu membangkitkan suasana tiga dimensi (3D) sehingga membuat pemakai seolah-olah terlibat secara fisik. AR merupakan variasi dari Virtual

Environments (VE), atau yang lebih dikenal dengan istilah 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, AR memungkinkan pengguna untuk melihat lingkungan nyata, dengan objek virtual yang ditambahkan atau tergabung dengan lingkungan nyata. Tidak seperti VR yang sepenuhnya menggantikan lingkungan nyata, AR sekedar menambahkan atau melengkapi lingkungan nyata [Acko, 2003]. AR merupakan kebalikan dari VR yang berarti integrasi elemen-elemen digital yang ditambahkan ke dalam dunia nyata secara real time dan mengikuti keadaan lingkungan yang ada di dunia nyata. Seperti pada gambar di bawah ini, terdapat sebuah meja yang real dengan tambahan objek virtual berupa lampu dan 2 kursi. Objek-objek virtual tersebut telah dikombinasikan dalam 3D, sehingga baik dari objek virtual maupun dari objek nyata dapat menutupi satu sama lainnya. Lampu dapat menutupi meja nyata, dan meja nyata menutupi sebagian dari objek virtual kursi.

Kelebihan utama dari augmented reality dibandingkan virtual reality

(46)

Disamping itu, tujuan utama dari AR adalah untuk menciptakan lingkungan baru dengan menggabungkan interaktivitas lingkungan nyata dan virtual sehingga pengguna merasa bahwa lingkungan yang diciptakan adalah nyata. Dengan kata lain, pengguna merasa tidak ada perbedaan yang dirasakan antara AR dengan apa yang mereka lihat/rasakan di lingkungan nyata. Dengan bantuan teknologi AR (seperti visi komputasi dan pengenalan pola) lingkungan nyata disekitar akan dapat berinteraksi dalam bentuk digital (virtual). Informasi tentang objek dan lingkungan disekitar pengguna dapat ditambahkan kedalam sistem 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.

AR banyak digunakan dalam bidang-bidang seperti kesehatan, militer, industri manufaktur dan juga telah diaplikasikan dalam perangkat-perangkat yang digunakan orang banyak, seperti pada telepon genggam.

2.4.1 Cara Kerja AR

2.4.1.1Simple AR

(47)

paling awal, meskipun begitu masih digunakan secara luas hingga saat ini contohnya dalam acara olahraga di televisi.

2.4.1.2Marker Based AR

[image:47.595.127.501.378.542.2]

Objek 2D, 3D, teks, video maupun suara diproses menggunakan komputer dan webcam dan ditampilkan dalam layar maupun peralatan display khusus melalui pengenalan sebuah marker (penanda), setelah marker dikenali oleh komputer kemudian objek virtual yang sudah terdapat dalam library komputer ditampilkan diatas marker tersebut. Marker based AR mempunyai 3 sumbu yaitu X, Y dan Z yang bias menghasilkan virtual 3D dengan titik (0,0,0) Untuk lebih jelasnya dapat dilihat dalam diagram dibawah ini:

Gambar 2-1 AR Flow

(48)

Gambar 2-2 Contoh Augmented Reality – gambar kanan sudah ditambahkan augmented reality

2.4.1.3Markeless AR [11]

Umumnya diterapkan dalam mobile device seperti smartphone. Sesuai dengan namanya markerless AR tidak membutuhkan marker yang terlihat secara fisik untuk mengetahui posisi suatu objek. Metode AR ini tidak memerlukan marker lagi dalam menampilkan elemen – elemen digital. Macam – macamnya antara lain :

(49)
[image:49.595.253.370.83.172.2]

Gambar 2-3 Face Tracking

[image:49.595.140.489.331.444.2]

b. 3D Object Tracking – Penyempurnaan dari face tracking dimana objek – objek sekitar juga bias dikenali secara keseluruhan.

Gambar 2-4 3D Object Tracking

c. Motion Tracking – menangkap gerakan dari manusia atau objek. Dipakai dalam pembuatan film yang mencoba mensimulasikan gerakan.

[image:49.595.254.368.606.717.2]
(50)

Sebagai gantinya, digunakan informasi dari GPS atau kompas dan cara ini dikenal dengan nama geotagging dan geolocation. Melalui geotagging dan

geolocation yang bisa disebut sebagai marker yang tidak terlihat inilah konten seperti tulisan, video, maupun audio kemudian ditampilkan dilayar mobile device

tersebut. Contoh aplikasi AR dalam smartphone yang menggunakan geotagging

dan geolocation yaitu Wikitude Browser dan layar.

Pada tracking markerless, metaio menyediakan dua macam metode yakni

fast dan robust. Metode fast sendiri merupakan metode yang standar atau yang umum digunakan pada tracking markerless dimana metode ini hanya dapat digunakan tanpa kondisi pencahayaan yang beragam, sedangkan metode robust

digunakan pada target tracking yang bertekstur tinggi dan memiliki ambang yang tetap untuk jumlah iterasi pencarian sehingga dapat digunakan dalam situasi dimana kondisi pencahayaan dapat berubah , atau dengan kata lain metode fast

tidak memberikan hasil yang memuaskan.

[image:50.595.150.411.580.720.2]

Perbandingan markeless dengan metode fast dan robust dapat dilihat pada gambar 2-6 ( dihasilkan dari penilain gadget yang memiliki kecepatan processor 1 GHz, sedangkan untuk jumlah target dapat bervariasi, bergantung pada ketersediaan memori pada gadget ).

(51)

2.4.1.3.1 Proses Tracking Markerless [17]

Salah satu pendekatan tracking markerless yang dapat digunakan adalah dengan template matching. Template matching sendiri merupakan teknik dalam

digital image processing untuk menemukan bagian dari gambar (target) yang cocok dengan template image. Untuk proses pencarian kecocokan digunakan metode normalisasi cross correlation ( NCC ) [18]. Dengan normalisasi cross correlation dapat diketahui tingkat kecocokan (similarity) antara reference image

dengan target, ini dapat dilakukan dengan mencari nilai akhir yang memiliki nilai mendekati 0.999 ≈ 1. Berikut rumus perhitungan dari normalisasi cross correlation :

NCC =

Salah satu komponen dari normalisasi cross correlation adalah mean dan standar deviasi (�) ,dimana mean merupakan nilai rata – rata dan standar deviasi atau simpangan baku sendiri adalah ukuran sebaran statistik yang paling lazim, yang mengukur bagaimana nilai-nilai data tersebar, bisa juga didefinisikan sebagai, rata jarak penyimpangan titik-titik data yang diukur dari nilai rata-rata data tersebut. Berikut rumus perhitungan dari standar deviasi :

(52)

2.4.1.4GPS Based Tracking

Tracking ini memanfaatkan teknik GPS dan kompas yang ada dalam

smartphone, maka jika smartphone kita arahkan ke suatu objek tempat atau gedung, maka dapat ditampilkan berbagai macam informasi mengenai objek tersebut bahkan ada beberapa aplikasi yang sudah bisa menampilkan secara 3D.

Informasi dari GPS atau kompas dan cara ini dikenal dengan nama

geotagging dan geolocation. Melalui geotagging dan geolocation yang bisa disebut sebagai marker yang tidak terlihat inilah konten seperti tulisan, video, maupun audio kemudian ditampilkan dilayar mobile device tersebut. Contoh aplikasi AR dalam smartphone yang menggunakan geotagging dan geolocation

[image:52.595.215.447.419.534.2]

yaitu Wikitude Browser dan layar.

Gambar 2-7 GPS based Tracking

2.5 Unified Modeling Language (UML) [14]

Unified Modeling Language (UML) merupakan bahasa standar yang bekerja dalam object-oriented untuk menentukan, memvisualisasikan, merancang, dan mendokumentasikan elemen-elemen informasi yang terdapat dalam sistem

(53)

organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an. UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM. UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh grady Booch, Jim Rumbaugh dan Ivar Jacobson. Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi. Penggunaan UML dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem.

Gambar 2-8 Logo UML

2.5.1 Diagram UML

UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu :

(54)

b. Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi

c. Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objects

d. Collaboration Diagram untuk memodelkan interaksi antar objects

e. State Diagram untuk memodelkan perilaku objects di dalam sistem f. Activity Diagram untuk memodelkan perilaku Use Cases dan Objects

di dalam sistem

g. Class Diagram untuk memodelkan struktur kelas h. Object Diagram untuk memodelkan struktur object i. Component Diagram untuk memodelkan komponen object

j. Deployment Diagram untuk memodelkan distribusi aplikasi

Berikut akan dijelaskan empat macam diagram yang paling sering digunakan dalam pembangunan aplikasi berorientasi objek, yaitu :

a. Use Case diagram, untuk memodelkan proses bisnis dan merepresentasikan sebuah interaksi antara aktor dengan sistem b. Sequence diagram, untuk menggambarkan keadaan (atribut/properti)

suatu sistem, sekaligus menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti

(55)

c. Statechart diagram , untuk memodelkan perilaku objects di dalam sistem atau menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem. Pada umumnya statechart diagram menggambarkan class tertentu .

d. Activity diagram , untuk memodelkan perilaku Use Cases dan

objects di dalam system.

e. Sequence diagram , untuk memodelkan pengiriman pesan (message) antar objects dan juga digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu.

f. Collaboration diagram , untuk memodelkan interaksi antar objects seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek dan bukan pada waktu penyampaian message

g. Component diagram , untuk memodelkan komponen object atau menggambarkan struktur dan hubungan antar modul yang berisi code, termasuk ketergantungan (dependency) di antaranya.

h. Deployment diagram, untuk memodelkan distribusi aplikasi.

2.6 Tools Pendukung Pembuatan Aplikasi Android

2.6.1 Java Development Kit (JDK)

(56)

untuk mengcompile source.java menjadi source.class yang selanjutnya source.class inilah yang akan dijalankan oleh JRE.

2.6.2 Software Development Kit (SDK)

SDK adalah suatu kumpulan dari library dan toolkit seperti emulator untuk mengembangkan atau menciptakan aplikasi untuk suatu perangkat lunak, perangkat computer, system operasi atau platform. Di dalam SDK terdapat tools

yang dibutuhkan dalam pengembangan android, diantaranya yaitu adb shell yang merupakan singkatan dari android development bridge yang dapat menjalankan terminal android seperti terminal pada system operasi linux, dan command yang terdapat dalam adb shell sendiri seperti command linux pada umumnya.

2.6.2.1Metaio Mobile SDK

Pengembangan solusi untuk augmented reality dapat menggunakan platform perangkat lunak metaio. Desain pada metaio saat ini banyak digunakan di pameran pemasaran, industry, aplikasi komersial untuk AR. Desain pada metaio dari sederhana ke kompleks dengan maksud untuk memudahkan pembuatan presentasi AR, pelacakan gambar, dll. Metaio mendukung dua mode render yang berbeda yaitu DirectX dan OpenGLTo.

(57)

untuk salah satu tren perangkat lunak utama seperti halnya augmented Reality (AR). Dengan AR, informasi digital tentang tempat-tempat dan benda-benda dimasukkan dengan cara yang terlihat alami ke dalam lingkungan nyata, misalnya sebagai gambar bergerak atau animasi 3D menggunakan antarmuka melalui terminal mobile seperti smartphone atau tablet.

Metaio mobile SDK menyediakan teknologi tracking optik dan non-optik. Proses tracking tersebut dapat terjadi dengan menggunakan konfigurasi file XML (yang juga dikenal sebagai tracking data file, atau database marker). Pada berkas ini berisi informasi mengenai reference image yang akan digunakan pada proses

tracking (nama berkas, tinggi dan lebar gambar) dan jenis tracking yang akan digunakan.

2.6.3 Eclipse

Eclipse adalah sebuah Integrated Development Environment (IDE) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse:

a. Multi-platform : Target sistem operasi eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.

(58)

c. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.

Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu Kelebihan dari eclipse yang membuatnya popular adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plugin.

Secara standar Eclipse selalu dilengkapi dengan Java Development Tools

(59)

BAB III

3 ANALISIS DAN PERANCANGAN

3.1 Analisis

Analisis bertujuan untuk mengidentifikasi permasalahan – permasalahan yang ada pada sistem serta menentukan kebutuhan dari sistem yang dibangun. Analisis tersebut meliputi analisis masalah, analisis kebutuhan data, analisis sistem.

3.1.1 Analisis Masalah

Identifikasi masalah adalah langkah awal dari analisis sistem. Langkah ini diperlukan untuk mengetahui pemasalahan apa saja yang terjadi pada sistem. Oleh karena itu langkah pertama adalah menganalisis masalah yang muncul. Identifikasi masalah yang dimaksud disini adalah bagaimana cara meningkatkan kembali penjualan album fisik ( CD/DVD musik ). Karena dilihat dari laporan CNN ( Cable News Network ) dan IFPI ( International Federation of the Phonographic Industry ) terjadinya penurunan tingkat penjualan album fisik sebanyak 5%. Sebagai alternatif untuk masalah penjualan album fisik, perlu adanya suatu nilai tambah dalam proses penjualan album fisik tersebut.

3.1.2 Analisis Sistem

(60)

mobile menggunakan augmented reality”. Adapun sistem yang akan dibangun

[image:60.595.116.511.139.357.2]

terlihat pada gambar 3.1 gambaran sistem keseluruhan.

Gambar 3-1 Gambaran sistem yang akan dibangun

3.1.2.1 Analisis Augmented reality terhadap Game

Seperti penjelasan umum dari bab-bab sebelumnya augmented reality pada aplikasi ini digunakan sebagai media interaksi tambahan dimana augmented reality berfungsi untuk menjembatani lingkungan virtual dan nyata. Namun secara teknis ada beberapa tahapan, berikut akan dijelaskan mengenai implementasi augmented reality pada game pada bagian tracking, loading models

(61)

Diagram 3-1 Diagram augmented reality terhadap game

Penjelasan dari diagram augmented reality terhadap game yaitu :

a. Inisialisasi Mobile SDK

Proses inisialisasi ini terjadi saat Activity AdvancedContentActivity dibuat (saat tombol mulai di klik) oleh android, pada method onCreate dengan memanggil method createMobileSDK. Pada kasus ini tidak terdapat kelas yang langsung dapat di buat dengan “new” namun terdapat static factory class sebagai gantinya. Objek tersebut akan memberikan return value berupa referensi ke

(62)

Diagram 3-2 Proses inisialisasi

b. Setup kamera

(63)

Diagram 3-3 Proses setup kamera

Data yang diperlukan sebagai parameter terdapat pada kelas Configuration. Method activate kamera sendiri akan mengembalikan nilai vector dengan dimensi actual dari kamera. Berikut konfigurasi yang direkomendasikan oleh metaio :

1) deviceID : bernilai 0 dimana ini menandakan kamera utama yang akan digunakan. Untuk nilai 1 sendiri digunakan untuk front facing kamera (kamera depan).

2) Resolution : rekomendasi dari metaio adalah 480x320 dimana merupakan

(64)

d. Load Tracking Data

Proses ini dilakukan dengan memanggil method loadTrackingData.

Method ini akan mencari berkas tracking data pada direktori assets, setelah berkas

path ditemukan kemudian method setTrackingData akan dibuat.

Diagram 3-4 Proses load tracking data

e. Load Geometry (Objek 3D)

(65)

Diagram 3-5 Proses load geometry

Pada load geometry (box 3D) terbagi menjadi 2 bagian yaitu : markeless dan proses tracking. Kedua bagian tersebut dapat dijelaskan sebagai berikut :

Markerless

Markerless merupakan salah satu teknologi tracking yang disediakan oleh metaio. Tracking jenis ini menggunakan gambar sebagai marker. Proses tracking

ini menggunakan tekstur gambar (berkas jenis gambar) yang disimpan dalam

database sebagai sumber referensinya, dan membandingkan tekstur yang tertangkap oleh kamera dengan tekstur gambar yang ada di database marker

(TrackingData_MarkerlessRobust.xml).

Database marker berupa berkas berjenis “.xml”, dimana didalam berkas

(66)

informasi mengenai reference image yang akan digunakan pada proses tracking

(nama berkas, tinggi dan lebar gambar) dan jenis tracking yang akan digunakan. Pada tracking markeless, metaio menyediakan dua macam metode yakni

fast dan robust. Aplikasi game rhythm mobile menggunakan augmented reality

menggunakan metode robust karena proses tracking pada metode ini dapat lebih mudah terjadi meskipun dengan situasi pencahayaan yang berubah – ubah, hal ini dikarenakan pada penelitian ini digunakan marker yang tercetak pada bahan yang dapat atau mudah memantulkan cahaya. Selain itu dengan menggunakan metode

robust hasil tracking akan lebih stabil dan metode ini bekerja dengan sangat baik pada target yang bertekstur dibandingkan dengan fast.

Untuk proses tracking yang stabil, salah satu komponen yang perlu diperhatikan adalah ukuran ( tinggi dan lebar ) dari berkas gambar dan target dari

marker yang akan digunakan. Proses sebelum marker dicetak :

1. Resolusi gambar memiliki resolusi sangat tinggi.

(67)
[image:67.595.137.489.95.351.2]

Gambar 3-2 Proses pembuatan target marker

Tracking dapat bekerja dengan baik jika pengguna memiliki target marker

yang tercetak pada kertas yang non-reflektif (tidak memantulkan cahaya) dan berada pada permukaan yang datar. Selain itu kondisi pencahayaan harus simpel (terang tetapi cahayanya menyebar dan tidak langsung).

(68)
[image:68.595.226.401.80.221.2]

Gambar 3-3 Sudut pandang terhadap marker

Berikut beberapa daftar target marker yang tidak cocok untuk tracking

markerless :

1. Memiliki detil visual yang sedikit ( minim resolusi ). 2. Teks

3. Gambar dengan kontras hitam/putih yang tinggi.

Proses tracking

Proses tracking yang terjadi adalah dengan pembandingan texture gambar pada database dengan tampilan pada marker teknik ini disebut juga dengan

(69)

Diagram 3-6 Proses template matching

Frame input berasal dari frame tampilan kamera. Reference image yang berada pada database marker dibuat template. Lalu metode template matching

dilakukan dengan membandingkan pattern dari frame dengan template pattern

dari reference image kemudian memberikan hasil perhitungan track score.

Proses didalam template matching sendiri sebenarnya yang terjadi adalah mengkalkulasi dengan metode normalisasi cross correlation dimana memang metode ini biasa digunakan dalam image processing.

Berikut merupakan nilai pixel dari reference image dan target marker :

(70)

Dari nilai-nilai tersebut kemudian akan dicari perhitungan normalisasi

cross correlation, terlebih dahulu dicari nilai mean ( rata – rata ), dan nilai

standart deviasi.

Nilai Mean ( nilai rata – rata ) dari pixel reference image :

��

= 22 + 100 + 222 + 123

4 = 116.75

��

=25 + 43 + 213 + 122

4 = 100.75

=66 + 211 + 45 + 17

4 = 84.75

Maka dapat dicari standart deviasi ( � ) untuk reference image yaitu :

Rr�= 1

4((22−116.75)

2+ (100116.75)2+ (222116.75)2+ (123116.75)2)

= 82.41106

G�= 1

4( 25−100.75

2+ 43100.75 2+ 213100.75 2+ 122100.75 2)

(71)

B�= 1

4( 66−84.75

2+ 21184.75 2+ 4584.75 2+ 1784.75 2)

= 86.52697

Untuk mencari tingkat kesamaan menggunakan normalisasi cross correlation

antara reference image dengan target1 maka terlebih dahulu menghitung nilai

mean, standart deviasi pada target1 yaitu : Nilai mean ( nilai rata – rata ) dari pixel target1 :

��1

= 64 + 80 + 200 + 100

4 = 111

��1

=8 + 88 + 188 + 99

4 = 73.25

�1

=77 + 199 + 77 + 100

4 = 113.25

Perhitungan untuk standart deviasi pada target1 :

R1�=

1

4( 64−111

2+ 80111 2+ 100111 2+ 100111 2)

= 61.13373

G1 �= 1

4( 8−95.75

2+ 8895.75 2+ 18895.75 2+ 9995.75 2)

= 73.66761

B1�= 1

4((77−113.25)

2+ (199113.25)2+ (77113.25)2+ (100

Gambar

Gambar 2-1 AR Flow
Gambar 2-5 Motion Tracking
Gambar 2-6 Perbandingan metode markerless FAST dan ROBUST
Gambar 2-7 GPS based Tracking
+7

Referensi

Dokumen terkait

Tujuan penelitian ini adalah untuk mendapatkan calon tetua padi hibrida, yang berasal dari galur padi haploid ganda hasil kultur antera, yang tahan wereng

Pusat Kajian dan Perlindungan Anak (PKPA) Dalam Meningkatkan Kemandirian Masyarakat Melalui Credit Union Sumber Rejeki di Pinang Baris Kecamatan Medan Sunggal

Interesterifikasi dengan katalis lipase mempunyai beberapa kelebihan dibandingkan dengan katalis kimia, karena (a) enzim yang dapat terurai di alam sehingga tidak merusak lingkungan

Menurut Bapak Hadi dalam pemberian upah selalu tepat waktu dan sesuai dengan pekerjaan yang telah dilakukan, sebelum pekerjaan mulai ada breaving terlebih dahulu untuk

kehidupan manusia yang sesuai dengan keadaan cuaca tertentu  Mendeskripsikan hubungan antara pakaian yang dikenakan dengan keadaan  Membuat daftar jenis-jenis sumber

Pada halaman ini admin dapat melihat daftar pesanan yang masuk pada mitra dan melihat statusnya. Interface Halaman

Berapa banyak kamu yang hari ini setelah mendengarkan Firman Tuhan, kamu sadar bahwa seringkali kamu seperti anak ini yang sudah diselamatkan Tuhan Yesus tetapi setelah itu CUEK

4embahasan ekologi tidak lepas dari pembahasan ekosistem dengan berbagai komponen penyusunnya, yaitu aktor abiotik dan biotik. Faktora biotik antara lain suhu, air,