Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

26
Bagian 3 Bahasa Kompilasi, Virtual Machine, Berbasis XML Pemrograman Multimedia Bertalya Universitas Gunadarma 2006

Transcript of Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

Page 1: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

Bagian 3

Bahasa Kompilasi, Virtual Machine, Berbasis XML

Pemrograman Multimedia

Bertalya

Universitas Gunadarma

2006

Page 2: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

2

Taxonomy Dari Format Content

Kebutuhannya :

• Tipe media yang disupport: audio, video, teks, grafis & animasi

• susunan: spatial & temporal

• Interaksi: pasif, reaktif, proaktif, & reciprocal

• Kesulitan penggunaan (threshold)

• Kekuatan ekspresi (i.e., ceiling)

• Safety of Distribution

• Interoperability

Page 3: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

3

Compiled Languages

• Biasanya digunakan untuk software sistem (cth, sistem operasi) & servis yg membutuhkan sumber daya: C, C++

• Pro

– Pendekatan yang efisien

– Kekuatan dalam ekspresi (mendekati hardware)

• Con

– Interoperability (setiap servis harus dikompilasi ke device target)

– Keamanan dalam distribusi rendah (terdapat kode yg merusak)

Page 4: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

4

Compiled Languages : System Software

• ”User Interface Software Tools” (1995, Myers)

mendefinisikan sebuah model

bertingkat

• Aplikasi diimplementasikan

menggunakan perangkat

tingkat tinggi

• Toolkit: library of widget

yg digunakan aplikasi

• Windowing System: menolong

pemakai utk memonitor &

mengontrol konteks yg berbeda

(fungsionalitas input & output)

Page 5: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

5

Compiled Languages : Toolkits

• Toolkits menyediakan

– Interaksi: utk menangani input pemakai

– Operasi kanvas: rendering area, kanvas, & primitif grafis

– Set of Widgets: elemen2 interface pemakai yg didefinisikan sebelumnya (cth, Button)

– Layout grafis: mengontrol lokasi widgets

• Contoh: QT, GTK

• Virtual Toolkit

– Toolkit yg tidak bergantung pada device

– Dipetakan ke Toolkit aktual pada device

– Contoh: AWT

Page 6: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

6

Compiled Languages : Media Providers

• Audio/Video : Xine, MPlayer

• Televisi : linuxtv

• Game : SDL

• Bahasa lain : Contohnya libflash

• 3D graphics :

– OpenGL

– OpenGL ES

• Platform media : LIMMBO, MythTV

Page 7: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

7

VM Languages

• VM (Virtual Machine) merupakan suatu abstraksi dari lingkungan yang terkomputerisasi JVM (Java Virtual Machine) + API (Application Programming Interface)

• Pro

– Platform mandiri

– Aman untuk didistribusikan

– Kekuatan dalam ekspresi (bahasa pemrograman)

– API terdokumentasi dg baik

• Con

– Pengaplikasiannya berat (karena konsep VM)

– Sulit digunakan (bahasa pemrograman)

– Kekuatan kurang dibandingkan compiled language

Page 8: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

8

VM Languages:Java Overview

• Edisi:–Java 2 Enterprise Edition (J2EE): utk server & komputer enterprise

– Java 2 Standard Edition (J2SE): utk server & PC

– Java 2 Micro Edition (J2ME): utk device yg disisipkan, PDA, mobile phone, & televisi digital

– Java Card: utk smart card

• Profil

– kebutuhan utk pasar device

vertikal (kumpulan API)

• Konfigurasi

– platform min utk group device

(VM + jantung API)

Page 9: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

9

VM Languages:Multimedia

• Pengembangan interface user (AWT/Swing)

– Layout: Grid, North-South-East-West, Flow

– Set of Widgets: Button, TextArea

– Interaksi user: awt.ui.* (Mouse, Keyboard…)

• Video/Audio & Synchronization (JMF)

– Manager, Player, Data Source, & Controller

• 3D Graphics

– Java3D

– Java wrappers for OpenGL

• Device2 berbeda

– Television: MHP/OCAP/ACAP/ARIB -> GEM

– Handheld: MIDP

Page 10: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

10

VM Languages : User Interface Development

Page 11: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

11

VM Languages : JMF (1/2)

Page 12: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

12

VM Languages : JMF (2/2)

• Unrealised: jika tidak mempunyai

semua informasi utk memperoleh

sbr daya yg dibutuhkan

• Realised: jika mempunyai semua

informasi utk memperoleh sbr daya

• Prefetched: jika sudah mempunyai

semua sbr daya yg dibutuhkan, &

sudah mempunyai media data yg

cukup prefetched utk segera

dimainkan

• Started: jika media benar2 telah

dimainkan

Page 13: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

13

VM Languages : 3D Graphics

• Java3D– API baru utk aplikasi 3D graphics stand-alone– dapat menggunakan arsitektur apa saja (Direct-X, OpenGL...)– mungkin bukan pendekatan yg efisien– para pengembang harus mempelajari terlebih dahulu API baru

• Java wrappers of OpenGL– Functionality from OpenGL– Developers knows the API already– Only wrappers: uses Java Native Interface (JNI)– Much intercommunication between layers (Java -> C)– API is not standardised yet (Java Specification Requests)

• JSR 231: OpenGL• JSR 239: OpenGL ES

Page 14: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

14

VM Languages : J2ME

• Defines two Configurations:• – CDC: High end consumer devices• • RAM Java Memory: around 2MB• • ROM Java Memory: around 2.5MB• – CLDC: Low end consumer devices• • Processor:16 bit/16 MHz or higher• • Java total memory: 160-512 KB• • CDC (Connected Device)• – Personal Profile• • Adds support for lightweight AWT• – Foundation Profile• • Basic application APIs (no GUI)• • CLDC (Connected Limited Device)• – Mobile Information Device Profile (MDIP)• • Application APIs + GUI APIs

Page 15: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

15

XML Based Languages

• Merupakan bahasa pemrograman deklaratif (apa yang harus dikerjakan, bukan bagaimana). Kontributor utama adalah W3C.

• Pro– Mudah dalam penggunaan (dapat menggunakan text editor)

– Interoperability (hanya butuh sebuah compatible browser)

– Keamanan dalam distribusi

• Con– Kuat dalam ekspresi (sangat terbatas, bukan bahasa

pemrograman!)

– Menggunakan skrip untuk logika aplikasi (atau tidak!)

– Membutuhkan browser

Page 16: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

16

XML Based Languages : HTML & XHTML

• HTML• • HTML 4.01: (24 Dec. 1999) W3C Recommendation• • Lingua franca for publishing hypertext on the WWW.• • Non-proprietary• • Can be created by a wide range of tools:– Text editors– Authoring tools• • All kind of features (mixed together):– UI components– Fonts– Lists

• XHTML• • XHTML 1.0 (26 Jan. 2000, revised 1Aug. 2002) W3C Recommendation• • XHTML 2.0: (22 July 2004) W3C Working Draft• • Reformulation of HTML 4 in XML• • Intention – To only describe the structure of thedocument (CSS formatting)

• • XHTML 1.0 • XHTML 2.0

• – Well formed documents _ No backwards compatible• – Proper nesting – Reduces scripting• – ... – Includes XForms and XML Events

Page 17: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

17

XML Based Languages

Page 18: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

18

XML Based Languages

Page 19: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

19

XML Based Languages

Page 20: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

20

XML Based Languages

Page 21: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

21

XML Based Languages

Page 22: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

22

XML Based Languages

Page 23: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

23

XML Based Languages

Page 24: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

24

XML Based Languages

Page 25: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

25

XML Based Languages

Page 26: Bagian 3 Bahasa Kompilasi, Virtual Machine Berbasis XML

26

XML Based Languages