Aplikasi Multimedia Menggunakan DirectAnimation

Riwut Libinuko
S2 Teknik Elektro ITB

Abstrak
Tulisan ini membahas mengenai Microsoft DirectAnimation yang merupakan salah satu komponen DirectX API untuk membuat animasi dan integrasi media multimedia kedalam halaman Web, judul CD-ROM serta aplikasi multimedia lainnya. DirectAnimation mendukung berbagai format media  data termasuk didalamnya grafik vektor 2 dimensi (2-D), gambar 3-D, sprites (urutan dari gambar-gambar), audio dan video. 
DirectAnimation dapat diwujudkan sebagai aplikasi API (Application Programming Interface) yang berdiri sendiri atau sebagai komponen yang terintegrasi didalam Microsoft Internet Explorer 4.0. Hal ini memberikan sekaligus kemampuan multimedia dan animasi dalam halaman Web, dan dapat ditampilkan melalui browser secara langsung tanpa perlu melakukan download program tertentu. DirectAnimation  juga dapat diintegrasikan dengan Dynamic Hypertext Markup Langguage (DHTML) dan oleh karena itu sangat cocok untuk menambahkan efek animasi yang ringan dan ringkas kedalam halaman Web.

I.	Pendahuluan

Microsoft DirectAnimation dapat diwujudkan sebagai aplikasi API (Application Programming Interface) yang berdiri sendiri atau sebagai komponen yang terintegrasi didalam Microsoft Internet Explorer 4.0. Hal ini memberikan sekaligus kemampuan multimedia dan animasi dalam halaman Web dan dapat ditampilkan melalui browser secara langsung tanpa perlu melakukan download program tertentu. Direct Animation juga sangat cocok untuk diintegrasikan dengan Dynamic Hypertext Markup Langguage (DHTML) dan oleh karena mudah digunakan untuk menambahkan efek animasi yang ringan dan ringkas kedalam halaman Web. DirectAnimation merupakan salah satu komponen DirectX API yang dapat digunakan untuk membuat animasi dan integrasi media multimedia kedalam halaman Web, judul CD-ROM serta aplikasi lainnya. DirectAnimation juga mendukung berbagai macam format media data termasuk didalamnya grafik vector 2 dimensi (2-D), gambar 3-D (.X dan .XTML), sprites (BMP, GIF, GIF Animasi dan lain sebagainya).
DirectAnimation merupakan API yang berbasis Component Object Model (COM) dan dapat digunakan dengan berbagai macam teknik pemrograman. Seorang pembuat HTML misalnya, dapat mengintegrasikan animasi dengan menggunakan pengendali multimedia dari  DirectAnimation. Programmer yang menggunakan Microsoft Visual Basic, VBScript, Jscript atau Java Aplet, dapat pula membuat program animasi animasi untuk Web dengan menggunakan integrasi DHTML. Dan jika kita bekerja dengan menggunakan Java, Visual Basic atau C++ maka kita dapat membuat interaktif ActiveX control untuk aplikasi yang kita hasilkan. Meskipun contoh yang akan dikemukakan disini ditulis dengan Jscript, namun konsep yang dibawa sama untuk semua bahasa pemrograman yang lain.
Dengan memanfaatkan DirectAnimation, seorang programmer hanya perlu belajar sedikit mengenai konsep animasi dan langsung dapat digunakan dihampir semua jenis media. Contohnya, seorang programmer hanya perlu mendeklarasikan detail tingkat tinggi dari animasi, sedangkan detail yang berhubungan dengan proses kerjanya lansung ditangani oleh DirectAnimation pada saat aplikasi yang dibuat dijalankan. 
DirectAnimation menyediakan tiga kunci layanan penting kepada pembuat program, modul animasi (animation runtime engine) yang dapat diakses melalui API tingkat tinggi, model pemrograman yang berbeda untuk semua macam tipe media serta fasilitas animasi yang lebih baik dan tidak tergantung kepada resolusi dan optimisasi pada saat dijalankan (runtime optimization). Direct Animation juga mendukung sejumlah format media meliputi vector grafik 2-D, dan text, sprites (BMP, GIF, animated GIF, ditambah semua tipe sprites yang didukung oleh Microsoft Internet Explorer 4.0), model-model 3-D (.X files dan VRML), serta semua format suara yang didukung oleh DirectShow dan semua tipe media stream yang didukung oleh Microsoft DirectShow serta Microsoft NetShow.
DirectAnimation merupakan COM API, sebuah kumpulan dari class juga dimasudkan untuk pembuat Java. DirectAnimation juga menyediakan abstraksi yang sangat berguna untuk COM API dan mengambil keuntungan dari sebagian kemampuan Java. DirectAnimation berbasis kepada COM API sehingga dapat dipanggil melalui JSCript, Visual Basic, VBScript dan C/C++ dengan mengimpor COM interfaces. API tersebut juga dapat dipanggil melalui halaman HTML dengan menggunakan kontrol DirectAnimation yang disediakan didalam dengan Internet Explorer 4.0
DirectAnimation dapat diimplementasikan diatas DirectShow dan serta API untuk DirectX lainnya, termasuk didalamnya DirectDraw, Direct3D dan DirectSound.  DirectAnimation secara langsung juga memanfaatkan kemampuan akslerasi perangkat keras yang ada pada teknologi-teknologi tersebut.  Juga meningkatkan kemampuan DirectShow (sebelumnya dikenal sebagai Active Movie),  DirectAnimation dapat mendukung format media stream yang berbeda dan dapat ditingkatkan melalui filter DirectShow.

II.	Model Pemrograman DirectAnimation

Membuat isi DirectAnimation meliputi dua tahap, mendifinisikan model dan menjalankannya. Mendefinisikan model dapat kita bayangkan seperti pengaturan spreadsheet atau pembuatan urutan tampilan pada program-program animasi berbasiskan API. Definisi model mendeklarasikan sifat-sifat DirectAnimation yang akan kita gunakan serta hubungan satu dengan yang lainnya, bagaimana responnya terhadap masukan pengguna, serta bagaimana sebuah model berubah setiap waktu. Sementara model dieksekusi, maka input-input masukan kedalam aplikasi dapat dibangkitkan sehingga aplikasi tersebut memiliki kemampuan untuk memodifikasi model dan mengubah model animasi secara dinamis. 
Contoh berikut untuk memberikan konsep dasar pemanfaatan DirectAnimation dengan menggunakan JScript. Kita lihat bahwa deklarasi sebuah animasi dituliskan didalam satu file HTML. Kontrol yang kita gunakan disini dapat pula digunakan dalam lingkungan yang mendukung komponen ActiveX. 

<HTML>
<HEAD>
<TITLE>DirectAnimation Example 1</TITLE>
</HEAD>   
<BODY BGCOLOR=WHITE TOPMARGIN=15 LEFTMARGIN=20>
<FONT FACE="Verdana, Arial, Helvetica" SIZE=2> 
<CENTER>
<H1>Direct Animation </H1>
</CENTER>          
<OBJECT ID="DAControl"
    STYLE="position:absolute; left:50; top:100; width:300;height:300"
    CLASSID="CLSID:B6FFC24C-7E13-11D0-9B47-00C04FC2F51D">
</OBJECT>
<SCRIPT LANGUAGE="JScript">
<!--
    // The library DirectAnimation
    m = DAControl.PixelLibrary;
    // definisi class
    textClr = m.ColorRgb(1, 0, 0);
    font = m.DefaultFont.Color(textClr).Size(48);
    textImg = m.TextImage("Hai All..", font);
    finalImg = m.Overlay(textImg, m.SolidColorImage(m.Blue));
    // mengatur gambar yang hendak ditampilkan
    DAControl.Image = finalImg;           
    // mulai       
    DAControl.Start()
//-->
</SCRIPT>
</BODY>
</HTML>

Dari kontrol yang ada, kita mengambil library method dan kita sebut sebagai m (untuk media). Melalui library ini kita memanfaatkan fungsi-fungsi DirectAnimation. Pada contoh tersebut kita mendefinisikan string “Hai all…”,  kemudian menuliskannya dengan warna merah serta memberi warna dasar tulisan biru. Kita lihat bahwa kita telah mendefisikan sebuah animasi sederhana, dan animasi akan dilakukan jika kita menyisipkan perintah untuk memulai. Satu hal yang sebaiknya kita ingat bahwa animasi biasanya terdiri dari elemen, elemen yang ditampilkan berurutan sehingga tampil berubah-ubah dan bukan merupakan elemen yang berubah setiap saat. 
	Media kontrol yang digunakan diatas memiliki dua property yang sangat penting, yaitu Image dan Sound. Masing-masing digunakan untuk mengatur citra atau suara yang hendak ditampilkan. Mesikupn satu kontrol hanya dapat menyimpan satu citra atau atu suara, akan tetapi sangatlah mudah untuk menggabungkan beberapa citra dan suara didalam satu kontrol. Metoda start berguna untuk menjalankan aplikasi dan menunggu masukan dari pengguna.

III.	Bentuk-Bentuk Dasar Dalam DirectAnimation

DirectAnimation merupakan API berbasis object, dengan class sifat (behaviour) merupakan salah satu class dasar terpenting yang ada didalamnya. Hampir semua media yang digunakan dalam DirectAnimation dibentuk melalui fasilitas-fasilitas external kemudian diimpor kedalam DirectAnimation dan sifatnya diturunkan dari tipe-tipe yang telah dideklarasikan. Teknik ini memungkinkan media-media yang berbeda dapat diperlakukan secara tanpa ada perbedaan, tidak tergantung pada asal dan tipe media. File-file media diimpor dengan mendeklarasikan path relatif nya atau dengan menggunakan URL (Uniform Resource Locators). Beberapa jenis media, seperti text dan grafik vector 2- dapat dibuat langsung melalui perintah DirectAnimation. Berikut ini tipe-tipe media file yang dapat ditangani oleh DirectAnimation:
-	Gambar 2-D
-	Garis dan Poligon
-	Suara
-	Video
-	Text

IV.	Penutup

DirectAnimation menyediakan fasilitas yang cukup bagus untuk melakukan pemrograman multimedia atau sekedar menyisipkan animasi di dalam program-program kita atau di halaman Web. DirectAnimation berbasis COM API sehingga mudah dipanggil dengan menggunakan berbagai bahasa pemrograman yang mendukung COM API seperti Jscript, Vbasic dan Visual C++.