BAB 2 LANDAS AN TEORI
2.1 Teori Umum 2.1.1 Rekayasa Piranti Lunak (RPL) / Software Engineering (S E) Istilah Rekayasa Piranti Lunak atau Software Engineering meliputi serangkaian metode, teknik, dan peralatan yang digunakan dalam pembuatan suatu aplikasi sebelum aktifitas utama, yaitu programming. Istilah “engineering” sendiri tidak jauh berbeda dengan civil engineering, yaitu sebuah referensi untuk mempelajari pengonstruksian atau pembangunan. Dalam pengonstruksian gedung, hanya meletakan bata dan semen tidaklah cukup, sama seperti dalam programming. M embangun suatu gedung memerlukan sejumlah atau serangkaian dari aktifitas seperti desain arsitektur, dinding, pipa air dan jalur listrik sebelum tahap konstruksi sebenarnya dimulai, dengan keterbatasan dana dan waktu yang dikalkulasikan. Dikarenakan hal tersebut Software Engineering memerlukan manajemen proyek untuk mengembangkan suatu aplikasi dengan keterbatasan waktu dan dana sekaligus memenuhi kepuasan customer (pelanggan).
2.1.1.1 Karateristik Software Dikarenakan bentuknya yang abstrak, software memiliki beberapa karateristik yang memebedakannya dari hardware, yaitu: (Pressman,2001,pp6-8): 1. Software dikembangkan atau dibangun, bukan dibuat atau diproduksi seperti pembuatan produk umumnya. 2. Software tidak pernah habis (wear-out). 7
8 3. Software umumnya dibuat untuk custom-built.
2.1.1.2 Daur Hidup Software Istilah daur hidup software menjelaskan pengembangan suatu aplikasi, mulai dari tahap konsep sampai ke tahap dimana software tidak digunakan lagi. Tujuannya untuk menentukan tahap-tahap yang diperlukan untuk mengawasi pengembangan aplikasi, contohnya untuk memastikan software sesuai dengan syarat atau keperluan aplikasi, dan pengecekan prosedur pengembangan, misalnya memastikan metode yang digunakan sudah tepat. Hal ini bermula pada kenyataan bahwa kesalahan yang sering terjadi saat tahap implementasi dapat mengakibatkan biaya perbaikan yang mahal. Dengan daur hidup dapat mendeteksi kesalahan pada tahap awal secepat mungkin, oleh karena itu developer dapat berkonsentrasi pada kualitas software, waktu implementasi dan biaya. (http://en.kioskea.net/genie-logiciel/cycle-de-vie.php3) Daur hidup software meliputi beberapa prosedur: 1. defining goals menentukan hasil akhir dari proyek dan peranannya. 2. analysis of requirement and feasibility mengumpulkan, memeriksa dan
mengformulasikan
permintaan customer
(pelanggan) dan memeriksa batasan-batasan yang ada. 3. general design perancangan arsitektur umum atau dasar dari kebutuhan aplikasi 4. detailed design definisi yang lebih rinci untuk setiap bagian dari aplikasi
9 5. programming merupakan implementasi dari bahasa pemrogaman untuk membuat fungsi-fungsi yang ditentukan pada tahap desain 6. unit testing pengujian terhadap setiap bagian dari aplikasi untuk memastikan kebutuhan terhadap aplikasi. 7. integration memastikan penggabungan berbagai modul yang ada dengan aplikasi. 8. beta testing (debugging) memastikan software sesuai dengan spesifikasi awal. 9. documentation mendokumentasikan
informasi penting kepada pengguna software dan
pengembangan lebih lanjut. 10. implementation implementasi dari software, aplikasi yang telah selesai diintegrasikan dengan lingkungan dimana sistem akan berjalan. 11. maintenance terbagi menjadi dua yaitu corrective maintenance dan ongoing maintenance. Yang termasuk corrective maintenance adalah perbaikan beberapa kesalahan prosedur
dan
sebagainya,
sedangkan
ongoing
maintenance
misalnya
penambahan update-update yang bersifat minor. Tujuan keduanya agar aplikasi dapat berjalan dengan baik.
10 Urutan dan kemunculan dari prosedur di atas tergantung dari kesepakatan antara developer dan client akan model daur hidup yang digunakan. M odel daur hidup software digunakan untuk memfasilitasi metodologi umum baik terhadap client maupun perusahaan software, sehingga dapat dilakukan pengawasan tiap tahapnya sebelum ke tahap selanjutnya.
2.1.1.3 Metodologi Waterfall M enurut Pressman (2001, p28), Sekuensial linier atau siklus kehidupan klasik atau waterfall model menawarkan sebuah pendekatan yang sistematis dan sekuensial dalam
pengembangan
piranti
lunak
yang dimulai
dari
level
sistem
dan
perkembangannya dengan melalui tahap analis, desain, coding dan testing. M odel waterfall adalah versi paling populer dari system development lifecycle model untuk software engineering. M odel ini sering dianggap sebagai pendekatan klasik dalam daur hidup pengembangan sistem. 1. Analisis Analisis adalah sebuah proses pengumpulan kebutuhan yang dikhususkan dan difokuskan dalam pembuatana piranti lunak 2. Desain Desain adalah sebuah proses yang menerjemahkan hasil dari analisis dalam bentuk representasi piranti lunak sehingga dapat dinilai kualitasnya sebelum proses coding dimulai. 3. Coding Coding adalah proses dimana hasil dari desain diterjemahkan kembali dalam bentuk bahasa pemrograman yang dapat dimengerti oleh mesin.
11 4. Testing Setelah coding dilakukan, maka dilakukan tahap testing untuk mengetahui kesalahan yang tidak terdeteksi sebelumnya atau hasil dari proses yang tidak diinginkan.
Sys tem/Information Engineering
Analysis
Design
Code
T est
Gambar 2.1 Model Metodologi Waterfall (Sumber : Pressman, Software Engineering, 2001, p29)
2.1.2 Multimedia M enurut Tay Vaughan (2004, p1), multimedia adalah kombinasi dari teks, gambar, suara, animasi, dan video yang disampaikan kepada pengguna oleh komputer atau alat elektronik lainnya. M ultimedia yang memperbolehkan penggunanya untuk menentukan apa dan kapan elemen multimedia disampaikan disebut sebagai multimedia interaktif. Sedangkan multimedia interaktif yang menyediakan struktur elemen yang terhubung satu sama lainnya dan pengguna dapat menavigasikannya disebut sebagai hypermedia.
12 Saat ini banyak pengguna yang menggunakan multimedia dengan beberapa alasan, diantaranya: mudah digunakan, menarik banyak perhatian, interaksi yang SelfPaced dan retensi yang lebih baik, antarmuka yang intuitif (mudah dimengerti), pengertian yang lebih baik terhadap konten, dan lebih menyenangkan sehingga menjadi lebih efektif.
2.1.2.1 Elemen Multimedia Ada 5 elemen multimedia yang dijelaskan Vaughan dalam bukunya, Multimedia: Making It Work, yaitu: 1. Teks Sebuah kata dapat memiliki banyak arti, jadi dalam pembuatan teks sangat penting untuk memperhatikan ketepatan penggunaan kata. Dalam multimedia, teks memainkan peranan penting dalam penyampaian informasi kepada pengguna. 2. Suara Suara adalah elemen multimedia yang paling bersensasi. Penggunaan suara dalam suatu proyek multimedia dapat membedakan multimedia tersebut akan tergolong yang biasa atau profesional. 3. Gambar Elemen gambar biasanya dapat diubah ukurannya, warna atau motif, transparasi, posisi, dan penampakannya. Cara mengatur gambar dapat. menentukan hubungan visual antara pengembang dengan pengguna multimedia. 4. Animasi
13 Animasi membuat suatu objek statik menjadi hidup. Animasi merupakan perubahan visual berdasarkan waktu dan dapat memberikan kekuatan dalam suatu proyek multimedia. 5. Video Video adalah elemen multmedia yang dapat menarik perhatian dalam suatu pertunjukan. Dari semua elemen multimedia, video memerlukan performance paling tinggi dari komputer, baik itu memory ataupun penyimpanannya.
2.1.3 Storyboard Sebelum memulai implementasi dari prototype, sebaiknya memvisualkan user interface dan umpan balik pengguna. M etode yang sangat berguna yang biasa digunakan adalah menggambar storyboard. Storyboard digunakan bertahun-tahun dalam industri perfilman, berupa rangkaian gambar yang digunakan untuk membantu sutradara melihat bagaimana perkembangan cerita film setiap scene-nya. Storyboarding adalah suatu teknik menvisualkan user interface dalam suatu pengembangan multimedia interaktif, sebelum tahap implementasi dimulai. Suatu prototype diciptakan dari storyboard. (Dastbaz, 2003, p134)
2.1.4 Interaksi Manusia dan Komputer (IMK) IMK adalah suatu pembelajaran tentang hubungan atau interaksi antara manusia dan komputer. IM K sering dianggap sebagai persimpangan dari ilmu komputer, ilmu perilaku, desain dan bidang lainnya. Interaksi antara manusia dan komputer muncul pada user interface, baik software maupun hardware. Berdasarkan Association for Computing Machinery (ACM ), IMK adalah suatu ilmu yang berhubungan dengan perancangan,
14 evaluasi dan implementasi sistem komputer interaktif untuk digunakan manusia, serta pembelajaran fenomena disekitarnya.
2.1.4.1 Jenis Interaksi Ada banyak model dan jenis interaksi diantaranya adalah: (Dix et al, 1997, pp115-122) 1. Command line interface contoh : unix, linux, dos. 2. Menu contoh : hampir semua software menggunakan menu. 3. Natural language contoh : bahasa pemrograman terstruktur. 4. Question/answer and query dialogue contoh : mysql, dbase interaktif, dan lain-lain. 5. Form-fills and spreadsheets contoh : excel, lotus, dan lain-lain. 6. WIM P -
Windows Icon Menu Pointer, atau terkadang disebut juga
-
Windows Icon Mouse Pulldown Menu
yang termasuk komponen WIM P : button, dialogue boxes, pallettes, dan lain-lain. contoh : M icrosoft Windows untuk IBM PC, M acOS untuk Apple M acintosh. 7. Point-and-click interfaces contoh : layar touchscreen, pemakaian pada World Wide Web pages. 8. Three-dimensional interfaces
15 contoh : virtual reality atau yang paling sederhana elemen WIM P seperti button yang diberi penampilan 3D, seakan-akan seperti batu yang diukir.
2.1.4.2 Konsep Perancangan User Interface Dalam perancanganan user interface ada delapan aturan emas menurut Shneiderman (2001, pp74-75), yaitu: 1. Strive for consistency Dalam merancang user interface, konsistensi adalah hal yang perlu diperhatikan. Konsistensi digunakan pada keadaan atau situasi yang serupa misalnya tampilan menu, teks, warna, dan lainnya 2. Enable frequent users to use shortcuts Seiring dengan meningkatnya pemakaian, maka penggguna menginginkan jumlah interaksi yang semakin sedikit dan meningkatnya kecepatan interaksi. Sehingga shortcut adalah solusi bagi pengguna yang menginginkan interaksi yang singkat dan cepat. 3. Offer informative feedback Sistem memberikan reaksi yang informatif bagi setiap aksi yang dilakukan oleh pengguna. Aksi yang sering terjadi sebaiknya diberikan reaksi yang singkat, sedangkan untuk aksi yang jarang terjadi sebaiknya diberikan reaksi yang lengkap. 4. Design dialog to yield closure Sebaiknya diberikan tanda kapan suatu proses berada pada tahap awal, tengah, maupun akhir. Hal ini dilakukan agar pengguna mendapatkan suatu kepuasan
16 atas pencapaian, perasaan lega, dan indikasi kapan aplikasi siap untuk rangkaian aksi selanjutnya. 5. Offer simple error handling M erancang suatu sistem dimana pengguna tidak akan membuat kesalahan yang serius.
Apabila kesalahan
tersebut
tetap
terjadi,
sistem harus
dapat
mendeteksinya dan menawarkan instruksi yang sederhana kepada pengguna untuk mengatasinya. 6. Permit easy reversal of actions Dengan fasilitas ini dapat menghilangkan kegelisahan pengguna, apabila terjadi suatu kesalahan aksi, karena dapat kembali ke proses atau tahapan sebelumnya. Hal ini menyebabkan pengguna tidak takut melakukan kesalahan pada saat berinteraksi dengan sistem. 7. Support internal locus of control M emberikan perasaan kepada pengguna bahwa dia yang memegang kendali sistem. Rancang suatu sistem dimana pengguna yang memulai suatu aksi daripada hanya merespon. 8. Reduce short-term memory load Dikarenakan keterbatasan manusia akan pengolahan informasi jangka pendek, suatu aplikasi dirancang untuk tidak memberatkan pengguna. Oleh sebab itu, gunakan tampilan yang sederhana dan mudah dimengerti, serta urutan aksi yang teratur.
17 2.1.5 S tate Transition Diagram (S TD) M enurut
Pressman
(2001,
p302),
State
Transition
Diagram
(STD)
mengindikasikan bagaimana suatu sistem bereaksi terhadap suatu kejadian (event). STD menyampaikan berbagai cara bereaksi (disebut state) dari sebuah sistem dan kebiasaan dimana transisi dibuat dari suatu state ke state lainnya. STD berfungsi sebagai dasar dari behavioral modelling. Penyajian STD diwakili dengan simbol – simbol sebagai berikut : 1. Persegi Empat (State), melambangkan state sistem yang dapat diobservasi. Simbol dari state: 2. Anak Panah (Transition state), merupakan penanda transisi atau perubahan dari suatu state ke state lainnya. Simbol transition state: 3. Event, merupakan kejadian yang menyebabkan transisi atau perubahan yang terjadi pada suatu sistem. 4. Action, merupakan aksi yang terjadi sebagai akibat dari suatu event. State, transition state, event dan action digambarkan pada STD seperti gambar berikut :
State 1
Kondisi Aksi
St ate 2
Gambar 2.2 State Transition Diagram (STD)
2.1.6 JAVA Teknologi JAVA merupakan bahasa pemrograman yang dikembangkan oleh Sun Microsystems dan dirilis pada tahun 1995 sebagai komponen utama dari Sun
18 Microsystem Java platform. Sintaks dari bahasa pemrograman Java banyak diambil dari C dan C++, tetapi Java memiliki model objek yang lebih sederhana dan lebih sedikit fasilitas low-level. Proyek Java dimulai pada bulan Juni tahun 1991 oleh James Gosling. Pada mulanya bahasa ini disebut Oak yang berasal dari pohon oak yang berada di luar kantor Gosling, juga pernah berubah menjadi Greendan dan akhirnya dinamakan Java, dari kumpulan kata acak. Gosling bertujuan untuk mengimplementasi sebuah mesin virtual dan bahasa yang mirip dengan notasi C / C++. Sun merilis implementasi publik pertamanya Java 1.0 di tahun 1995 yang menjanjikan “Write Once, Run Anywhere” (WORA) dimana dapat dijalankan dengan baik pada platform popular, cukup aman dan menyediakan fitur keamanan yang dapat dikonfigurasi. Kode JAVA diproses melalui 2 tahap, yaitu fase kompilasi dan interpretasi. Dalam fase kompilasi, source code dari Java (file .java) akan diterjemahkan menjadi sebuah bahasa penengah (intermediate language) yang disebut Java Bytecode (file .class). Setelah itu bytecode tersebut siap untuk diinterpretasikan atau dijalankan menggunakan Java Virtual Machine (JVM). ( http://wikipedia.org ).
19
Gambar 2.3 Proses Kompilasi dan Interpretasi Kode Java ( http://en.wikipedia.org )
2.1.6.1 Teknologi Java Dengan berkembangnya versi terbaru dari Java yang disebut Java 2, teknologi Java dibagi menjadi 3 (tiga) macam edisi yaitu : •
Teknologi Java pada perangkat mobile ( J2M E) Micro edition dari Java platform memenuhi permintaan dari pengembang untuk menciptakan aplikasi guna memenuhi kebutuhan pasar dan konsumen. J2M E merupakan teknologi Java yang menyediakan aplikasi robust untuk berbagai tipe dan ukuran peralatan wireless dan wireline dari mobile phone, PDA dan sistem telematic pada kendaraan.
20 •
Teknologi Java pada PC Desktop ( J2SE) M erupakan
edisi
standar
dari
platform
Java
yang
didesain
untuk
mengembangkan keamanan, kemudahan dan aplikasi berperforma tinggi untuk desktop dengan jangkauan yang luas meliputi sistem operasi seperti Apple Macintosh, Linux, Microsoft Windows dan Sun Solaris. Kompatibel dengan desktop terutama pada lingkungan yang heterogen sehingga dapat menambah produktifitas pengguna, komunikasi dan kolaborasi dengan biaya yang sesuai. •
Teknologi Java untuk bisnis menengah dan besar ( J2EE) Edisi Enterprise dari Java Platform ini dikhususkan untuk membantu perkembangan bisnis dengan keperluan pengembangan yang besar, sebagai contoh server dan aplikasi desktop dan juga aplikasi wireless mobile dan wireline. Hingga saat ini telah lebih dari 5 juta download teknologi Java Enterprise (J2EE) yang digunakan untuk kepentingan segala industri dan tipe aplikasi dari proses manajemen bisnis, otomatisasi sales dan service dan produktifitas kantor. ( http://www.sun.com/java )
21
Gambar 2.4 Setiap Edisi Java Untuk Perangkat Platform Yang Berbeda. ( http://users.telenet.be/javapda/java%20platform.gif )
Dari gambar di atas dapat dilihat bahwa setiap Virtual Machine digunakan pada lingkungan yang berbeda. Hotspot VM merupakan Virtual Machine default yang disediakan oleh Sun untuk mengeksekusi segala skala versi dari Java. CVM (Compact Virtual Machine) dan KVM (Kilobyte Virtual Machine) merupakan Virtual machine yang lebih kecil yang digunakan untuk menjalankan perangkat mikro sedangkan Card VM merupakan Virtual Machine yang digunakan pada kartu elektronik, sebagai contoh SimCard pada mobile phone.
2.1.6.2 J2ME J2M E didesain oleh Sun Microsystem, merupakan sekumpulan dari Java API untuk pengembangan software bagi perangkat kecil seperti PDA, Mobile Phone dan aplikasi untuk konsumen lainnya. J2M E dibuat sebagai pengganti dari teknologi sejenis
22 yang bernama PersonalJava. J2M E menjadi pilihan populer dalam membuat aplikasi seperti games, instant messaging, dan aplikasi lainnya untuk mobile phone, J2M E juga bisa diemulasikan pada PC selama tahap pengembangan dan dapat dengan mudah diaplikasikan ke mobile phone. (http://en.wikipedia.org ).
2.1.6.2.1 Arsitektur J2ME Untuk mendukung flexibilitas dan pengembangan kostumisasi, J2M E arsitektur didesain agar dapat menjadi modular dan dapat terukur (scalable). Oleh karena itu, teknologi J2M E pada model aplikasi dibentuk menjadi 4 (empat) layer yang sudah tersusun di dalamnya. Arsitektur J2M E dimulai dari Host Operating System (OS), setelah itu Virtual Machine yang merupakan JVM (Java Virtual Machine) yang mengikuti CDC (Connected Device Configuration) atau KVM (Kilobyte Virtual Machine) untuk sistem yang mengikuti CLDC (Connected Limited Device Configuration). Pada bagian atas Virtual Machine terdapat Configuration Layer yang akan memakai 1 (satu) dari 2 (dua) bentuk : CDC atau CLDC dan yang berada pada layer teratas merupakan layer profile. Berikut gambar yang menunjukan arsitektur dari J2M E:
23
Gambar 2.5 Arsitektur dari J2ME
2.1.6.2.2 Configuration Sun memperkenalkan configuration untuk mendukung jangkauan produk yang luas yang sesuai dengan scope dari J2M E. Configuration mendefinisikan sebuah Platform Java untuk perangkat dengan jangkauan yang luas. Configuration terikat erat dengan Java Virtual Machine. Kenyataannya, configuration mendefinisikan fitur bahasa Java dan Library Java utama dari Java Virtual Machine khusus untuk Configuration yang berbasis pada memory, tampilan, konektifitas jaringan dan kekuatan processing. Dua Configuration yang sudah didefinisikan sekarang ini adalah Connected Device Configuration (CDC) dan Connected Limited Device Configuration (CLDC).
2.1.6.2.2.1 Connected Device Configuration (CDC) CDC bertujuan untuk mengaplikasikan kemampuan-kemampuan utama dari tiap jenis device, dimana target CDC tersebut adalah memiliki minimal memory 2M B termasuk RAM dan ROM . CDC menspesifikasikan penggunaan Java 2 Platform Virtual Machine secara penuh disebut juga Compact Virtual Machine (CVM).
24 Walaupun CVM mendukung fitur yang sama seperti J2SE Virtual Machine, CVM dirancang untuk konsumen dan embedded device. Ini berarti J2SE VM telah dikembangkan ulang untuk disesuaikan dengan batasan-batasan dari device yang memiliki sumber daya terbatas.
2.1.6.2.2.2 Connected Limited Device Configuration (CLDC) M enurut buku “Advanced Java 2 Plateform – HOW TO PROGRAM- “ karangan Deitel, Deitel, dan Santry (2002, p758), Connected Limited Device Configuration (CLDC) merupakan sekumpulan dari API yang memungkinkan pengembang untuk membuat aplikasi pada peralatan yang memiliki sumber daya terbatas (keterbatasan besar layar, memory, power dan bandwith). J2M E CLDC memiliki virtual machine dan penerjemah (intrepeter) yang menjalankan aplikasi-aplikasi dan sekumpulan class yang bisa digunakan pengembang untuk mengembangkan dan menjalankan program pada peralatan yang memiliki sumber daya terbatas. Tujuan dari CLDC adalah untuk menggambarkan suatu Platform Java standar untuk device dengan spesifikasi memory kurang dari 512 KB. CLDC untuk Kilo VM (KVM ), yang merupakan JVM yang sudah dioptimalisasi untuk battery - operated devices (perangkat yang beroperasi dengan baterai) berdasarkan dari 16-bit atau 32-bit microprocessor dengan 160 s.d 512 KB memory untuk Java. Kebutuhan minimal sebagai tempat penyimpanan untuk KVM dan library yang berhubungan adalah sekitar 128 KB. Karena variasi sistem perangkat lunak yang luas pada berbagai personal device, contoh : sebuah OS mungkin akan mendukung berbagai proses secara bersamaan sedangkan OS yang lainnya mungkin atau tidak mungkin mendukung sistem file. Berikut persyaratan minimum hardware untuk menggunakan CLDC :
25 •
Setidaknya terdapat 160 kilobytes dari non-volatile memory untuk library Virtual Machine dan CLDC.
•
Setidaknya terdapat 32 kilobytes dari volatile memory atau heap untuk proses menjalankan Virtual Machine.
(http://codeidol.com/java/wireless-java/Goals,-Requirements,-and-Scope/Requirem ents/)
2.1.6.2.3 Kilo Virtual Machine (KVM) KVM merupakan Virtual Machine yang dikembangkan oleh Sun Microsystem yang diturunkan dari Java Virtual Machine. KVM ini tidak mendukung fitur high-end dari JVM , sebagai contoh : sebuah KVM tidak bisa mendukung operasi Float dan finalisasi objek. CLDC tidak menggunakan J VM melainkan KVM . K pada KVM yang berarti Kilo memiliki arti bahwa Virtual M achine ini hanya akan berjalan di sekitar puluhan KB memory. Virtual M achine ini didesain untuk mengatasi masalah perangkat yang terikat pada sumber daya. KVM hanya memerlukan 40 dan 80 KB dari memory dan hanya 20-40 KB memory dinamik (heap). KVM juga bisa berjalan pada 16 bit prosesor yang memiliki kecepatan clock 25 M Hz.
2.1.6.2.4 Profile Profile merupakan extension (perpanjangan) dari sebuah Configuration. Di dalamnya terdapat class–class Java yang memungkinkan implementasi dari fitur yang khusus untuk perangkat komputerisasi yang kecil atau sebuah class dari perangkat kecil tersebut. Terdapat 7 profile yang sudah didefinisikan yakni : •
The Foundation Profile
26 Digunakan dengan CDC, terdapat keseluruhan dari class–class Java yang utama dan menjadi dasar hampir pada semua CDC profiles lain. •
The Game Profile Digunakan dengan CDC dan menyediakan platform untuk mengembangkan aplikasi game untuk perangkat CDC.
•
The Mobile Information Device Profile (M IDP) Digunakan
dengan
CLDC dan
berisi
class–class
yang
menyediakan
penyimpanan lokal, sebuah user interface dan kemampuan jaringan untuk sebuah aplikasi yang berjalan pada perangkat mobile. •
The PDAProfile (PDAP) Digunakan dengan CLDC dan menyediakan user interface library yang lebih mutakhir dan Java-based API untuk mengakses fitur penting dari Host Operating System. PDA Profile mirip dengan M IDP, namun PDA Profile mengacu pada PDA yang memiliki layer yang lebih baik dan lebih banyak memory dari pada mobile phone.
•
The Personal Profile Digunakan dengan CDC dan menambahkan fungsi user interface dasar untuk Foundation Profile. Profile ini menyediakan class yang mengimplementasi user interface mutakhir yang mampu menampilkan banyak windows pada waktu yang bersamaan.
•
The Personal Basis Profile Profile ini mirip dengan personal profile dimana profile ini digunakan dengan CDC dan The Foundation Profile. Namun perbedaanya adalah Basic Personal
27 Profile menyediakan class–class untuk mengimplementasikan sebuah user interface yang sederhana yang mampu untuk menampilkan sebuah windows pada satu waktu. •
The RMI Profile Profile ini juga digunakan dengan CDC dan The Foundation Profile. Profile ini menyediakan RM I (Remote Invocation Classes) untuk class–class utama yang terdapat pada Foundation Profile.
2.1.6.2.5 Mobile Information Device Profile (MIDP) M enurut buku “Advanced Java 2 Plateform – HOW TO PROGRAM-“ karangan Deitel, Deitel, dan Santry (2002, p758), Mobile Information Device Profile (MIDP) merupakan sekumpulan API yang memungkinkan pengembang untuk mempermudah dalam menangani masalah-masalah khusus pada aplikasi mobile seperti membuat user interfaces , mengizinkan penyimpanan lokal dan mendefinisikan daur hidup dari aplikasi client MIDP (M IDlets). Alat yang digunakan untuk menjalankan aplikasi menggunakan M IDP disebut MIDP devices. Alat tersebut termasuk mobile phones atau pager. M IDP merupakan versi dari Platform Java yang berdasarkan atas CLDC dan KVM yang mengacu untuk digunakan pada perangkat informasi mobile dengan tampilan dan storage (media penyimpanan) yang terbatas, seperti mobile phones dan beberapa PDA. Oleh karena itu, M IDP menyediakan user interface yang sederhana dan networking. M IDP merupakan profile J2M E yang paling dikenal karena merupakan dasar bagi Wireless Java. Berikut spesifikasi software dan hardware requirement untuk menjalankan M IDP:
28 •
Hardware requirement Persyaratan minimum hardware untuk dapat menjalankan M IDP adalah : o Memory:
256 kilobytes dari non-volatile memory untuk komponen MIDP. Requirement untuk memory di sini adalah untuk komponen M IDP saja. M IDP berjalan di atas CLDC jadi ukuran statik dari CLDC harus dimasukan juga.
8 kilobytes dari non-volatile memory untuk aplikasi data yang tetap.
128 kilobytes dari volatile memory atau heap untuk run time virtual machine.
o Display:
Ukuran Layar: 96 x 54
Kedalaman tampilan : 1-bit
Ukuran Pixel (aspect ratio): sekitar 1:1
o Input :
" one-handed keypad"
" two-handed keyboard"
touch screen
o Networking :
Koneksi 2 arah (two-way), wireless, intermittent, dengan bandwidth terbatas.
o Sound :
29
Kemampuan untuk memainkan nada, baik via hardware atau algoritma software.
•
Software requirement Persyaratan minimum software yang digunakan untuk menjalankan M IDP, yaitu: (http://codeidol.com/java/wireless-java/Goals,-Requirements,-and-Scope/Requirem ents/)
1. Kemampuan untuk menjalankan beberapa proses dalam waktu yang bersamaan, masing-masing dengan lokasi memory yang berbeda-beda. 2. Kernel minimal untuk mensupport hardware (interrupts handling, exception dan minimal scheduling). 3. M ekanisme untuk membaca dan menulis dari non-volatile memory untuk mendukung M IDP. 4. Kemampuan untuk membaca dan menulis akses untuk jaringan perangkat wireless untuk mendukung jaringan M IDP API. 5. M ekanisme untuk menyediakan waktu untuk menulis ke media penyimpanan dan menyediakan timer dasar API (Timer support). 6. Kemampuan minimal untuk menulis tampilan grafik bitmap. 7. M ekanisme untuk menerima input dari pengguna.
30 2.1.6.2.6 MIDlet (MIDP Application) M IDlet merupakan program yang ditulis untuk dieksekusikan pada Micro Information Devices. M IDP memungkinkan eksekusi banyak M IDlet. M IDlet merupakan bagian dari javax.microedition.midlet. M IDlet yang terdapat pada M IDP, memiliki file descriptor bernama JAD pada setiap M IDlet-nya, yang memungkinkan software manajemen aplikasi pada perangkat mengidentifikasi apa yang diperlukan dalam instalasi terlebih dahulu. Ada beberapa aturan M IDlet berdasarkan dari run-time environment-nya. Pengatur aplikasi yang ada di dalam perangkat bertanggung jawab untuk memulai M IDlet. Sebuah aplikasi memiliki akses sumber daya hanya pada: •
Semua Files dalam aplikasi file JAR File JAR harus memiliki semua class-class yang dibutuhkan untuk menjalankan aplikasi dengan semua resource seperti file image dan data pengguna.
•
Isi dari M IDlet descriptor File
•
Class-class yang ada sebagai bagian dari library CLDC dan M IDP
31 2.1.6.2.7 MIDlet Lifecycle Beberapa states atau keadaan dari M IDlet memperlihatkan bagaimana AMS dan interface M IDlet bergabung untuk membentuk rantai kehidupan dari M IDlet ( M IDlet Lifecycle). •
Pada mulanya, AM S menciptakan instance baru dari M IDlet. Default dari Constructor public dipanggil dan aplikasi berada dalam keadaan Paused (berhenti). Aplikasi akan ditaruh kedalam keadaan Destroyed (hancur) bila ada Exception yang dilempar pada fase ini, namun bila tidak terdapat Exception yang dilempar maka aplikasi dijadwalkan untuk eksekusi nanti.
•
Untuk menjalankan M IDlet ke keadaan aktif (Active State), AM S memanggil method startApp(). Pada bagian ini M IDlet itu sendiri akan mendapatkan sumber daya-sumber daya yang diperlukan dan memulai eksekusi.
•
Setelah aplikasi berjalan (Active State), M IDlet bisa bergerak ke dalam 2 (dua) keadaan atau state lain : 1. M IDlet menuju State Paused dengan memanggil method pauseApp() dari AM S 2. M IDlet bisa bergerak ke State Destroyed ketika pengguna dari AM S memutuskan untuk mengakhiri aplikasi atau AM S bisa juga memilih proses dengan prioritas yang lebih tinggi untuk mengklaim sumber daya yang sedang digunakan oleh M IDlet.
Gambar berikut ini menunjukan diagram transisi dari M IDlet lifecycle.
32
Gambar 2.6 Diagram MIDlet Lifecycle (http://poss.ipb.ac.id/files/JENI-J2ME-Bab03-High%20Level%20User%20Interface.pdf)
2.1.6.2.8 JAD dan JAR Komponen dasar dari setiap M IDlet suite akan mengirimkan file Java Application Descriptor (JAD) dan Java File Archive (JAR). Keduanya merupakan M IDlet suite. File JAD sesuai dengan namanya mendeskripsikan sebuah M IDlet suite. Deskripsi termasuk nama dari M IDlet suite, lokasi dan besar dari file JAR dan konfigurasi serta profile requirement. File juga dapat mengandung atribut lain yang terdapat pada M IDP. Atribut dimulai dengan M IDlet atau M icroEdition. Sintak File JAD mirip dengan yang ada pada class java.util.Properties yang ditemukan pada J2SE environment. Sebuah M IDlet suite pada suatu perangkat diidentifikasikan dengan atribut tuple (M IDlet-Name, M IDlet-Version, M IDlet-Vendor). File JAR akan di-install pada lokasi M IDlet-Jar-URL. Ukuran dari download harus sesuai dengan M IDlet-Jar-Size value.
33 JAR memiliki satu atau lebih M IDlet, terspesifikasi pada JAD dengan menggunakan atribut M IDlet-
. Sintaxnya berupa : M IDlet-n : M IDletName , [IconPathname] , ClassName Keterangan: •
n M erupakan nomor M IDlet dimulai dari 1 (satu) dan ber-inkremen 1 (satu) untuk setiap M IDlet
•
M IDletName merupakan nama yang terlihat oleh pengguna dari M IDlet
•
IconPathname merupakan pathname absolute dari .png file image yang terdapat pada di dalam JAR
•
ClassName merupakan nama class yang merupakan turunan dari class javax.microedition.midlet.M IDlet
dan
memiliki
constructor public tanpa
argumen. (http://developers.sun.com/mobility/learn/midp/lifecycle/#jadsnjars )
2.1.7 Database M enurut Connolly dan Begg (2002, pp14-15), database adalah kumpulan data yang terhubung secara logis (dan deskripsinya), dirancang untuk memenuhi kebutuhan informasi suatu organisasi. Semua data terintegrasi dengan jumlah duplikasi yang minimum. Database adalah tempat penyimpanan data tunggal yang besar, didefinisikan sekali dan digunakan berulangkali oleh banyak pengguna dan departemen. Dengan adanya database yang memisahkan struktur data dengan program aplikasi, apabila terjadi perubahan pada struktur data tidak mempengaruhi program aplikasi.
34 2.1.8 Entity Relationship Diagram (ERD) M enurut Conolly dan Begg (2002, p425), akan lebih mudah menggambarkan sebuah sistem yang kompleks daripada memahami user requirement specification yang berupa text yang panjang. Entity relationship Diagram digunakan untuk mempermudah dalam merepresentasikan entity dan bagaimana mereka berhubungan satu sama lainnya. Selama tahap perancangan database, ERD sebaiknya digunakan kapanpun bila diperlukan untuk membangun suatu gambaran mengenai sistem yang kita buat.
2.2 Teori Khusus 2.2.1 XML Extensible Markup Language (XM L) merupakan format teks yang sederhana dan fleksibel yang berasal dari SGM L. Awalnya didesain untuk memenuhi tantangan publikasi elektronik secara luas, XM L juga memainkan peranan yang semakin penting dalam pertukaran data di web maupun lainnya. (http://www.w3.org/XM L/) Selain itu, XM L juga didefinisikan sebagai suatu application profile dari SGM L. SGM L merupakan Standard Generalized Markup Language yang didefinisikan oleh ISO 8879. SGM L telah menjadi standar, untuk mengatur penyimpanan dari dokumentasi terstruktur lebih dari satu dekade, tetapi tidak cocok untuk melayani dokumen-dokumen di web. M endefinisikan XM L sebagai application profile dari SGM L maksudnya adalah semua sistem SGM L yang sesuai dapat membaca dokumen XM L. Akan tetapi, untuk menggunakan dan memahami dokumen XM L tidak memerlukan suatu sistem yang mampu memahami secara keseluruhan akan SGM L. XM L adalah, secara kasar, bentuk dari SGM L yang dibatasi. (http://www.xml.com/pub/a/98/10/guide0.html?page=2#AEN58)
35 XM L menyediakan fasilitas untuk menentukan tag-tag sendiri dan hubungan struktural diataranya. XM L tidak memiliki suatu set tag yang sudah didefinisikan seperti halnya pada HTM L. Jadi yang akan mengartikan tag-tagnya adalah aplikasi yang akan memprosesnya atau oleh stylesheet. Kelemahannya dibandingkan dengan HTM L, pada HTM L apabila ada suatu kesalahan penulisan biasanya browser akan berusaha memperbaikinya atau dilewatkan, sedangkan pada XM L, program akan berhenti dikarenakan error yang disebabkan oleh XM L.
2.2.1.1 Markup XML Dokumen XM L terdiri dari markup dan isi(content). Ada 6 (enam) tipe markup yang dapat muncul pada dokumen XM L: elements, entity references, comments, processing
instructions,
CDATA
sections,
dan
document
type
declarations.
(http://www.xml.com/pub/a/98/10/guide0.html?page=3) 1. Elemen Elemen adalah bentuk paling umum dari markup. Dibatasi dengan tanda lebih kecil (“<”) dan lebih besar(“>”), hampir semua elemen mengidentifikasikan maksud dari isi yang mereka batasi. Beberapa element bisa kosong, dengan kata lain mereka tidak memiliki isi. Jika suatu elemen tidak kosong, maka akan dimulai dengan tag awal, <element>, dan diakhiri dengan tag akhir, . 1.1 Atribut Atribut adalah pasangan nama dan nilai yang muncul setelah elemen dalam tag awal, contohnya: . Pada contoh tersebut, div adalah elemen dengan atribut class yang bernilai preface. Pada XM L semua nilai dari atribut harus diberi tanda petik.
36 2. Entity References Untuk mengenalkan markup pada dokumen, beberapa karakter telah dipesan atau digunakan untuk menandakan awal dari markup. M isalnya, tanda lebih kecil (“<”) yang menandakan awal dari suatu tag elemen dan tanda lebih besar (“>”) yang menandakan akhir dari markup. Untuk menampilkan karakter ini pada dokumen sebagai content (isi), ada alternatif lain untuk menampilkannya. Pada XM L, entity digunakan untuk menampilkan karakter spesial ini. Entity juga sering digunakan untuk teks yang berulang, bervariasi dan untuk memasukan isi dari file eksternal. Setiap entity memiliki nama yang unik. Entity dimulai dengan tanda “&” dan diakhiri dengan “;”. Contohnya: “<” merupakan entity dari “<”. 3. Comments Comments dimulai dengan “”. Comments dapat mengandung data apapun kecuali string “--“. Comments bukan merupakan bagian dari isi dokumen XM L. 4. Processing Instructions Processing Instructions (PIs) adalah “escape hatch” yang menyediakan informasi pada suatu aplikasi. Seperti comments, mereka secara teks bukan bagian
dari dokumen
XM L, tapi XM L processor
dibutuhkan
untuk
mengirimkannya ke suatu aplikasi. PIs
memiliki
bentuk:
pidata?>.
Name,
disebut
target
PI,
mengidentifikasikan PI ke aplikasi. Aplikasi hanya memproses target yang dikenali dan menghiraukan PI lainnya. Semua data yang mengikuti target PI adalah opsional, digunakan untuk aplikasi agar mengenal target. Nama yang
37 digunakan pada PI dapat dideklarasikan sebagai notasi yang digunakan mengenalinya secara formal. 5. CDATA Sections Dalam sebuah dokumen, CDATA section menginstruksikan parser untuk mengabaikan sebagian besar karakter markup. Ada kemungkinan pada deretan source code di dokumen XM L mengandung karakter yang dikenali sebagai markup oleh XM L parser (sebagai contoh, “<” dan “&”). Untuk menghindarinya CDATA section dapat digunakan. M isalnya:
Diantara bagian awal, “”, semua karakter data dikirim ke aplikasi, tanpa diterjemahkan. Elements, entity reference, comments, dan processing instructions tidak dikenali semua dan karakter yang menyusunnya dikirim ke aplikasi. Satu-satunya string yang tak boleh muncul pada CDATA section adalah “]]>”. 6. Document Type Declaration Sebagian besar spesifikasi XM L menghadapi berbagai jenis deklarasi yang diperbolehkan XM L. Salah satu kekuatan dari XM L adalah memperbolehkan pembuatan tag sendiri. Untuk beberapa aplikasi tertentu, urutan kemunculan tag yang tidak teratur mungkin saja tidak memiliki arti.
38 Secara umum, deklarasi memperbolehkan suatu dokumen untuk berkomunikasi dengan meta-information ke parser tentang isinya. Yang termasuk metainformation antara lain sequence yang diperbolehkan dan nested tag, nilai atribut dan tipenya, nama file eksternal baik mengandung XM L maupun tidak, format beberapa data eksternal (non-XM L), dan entity yang mungkin ditemukan. Ada 4 (empat) tipe deklarasi: element type declarations, attribute list declarations, entity declarations dan notation declarations.
2.2.1.2 Keuntungan XML Berikut merupakan beberapa keuntungan dari XM L, yaitu: 1. Simplicity Informasi yang disimpan dalam XM L mudah dibaca dan dimengerti, selain itu dapat diproses dengan mudah oleh komputer. 2. Openness XM L adalah sebuah standar W3C, yang didukung banyak pemimpin pasar dalam industri software. 3. Extensibility Tidak ada tag-tag tetap. Tag baru dapat dibuat sesuai kebutuhan. 4. Self-description Pada database tradisional, record data memerlukan skema yang disiapkan oleh database administrator. Dokumen-dokumen XM L dapat disimpan tanpa kejelasan tersebut, karena mengandung meta data dalam bentuk tag-tag dan atribut. 5. Contains machine-readable context information
39 Tag, atribut, dan struktur elemen menyediakan isi informasi yang dapat digunakan untuk memperkirakan maksud dari isi, membuka kemungkinan baru untuk mesin pencarian yang efisien, data mining, dan lainnya. Ini merupakan keuntungan XM L dari HTM L ataupun dokumen biasa, yang susah dalam mengevaluasi dari isi informasi. 6. Seperate content from presentation Tag XM L menjelaskan arti bukan tampilan. Bila moto HTM L adalah “Saya tahu bagaimana tampilannya”, maka moto dari XM L adalah “Saya tahu apa artinya dan beritahu saya bagaimana tampilannya.” Tampilan dari XM L dapat dikontrol dengan XSL stylesheet, yaitu memungkinkan untuk mengubah tampilan dokumen (atau website) tanpa mengubah isi dari dokumen. 7. Support multilingual documents and Unicode Hal ini penting untuk internasionalisasi dari aplikasi. 8. Facilitates the comparison and aggregation of data Struktur pohon dari dokumen XM L membuat dokumen mudah untuk dibandingkan dan dikumpulkan tiap elemennya. 9. Can embed multiple data types Dokumen XM L dapat menyimpan banyak kemungkinan tipe data. M ulai dari data multimedia misalnya gambar, lagu, video sampai ActiveX dan Java Applet. 10. Can embed existing data M empetakan struktur data yang ada seperti sistem file atau relasional database ke XM L sangat sederhana. XM L mendukung banyak format data 11. Provides a 'one-server view' for distributed data
40 Dokumen XM L dapat mengandung elemen nested yang terdistribusi di banyak remote server. XM L saat ini termasuk format paling canggih untuk data terdistribusi 12. Rapid adoption by industry IBM , Sun, M icrosoft, Netscape, DataChannel, dan SAP telah mengumumkan mendukung XM L. M icrosoft akan menggunakan XM L sebagai format pertukaran pada produk officenya, sementara itu baik web browser M icrosoft dan Netscape mendukung XM L. SAP telah mengumumkan dukungan XM L melalui SAP Bussiness Connector with R/3. (http://www.softwareag.com/xml/about/xml_ben.htm)
2.2.2 Virtual Reality (VR) Istilah Virtual Reality banyak digunakan orang dengan berbagai pengertian. Beberapa orang menganggap VR adalah suatu kumpulan teknologi tertentu, seperti HM D (Head Mounted Display), Glove Input Device dan Audio. Beberapa orang lainnya memperluas istilah VR dengan memasukan buku-buku, film atau fantasi dan imajinasi. Diantara semua definisi VR yang ada intinya adalah suatu cara bagi manusia untuk memvisualisasi, memanipulasi dan berinteraksi dengan komputer dan data yang rumit (complex). VR dapat dikatakan sebagai suatu teknologi yang memperbolehkan pengguna untuk berinteraksi dengan lingkungan yang disimulasikan dengan komputer, baik itu lingkungan sebenarnya ataupun fiksi.
41 2.2.2.1 Sejarah Perkembangan Virtual Reality Konsep Virtual Reality telah ada sejak beberapa dekade yang lalu, walaupun baru disadari oleh publik pada awal 90-an. Pada pertengahan 1950, M orton Heilig seorang cinematographer memimpikan sebuah teater yang mampu merangsang indra penonton agar dapat mengikuti cerita dengan lebih efisien. Dia membuat konsol pada 1960 yang bernama S ensorama yang didalamnya terdapat layar stereoscope, kipas, penebar bau, stereo speaker dan kursi gerak. Dia juga membuat layar televisi yang bisa dipakaikan ke kepala. Pada kasus ini pengguna merupakan penonton yang pasif. Pada 1961, teknisi Philco Corporation mengembangkan Head Mounted Display (HM D) pertama, dinamakan Headsight. Headsight dilengkapi dengan tampilan video dan sistem pelacak. Dibuat untuk digunakan pada situasi yang berbahaya. Pada 1965, seorang ahli komputer bernama Ivan Sutherland memimpikan sesuatu yang disebutnya “Ultimate Display.” M enggunakan tampilan ini seseorang bisa melihat ke dalam dunia virtual yang muncul seperti dunia asli. Visi inilah yang mendorong perkembangan virtual reality sampai saat ini. Salah satu perkembangan yang paling mempengaruhi dari dunia Virtual Reality adalah flight simulator. Berikut adalah tabel tentang sejarah perkembangan Virtual Reality :
42 Tabel 2.1 Sejarah Perkembangan VR (http://www.bilawchuk.com/mark/history.html)
2.2.2.2 Virtual Reality Immersion Dalam lingkungan virtual reality, seorang pengguna akan mengalami immersion, atau suatu perasaan berada dalam dunia virtual dan menjadi bagian dari dunia tersebut. Dengan kata lain VR yang efektif membuat pengguna menjadi tidak sadar akan keadaan asli di sekelilingnya dan fokus akan keberadaannya di dunia virtual tersebut. Untuk membuat immersion yang efektif, seorang pengguna harus dapat menjelajahi apapun yang muncul dalam lingkungan virtual dan dapat mengganti pandangan perspekif yang seamless. Jadi pengguna dapat melihat dari berbagai sudut pandang berdasarkan posisi pengguna saat melihat. (http://electronics.howstuffworks.com/virtual-reality1.htm)
43
2.2.2.3 Virtual Reality Interactivity Immersion pada lingkungan virtual adalah suatu hal yang penting, tetapi agar pengguna dapat merasa benar-benar ikut serta di dalamnya harus ada elemen interaksi. Pada awalnya, aplikasi virtual menghasilkan penonton yang pasif. Hal ini dikarenakan kurangnya interaksi dari pengguna. Interaktifitas tergantung banyak faktor. Steuer menyarankan tiga faktor, yaitu: •
S peed, kecepatan dari aksi pengguna yang tergabung dalam model komputer dan direfleksikan dalam suatu cara yang dapat dimengerti pengguna.
•
Range, berapa banyak kemungkinan hasil yang muncul dari aksi pengguna.
•
Mapping, kemampuan sistem menghasilkan kejadian alami (natural result) dalam merespon aksi pengguna.
Navigasi pada lingkungan virtual merupakan salah satu interaksi. Jika pengguna dapat mengatur gerakannya sendiri, hal itu bisa disebut sebagai pengalaman yang interaktif. Kebanyakan lingkungan virtual memasukan bentuk interaksi lain, karena pengguna mudah bosan setelah melakukan eksplorasi. M arry Whitton, seorang ahli komputer, mengatakan interaksi yang didesain dengan buruk dapat mengurangi immersion secara drastis. (http://electronics.howstuffworks.com/virtual-reality3.htm)
2.2.2.4 Virtual Tour Virtual tour (atau disebut juga panoramic tour) adalah sebuah simulasi dari suatu tempat yang benar-benar ada, biasanya terdiri dari kumpulan foto-foto panorama,
44 kumpulan gambar yang terhubung oleh hyperlink, ataupun video, dan/atau virtual model dari lokasi yang sebenarnya. Bisa juga menggunakan unsur-unsur multimedia lainnya seperti efek suara, musik, narasi, dan tulisan. Berbeda dengan tour sebenarnya, virtual tour biasanya diakses melalui komputer desktop, kios informasi atau media elektronik lainnya. Istilah "panoramic tour"
dan "virtual tour" sering digunakan
untuk
menggambarkan berbagai macam video dan media berbasis fotografi. Kata "panorama" mengindikasikan sebuah pandangan yang tidak terputus, karena panorama bisa berupa sekumpulan foto memanjang ataupun hasil pengambilan video yang kameranya berputar/bergeser. Tetapi istilah "panoramic tour" dan "virtual tour" paling sering diasosiasikan dengan virtual tour yang diciptakan dengan kamera foto yang tidak bergerak. Virtual tour ini dibuat dari sejumlah foto yang diambil dari sebuah titik pivot. Kamera dan lensa dirotasi berdasarkan apa yang disebut sebagai "nodal point" (suatu titik yang tepat berada pada bagian belakang lensa dimana cahaya berkumpul). Beberapa tempat virtual tour yang paling terkenal adalah museum, daerahdaerah pariwisata, universitas, real estate, tempat bersejarah, taman dan daerah penangkaran, tempat-tempat umum seperti White House dan Taj M ahal, serta hotel dan motel.
2.2.2.5 Virtual Reality Photography VR photography atau virtual reality photography, adalah suatu teknik untuk dapat melihat secara interaktif foto panorama yang memiliki sudut pandang lebar. Sebuah VR Photograph secara umum adalah suatu tampilan foto lebar yang mencakup sudut pandang 360 derajat dan dapat mencakup seluruh spherical view.
45 VR photography merupakan
sebuah
teknik
menangkap
dan
membuat
pemandangan lengkap dalam sebuah tampilan foto, yang dapat dilihat ketika diputar dari suatu titik pusat. Umumnya dibuat dengan menyambungkan banyak foto yang diambil dalam multi-row 360 degree rotation; gambar yang dihasilkan dapat diberikan efek menggunakan komputer, atau gabungan dari foto dunia asli dan objek yang dibuat komputer. Hasil akhirnya sering disebut dengan VR Panorama, dapat dilihat menggunakan aplikasi antarmuka yang interaktif (dapat berputar secara horizontal dan vertikal, seakan-akan berada di dalam pemandangan dunia asli).