BAB 2 LANDASAN TEORI 2.1
Teori – Teori Umum Teori yang mendasari dari skripsi ini adalah teori dasar tentang multimedia, konsep dasar perancangan piranti lunak terutama pada perangkat telepon seluler, internet, panorama Traversal, pandangan 360 derajat, virtual. 2.1.1. Multimedia M enurut Hofstetter (2001, p2), multimedia adalah penggunaan computer untuk menampilkan dan menggabungkan teks, grafik, audio dan video dengan link dan tools yang memungkinkan pengguna melakukan pengendalian, berinteraksi dan komunikasi. Pengertian dari Hofstetter ini berisi empat komponen penting dalam multimedia, yaitu: 1. Harus ada komputer yang mengkoordinasikan apa yang harus dilihat dan didengar. 2. Harus ada link yang menghubungkan dengan informasi. 3. Harus ada alat navigasi yang memantau dan menjelajah jaringan informasi yang saling terhubung. 4. M ultimedia menyediakan tempat mengumpulkan, memproses dan mengkomunikasikan informasi dari ide sendiri. Elemen-elemen multimedia menurut Hofstetter (2001, p16) terbagi dalam enam macam, yaitu:
8
9
1.
Teks Teks merupakan salah satu elemen multimedia yang berbentuk hurufhuruf atau angka-angka. Teks dapat dibagi atas: • Printed Text Printed Text adalah kata-kata atau kalimat yang ditampilkan dalam bentuk paragraph di dalam kertas. • Scanned Text Scanned Text adalah teks yang dapat dibaca oleh suatu mesin setelah diproses oleh suatu alat yaitu scanner. • Electronic text Electronic text merupakan teks yang dapat dibaca atau dibuat oleh alat elektronik seperti komputer dengan menggunakan program pengolah data (word-processor) atau teks editor. • Hypertext Awalan hyper menunjuk kepada proses linking, yang membuat multimedia menjadi interaktif. Hypertext merupakan teks yang mempunyai link suatu objek berupa teks, file, gambar, maupun suara.
2.
Grafik Dalam membuat aplikasi multimedia, elemen grafik yang banyak mendukung dalam desain.Elemen grafik dapat juga digunakan untuk
10
memberi arti pada suatu objek sehingga arti dari suatu objek dapat diketahui walaupun tidak diberikan keterangan secara tekstual, misalnya seperti disket pada M icrosoft Word. M acam - macam bentuk grafik menurut Hofstetter (2001, p20),yaitu: • Bitmaps Bitmaps adalah gambar yang disimpan sebagai kumpulan pixel yang berhubungan dengan titik pada layar komputer.Untuk memunculkan gambar, komputer mengatur setiap titik pada layer untuk diwarnai.Bitmaps dapat dibuat dengan menggunakan editor grafik manapun, seperti program Paint yang telah disediakan Windows, atau
program
gambar
komersil
seperti Adobe
Photoshop. • Vector images Vector
images
disimpan
sebagai
sekumpulan
persamaan
matematika yang disebut sebagai algoritma yang menggambarkan kurva, garis, dan bentuk dari sebuah gambar. Vector images mempunyai dua kelebihan
dibandingkan
dengan bitmaps.
Pertama, vector images dapat diskala, yang artinya gambar dapat diperbesar atau diperkecil tanpa mengurangi kualitas gambar. Kedua, file vector images lebih kecil dibandingkan dengan gambar bitmaps.
11
• Clip art Clip art adalah gambar dalam bentuk jadi yang digunakan untuk mendukung proses pembuatan pembuatan suatu kerja, baik itu pembuatan desain objek, pembuatan dokumen maupun untuk pembuatan gambar lainnya. • Digitized pictures Digitized pictures adalah gambar yang dihasilkan dari media elektronik digital seperti kamera digital dan kamera video. • Hyperpictures Hyperpictures adalah gambar yang mempunyai link pada suatu objek, sama seperti hypertext. Objek itu dapat berupa teks, gambar atau aplikasi.
3.
Suara M enurut Hofstetter (2001, p22), ada empat tipe dari objek suara yang dapat dipergunakan dalam pembuatan multimedia, yaitu: • Waveform audio Waveform audio digunakan untuk mendeskripsikan frekuensi, amplitude dan harmonisasi dari suatu suara. • M IDI M IDI singakatan dari Musical Instrument Digital Interface, merupakan cara yang sangat efisien dalam merekam musik. Dalam sebuah
suara yang membutuhkan
banyak
tempat
12
penyimpanan, dibandingkan dengan waveform, M IDI merekam informasi yang diperlukan sound chip untuk memainkan musik. • Audio CD Audio CD dpt menampung 75 menit rekaman suara dalam kualitas yang baik. Audio cd mempunyai ukuran rata-rata sampling 44.100 hertz per detik, dengan ukuran 16 bit untuk satu sampling dan tingkat
kebisingan
mencapai
98
dB
(desible).Bedasarkan
informasi diatas, maka dapat disimpulkan bahwa Audio CD membutuhkan ukuran yang besar. • MP3 MP3 adalah singkatan dari MPEG Audio Layer 3.MP3 dapat mengkompres suara pada Audio CD ke dalam ukuran yang lebih kecil tanpa mengurangi kualitas suara. • Hyperaudio Disaat audio digunakan untuk memicu jalannya objek multimedia, maka itu dapat kita sebut dengan Hyperaudio.
4. Animasi Animasi adalah penggunaan komputer untuk menciptakan gerakan pada layar. Ada empat jenis animasi yang dapat digunakan (Hofstetter, 2001, p26), yaitu:
13
• Frame animation Frame animation adalah membuat objek bergerak dengan menampilkan rangkaian gambar, yang disebut frame, yang dimana objek muncul dalam lokasi yang berbeda-beda pada layer. • Vector animation Vector animation menggerakkan objek dengan memvariasikan tiga parameter, yaitu titik awal, arah dan panjang. Salah satu contoh animasi menggunakan flash. • Computational animation Computational animation menggerakkan objek dengan mengubah koordinat x dan y dari objek tersebut. • Morphing Morphing berarti transisi dari suatu bentuk ke bentuk lain dengan menampilkan rangkaian frame yang menciptakan pergerakan halus dari transformasi bentuk awal ke bentuk lain.
5. Software dan Data Keberadaan piranti lunak merupakan salah satu konsep multimedia, yaitu membuat hubungan ke dokumen atau data.Saat user memicu link ke suatu dokumen tertentu, komputer secara otomatis menampilkan aplikasi dan dokumen tersebut.Ini adalah suatu integrasi yang merupakan salah satu konsep multimedia.
14
2.1.2. IMK (Interaksi Manusia dan Komputer) Interaksi manusia dan komputer adalah ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomena-fenomena besar yang berhubungan dengannya (Shneiderman, 1998, p8).
2.1.2.1. DelapanAturan Emas Perancangan M enurut Shneiderman (1998, pp 72-73), terdapat delapan aturan emas dalam merancang sebuah User Interface yaitu: • Berusaha keras untuk konsisten. Konsisten dalam kesamaan terminologi dalammembuat menu, tampilan, font dan help screen. Selain itu konsisten dalam warna, kapitalitas, dan tampilan adalah juga penting. •
M emungkinkan frequent users menggunakan shortcuts. Setelah para users mulai tanggap dalam mengakses sebuah site, maka users akan menginginkan shortcut-shortcut yang mempercepat geraknya dalam pengaksesan site tersebut.
•
M emberikan umpan balik yang informatif. Untuk setiap operator action, beberapa di antaranya harus mempunyai sistem feedback. Untuk setiap tindakan yang sering dan sederhana, maka respon yang diberikan juga
15
sederhana, tetapi jika tindakan yang jarang dan major actions, maka respon juga harus lebih substancial. •
M erancang dialog untuk menghasilkan keadaan akhir (sukses,selesai) Bertujuan untuk membuat seorang user merasa aman dalam melakukan sebuah tindakan dengan memberikan gambaran hasil akhir dari suatu pilihan, serta pemberian banyak option-option kepada user sehingga bisa ikut mempengaruhi hasil akhir.
•
M emberikan penanganan kesalahan yang sederhana. Suatu site harus dirancang agar kesalahan yang dibuat seorang user dapat ditekan seminimal mungkin, dan pesan kesalahan yang dimunculkan harus dapat dimengerti oleh user awam.
•
M engijinkan pembalikan aksi (undo) dengan mudah. Tindakan
harus
dapat
dibalikkan
menjadi
keadaan
sebelumnya sehingga membuat user merasa aman karena ia tahu bahwa kesalahan yang dibuat dapat diperbaiki. •
M endukung pemakai menguasai sistem atau inisiator, bukan responden.
16
M embuat user merasa memegang kendali atas site tersebut. Kesulitan
user
dalam
menavigasi
site
atau
dalam
mendapatkan data yang diinginkan akan menimbulkan rasa tidak puas. •
M engurangi beban ingatan jangka pendek. M anusia hanya dapat mengingat tujuh info ditambah atau dikurang dua info pada suatu waktu. Batasan ini berarti suatu site harus dibuat sesederhana mungkin sehingga tidak membuat seorang user bingung karena terlalu banyak info.
2.1.3. Rekayasa Perangkat Lunak Definisi rekayasa perangkat lunak menurut Pressman (2001, p20) adalah pembuatan dan penggunaan prinsip-prinsip keahlian teknik untuk mendapatkan perangkat lunak yang ekonomis yang handal dan bekerja secara efisien pada mesin yang sesungguhnya.
2.1.3.1. S ystem Development Life Cycle (S DLC) Dalam membangun suatu rekayasa piranti lunak, diperlukan tahap-tahap. Sistem yang secara luas digunakan adalah SDLC (System Development Life Cycle), yang meliputi beberapa tahap, yaitu: (Pressman, 2001, p10) •
Rekayasa Sistem
17
Karena software merupakan bagian dari suatu sistem, maka dimulai dengan
penetapan semua sistem elemen dan
mengalokasikan beberapa bagiannya ke dalam usulan pada software kemudian menggabungkan semua level sistem dengan
melakukan
pengkajian
dari level atas
dalam
pendesainan dan analisis. •
Analisis Kebutuhan Software M erupakan proses mengerti tentang domain informasi, fungsi, kinerja, dan tatap muka pada software.
•
Desain Pada desain, prinsipnya adalah mengubah kebutuhan menjadi software yang layak dari segi kualitas sebelum proses pengkodean.
•
Pengkodean Proses pengkodean yaitu mengubah ke dalam bentuk yang dapat dibaca oleh mesin.
•
Pengetesan Proses yang memastikan semua kalimat dalam program telah dilakukan pengetesan sehingga memberikan input sesuai dengan yang diinginkan.
•
Pemeliharaan Softwareakan mengalami perubahan setelah dikirim ke pengguna, maka proses pemeliharaan dilakukan dengan
18
menerapkan setiap langkah daur hidup sebelumnya disertai dengan perbaikan.
Gambar 2.1 System Development Life Cycle
2.1.4. UML (Unified Modelling Language) UM L adalah alat untuk menggambarkan gambaran dari sistem yang akan dibuat melalui diagram dan simbol. UM L menggunakan konsep Pemrograman Berorientasi Objek (Object Oriented Programming). M elalui seperangkat diagram, UM L menyediakan standar yang memungkinkan sistem analisis untuk merancang berbagai sudut pandang dari sistem analisis untuk merancang berbagai sudut pandang dari sistem, yang dinamakan model, yang dimengerti oleh client, programmer, dan siapapun yang terlibat dalam proses pengembangannya (Schmuller, 1999, p16-17).
19
Selain pengertian UM L di atas ada pula pengertian dari Jacobson (1999, p13), yaitu UM L adalah sebuah bahasa standar untuk menulis rancangan
suatu
perangkat
memvisualisasikan,
lunak.
UM L dapat
menspesifikasikan,
digunakan
membangun,
untuk dan
mendokumentasikan alat dari sebuah sistem perangkat lunak. UM L hanya sebuah bahasa, dengan demikian hanya merupakan suatu bagian dari sebuah metode pengembangan perangkat lunak.
2.1.4.1. Class Diagram Class Diagram menggambarkan suatu kumpulan dari kelas-kelas dan merupakan hubungan relasi terstruktur. UM L mempunyai class diagram, mereka adalah gambaran pusat dalam OOAD (Object Oriented Analysis and Design). Notasi yang digunakan dalam class diagram antara lain : •
Asosiasi (Associatiation), yaitu hubungan antar kelas. Dalam class diagram, kelas yang satu memerlukan asosiasi dengan kelas lainnya. Agregasi (Aggregation), dilakukan dengan memerlukan setiap pasangan kelas untuk : 1) Whole part, container-content atau association member relationship antar kelas. 2) Common whole, yang menghubungkan mereka.
20
•
Generalisasi (Generalization) Dilakukan dengan memeriksa pasangan kelas untuk struktur generalisasi antar kelas atau mencari kelas yang umum, kemudian
memeriksa
masing-masing
kelas
untuk
disesuaikan dengan kelas yang relevan. Contoh Class Diagram dapat dilihat pada gambar 2.2.
Gambar 2.2 Contoh Class Diagram
2.1.4.2. Use Case Diagram Use Case menggambarkan interaksi antara sistem dengan pelaku yang ada. Diagram ini mendeskripsikan siapa saja yang
21
menggunakan sistem dan bagaimana cara mereka berinteraksi dengan sistem. Use case digunakan untuk menggambarkan bagaimana sistem terlibat pada pengguna (M athiassen et. al, 2000, p120). Pelaku dan use case adalah dua elemen-elemen yang ada. Pelaku adalah orang-orang atau sistem lain yang berinteraksi dengan sistem. Use case adalah suatu bentuk interaksi antara sistem dan pelaku. Pelaku dan use case dapat dihubungkan satu sama lain, dengan cara mengindikasikan sebuah pelaku pada sebuah use case. Use case dapat dikelompokkan dalam hubungannya dengan sistem. Semua use case yang didukung oleh sebuah sistem dapat diorganisasikan dalam sebuah kelompok dengan nama dari sistem. Dari pengelompokkan tersebut juga dapat dibuat grup yang lebih kecil, yang mungkin menggambarkan subsistem. Setiap use case menentukan beberapa urutan interaksi yang mungkin antara pelaku dan sistem. Elemen-elemen yang digunakan dalam use case diagram antara lain (M athiassen et. al, 2000, p343) : •
Sistem, yang digambarkan menggunakan persegi yang di dalamnya terdapat sekumpulan use case. Actor diletakkan di luar sistem.
22
•
Use case, yang digunakan untuk menggambarkan fungsifungsi pada sistem digambarkan dengan elips.
•
Actor, pengguna sistem.
•
Penghubung, untuk menghubungkan antara actor dengan use case.
System UseCase
Actor
System
Use Case
* *
Penghubung
Gambar 2.3 Komponen-komponen Use CaseDiagram
2.1.4.3. Sequence Diagram Sequence Diagram menunjukkan dinamika interaksi berbasis waktu yang interaktif antar objek dalam sistem (Schmuller, 1999, p11). Tidak seperti class diagram yang statis, sequence diagram bersifat dinamis.
23
Gambar 2.4 Komponen-komponen Sequence Diagram
2.1.5. Database M enurut Connolly dan Begg (2002, p14), database adalah kumpulan data, yang terhubung secara logis yang dapat digunakan secara bersama, dan deskripsi dari data ini dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi. Database juga dapat diartikan sebagai kumpulan data yang berfungsi sebagai penyedia informasi bagi pengguna. Objek-objek yang ada dalam sebuah basis data : •
Tabel, yaitu objek yang berisi tipe-tipe data.
•
Kolom, yaitu sebuah tabel berisi kolom untuk menampung data. Kolom mempunyai tipe dan nama yang unik.
•
Tipe data, yaitu sebuah kolom mempunyai sebuah tipe data. Tipe data yang dapat dipilih misalnya character, numeric, dan sebagainya.
24
•
Primary key, yaitu kata kunci utama yang menjamin data agar unik, hingga dapat dibedakan dari data yang lain.
•
Foreign key, merupakan kolom-kolom yang mengacu pada primary key dari tabel yang lain. Dengan kata lain, primary key dan foreign key digunakan untuk menghubungkan sebuah tabel dengan tabel lain .
2.1.5.1. Database Management System (DBMS ) M enurut Connolly dan Begg (2002, p16), DBM S adalah suatu sistem perangkat lunak yang memungkinkan pengguna untuk menentukan, menciptakan, memelihara dan mengontrol akses ke database. Secara khusus, DBM S menyediakan fasilitas berikut : • M emungkinkan
pengguna untuk
menentukan
database,
biasanya melalui Data Definition Language (DDL). DDL memungkinkan user untuk menentukan tipe user dan struktur data mendorong data untuk disimpan ke database. • M emungkinkan pengguna untuk melakukan insert, update, delete dan retrieve dari database, biasanya melalui Data Manipulation Language (DM L). • M enyediakan akses terkontrol ke database.
25
2.1.5.2. S tructured Query Languange (SQL) M enurut
Connolly
dan
Begg (2002,
p111),
SQL
merupakan bahasa yang dirancang untuk menggunakan relasi untuk mengubah masukan menjadi keluaran yang diharapkan. SQL dimaksudkan untuk memenuhi keputusan berikut : •
M embuat database dan struktur relasi;
•
M elakukan tugas dasar manajemen data, seperti pemasukan, modfikasi dan penghapusan data dari relasi.
•
M elakukan query sederhana dan kompleks.
Standar SQL memiliki dua komponen : •
Data Definition Language (DDL) untuk menetapkan struktur database dan mengontrol akses ke data.
•
Data Manipulation Language (DM L) untuk mendapatkan kembali (retrieve) dan memperbahurui data.
2.1.6. Internet Internet
dalam
bahasa
Inggris
merupakan
singkatan
dari
"International Networking". Internet adalah jaringan komputer yang ada di seluruh dunia dimana setiap komputer memiliki alamat (Internet Address) yang dapat digunakan untuk kirim data atau informasi. Dalam hal ini komputer yang dahulunya berdiri sendiri dapat berhubungan langsung
26
dengan host-host atau komputer-komputer yang lainnya. Internet terdiri dari World Wide Web (WWW), Usenet (electronic bulletin boards), Telnet, dan FTP(File Transfer Protocol)(Edward Forrest, 1999, p16).
2.1.6.1. Web Server Web server menurut M inoli (1998, p33) adalah suatu program yang menawarkan pelayanan yang bisa diperoleh seluruh jaringan. Web server merupakan suatu tipe server khusus yang dapat berkomunikasi dengan client menggunakan HTTP. Web server menerima permintaan dari client dan meresponsnya, biasanya dengan mengembalikan sebuah dokumen atau gambar.
2.1.6.2. WWW (World Wide Web) World Wide Web juga disebut web, www, dan w3 adalah ruang
informasi
di
internet
tempat
dokumen-dokumen
hypermedia disimpan dan dapat diambil melalui suatu skema alamat yang unik. Web menyediakan metode untuk menyimpan dan mengambil dokumen-dokumennya (M cLeod, 2001, p75).
2.1.6.3. Uniform Resources Locator (URL) Sebuah nama yang terhubung pada sebuah alamat IP (Internet Protocol) dalam DNS (Domain Name Service) disebut
27
juga dengan URL. URL mengidentifikasikan sebuah node pada internet secara unik (Zeid, 2000, p10). URL secara khusus dipakai untuk menentukan lokasi dari web di internet. URL merupakan cara standar untuk menampilkan informasi tentang jenis, isi, dan lokasi file : nama file, lokasi komputer di internet, letak file di dalam komputer dan protokol internet yang digunakan untuk mengakses file tersebut. Format umum dari sebuah URL yaitu protocol_transfer ://nama_host/path/nama_file. Contoh URL : http://binusmaya.binus.ac.id
2.1.7. HyperText Preprocessor (PHP) M enurutJanet
Valade
(2006,
p15),
PHP
adalah
bahasa
pemprograman yang dirancang khusus untuk membuat suatu web dan ini merupakan alat untuk membuat halaman web yang dinamis.
2.1.8. Extensible Markup Language (XML) M enurut Elizabeth Castro (2001, p21), XM L adalah sistem gramatikal untuk membanguncustom markup language. Sebuah dokumen XM L terdiri dari bagian-bagian yang disebut dengan node-node. Node-node itu adalah:
28
•
Root Node Yaitu node yang melingkupi keseluruhan dokumen. Dalam satu dokumen XM L terdapat satu root node. Node yang lainnya berada di dalam root node.
•
Element Node Ditandai dengan tag pembuka dan tag penutup, atau bisa juga sebuah tag tunggal element kosong.
•
Attribute Node Termasuk nama dan nilai atribut ditulis pada tag awal sebuah elemen atau pada tag tunggal.
•
Text Node Adalah teks yang merupakan isi dari suatu elemen, ditulis diantara tag pembuka dan penutup.
•
Comment Node Adalah baris yang tidak dieksekusi oleh parser.
•
Processing Instruction Node Adalah perintah pengolah dalam dokumen XM L.Node ini diawali dengan karakter Dan diakhiri dengan ?>.
•
Name Space Node Node ini mewakili deklarasi namespace.
29
2.2.
Teori-Teori Khusus 2.2.1. 3D Modeling M enurut Tom Capizi (2002, p42), 3D modeling adalah obyek dalam lingkungan 3D memiliki lebar, tinggi dan kedalaman.Dimensi ini berkorespondensi dengan hampir semua dimensi pada sistem 3D yang digunakan dalam modeling. Koordinat X (lebar), Y (tinggi), dan Z (kedalaman) biasanya digunakan untuk menciptakan model.
Gambar 2.5 Obyek 3 dimensi 2.2.1.1. 3D Obyek dan Komponen Computer modeling memiliki beberapa building block yang biasanya digunakan untuk menciptakan suatu obyek. Semua komponen ini dibangun di atas satu sama lain untuk menciptakan kesatuan
kompleks
dengan
kemampuan
tambahan
daripada
komponen individu. Kesatuan ini merupakan titik, garis dan tepi, poligon, kurva dan permukaan (Capizi, 2002, p43-44).
30
•
Points (titik) atau disebut juga dengan verteks, tidak memiliki volume tetapi masih dapat ditemukan dengan menggunakan dimensi X, Y, dan Z.
•
Lines and Edges (garis dan tepi). Garis didefinisikan dengan lokasi X, Y, dan Z dengan 2 titik akhir. Tepi adalah suatu tipe dari garis yang didefinisikan dengan sisi perbatasan dari poligon atau suatu permukaan.
•
Polygon, adalah suatu permukaan yang ada antara tiga atau lebih tepi-tepi.
•
Curves (kurva), yaitu salah satu tipe garis yang biasanya digambarkan dengan beberapa titik dan berselisih dari garis lurus.
•
Surface (permukaan), yaitu suatu bahan teoritis yang terbentang pada 2 atau lebih kurva.
2.2.1.2. 3D Texturing Kegiatan 3D texturing adalah kegiatan menggambar di kanvas tradisional, seperti penggambaran pada gambar 2D. Penciptaan kohesi, kedalaman, komposisi dan konsepsi dari apa yang dimaksud objek. Ada 4 metode yang bisa digunakan dalam texturing:
31
•
Prosedural M etode Prosedural adalah metode yang memanfaatkan penggabungan dari poligon-poligon yang di-render secara detail. Ciri-ciri dari metode ini adalah : 1.
Simulasi yang akurat
2.
M engambil waktu yang lama untuk me-render sebuah frame
•
3.
M enggunakan pencahayaan 3D yang kuat
4.
Tidak ideal untuk permainan video game
Gambar tangan(Hand Painting) M etode gambar tangan adalah metode yang menempatkan tekstur secara pixel demi pixel dan merupakan metode paling lambat. Ciri-ciri dari metode ini adalah :
•
1.
Kontrol detail yang akurat
2.
Pendekatan artistik
Gambar foto(Photo Painting) M etode gambar foto adalah metode yang memanfaatkan teknik pada editing foto, seperti metode filtering, masking dsbnya.
32
Ciri-ciri dari metode ini adalah :
•
1.
Texture bisa menghasilkan pixel yang pecah
2.
M embutuhkan kemampuan artistik
3.
M embutuhkan pustaka foto yang besar
4.
Terlihat datar di lingkungan pencahayaan yang biasa
Pencurian foto(Photo Stealing) M etode pencurian foto adalah metode memotong gambar dan kemudian menempelkannya ke dalam objek 3D. Ciri-ciri dari metode ini adalah : 1.
Texture akan kelihatan datar.
2.
Pencahayaan akan kelihatan salah di dalam permainan atau film
3.
M etode yang paling malas
4.
Bagus jika digunakan untuk metode sky box.
2.2.2. Android Android adalah sebuah aplikasi platform telepon seluler yang open source. Android utamanya adalah produk Google, tetapi lebih tepatnya Open Handset Alliance. Open Handset Alliance adalah aliansi dari 30 organisasi yang berkomitmen untuk membawa sebuah perangkat seluler yang lebih baik dan terbuka untuk pasar.
33
M enurut Andy Rubin, Android adalah platform terbuka pertama untuk perangkat mobile, tetapi tanpa gangguan berarti yang mengganggu inovasi.Android
adalah
sebuah
lingkungan
perangkat
lunak
yang
dibangung untuk perangkat-perangkat mobile. (Ableson, 2009) Android termasuk kernel berbasis Linux, user interface yang kaya, aplikasi end-user,framework aplikasi, dukungan multimedia,dan masih banyak
lainnya.User
application
dibangun
berbasiskan
bahasa
pemograman Java.Bahkan aplikasi yang dibangun juga berbasiskan Java. Beberapa komponen yang ada dalam Android : •
Kapabilitas konektivitas seperti Wi-Fi dan Bluetooth yang ditemukan.
•
Kode-kode libraries yang meliputi :
Teknologi browser seperti WebKit.
Dukungan database SQLite.
Dukungan grafis, yang meliputi 2D, 3D, animasi dari SGL, dan OPENGLES.
•
Dukungan servis meliputi :
Activity dan Views.
Telephony.
Windows.
Resources.
Location-Based Services.
34
•
Android run-time yang menyediakan :
Package Java yang utama
Dalvik Virtual M achine yang menyediakan kernel untuk menyimpan aplikasi Android.
Gambar 2.6 Struktur dari Android
2.2.3. Global Positioning S ystem(GPS ) M enurut Greg Pendleton(GlobalPositioning System, 2002), GPS adalah sistem navigasi satelit yang menyediakan pelacakan posisi dan pengaturan waktu kepada pengguna.Sistem ini biasanya lebih dari sekedar satelit. Departemen pertahanan Amerika Serikat menciptakan GPS untuk bekerja secara optimal dengan konstelasi dari 24 satelit.Setiap satelit berisi
35
2 saluran untuk interaksi yaitu saluran L1 dan L2, yang masing-masing mempunyai frekuensi 1575.42 MHz dan 1227.6 MHz. GPS menggunakan microwave
untuk mengirimkan sinyalnya
seperti cahaya dan gelombang radio, setiap sinyal punya frekuensi yang unik dan panjang frekuensi yang berbeda.Tidak semua GPS diciptakan sama kemampuannya, akurasi kesalahan dari GPS bisa mencapai sekitar 100 meter secara horizontal dan 300 meter secara vertikal. Cara kerja GPS adalah memproduksi kode-kode biner yang terdiri atas 0 dan 1. Dengan menggunakan perbedaan waktu antara kode yang digenerasi oleh satelit dengan jam pengguna, GPS bisa mencocokkan kode dan menghitung selisih waktu. Dengan selisih waktu yang ada dan nilai dari kecepatan cahaya yang diketahui, maka jarak antara satelit dan penerima bisa diketahui( kecepatan cahaya dikalikan dengan dengan waktu). Selisih penerima bisa diketahui dengan memakai perpotongan antara jarak dari satelit-satelit yang memantau.Sekitar 3 satelit diperlukan untuk menentukan posisi 2 dimensi dan 4 atau lebih untuk posisi 3 dimensi.
Gambar 2.7 Selisih signal dari rekoder dan satelit
36
2.2.4. Location Based Services(LBS ) M enurut Qusay H. M ahmoud (J2M E and Location-Based Services, 2004) Location Based Services(LBS) adalah sebuah layanan yang digunakan untuk mengetahui posisi dari pengguna, kemudian menggunakan informasi tersebut untuk menyediakan jasa dan aplikasi yang personal. Ada 2 pendekatan dasar yang dipakai dalam mengimplementasikan LBS, yaitu: 1. M emproses data lokasi di server dan mengirimkan hasilnya ke alat. 2. M endapatkan data lokasi dari alat tersebut berdasarkan aplikasi yang menggunakannya secara langsung. Aplikasi bisa menggunakan beberapa pendekatan yang disediakan, yaitu : 1.
M enggunakan jaringan telepon seluler, akurasi dari metode ini tergantung kepada ukuran dari sel dan mungkin tidak akurat.
2.
M enggunakan satelit, dengan menggunakan bantuan GPS untuk mendapatkan posisi data yang akurat.
37
2.2.5. Great Circle Distance M enurut R.W. Sinnott ("Virtues of the Haversine", Sky and Telescope, vol. 68, no. 2, 1984, p.159),Great circle distance adalah jarak terpendek antara kedua titik pada permukaan sphere yang dihitung sepanjang atas permukaan sphere. Karena permukaan bumi hampir berbentuk mendekati sphere, maka persamaan rumus dari great circle distance sangat penting untuk aplikasi navigasi. Ada beberapa metode yang bisa digunakan untuk menghitung greatest distance antara 2 titik di bumi diantaranya: 1. Rumus
Haversine, yaitu
rumus
yang digunakan
untuk
menghitung jarak antara dua titik dengan mengabaikan bukit. Rumus Haversine: R = radius bumi (radius = 6,371km) c = jarak angular a = ¼ dari ½ jarak seluruhnya antara 2 titik Δlat = lat 2− lat 1 Δlong = long2− long1 a = sin²(Δlat/2) + cos(lat 1).cos(lat 2).sin²(Δlong/2)
38
c = 2.atan2(√a, √(1−a)) d = R.c 2. Rumus Vincenty, ditemukan oleh Thaddeus Vincenty yang menghitung jarak antara 2 titik di bumi dengan menggunakan model ellipsoidal dari bumi yang akurat. Rumus Vincenty memiliki tingkat keakuratan sampai 0.5 mmdengan model ellipsoid yang digunakan.M odel ellipsoid yang biasa digunakan adalah model ellipsoid bernama WGS-84 yang umum digunakan secara global. Dengan nilai: a, b = axis mayor dan minor dariellipsoid a = 6,378,137 m (±2 m) b = 6,356,752.314245 m f = 1 / 298.257223563 f = perataan (a−b)/a Rumus persamaan yang digunakan adalah sebagai berikut: φ1, φ2 = perhitungangaris bujur L = selisihgaris lintang U1 = atan((1−f).tanφ1) (U adalah ‘latitude yang disederhanakan’)
39
U2 = atan((1−f).tanφ2) λ = L(persamaan pertama) Pada akhir persamaaan diatas,nilai dari λ akan diiterasikan sampai mencapai kondisi nilai dari λ = 0.06 mm. Awal iterasi: sinσ = √[ (cosU2.sinλ)² + (cosU1.sinU2 − sinU1.cosU2.cosλ)² ] cosσ = sinU1.sinU2 + cosU1.cosU2.cosλ σ = atan2(sinσ, cosσ) sinα = cosU1.cosU2.sinλ / sinσ cos²α=1−sin²α(trig
identity;
§6)cos2σm
=
cos σ
−
2.sinU1.sinU2/cos²α C = f/16.cos²α.[4+f.(4−3.cos²α)] λ′=L + (1−C).f.sinα.{σ+C.sinσ.[cos2σm +C.cosσ.(−1+2.cos²2σm )]} Akhir iterasi u² = cos²α.(a²−b²)/b² A = 1+u²/16384.{4096+u².[−768+u².(320−175.u²)]} B = u²/1024.{256+u².[−128+u².(74−47.u²)]}
40
Δσ=
B.sinσ.{cos2σm +B/4.[cosσ.(−1+2.cos²2σm )
−
B/6.cos2σm .(−3+4.sin²σ).(−3+4.cos²2σm )]} s = b.A.(σ−Δσ) α1 = atan2(cosU2.sinλ, cosU1.sinU2 − sinU1.cosU2.cosλ) α2 = atan2(cosU1.sinλ, −sinU1.cosU2 + cosU1.sinU2.cosλ)
2.2.6. Gambar panorama M enurut ShivaPrakash M .(Intensity Based Image M osaicing, 2007), gambar panorama adalah gambar yang menciptakan kerealistisan foto, 3 dimensional, dan lingkungan yang bisa dinavigasi.Sebuah gambar panorama menangkap sekeliling lokasi dengan pandangan 360 derajat pandangan silindris atau spherical. Para pemakai biasanya memiliki beberapa kontrol atas sudut pandang, seperti pembesaran, pengecilan dan rotasi. Gambar panorama biasa digunakan untuk keperluan seperti hiburan dan kebutuhan edukasi, permainan petualangan dengan foto- foto yang realistis atau semi realistis, pemandu wisata.
Ada beberapa jenis gambar panorama, yaitu : 1. Planar atau flat, yang berarti dilihat tanpa perspektif tertentu atau datar.
41
Gambar 2.8 Gambar panorama tipe planar. 2. Cylinderatau silindris, yaitu gambar panorama yang silindris yang dibuat untuk dilihat secara kurva disekeliling bagian dalam silinder, kalau gambarnya dilihat secara datar, dapat dilihat ada kurva disepanjang garis axis horizontal.
Gambar 2.9 Gambar panorama tipe silindris.
3. Sphere, gambar spherical adalah tipe gambar panorama dengan format equirectangular, yang mana menggambarkan dengan pasti keadaan gambaraxis horizontal secara 360 derajat dan axis vertikal secara 180 derajat.
42
Pada praktiknya gambar panorama biasa disimpan didalam proyeksi spherical, yang berarti akan ditampilkan didalam sphere.Untuk panorama dengan pandangan vertikal yang lebar, lebih efektif menggunakan metode sphere daripada silindris.
Gambar 2.10 Gambar panorama tipe spherical 4. Cube (kubus), tipe gambar panorama ini dipopulerkan oleh perangkat lunak QuickTime5, dimana metode yang diperkenalkan adalah panorama berbentuk kubus bisa dilihat diatas atau dibawah lantai, tidak seperti gambar panorama spherical, dalam gambar panorama tipe kubus ini terdapat6 gambar di permukaan kubus, kubus sangat efektif untuk tipe panorama yang dengan sudut pandangan vertikal yang luas, dan karena setiap bagian kubus terlihat normal maka lebih mudah dimodifikasi dengan perangkat lunak.
43
Gambar 2.11Gambar panorama tipe kubus
Perbandingan tipe-tipe gambar panorama dan ukurannya:
Gambar 2.12Grafik perbandingan tipe-tipe panorama Dapat dilihat bahwa ada beberapa keuntungan dalam penggunaan metode-metode
tertentu,
seperti
penggunaan
tipe
spherical
lebihmenguntungkan daripada metode silindris karena disini dilihat bahwa proyeksi FOV pada spherical punya ukuran yang lebih kecil daripada tipe
44
silindris dalam perbandingan. Sedangkan FOV pada kubus gambar dianggap konstan karena punya 6 gambar pada 6 permukaan sehingga memiliki ukuran yang sama besar.
2.2.7. OpenGL ES Open GL ES adalah sebuah platform API 2D dan 3D yang digunakan untuk sistem yang tertanam, seperti permainan konsol, telepon seluler, dan kendaraan. M erupakan subset dari OPENGL untuk desktop OPEN GL, yang menciptakan antar muka yang fleksibel dan fitur kuat level bawah yang tertanam diantara perangkat lunak dan akselerasi grafis. Open GL ES versi 1.x digunakan untuk fungsi perangkat keras dan menawarkan kecepatan grafis,kualitas gambar dan performa. OPEN GL ES versi 2.x memungkinkan pemograman grafis 3D secara menyeluruh. Keuntungan menggunakan OPENGL ES adalah:
•
Standar industri dan gratis
•
Jejak yang minimal dan konsumsi tenaga yang sedikit
•
Transformasi yang sedikit dari software ke hardware rendering
•
Bisa dikembangkan dan terus berevolusi
•
M udah digunakan
45
•
Didokumentasikan dengan baik.
2.2.8. Java 2D Java2D adalah API yang biasa digunakan untuk
menggambar
grafis pada platform Java. Ada beberapa class yang mendukung penggambaran grafis bentuk pada Java, diantaranya: •
GeneralPath
•
Arc2D
•
Ellipse2D
•
Line2D
•
Rectangle2D
•
RoundRectangle2D Selainbeberapa class diatas, ada juga class yang mendukung
penggambaran polygon,
rendering
grafis,
penggambaran pada Java 2D adalah, titik(0,0)
pengaturan font.Sistem yang menggambarkan
posisi axis y dan ordinat y terletak pada sudut kiri layar.Koordinat x menyatakan letak titik secara horizontal, sedangkan koordinat y menyatakan letak titik secara vertikal.