BAB 2
LANDASAN TEORI
2.1
Virtualitas Sebuah hal dapat disebut "virtual" apabila hal tersebut diimplementasikan oleh komputer atau jaringan dari beberapa komputer (Bartle, 2004, p.1). Dunia virtual merupakan tempat dimana sesuatu hal yang bersifat imajiner bertemu dengan dunia nyata, sehingga virtualitas dapat disebut sebagai melakukan hal yang tidak bisa dilakukan dengan cara mengubah dan mengalami sesuatu secara fisik di dunia nyata dengan menggunakan mediasi elektronik.
2.2
Kecerdasan Kecerdasan merupakan karakteristik istimewa dari pikiran manusia dan salah satu hal yang dapat dibanggakan. Kecerdasan membuat manusia dapat mengerti, memeriksa, dan membangun dunia yang dimiliki secara luas, termasuk membangun diri sendiri (Hutter, 2012). Perilaku kecerdasan dapat ditandai dengan: a. Belajar atau mengerti dari penglaman b. Memecahkan hal yang bersifat mendua atau kontradiktif c. Merespon situasi baru dengan cepat d. Menggunakan alas an untuk memecahkan problem secara efektif 10
11
e. Berurusan dengan situasi yang membingungkan f. Memahami dengan cara yang biasa/rasional g. Menerapkan pengetahuan untuk memanipulasi lingkungan h. Mengenali elemen penting pada suatu situasi
2.2.1
Faktor yang Mempengaruhi Kecerdasan Terdapat beberapa faktor yang mempengaruhi kecerdasan (Djaali, 2011), yaitu:
a. Faktor Bawaan atau Biologis. Faktor ini ditentukan oleh sifat yang dibawa sejak lahir. Batas kesanggupan atau kecakapan seseorang dalam memecahkan masalah, antara lain ditentukan oleh faktor bawaan. b. Faktor Minat dan Pembawaan yang Khas. Minat mengarahkan perbuatan kepada suatu tujuan dan merupakan dorongan bagi perbuatan itu. c. Faktor Pembentukan atau Lingkungan. Pembentukan adalah segala keadaan di luar diri seseorang yang mempengaruhi perkembangan inteligensi. d. Faktor Kematangan. Tiap organ dalam tubuh manusia mengalami pertumbuhan dan perkembangan. e. Faktor Kebebasan.
12
Hal ini berarti manusia dapat memilih metode tertentu dalam memecahkan masalah yang dihadapi. Di samping kebebasan memilih metode, juga bebas dalam memilih masalah yang sesuai dengan kebutuhannya.
2.2.2
Jenis-Jenis Kecerdasan Terdapat tujuh jenis kecerdasan (Armstrong, 2002, p.3): 1. Kecerdasan Linguistik Kecerdasan dalam mengolah kata. Ini merupakan kecerdasan para jurnalis, juru ceritam penyair, dan pengacara. 2. Logis-matematis Kecerdasan dalam hal angka dan logika. Ini merupakan keceradasan para ilmuwan, akuntan, dan pemrograman komputer. 3. Kecerdasan spasial Kecerdasan
dalam
mencakup
berpikir
dalam
gamabr,
serta
kemampuan untuk menyerap, mengubah, dan menciptakan kembali macam aspek dunia visual. Ini merupakam kecerdasam para arsitek, fotografer, artis, pilot, dan insiyur mesin. 4. Kecerdasan musikal Kemampuan utnuk menyerap, menghargai dan menciptakan irama dan melodi.
13
5. Kinestetik jasmani Kecerdasan fisik yang mencakup bakat dalam mengendalikan gerak tubuh dan keterampilan dalam menangani benda. 6. Kecerdasan antarpribadi Kemampuan untuk memahami dan bekerja sama dengan orang lain. Kecerdasan ini terutama menuntut kemampuan untuk mencerap dan tanggap terhadap suasana hati, perangai, niat, dan hasrat orang lain. 7. Kecerdasan intrapribadi Kecerdasan
dalam
diri
sendiri.
Orang
yang
keceradasan
intrapribadinya snagat baik dapat dengan mudah mengakses perasaannya sendiri, membedakan berbagai macam keadaan emosi, dan menggunakan pemahamannya sendiri untuk memperkaya dan membimbing hidupnya.
2.3
Artificial Intelligence Artificial Intelligence adalah membuat komputer dapat melakukan tugas seperti manusia. Komputer memiliki kemampuan dalam mengatasi banyak masalah, aritmatika, pengurutan, pencarian, dan lainnya. (Millington, 2011, p.4). Ada tiga tujuan kecerdasan buatan (Kusrini, 2006, p4), yaitu : 1. Membuat komputer lebih cerdas 2. Mengerti tentang kecerdasan 3. Membuat mesin lebih berguna
14
2.3.1
Pemrograman Kecerdasan Buatan vs. Pemrograman Konvensional Kecerdasan buatan berbeda dengan program konvensional. Pemrograman konvensional berbasis pada algoritma yang mendefinisikan setiap langkah dalam penyelesain masalah. Pemrograman konvensional dapat menggunakan rumus matematika atau prosedur sekeunsial untuk menghasilkan
solusi.
Lain
halnya
dengan
pemrograman
dalam
kecerdasan buatan yang berbasis pada representasi simbol dan manipulasi. Dalam kecerdasan buatan, sebuah simbol dapat berupa kalimat, kata, atau angka yang digunakan untuk merepresentasikan obyek, proses, dan hubungannya. Obyek dapat berupa manusia, benda, ide, konsep, kegiatan, atau pernyataan dari suatu fakta. Proses digunakan untuk memanipulasi smbol untuk menghasilkan saran atau pemecahan masalah. Selain itu keceradasan buatan dapat melakukan penalaran terhadap data yang tidak komplit. Kemampuan penlaran dan penjelasan terhadap setiap langkah dalam pengalmbilan keputusan menjadi kelebihan dari kecerdasan buatan. (Kusrini,2006,p4). Perbandingan
AI
(Kusrini,2006,p8) antara lain :
dengan
Pemrograman
Konvensional
15
Tabel 2.1 Perbandingan AI dengan Pemrograman Konvensional
2.3.2
Dimensi
Kecerdasan Buatan
Processing
Simbolik
Pemrograman Konvensional Algoritmik
Input
Tidak harus lengkap
Harus Lengkap
Search
Heuristic
Alogritmik
Major Interest
Knowledge data
Informasi
Struktur
Terpisah antara kontrol dan knowledge
Kontrol teritegrasi dengan data
Output
Tidak harus lengkap
Harus tetap
Maintanance dan Update
Mudah dilakukan karena menggunakan modulmodul
Umumnya sulit untuk dilakukan
Kemampuan pemikiran
Terbatas tetapi ditingkatkan
Tidak ada
dapat
Konsep Kecerdasan Buatan Ada beberapa konsep yang harus dipahami dalam kecerdasan buatan, di antaranya (Kusrini,2006,p5) : 1. Turing Test – Metode Pengujian Kecerdasan Turing Test merupakan sebuah metode pengujian kecerdasan yang dibuat
Alan Turing. Proses uji ini melibatkan seorang penanya
(manusia) dan dua obyek yang ditanyai. Yang satu adalah seorang manusia dan satunya adalah sebuah mesin yang akan diuji. Penanya
16
tidak dapat melihat langsung kepada obyek yang ditanyai. Penanya diminta untuk membedakan mana jawaban komputer dan mana jawaban manusia berdasarkan jawaban kedua obyek tersebut. Jika penanya tidak dapat membedakan mana jawaban mesin dan mana jawab manusia maka Turing berpendapat bahwa mesin yang diuji tersebut dapat diamsumsikan cerdas. 2. Pemrosesan Simbolik Komputer semula didesain untuk memproses bilangan/angka-angka (pemrosesan
numerik).
Sementara
manusia
berpikir
dan
menyelesaikan masalah lebih bersifat simbolik, tidak didasarkan pada sejumlah rumus, atau melalukan komputasi matematis. Sifat penting dari AI adalah bahwa AI merupakan bagian dari ilmu komputer yang melakukan proses secara simbolik dan non-algoritmik dalam penyelesaian masalah. 3. Heuristic Istilah heuristic diambil dari bahasa Yunani yang berarti menemukan. Heuristic merupakan suatu strategi untuk melakukan proses pencarian (search) ruang problem secara selektif, yang memandu proses pencarian yang dilakukan di sepanjang jalur yang memiliki kemungkinan sukses paling besar. 4. Penarikan Kesimpulan AI mencoba membuat mesin memiliki kemampuan berpikir atau mempertimbangkan (reasoning). Kemampuan berpikir (reasoning)
17
termasuk di dalamnya proses penarikan kesimpulan (inferencing) berdasarkan fakta-fakta dan aturan dengan menggunakan metode heuristic atau metode pencarian lainnya 5. Pencocokan Pola AI bekerja dengan metode pencocokan pola (pattern matching) yang berusaha untuk menjelaskan obyek, kejadian (events) atau proses, dalam hubungan logic atau komputasional.
2.4
Computer Vision Berbeda dengan manusia yang dapat mendeskripsikan hal yang dilihatnya dengan mudah, vision dalam komputer merupakan hal yang sulit dilakukan karena komputer tidak dapat menghasilkan solusi sebelum berhasil mendapatkan informasi dari input yang tidak diketahui dan tidak lengkap (Szeliski, 2010, p.3). Computer vision bertujuan untuk mengkomputerisasi penglihatan manusia atau dengan kata lain membuat citra digital dari citra sebenarnya (sesuai dengan penglihatan manusia). Hal tersebut dapat disimpulkan input dari computer vision adalah berupa citra penglihatan manusia sedangkan outputnya berupa citra digital. (Putra, 2010, p.2). Saat ini computer vision digunakan dalam berbagai bidang, diantaranya (Szeliski, 2010, p.5): 1. Optical character recognition (OCR) Pembacaan kode pos yang ditulis menggunakan tangan pada amplop surat dan plat nomor kendaraan
18
2. Machine inspection Penginspeksian setiap bagian produk secara cepat untuk pengontrolan kualitas menggunakan stereo vision atau mencari ketidaksempurnaan pada besi menggunakan X-ray vision. 3. Retail Pengenalan objek pada pemeriksaan jalur otomatis. 4. 3D model building Kontsruksi 3D model secara otomatis dari satelit seperti Bing Maps. 5. Medical imaging Pencatatan dari kemampuan pembelajaran jangka panjang dari morfologi otak manusia sepanjang umur manusia. 6. Automotive safety Pendeteksian halangan yang tak terduga seperti pejalan kaki di jalan raya dengan kondisi dimana alat yang biasanya digunakan untuk mendeteksi adanya halangan tersebut, misalnya radar, tidak berfungsi 7. Match move Penggabungan computer-generated imagery (CGI) dengan aksi langsung dari manusia dengan cara mengikuti beberapa poin fitur yang terdapat di dalam video sumber untuk memperkirakan gerakan dan bentuk dari lingkungan yang ingin dibuat. Teknik ini biasanya digunakan dalam pembuatan film, seperti Jurassic Park.
19
8. Motion capture Penggunaan marker yang direkam oleh beberapa kamera atau teknik lain yang berbasis penglihatan untuk menangkap actor untuk animasi komputer 9. Surveillance Memonitor pengganggu, menganalisa lalu lintas jalan tol, dan memonitor kolam renang untuk menghindari korban tenggelam 10. Fingerprint recognition and biometrics Untuk autentikasi akses secara otomatis dan untuk aplikasi forensik
2.5
Motion Detection Motion Detection merupakan inti dari beberapa aplikasi visual yang secara otomatis memberikan stimulus untuk mendeteksi obyek yang berada pada bidang yang dilihat oleh sensor. Pendeteksian biasanya dilakukan dengan menggunakan metode background substraction (BS), terutama untuk aplikasi yang mengandalkan kamera yang tak bergerak (fixed camera). Pada dasarnya, ide dari teknik ini adalah membuat model latar belakang (background) dari rangkaian gambar-gambar dalam urutan untuk mencari obyek yang berbeda antara latar belakang (background) dan frame yang berlaku saat ini (current frame) (Martinez-Martin, 2012, p.1). Akurasi dari proses segmentasi bergantung pada seberapa baik dari latar belakang (background) yang dimodelkan. Permasalahan semakin kompleks ketika skenario keadaan nyata (real-life) betulbetul dipertimbangkan.
20
Ada beberapa metode yang diusulkan sampai sekarang. Beberapa metode ini diklasifikasikan mengikuti model yang digunakan untuk representasi latar belakang (background) sebagai berikut (Martinez-Martin, 2012, p.2): − Basic background modeling, rata-rata (the average), the median, atau analisis histogram. − Statistical background modeling, single Gaussian, Mixture of Gaussians atau Kernel Density Estimation (KDE). − Background estimation, Wiener filter, Kalman filter, atau Tchebychev filter.
2.6
Augmented Reality Augmented Reality merupakan sistem yang menampilkan dunia nyata bersama dengan obyek virtual komputer, yang terlihat berdampingan dalam ruang yang sama (Maad, 2010, p.3). Augmented Reality merupakan gabungan dari beberapa teknologi yang bekerja sama dalam membawa informasi digital ke dalam persepsi visual (Kipper, 2012, p.4). Berdasarkan Gene Becker of Lightning Laboratories dikatakan bahwa Augmented Reality merupakan (Kipper, 2012, p.4): − Teknologi − Bidang Penelitian − Komputasi masa depan − Sebagai industry komersial − Wadah baru untuk ekspresi yang kreatif
21
Persyaratan untuk sebuah sistem AR adalah methodical dan technological requirements Tujuan metodis (methodical) menggunakan sistem AR adalah untuk memberikan cost-efficient dan dukungan yang komprehensif pada semua tahap perencanaan (Hohl, 2009, p.20). Untuk technological requirements ada tiga yang paling penting yaitu (Hohl, 2009, p.20) : − Fleksibel − Baik dalam run-time behavior dan performa dari sistem − Baik dalam integrasi secara teknologi ke alat perencanaan lainnya
2.6.1
Tujuan Augmented Reality Tujuan sebuah sistem AR adalah membuat sensasi dimana obyek virtual dihadirkan ke dalam dunia nyata. Untuk mendapatkan efek, software mengkombinasikan elemen virtual reality dengan yang ada di dunia nyata. Karena sistem AR sangat efektif saat elemen virtual ditambahkan ke dalam dunia nyata, umumnya AR melibatkan penambahan obyek 2D atau 3D ke dalam dunia nyata(real-time) (Cawood ,2008.p.11)
2.6.2
Sifat Augmented Reality Sifat-sifat Augmented Reality antara lain (Maad, 2010, p.3): − Menggabungkan objek virtual dan obyek nyata dalam dunia nyata − Bersifat interaktif secara real time − Augmented Reality menyatukan obyek nyata dan virtual
22
− Diterapkan untuk semua indra pengguna
2.6.3
Penggunaan Augmented Reality Saat ini penggunaan Augmented Reality terus berkembang dalam berbagai bidang. Bidang-bidang tersebut diantaranya (Kipper, 2012, p.14): 1. Periklanan Saat ini banyak produk sedang memanfaatkan kehadiran mobile phone untuk memulai mengintegarsikan AR dengan promosinya. Banyak perusahaan seperti Nissan, Toyota, dan BMW menggunakan iklan majalah dan AR untuk memberikan 3D obyek mobil kepada pembaca yang diiklankan. 2. Task Support AR sudah dan akan terus digunakan untuk membantu masyarakat lebih mudah dalam melakukan tugas yang sulit seperti merakit dan memelihara. Salah satu contohnya adalah US Port Office yang membuat program untuk membantu user dalam mengecek ukuran paket sebelum dikirim, menghemat waktu di kantor pos. 3. Navigasi Yelp dan NRU merupakan program AR yang membantu user dalam mencari tempat untuk makan, minum dan berbelanja, dimana program ini memberikan petunjuk kepada user secara real-time sesuai dengan apa yang dicari oleh user.
23
4. Home and Industrial Untuk penggunaan di rumah, Total Immersion’s Magic Mirror menggunkan AR untuk menempatkan dan memperbesar representasi dari perabotan atau peralatan dan membiarkan user merasakan bagaimana perabotan atau peralatan terlihat. 5. Seni Kontruct merupakan program yang digunakan untuk menghasilkan karya seni dalam lingkup AR.
2.6.4
Perangkat Augmented Reality Terdapat tiga tipe utama perangkat AR, yaitu HMD (head mounted display), Virtual Retinal Display, dan Tampilan Berbasis Layar. 1. HMD (head mounted display) yang digunakan dalam aplikasi realitas tertambah, yaitu opaque HMD dan see-through HMD. Keduanya digunakan untuk berbagai jenis pekerjaan dan memiliki keuntungan dan kerugian masing-masing a. Opaque Head-Mounted Display Ketika
digunakan
di
atas
satu
mata,
pengguna
harus
mengintegrasikan padangan dunia nyata yang diamati melalui mata
yang
tidak
tertutup
dengan
pencitraan grafis
yang
diproyeksikan kepada mata yang satunya. Namun, ketika digunakan menutupi kedua mata, pengguna mempersepsikan dunia nyata melalui rekaman yang ditangkap oleh kamera.
24
Sebuah komputer kemudian menggabungkan rekaman atas dunia nyata
tersebut
dengan
pencitraan grafis untuk
menciptakan
realitas tertambah yang didasarkan pada rekaman. b. See-Through Head-Mounted Display Tidak
seperti
penggunaan opaque
HMD, see-through
HMD menyerap cahaya dari lingkungan luar, sehingga pengguna dapat mengamati dunia nyata secara langsung melalu mata. Sebuah sistem cermin yang memantulkan cahaya dari pencitraan grafis yang dihasilkan oleh komputer akan diletakkan di depan mata
pengguna. Pencitraan yang
gabungan optis dari
dihasilkan
pandangan
atas
merupakan
dunia
nyata
langsung
akan
dengan pencitraan grafis. 2. Virtual Retinal Display Virtual
retinal
displays (VRD)
secara
memproyeksikan cahaya ke retina mata pengguna. Tergantung pada intensitas cahaya yang
dikeluarkan,
VRD
dapat
menampilkan
proyeksi gambar yang penuh dan juga tembus pandang, sehingga pengguna
dapat
menggabungkan
realitas
nyata
dengan gambar yang diproyeksikan melalui sistem penglihatannya. VRD dapat menampilkan jarak pandang yang lebih luas daripada HMD dengan gambar beresolusi tinggi. Keuntungan lain dari VRD adalah konstruksinya yang kecil dan ringan. Namun, VRD yang ada kini masih merupakan prototipe yang masih berada dalam tahap
25
perkembangan, sehingga masih belum dapat menggantikan HMD yang masih dominan digunakan dalam bidang realitas tertambah. 3. Tampilan Berbasis Layar Apabila gambar rekaman digunakan untuk menangkap keadaan dunia nyata, keadaan realitas tertambah dapat diamati menggunakan opaque HMD atau
sistem
memproyeksikan
berbasis layar. gambar
kepada
Sistem
berbasis layar dapat
pengguna
menggunakan
tabung sinar katode atau dengan layar proyeksi. Dengan keduanya, gambar stereoskopis dapat dihasilkan dengan mengamati pandangan mata kiri dan kanan secara bergiliran melalui sistem yang menutup pandang mata kiri selagi gambar mata kanan ditampilkan, dan sebaliknya. Tampilan berbasis layar ini juga telah diaplikasikan kepada perangkat genggam. Pada perangkat-perangkat genggam terdapat tampilan dari layar LCD dan kamera. Perangkat genggam berfungsi seperti jendela atau kaca pembesar yang menambahkan benda-benda maya pada tampilan lingkungan nyata yang ditangkap kamera
2.7
Virtual Dressing Room Mencoba pakaian pada toko pakaian biasanya merupakan aktivitas yang memakan banyak waktu. Selain itu, tidak memungkinkan bagi para pembeli untuk mencoba pakaian yang dijual pada toko pakaian online (Işikdoğan, et al., 2012). Pada versi kedua dari virtual dressing room, user akan dapat memutar
26
figur dan dapat melihat figur dari beragam sudut seperti apa model tersebut terlihat dengan pakaian tersebut. Kemudian user juga harus memiliki PC camera atau webcam untuk mengambil gambar full motion dari user ketika user mengenakan barang / pakaian yang ditampilkan. Hal ini akan ditampilkan seakan-akan user melihat cermin pada monitornya (Oberst, 2001, p.49). Virtual Dressing Room merupakan konsep yang baru yang perlahan-lahan tersedia pada berbagai macam fashion website. Memiliki beberapa cara dan bentuk, virtual dressing room memungkinkan pembeli yang berada di rumah untuk mencoba pakaian dan perlengkapan fashion lainnya secara virtual dan online. Virtual dressing room memungkinkan pelanggan untuk mengukur apakah model dari pakaian tersebut cocok untuk digunakan olehnya sebelum dimasukkan ke “keranjang belanja” dari sebuah toko online. Pada Oktober 2010, Macy’s memperkenalkan kaca virtualnya, memungkinkan pembeli untuk memilih barang dagangannya dari komputer melalui iPad dan kaca touch screen. Dengan menggunakan akses internet yang diamankan dengan password, pembeli dapat memilih untuk membagikan atau memperlihatkan gambar dari barang dagangan mereka kepada teman-temannya melalui internet dan memperbesar pakaian yang ada seukuran dengan ukuran aslinya. Ada beberapa jenis dari virtual dressing room, yaitu: a. Video Virtual Dressing Rooms Teknologi video merupakan salah satu teknologi yang pertama kali digunakan dalam virtual dressing room. Dengan menggunakan
27
teknologi video, pembeli dapat melihat tampilan realistik dan nyata dari pakaian yang mereka sukai walaupun mereka berada di rumahnya b. Robotic Virtual Dressing Rooms Virtual dressing room robotic pertama ditemukan oleh perusahaan baru di Estonia, bernama Fits.Me. Prototipe ini dikembangkan selama tiga tahun dan pada tahun 2010 sudah dapat merubah menjadi 2000 jenis tubuh manusia. Program robotik ini membutuhkan beberapa persyaratan ukuran tubuh dari penggunanya untuk menggambarkan dan membangun sebuah robot yang memiliki tubuh yang sama dengan pengguna. Setelah kesamaan telah didapat, pelanggan dapat dengan langsung mencoba beberapa ukuran dari pakaian untuk menentukan ukuran apa yang paling cocok untuk digunakan. c. Motion Detector Virtual Dressing Rooms Dengan menggunakan metode inovatif dari Eyemagnet yang diluncurkan pada tahun 2006, yaitu menggunakan deteksi gerakan untuk membuat sebuah touch free screen. TV plasma diletakkan untuk menampilkan barang-barang yang dijual oleh toko tersebut. Kemudian, sebuah web camera diletakkan untuk menangkap gambar pelanggan yang ingin mencoba pakaian. Dengan menggunakan gerakan tangannya, pelanggan dapat memilih berbagai jenis pakaian dan mencobanya secara virtual.
28
d. Web Cam Virtual Dressing Rooms Virtual dressing room yang menggunakan web cam pertama kali dikenalkan oleh Zugara pada Juni 2009. Aplikasi ini memungkinkan pembeli yang berada di rumahnya untuk mencoba pakaian secara virtual dengan menggunakan web cam. Awalnya, aplikasi ini membutuhkan marker untuk mengeluarkan gambar pakaian, tetapi seiring dengan pengembangan aplikasi, sekarang ini marker tidak lagi dibutuhkan untuk menampilkan pakaian.
2.8 Adobe Flash Adobe Flash (dahulu bernama Macromedia Flash) adalah salah satu perangkat lunak unggulan dari Adobe Systems. Adobe Flash digunakan untuk membuat gambar vector atau animasi dari suatu gambar. File / berkas yang dihasilkan oleh perangkat lunak ini berekstensi .swf yang dapat diputar di web browser (mis. Mozila Firefox, Google Chrome, Internet Explorer, dan lainnya) yang telah ditambahkan dengan plug-in Adobe Flash Player. Flash menggunakan bahasa pemrograman ActionScript yang pertama kali muncul pada Adobe Flash 5. Adobe Flash merupakan sebuah program yang telah didesain khusus dan menjadi program aplikasi standar untuk authoring tool professional yang digunakan untuk membuat animasi dan bitmap yang menarik untuk pembangunan situs web yang interaktif dan dinamis. Flash didesain dengan kemampuan untuk membuat animasi 2 dimensi yang handal dan tingan sehingga sering digunakan untuk membangun dan memberikan efek animasi pada sebuah website, CD
29
interaktif, dan lainnya. Flash juga dapat digunakan untuk pembuatan animasi logo, movie, game, pembuatan navigasi pada situs web, tombol animasi, banner, menu interaktif, dan lainnya. Movie-movie yang dibuat dengan menggunakan Flash memiliki ukuran file yang kecil dan dapat ditampilkan dengan ukuran layar yang dapat disesuaikan dengan keinginan pengguna. Banyak fitur-fitur baru yang disediakan di dalam Flash yang dapat meningkatkan kreativitas dalam pembuatan media yang membantu programmer supaya lebih memusatkan perhatian pada desain yang dibuat secara cepat, bukan memusatkan pada cara kerja dan penggunaan aplikasi tersebut.
2.9
ActionScript ActionScript adalah bahasa pemrograman Macromedia Flash yang digunakan untuk membuat interaksi dan animasi. ActionScript juga digunakan untuk mengolah data, baik number atau string. Hal ini berarti ActionScript dapat digunakan untuk mengeksekusi pengoperasian rumus matematika, atau memanipulasi data string. Hebatnya lagi, kita dapat mengombinasikan penggunaan action untuk mengolah data angka dan sekaligus menganimasi objek. (Fanani, 2007, p.2). Dalam membuat suatu interaktivitas, kita harus memahami tiga komponen penting dalam ActionScript, yaitu : a. Event (kejadian): merupakan peristiwa yang terjadi untuk memicu sebuah aksi pada sebuah objek.
30
b. Action: merupakan aksi atau kerja yang dikenakan atau diberikan pada suatu objek. c. Target: merupakan objek yang dikenai oleh aksi
2.9.1
Event dalam ActionScript Event atau kejadian dalam Flash dibagi lagi menjadi : 1. Mouse Event Mouse Event akan terjadi ketika seorang user berintegrasi atau menggunakan tombol pada movie clip. Kebanyakan mouse event juga disebut button actions karena selalu melalui / menggunakan tombol dan memicu sebuah action. Contoh mouse event adalah : a. on (press) Keadaan ini akan terjadi ketika seorang user meletakkan pointer pada tombol dan menekan tombol mouse tersebut (klik tombol kiri). b. on (release) Keadaan ini akan terjadi ketika user meletakkan pointer pada tombol, menekan tombol (klik) dan melepasnya. Event ini merupakan event standar atau sering digunakan pada suatu action. c. on (releaseOutside) Keadaan ini akan terjadi ketika user menekan tombol dan melepaskannya di luar area tombol.
31
d. on (rollOver) Keadaan ini akan terjadi ketika user menggerakkan pointer yang semula berada pada area tombol keluar dari area tombol. e. on (rollOut) Keadaan ini akan terjadi ketika user menggerakkan pointer yang semula berada pada area tombol keluar dari area tombol. f. on (dragOver) Keadaan ini akan terjadi ketika user meletakkan pointer pada area tombol mouse, menggerakannya keluar area tombol dan memasukkan kembali ke area tombol (dalam menggerakkan tombol, posisi tombol dalam keadaan tertekan). g. on (dragOut) Kejadian ini akan terlaksana ketika user meletakkan pointer pada area tombol, menekan tombol mouse, menggerakkannya keluar area tombol.
2. Keyboard Event Keyboard Event akan terjadi ketika user menekan sebuah tombol karakter, angka, tombol fungsi (F1-F12), simbol (#,$,&, dll), tombol panah dan tombol lainnya (Insert, Home, PgDown, dll). Dalam Keyboard Event ini berlaku Case Sensitive, yaitu membedakan huruf besar dan huruf kecil. Jadi bila user menekan tombol keyboard A maka hasilnya akan berbeda dengan kalau dia menekan tombol a.
32
3. Frame Event Frame Event merupakan event yang diletakkan pada keyframe. Kegunaan dari event ini adalah bahwa action yang diberikan didasarkan atas satuan waktu. Misalnya suatu movie clip akan diberi action stop setelah 2 detik, maka berikan action stop pada frame ke 24 (secara standar, 1 detik ditandai dengan 12 frame).
4. Movie Clip Event Movie Clip Event merupakan event yang disertakan pada suatu movie clip atau instan movie clip yang akan terjadi ketika sesuatu relasi terjadi pada movie clip. Adapun jenis movie clip event terdiri dari : a. onClipEvent (load) Event ini akan terjadi pada saat tampilan pertama kali sebuah instant movie clip. Event ini biasanya digunakan untuk inisialisasi variabel atau property dari movie clip b. onClipEvent (enterFrame) Event ini akan terjadi setiap waktu pada saat timeline movie clip memasuki sebuah frame baru. Jika movie yang dibuat berjalan 12 frame per detik, maka event ini akan terpicu 12 kali dalam 1 detik. Event ini biasanya digunakan untuk melakukan update pada data secara konstan atau secara berkala
33
c. onClipEvent (unLoad) Event ini akan terjadi ketika timeline mencapai frame kosong pertama dalam instant movie clip d. onClipEvent (mouseDown) Event ini akan terjadi ketika user menekan tombol mouse kiri pada jendela movie selama sebuah movie clip yang mengandung event tersebut dijalankan e. onClipEvent (mouseUp) Event ini akan terjadi ketika user melepaskan tombol mouse di sembarang tempat dalam jendela movie sewaktu movie clip yang diberi action / event tersebut dijalankan. f. onClipEvent(mouseMove) Event ini akan terjadi setiap kali melalui pixel-pixel dalam jendela movie yang disebabkan pergerakan mouse sewaktu movie clip yang diberi event ini dijalankan. Sebagai contoh, jika user menggerakkan mouse sejauh 10 pixel, maka event ini akan dijalankan 10 kali. Event ini bisa divariasikan dengan properti _xMouse dan _yMouse yang digunakan untuk mendeteksi posisi mouse. Kegunaan lain adalah suatu movie clip dapat diberi action tertentu pada posisi mouse tertentu.
34
g. onClipEvent (keyDown) Event ini akan terjadi ketika user menekan sembarang tombol pada keyboard sewaktu movie clip yang diberi event ini berjalan dalam jendela Flash. Event ini dapat digunakan untuk mengontrol sebuah movie atau komponennya melalui keyboard. h. onClipEvent (keyUp) Event ini akan terjadi ketika user melepaskan suatu tombol pada keyboard sewaktu movie clip yang diberikan event ini berjalan dalam jendela movie. i. onClipEvent (data) Event ini akan terjadi ketika movie clip menerima data baik dari action LoadVariables() maupun LoadMovie(). Ketika event ini divariasikan dengan action LoadVariables(), event data ini akan terjadi hanya sekali pada saat variabel diaktifkan. Sedangkan jika divariasikan dengan action LoadMovie() maka event ini akan terjadi secara berulang setiap bagian data diterima oleh movie clip.
2.9.2
Target dalam ActionScript Event akan mengontrol tiga target / objek utama, yaitu: 1. Movie yang sedang aktif (current movie) 2. Movie lain seperti instant movie clip 3. Aplikasi luar seperti browser
35
2.9.3
Action dalam ActionScript Pemberian action merupakan langkah terakhir dalam membuat interaktivitas. Pada prinsipnya, suatu event dapat memanggil atau memicu beberapa action yang akan dilaksanakan secara simultan pada sebuah target atau beberapa target yang berbeda. Beberapa action dasar yang sering digunakan adalah: 1. GoTo. Action yang akan menyebabkan sebuah movie menjalankan frame atau scene tertentu. Action ini biasanya digunakan untuk navigasi atau hyperlink 2. Play. Action yang menyebabkan sebuah movie mulai dijalankan pada posisi yang ditentukan pada timeline 3. Stop. Action yang menyebabkan sebuah movie berhenti 4. Toogle High Quality. Action yang menyebabkan aktif atau tidaknya efek antialias. Efek ini sangat berperan untuk menghasilklan gambar yang halus dan jelas. Efek ini sangat berperan untuk menghasilkan gambar yang halus dan jelas. 5. Stop All Sound. Action yang menyebabkan semua suara yang dijalankan pada timeline berhenti. 6. GetURL. Action yang menyebabkan terbukanya sebuah jendela browser dengan memanggil alamat URL yang diberikan pada action tersebut atau dapat juga berfungsi mengirimkan variable ke alamat URL yang ditentukan
36
7. FS Command. Action yang menyebabkan pengiriman data ke aplikasi pada movie Flash seperti browser, proyektor dan lainlain 8. Load Movie. Action yang digunakan untuk membuka atau mengaktifkan sebuah movie Flash Flash pada sebuah alamat URL yang ditentukan dalam movie Flash yang lain 9. UnLoad Movie. Action yang digunakan untuk menonaktifkan movie yang sebelumnya sedang aktif 10. Tell Target. Action yang digunakan untuk mengontrol atau mengendalikan sebuah movie clip yang berada diluar movie utama 11. If Frame Is Loaded. Action yang digunakan untuk menentukan apakah sebuah frame tertentu telah selesai dijalankan atau tidak. Jika sudah, maka akan dijalankan suatu aksi yang disertakan pada action tersebut. 12. onMouse Event. Action yang digunakan untuk memberikan event mouse pada suatu target sehingga ketika terpicu maka suatu action akan dijalankan.
ActionScript terbaru saat ini adalah ActionScript 3.0 yang memiliki beberapa kelebihan jika dibandingkan dengan pendahulunya, yaitu ActionScript 2.0, yaitu file ActionScript 3.0 dapat dibuat terpisah pada saat run-time.
37
2.10
Ostrich Flash Ostrich Flash merupakan satu library dalam flash yang dikembangkan oleh Dan Zen. Ostrich Flash ini juga merupakan kelas Flash yang opensource dan memiliki fungsi untuk menangkap adanya gerakan melalui webcam dengan menggunakan Flash.