bagian 3 bahasa kompilasi, virtual...

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

Upload: duongphuc

Post on 28-Jun-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bagian 3 Bahasa Kompilasi, Virtual Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

Bagian 3

Bahasa Kompilasi, Virtual Machine, Berbasis XML

Pemrograman Multimedia

BertalyaUniversitas Gunadarma

2006

Page 2: Bagian 3 Bahasa Kompilasi, Virtual Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

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 Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

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 Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

4

Compiled Languages : System Software

• ”User Interface Software Tools” (1995, Myers) mendefinisikan sebuah modelbertingkat

• Aplikasi diimplementasikanmenggunakan perangkattingkat tinggi

• Toolkit: library of widgetyg digunakan aplikasi

• Windowing System: menolongpemakai utk memonitor & mengontrol konteks yg berbeda(fungsionalitas input & output)

Page 5: Bagian 3 Bahasa Kompilasi, Virtual Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

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 didefinisikansebelumnya (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 Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

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 Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

7

VM Languages

• VM (Virtual Machine) merupakan suatu abstraksi dari lingkunganyang 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 Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

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 Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

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 Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

10

VM Languages : User Interface Development

Page 11: Bagian 3 Bahasa Kompilasi, Virtual Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

11

VM Languages : JMF (1/2)

Page 12: Bagian 3 Bahasa Kompilasi, Virtual Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

12

VM Languages : JMF (2/2)

• Unrealised: jika tidak mempunyaisemua informasi utk memperolehsbr daya yg dibutuhkan

• Realised: jika mempunyai semuainformasi utk memperoleh sbr daya

• Prefetched: jika sudah mempunyaisemua sbr daya yg dibutuhkan, &sudah mempunyai media data ygcukup prefetched utk segeradimainkan

• Started: jika media benar2 telahdimainkan

Page 13: Bagian 3 Bahasa Kompilasi, Virtual Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

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 Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

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 Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

15

XML Based Languages• Merupakan bahasa pemrograman deklaratif (apa yang

harus dikerjakan, bukan bagaimana). Kontributor utamaadalah 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 Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

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 Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

17

XML Based Languages

Page 18: Bagian 3 Bahasa Kompilasi, Virtual Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

18

XML Based Languages

Page 19: Bagian 3 Bahasa Kompilasi, Virtual Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

19

XML Based Languages

Page 20: Bagian 3 Bahasa Kompilasi, Virtual Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

20

XML Based Languages

Page 21: Bagian 3 Bahasa Kompilasi, Virtual Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

21

XML Based Languages

Page 22: Bagian 3 Bahasa Kompilasi, Virtual Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

22

XML Based Languages

Page 23: Bagian 3 Bahasa Kompilasi, Virtual Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

23

XML Based Languages

Page 24: Bagian 3 Bahasa Kompilasi, Virtual Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

24

XML Based Languages

Page 25: Bagian 3 Bahasa Kompilasi, Virtual Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

25

XML Based Languages

Page 26: Bagian 3 Bahasa Kompilasi, Virtual Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

26

XML Based Languages

Page 27: Bagian 3 Bahasa Kompilasi, Virtual Machinebertalya.staff.gunadarma.ac.id/Downloads/files/13304/B3.pdf · • Audio/Video : Xine, MPlayer • Televisi : ... – Menggunakan skrip untuk

27

XML Based Languages