Jumat, 20 Maret 2009

Menciptakan Sebuah Kelas Virtual dengan swing java applet

A. KARAKTERISTIK

Sistem kelas virtual yang saya ulas disini
sepintas mirip dengan sistem chat tetapi dengan
beberapa kontrol tambahan untuk menunjang
kelancaran proses pengajaran di sistem ini.
Sistem ini berdasarkan java applet dengan alasan
untuk menunjang kelancaran komunikasi secara
real time dan mempermudah akses dari berbagai
macam sistem operasi yang berbeda, asalkan
tersedia browser dengan java enabled, sistem ini
bisa di akses.

Interface Applet yang saya pakai disini
berdasarkan komponen swing yang lebih kaya
fasilitas di bandingkan komponen AWT,
perbandingan singkat antara kedua komponen
tersebut bisa dilihat di sub bab 3.4 dan juga di
alamat berikut ini:

Di dalam sistem, user dibagi menjadi 3 macam,
yaitu : pengajar, murid dan pengunjung.
Pembedaan ini di maksudkan hanya untuk
mengatur hak hak tiap user didalam kelas.
Pengajar atau bisa kita sebut sebagai
tutor/moderator mempunyai hak yang paling
tinggi untuk mengatur kelas, sedangkan
pengunjung mempunyai hak yang paling rendah.
Salah satu kontrol yang cukup menarik disini,
adalah kontrol diskusi dalam artian setiap murid
di dalam kelas tidak bisa seenaknya mengajukan
pertanyaan atau berkomentar tanpa minta ijin
dahulu dari pengajar atau tutor (moderator). Hal
ini dimaksudkan supaya komunikasi yang terjadi
di dalam kelas tersebut menjadi lebih mudah
diikuti dan pembicaraan menjadi lebih fokus.

Beberapa fitur yang lain dari system ini :

• adanya fasilitas pesan personal (private
message) antar user di dalam kelas
tersebut, (lihat 4.4.6)

• fasilitas yang memungkinkan
berlangsungnya kelas parallel (lihat
4.4.3)

• fasilitas untuk merubah format teks dan
ukurannya, serta emoticons/smileys.

• fasilitas menampilkan gambar di dalam
diskusi kelas yang sedang
berlangsung.(lihat 4.4.4)

• Sistem pengarsipan pesan (lihat 4.4.5)

• melihat foto dari user lain.

• hyperteks link, dimana jika kita klik link
tersebut akan muncul di dalam
lingkungan sistem kelas virtual(applet)
ataupun di browser terpisah (lihat 4.4.4).

B. SKENARIO KELAS VIRTUAL

Karena sistem ini pada dasarnya berbasis pada
sistem chat, maka secara umum skenarionya ada
lah sama dengan sistem chat tersebut, dengan
sedikit pengecualian berikut :

Pada saat user murid atau pengunjung masuk ke
dalam kelas virtual, secara default mereka
mempunyai hak berbicara yang sama dengan
lainnya, tanpa batasan, seperti sebuah kelas
tanpa guru, mereka bisa mengobrol dan
ngerumpi sebebasnya.

Akan tetapi begitu ada user pengajar masuk ke
dalam kelas maka pengajar untuk mempunyai
wewenang untuk mencabut hak bicara dan hak
menggunakan fasilitas kelas virtual dari user
murid dan pengunjung, dan bisa memberikan
hak hak itu kembali ke user tertentu atau semua
user.

Bisa terjadi kemungkinan satu user memasuki
beberapa kelas yang berbeda, di satu kelas dia
tidak punya hak bicara dan hak memakai
fasilitas kelas virtual, akan tetapi di kelas
lainnya, dia mempunyai semua hak tersebut.

Saya sudah menjelaskan sedikit gambaran
tentang sistem kelas virtual ini, sekarang mari
kita masuk ke bagian berikutnya yaitu
pembahasan tentang alat yang saya pakai yaitu
bahasa pemrograman Java.


C. PENGERTIAN TENTANG JAVA

C.1. karakteristik Java

1. Java adalah bahasa berorientasi obyek: satu
program Java bukanlah terdiri dari beberapa
prosedur yang saling berhubungan, akan
tetapi merupakan gabungan dari struktur
data yang kita sebut obyek. Setiap obyek
terdiri dari data data dan metode metode
(satu fungsi atau prosedur, kita sebut
metode di Java) untuk memanipulasi data.

2. Java adalah bahasa yang diterjemahkan
(interpreted): instruksi sistem JVM(Java
Virtual Machine) menterjemahkan bahasa
Java ke dalam bahasa yang di mengerti oleh
mesin.

3. Java adalah bahasa yang bisa di pakai di
mana saja (portable): dari kenyataan bahwa
Java adalah bahasa yang bisa di
terjemahkan, berarti pula Java merupakan
bahasa yang dapat di jalankan di berbagai
macam platform dengan syarat Virtual
Machine (JVM) terinstall di tempat tersebut.
Kita kenal jargon ini dengan WORA (Write
Once – Run Anywhere)

Diatas adalah karakteristik yang paling penting
Selain itu masih banyak lagi gambaran tentang
karakteristik karakteristik yang lain dari Java
dan bisa kita temukan di alamat ini :
C.2. Java Virtual Machine (JVM)

Java adalah bahasa yang bisa disebut compiled
dan interpreted. Di bahasa pemrograman yang
lain, biasanya hasil kompilasi dari program akan
berbentuk satu file biner yang hanya bisa di
mengerti oleh satu jenis mesin/prosesor tertentu
dan tidak di kenali oleh mesin yang lain.
Sebaliknya di Java, hasil kompilasi akan
berbentuk satu file dalam bahasa intermediate
antara kode biner(mesin) dan kode yang bisa
kita baca. File intermediate itu nantinya akan di
terjemahakan oleh sebuah “Java Virtual
Machine” .

JVM ini sudah termasuk sebagai pelengkap dari
distribusi browser browser terbaru yang ada di
pasaran. Untuk aplikasi berbasis AWT, JVM
sudah lebih dari cukup untuk menjalankannya,
akan tetapi untuk aplikasi berbasis Interface
swing, masih diperlukan penterjemah lainnya
yang kita sebut sebagai “Java Plug-In”
dimana untuk distribusi terbaru Java, Plug In ini
sudah termasuk dalam paket Java 2 Runtime
Environment.

C.3. Java Development Kit (JDK)

Java Development Kit yang sering disingkat
menjadi JDK adalah sekumpulan alat alat
untuk menunjang pengembangan dan pembuatan
program Java sederhana yang didistribusikan
secara gratis oleh Sun Microsystem. Alat alat itu
antara lain adalah:

1. javac : kompilator program java

2. java : penterjemah dan eksekutor program
java (virtual machine) bertype aplikasi

3. appletviewer : eksekutor program java
bertipe applet.

4. jdb : debuger program java

5. javap : dekompilator program java,

6. jar : kompresor dari class java.

7. javadoc : generator dokumentasi program
java.

Saat ini ada beberapa versi dari JDK untuk
setiap platform yang berbeda (Linux, Solaris,
Windows, dll)

1. versi 1.0 kompatibel dengan Java 1.0.
Meskipun hampir semua browser saat ini
mendukung Java 1.0, tetapi tetap disarankan
untuk menggunakan JDK versi 1.1.x untuk
pengembangan applet

2. versi 1.1.x kompatibel dengan Java 1.1

3. versi 1.2.x dan seterusnya sampai yang
terakhir versi 1.4.2 kompatibel dengan Java
2 yang di berikan kepada komponen tersebut, dan
lainnya.

Di sisi user, perbedaannya sangat besar.
Tampilan dari komponen swing berbeda jauh
dengan tampilan dari komponen AWT. Di sisi
konseptor Swing merupakan pilihan yang ideal
karena dia berisi lebih banyak komponen di
bandingkan AWT. Merupakan hal yang wajar
jika AWT lebih cepat di aksesnya dibandingkan
dengan Swing karena selain mempunyai lebih
banyak komponen, Swing mempunyai metoda
yang lebih rumit dalam mengatur perilaku setiap
komponennya.

Untuk aplikasi kelas virtual ini, kita memakai
Interface swing.

C.4. Mengapa Java? Mengapa Applet ?

Java adalah bahasa pemrograman yang punya
reputasi yang bagus dalam pengembangan
aplikasi berbasis web. Banyak pengembang/programer membuat aplikasi
berbasis web dengan menggunakan Java. Salah
satu keuntungan dari java adalah penggunaan
applet yang sangat cocok di pakai sebagai alat
komunikasi secara real time dan terintegrasi di
dalam browser, mempermudah akses dari semua
user.

Selain itu Applet mempunyai keuntungan (di
bandingkan aplikasi) :

1. distribusi yang mudah lewat internet/intranet

2. mudah dalam melakukan perawatan karena
software tersentralisasi.

3. mudah di update/upgrade.

Akan tetapi selain keunggulan keunggulan diatas,
Applet juga mempunyai keterbatasan
diantaranya adalah keterbatasan kemampuan
untuk membaca dan menulis dari/ke hard disk
komputer kita. Hali ini wajar karena memang
applet di disain untuk berterintegrasi dengan
halaman web, yang bisa datang dari sumber
yang tidak kita kenal, sehingga pembatasan
tingkat keamanan di Applet cukup tinggi di
bandingkan dengan Aplikasi.

Di kelas virtual ini , saya melakukan perubahan
setting keamanan applet, sehingga applet
tersebut bisa membaca image/gambar dari disk
lokal dan menampilkannya di dalam kelas
virtual (lihat 4.2)

D. PRESENTASI KELAS VIRTUAL
D.1. Kode Sumber dari Kelas Virtual

Kode sumber dari kelas virtual dibagi menjadi 3
bagian yaitu :
1. Bagian utama, yang mengatur komposisi
tampilan, komunikasi antar user dan
user-server, pengaturan user, pengaturan
komposisi teks untuk di tampilkan. Bagian
ini terdiri dari 5 file berikut.

• AppletClient.java:

• ChatServer.java

• ClientHandler.java

• Message.java

• HTMLFormatter.java

2. Bagian tambahan, yang berfungsi untuk
membaca file(terutama image/gambar) dan
menampilkannya di kelas virtual. Bagian ini
terdiri dari 4 file berikut :

• ImageFileView.java

• ImageFilter.java

• ImagePreview.java

• Utils.java

3. Bagian tampilan atau theme, yang berfungsi
untuk mengatur theme/skins/tampilan dari
kelas virtual. Bagian ini terdiri dari 5 file
berikut :

• AquaTheme.java

• CharcoalTheme.java

• ContrastTheme.java

• EmeraldTheme.java

• RubyTheme.java

Data yang dipakai sebagai masukan di paramater
Applet 6 perubah(variabel) yaitu :

1. nama user :

2. jenis user (pengajar, murid atau
pengunjung) :

3. nama kelas :

4. nomer identitas dari kelas :

5. letak tempat di mana tersimpan foto
user :

6. nomer port yang digunakan :

variabel diatas tidaklah baku, kita bisa
melakukan modifikasi terhadap kode sumber
dari kelas virtual. Saya membuatnya dengan
sistem cepat dan mengutamakan berfungsinya
sistem kelas virtual, sedangkan proses
pengambilan data sebagai variabel kelas virtual
bisa kita modifikasikan sendiri, baik melalui
pengambilan data dari database ataupun input
data manual dari user.

D.2. Modifikasi Sistem Keamanan
Applet (Signed Applet)

Seperti kita ketahui diatas jika kita bekerja
dilingkungan applet, maka kita akan banyak
mendapatkan keterbatasan karena sistem
keamanan dari applet yang didisain sedemikian
rupa sehingga membatasi kita dalam melakukan
operasi operasi tertentu. Contoh operasi operasi
tersebut antara lain adalah operasi clipboard (cut,
copy, paste), koneksi ke server database melalui
JDBC, membaca dan menulis dari/ke harddisk
user, dan lain lainnya

Karena kelas virtual membutuhkan operasi
operasi diatas terutama operasi clipboard dan
memasukkan gambar dari harddisk komputer
user., maka karena itu kita harus memodifikasi
sistem keamanan dari applet. Applet hasil
modifikasi ini di kenal dengan nama “Signed
Applet”

Signed Applet akan menghasilkan satu file
sertifikat *.cer. File sertifikat ini berisi informasi
tentang modifikasi yang sudah kita lakukan
terhadap sistem keamanan kelas virtual. Pada
saat user masuk ke kelas virtual untuk pertama
kalinya, maka oleh browser dia akan diminta
untuk memberikan autorisasi dan kepercayaan
kepada sistem kelas virtual untuk berjalan di
komputer kita ( memberikan autorisasi berarti
memperbolehkan Applet melakukan operasi
operasi yang disebut diatas ).

Tidak ada komentar:

Posting Komentar