Minggu, 17 Januari 2010

Konsep Aplikasi Plugin

PENDAHULUAN

Perkembangan teknologi informasi saat ini sangat mempengaruhi perkembangan software pada umumnya. Banyak pengembang software berlomba-lomba mengeluarkan berbagai jenis software untuk berbagai keperluan. Selain itu juga banyak vendor yang menyediakan suatu framework yang dapat mempermudah para pengembang software dalam mengembangkan software karya mereka, salah satunya adalah Dot Net Framework yang dikembangkan oleh Microsoft. Untuk memuaskan para pengguna software banyak pen gembang software yang menyediakan fasilitas-fasilitas tambahan yang juga dapat dikembangkan oleh para programmer atau para pengembang software lainnya yang biasa disebut plug-in. Dengan adanya fasilitas plug-in para pengguna software dapat menambahkan fasilitas-fasilitas tambahan sesuai dengan keinginan para pengguna software tersebut, selain itu para pengguna software tesebut dapat mengembangkan atau membuat plug-in sendiri dan disebarkan ke para pengguna software lainnya.

Perkembangan teknologi informasi saat ini sangat mempengaruhi perkembangan software pada umumnya. Banyak pengembang software berlomba-lomba mengeluarkan berbagai jenis software untuk berbagai keperluan. Selain itu juga banyak vendor yang menyediakan suatu framework yang dapat mempermudah para pengembang software dalam mengembangkan software karya mereka, salah satunya adalah Dot Net Framework yang dikembangkan oleh Microsoft. Untuk memuaskan para pengguna software banyak pen gembang software yang menyediakan fasilitas-fasilitas tambahan yang juga dapat dikembangkan oleh para programmer atau para pengembang software lainnya yang biasa disebut plug-in. Dengan adanya fasilitas plug-in para pengguna software dapat menambahkan fasilitas-fasilitas tambahan sesuai dengan keinginan para pengguna software tersebut, selain itu para pengguna software tesebut dapat mengembangkan atau membuat plug-in sendiri dan disebarkan ke para pengguna software lainnya.

Dengan memanfaatkan teknologi reflection yang terdapat dalam Dot Net Framework, kita dapat menerapkan fasilitas plugin pada software yang kita kembangkan menggunakan Dot Net Framework.

Latar Belakang

Software yang memiliki fasilitas yang lengkap merupakan suatu kebutuhan para pengguna komputer di mana saja. Akan tetapi tidak semua pengguna software membutuhkan fasilitas-fasilitas tersebut. Untuk mengatasi hal tersebut, maka para pengembang software menambah kan sebuah fasilitas untuk mengatur fasilitas-fasilitas tambahan untuk software yang mereka kembangkan, fasilitas ini disebut plug-in. Dengan fasilitas plug-in ini para penguna dapat menambah atau mengurangi fasilitas-fasilitas tambahan pada software yang mereka gunakan sesuai dengan kebutuhan mereka.

Pada saat ini banyak vendor software me-ngeluarkan framework untuk pengembangan suatu software. Framework disini merupakan sekumpulan modul-modul dasar yang dibutuhkan oleh suatu software yang dikembangkan oleh pihak-pihak tertentu yang bertujuan untuk mempermudah para pengembang software dalam mengembangkan software mereka. Salah satu framework yang cukup terkenal pada kalangan pengembang software pada saat ini adalah Dot Net Framework yang di kembangkan oleh Microsoft.

Tujuan

Tujuan diadakan seminar ini adalah untuk memahami bagaimana cara kerja software yang memiliki fasilitas plug-in, dan bagaimana cara menerapkan fasilitas plug-in pada software yang berbasiskan Dot Net Framework dengan memanfaat kan teknologi reflection.

TINJAUAN PUSTAKA

Plug-In

Fasilitas plug-in pertama kali muncul pada pertengahan tahun 1970. Pada saat itu software EDT text editor yang berjalan pada sistem operasi Unisys VS/9 mainframe series menyediakan fasilitas untuk men jalankan program lain dari text editor tersebut, dan memperbolehkan program-program lain tersebut mengakses dan meng-edit resource dalam memori software EDT text editor tersebut.

Software PC (Personal Computer) yang pertama kali menggunakan fasilitas plug-in adalah HyperCard dan QuarkXPress yang berjalan pada sistem operasi Macintosh yang dirilis pada tahun 1987. Pada tahun 1988 Silicon Beach Software menambahkan fasilitas plug-in pada software DarkRoom dan SuperPaint.

Fungsi-fungsi plug-in pada suatu software antara lain:

  • Memungkinkan pengembang software pihak ketiga membuat fasilitas tambahan untuk meningkatkan kemampuan suatu software.
  • Untuk mendukung fasilitas-fasilitas yang tidak terduga pada suatu software.
  • Untuk mengurangi ukuran file suatu software.
  • Untuk memisahkan kode sumber dari software.

Contoh software yang memiliki fasilitas plug-in antara lain:

  • Rockbox, merupakan aplikasi pemutar musik yang dapat menggunakan plug-in seperti: Game, dan Text Editor.
  • E-mail Clients menggunakan plug-in untuk enkripsi dan dekripsi e-mail (contoh: Pretty Good Privacy) atau untuk mengirim atachments yang memiliki ukuran yang besar (contoh: Globalscape Mail Express).
  • Graphics Software menggunakan plug-in untuk mendukung berbagai macam format file dan memproses gambar (contoh: Adobe Photoshop)
  • Media Players menggunakan plug-in untuk mendukung berbagai jenis format file (contoh: foobar2000, GStreamer, Quintessential, VST, Winamp, XMMS).
  • Packet Sniffers menggunakan plug-in untuk menguraikan berbagai jenis bentuk paket (contoh: OmniPeek)
  • Software Development Environtments meng gunakan plug-in untuk mendukung berbagai jenis bahasa pemrograman (contoh: Eclipse, jEdit, MonoDevelop).
  • Web Browsers menggunakan plug-in untuk menampilkan video dan format persentasi (contoh: Flash, QuickTime, Microsoft Silverlight, 3DMLW).

Dot Net Framework

Dot Net Framework adalah suatu kompo nen yang dapat ditambahkan ke sistem operasi Microsoft Windows atau telah terintegrasi dalam sistem operasi Windows (mulai dari Windows Server 2003 dan versi-versi Windows tebaru). Framework ini menyediakan modul-modul penting untuk pengembangan suatu software baru.

Teknologi Dot Net Framework sendiri merupakan suatu teknologi yang baru dirilis oleh Microsoft. Bahasa-bahasa pemrograman yang termasuk dalam teknolgi Dot Net antara lain: VB.Net, C# (C sharp), C++. Perkembangan Dot Net Framework sendiri seiring dengan perkembangan Microsoft Visual Studio yang merupakan software pengembangan aplikasi pada platform Dot Net Framework.

Pada bulan februari 2002 dirilis VS.2002 (Visual Studio 2002) yang mengusung Dot Net Framework 1.0, setahun kemudian berkembang menjadi VS 2003 yang mengusung Dot Net Framework 1.1, kemudian bekembang menjadi VS 2005 yang mengusung Dot Net Framework 2.0 dan yang paling mutakhir sekarang adalah VS.2008 dengan mengusung Dot Net Framework 3.5.

Reflection

Reflection merupakan suatu teknologi yang terdapat dalam Dot Net Framework yang berguna untuk membungkus assemblies, modules, dan types menjadi sebuah objek yang global. Dengan menggunakan teknologi Reflection pada Dot Net Framework kita dapat membuat suatu instance dari sebuah type dan mengikatnya kedalam suatu objek.

Teknologi ini berperan penting dalam pe ngembangan software yang memiliki fasilitas plug-in karena bertanggung jawab untuk menciptakan suatu instance dari suatu type yang telah disimpan dalam sebuah file DLL (Dynamic Link Library) yang berfungsi sebagai plug-in.

PEMBAHASAN

Mekanisme Plug-in

Untuk penerapan teknologi plug-in pada suatu software diperlukan proses enkapsulasi untuk membungkus suatu objek menjadi objek lain yang dapat di kenal oleh software yang kita kembangkan. Proses ini dapat diterapkan dengan menggunakan konsep interface. Interface merupakan suatu metode untuk menstandarkan suatu objek sehingga dapat di kenal oleh objek lain. Dalam arti lain, Interface merupakan suatu cetakan untuk membuat suatu Class yang memiliki standar-standar yang telah di definisikan sebelumnya oleh seorang developer, dan ini merupakan kunci utama dalam penerapan plug-in pada suatu software.

Pada umumnya programmer membuat suatu file dll yang berisi Interface yang harus di implementasikan oleh para pengembang plug-in suatu software. Diagram dibawah ini menjelaskan bagaimana cara kerja plug-in dalam suatu software.

Contoh diagram penerapan plugin

Berdasarkan diagram pada gambar 1, plug-in manager bertugas untuk menciptakan instance dari plug-in melalui sebuah interface yan telah di tetapkan sebelumnya. Melalui sebuah interface yang disediakan oleh host application juga plug-in dapat mengakses resource pada host application yang dibutuhkan oleh plug-in.

kegunaan interface pada software yang memiliki fasilitas plugin.

kegunaan interface pada software yang memiliki fasilitas plugin.

Seperti yang digambarkan pada gambar 2, interface bertugas sebagai penghubung antara host application dengan plug-in. Di sini interface menyediakan metode-metode standar yang harus dimiliki oleh plug-in sehingga host application dapat mengakses dan mengenali plug-in begitu juga sebaliknya, plug-in dapat berkerja berdasarkan perintah dari metode-metode yang telah disediakan oleh interface.

Untuk memasukkan plug-in kedalam host application diperlukan teknologi reflection yang berfungsi untuk menciptakan instance dari plug-in yang akan dimasukkan ke host application

kegunaan reflection dalam penerapan plug-in

kegunaan reflection dalam penerapan plug-in

Berdasarkan diagram pada gambar 3, host application memiliki plug-in manager yang berfungsi untuk menciptakan instance dari plug-in yang telah disimpan di dalam bentuk dll file. Melalui teknologi reflection, plug-in manager mengakses plug-in yang berada dalam dll file dan menciptakan instance dari plug-in tersebut, dan me nambahkannya sebagai fasilitas tambahan pada host application.

Berikut contoh dari software pengolah kata sangat se derhana yang memiliki fasilitas plug-in. Software ini dibuat menggunakan bahasa pemrogra man VB.Net.

 Software pengolah kata sederhana yang belum terpasang plug-in

Software pengolah kata sederhana yang belum terpasang plug-in

Gambar di atas merupakan screen shoot dari aplikasi pengolah kata sederhana yang belum terpasang plug-in.

File yang berisi plugin yang akan di tambahkan ke dalam software pengolah kata sederhana

File yang berisi plugin yang akan di tambahkan ke dalam software pengolah kata sederhana

Pada gambar di atas, plug-in untuk formatting text ditambahkan secara manual dengan cara meng-copy dll file dan ini file (file konfigurasi yang menyimpan data-data plug-in). Mekanismenya adalah sebagai berikut :

1. Host application memeriksa folder “plugin” (yang berada pada tempat yang sama dengan executable file pengolah kata sederhana), jika didalam folder terdapat “dll file” maka host application memeriksa apakah dalam folder yang sama terdapat file yang ber-extensi “.ini” yang namanya sama dengan “dll file” tersebut.

2. Host application membaca informasi tentang plug-in yang terdapat dalam “ini file” tersebut.

3. Setelah semua informasi tentang plug-in tersebut dibaca, host application melalui plug-in manager menciptakan instance dari plug-in yang terdapat pada “dll file” tersebut.

4. Setelah instance dari plug-in tersebut diciptakan, host application menambahkan plug-in tersebut menjadi bagian dari kontrol yang terdapat pada host application tersebut.

plug-in untuk text formatting  yang telah terpasang pada software pengolah kata sederhana

plug-in untuk text formatting yang telah terpasang pada software pengolah kata sederhana

plug-in kamus ditambahkan kedalam software pengolah kata sederhana

plug-in kamus ditambahkan kedalam software pengolah kata sederhana

KESIMPULAN

Plug-in merupakan suatu fasilitas yang dapat ditambahkan oleh pengembang software ke dalam software yang mereka kembangkan. Dengan plug-in kelemahan atau kekurangan suatu software dapat diatasi.

Dengan memanfaatkan teknologi reflection yang terdapat dalam Dot Net Framework, kita juga dapat mengembangkan aplikasi yang memiliki fasilitas plug-in.

Daftar Pustaka

  1. Wikipedia. 2009. Plug-in (computing). http://en.wikipedia.org/wiki/Plug-in
  2. Wikipedia. 2009. Reflection (computer science). http://en.wikipedia.org/wiki/Reflection_(computer_science)
  3. Wikipedia. 2009. .NET Framework. http://id.wikipedia.org/wiki/.NET_Framework
  4. Frank Carr. 2007. Introduction to Interfaces in VB.NET. http://vbnotebookfor.net/2007/10/23/introduction-to-interfaces-in-vbnet/
  5. Ted Pattison. 2005. Designing With Custom Attributes. ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/dnmag05/html/Basic Instincts0505default.htm

Tidak ada komentar:

Posting Komentar