Pages

Tampilkan postingan dengan label Java Moklet. Tampilkan semua postingan
Tampilkan postingan dengan label Java Moklet. Tampilkan semua postingan

Selasa, 13 Maret 2012

Macam-macam GUI Toolkit Pada Java

1. AWT (Abstract Window Toolkit) – SUN Microsystem -> Oracle Product
AWT (Abstract Window Toolkit) ini adalah GUI Toolkit pertama pada bahasa pemrograman Java, sayang-nya AWT ini sangat-sangat kekurangan komponen yang biasa digunakan untuk membangun sebuah aplikasi desktop secara lengkap (komponen tabel saja tidak ada ) Terlepas dari kurang-nya komponen GUI yang terdapat pada AWT (Abstract Window Toolkit), aplikasi yang dibangun menggunakan AWT (Abstract Window Toolkit) akan tampak seperti aplikasi native. Maksudnya yaitu, jika aplikasi yang dibangun menggunakan AWT (Abstract Window Toolkit) ini dijalankan pada Sistem Operasi Windows. Maka aplikasi ini akan terlihat seperti aplikasi Windows pada umum-nya, dan begitu juga jika dijalankan pada Sistem Operasi Mac ataupun GNU/Linux. Kenapa ini bisa terjadi, karena AWT (Abstract Window Toolkit) ini benar-benar memanggil native subrutin untuk menggambar setiap komponen-nya ke layar. Tidak percaya ? silahkan anda coba



2. Java Swing – SUN Microsystem -> Oracle
Nah ini dia GUI Toolkit yang mungkin paling banyak dikenal oleh teman-teman yang baru belajar Pemrograman GUI di Java dibandingkan dengan GUI Toolkit yang lain GUI Toolkit ini lebih banyak dikenal dikarenakan dukungan tutorialnya yang cukup banyak bertebaran di Internet, dan juga merupakan standart dari Java yang mana kita tidak perlu melakukan penambahan library lagi kalau ingin menggunakan GUI Toolkit ini. Selain itu, terdapat 2 IDE besar yang menggunakan GUI Toolkit Java Swing yaitu NetBeans IDE(OpenSource) dan IntelliJ IDEA (mempunyai versi OpenSource dan Komersial)
Dibandingkan dengan pendahulu-nya yaitu AWT (Abstract Window Toolkit), Swing mempunyai lebih banyak komponen pendukung untuk membangun sebuah aplikasi yang lengkap untuk keperluan desktop. Selain didukung dengan banyak-nya komponen, Swing ini benar-benar murni 100 % ditulis dengan bahasa pemrograman Java tanpa adanya sebuah wrapper untuk memanggil rutin-rutin native code via JNI (Java Native Interface). Seluruh komponen yang terdapat pada Swing, semuanya murni digambar sendiri menggunakan API (Application Programming Interface) 2D untuk memanggil rutin-rutin dasar penggambaran komponen-nya. Nah dengan model seperti ini, memungkinkan sekali aplikasi yang dibangun menggunakan Swing tampak sama persis di berbagai macam Sistem Operasi.
Selain itu, Swing juga mempunyai kemampuan untuk berganti-ganti tampilan menggunakan LAF (Look And Feel) atau themes Sayang-nya, jika kita menginginkan tampilan GUI yangnative (tampilan-nya sama seperti aplikasi-aplikasi lain pada sistem operasi target) Swing seperti-nya masih terasa kurang smooth terutama dukungan pada font rendering-nya. Untuk teman-teman yang penasaran bagaimana sih sebenarnya tampilan dari GUI Toolkit Swing ini ? silahkan anda coba




3. SWT (Standart Widget Tookit) – IBM Product -> Eclipse Foundation
SWT (Standart Widget Toolkit) ini adalah sebuah GUI Toolkit yang dikeluaran oleh IBM sebagai alternatif dari AWT/Java Swing milik SUN Microsystem, yang membedakan antara SWT (Standart Widget Toolkit) dan AWT/Java Swing adalah SWT ini benar-benar mengakses native GUI library yang terdapat pada Sistem Operasi melalui JNI (Java Native Interface). Dengan model seperti ini, memungkinkan tampilan aplikasi yang dibangun menggunakan GUI Toolkit SWT menjadi sama persis dengan aplikasi native lain-nya. Kekurangan dari model pemanggilan native GUI library seperti ini adalah kita harus menyediakan library untuk tiap-tiap Sistem Operasi target aplikasi kita. 




4.QtJambi – Trolltech -> Nokia Product -> Stopped and Taken By Community
Pernah menggunakan Desktop Environment KDE ? Ingin membuat aplikasi yang tampilan-nya mirip dengan KDE ? Kalau teman-teman ingin membangun aplikasi yang tampilan-nya tampak seperti aplikasi yang terdapat pada KDE tapi masih ingin menggunakan bahasa java sebagai dasar-nya, maka QtJambi adalah pilihan yang tepat untuk teman-teman. Karena QtJambi ini merupakan binding Qt Framework dengan bahasa Java, tetapi sayang-nya proyek QtJambi sudah tidak disupport oleh Nokia dan secara resmi telah ditutup Untung-nya, awal tahun ini ada beberapa developer yang peduli dengan kelangsungan proyek ini dan akhir-nya membuat sebuah komunitas untuk melanjutkan pengembangan proyek QtJambi, sekarang teman-teman bisa melihat perkembangan proyek QtJambi ini pada halaman QtJambi Community.




5. JavaGNOME – Community Product
Kalau QtJambi diatas ditujukan untuk teman-teman yang sudah akrab dengan API (Application Programming Interface) Qt Framework, berbeda dengan JavaGNOME Proyek ini lebih dikhususkan untuk teman-teman pecinta GTK atau yang paling banyak dikenal yaitu GNOME Sama seperti GUI Toolkit SWT dan QTJambi, JavaGNOME ini juga mengakses native library tetapi API yang digunakan adalah API dari GTK. Untuk teman-teman yang sudah terbiasa membangun aplikasi menggunakan Glade, maka teman-teman bisa men-design form-nya menggunakan Glade dan memanggil-nya menggunakan bahasa java melalui JavaGNOME Nah ingin tahu tampilan aplikasi yang dibangun menggunakan JavaGNOME ? 

Encripsi dan Decripsi pada java

Enkripsi merupakan proses penggunaan algoritma yang kompleks untuk mengkonversi pesan ( plaintext atau cleartext ) ke suatu pesan terenkripsi ( chipertext ).
> Hal ini ditujukan untuk mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus .
> Enkripsi dapat digunakan untuk tujuan keamanan , tetapi teknik lain masih diperlukan untuk membuat komunikasi yang aman , terutama untuk memastikan integritas dan autentukasi dari sebuah pesan .
> Enkripsi adalah sebuah proses data encoding atau pemecahan kode data yang hanya dapat dibaca bila kita memiliki sebuah kunci khusus. Dulu enkripsi hanya berkembang di dunia spionase / perang, tetapi saat ini teknologi tersebut telah merambah ke sektor bisnis dan kalangan pengguna rumahan: Enkripsi adalah tool terbaik untuk melindungi data, privasi, dan rahasia Anda.
> Sebuah program enkripsi, baik itu yang berdiri sendiri (stand-alone) atau sudah terdapat pada aplikasi e-mail client anda, dan memiliki proses yang sama:
Data melewati sebuah formula matematis yang disebut algoritma, kemudian mengubahnya menjadi data terenkripsi yang disebut sebagai ciphertext. Formula ini memerlukan sebuah variabel dari anda–yang disebut kunci–untuk mengembalikan data tersebut kembali ke bentuk asal, sehingga sangat sulit, bahkan hampir tidak mungkin, seseorang dapat memecahkan kode enkripsi tersebut. Tetapi tentu saja hal ini tidak berlaku jika orang tersebut berhasil mencuri kode enkripsi dari Anda. Jadi, berhati-hatilah dengan kode enkripsi yang Anda miliki.
> Ada dua jenis enkripsi:
1. Simetris
Dengan enkripsi simetris, Anda menjalankan sebuah file melalui program dan membuat sebuah kunci yang mengacak file. Kemudian Anda mengirim file terenkripsi melalui e-mail ke si penerima dan secara terpisah mentransmit kunci dekodingnya (mungkin berupa sebuah password atau file data lainnya). Si penerima, dengan menjalankan aplikasi enkripsi yang sama, menggunakan kunci yang Anda berikan untuk menyatukan kembali file yang telah diacak. Enkripsi simetris sangat mudah dan sangat cepat dalam penggunaannya, tetapi tidak seaman enkripsi asimetris, karena seseorang dapat saja mencegat kunci dan mendekoding pesan tersebut. Tetapi karena kecepatannya itu, saat ini enkripsi simetris banyak digunakan pada transaksi e-commerce.
2. Asimetris (juga disebut sebagai public key).
Enkripsi asimetris sangat kompleks–tetapi jauh lebih aman. Diperlukan dua buah kunci yang saling berhubungan: sebuah kunci publik dan sebuah kunci pribadi. Anda membuat kunci publik anda tersedia bagi siapa saja yang ingin anda kirim informasi terenkripsi. Kunci tersebut hanya dapat mengenkoding data, ia tidak dapat mendekodingnya. Kunci pribadi anda terjaga dengan aman. Saat orang-orang hendak mengirim informasi terenkripsi pada anda, mereka mengenkripsinya menggunakan kunci publik anda. Saat anda menerima chipertext tersebut, anda akan mendekripsikannya dengan menggunakan kunci pribadi anda. Enkripsi asimetris menambahkan tingkat keamanan pada data anda, tetapi akibatnya lebih banyak lagi waktu komputasi yang dibutuhkan, sehingga prosesnya menjadi sangat panjang dan lebih lama.

Contoh sederhana encripsi dan decripsi pada java :
#include <cstdlib>
#include <iostream>
#include <string.h>
#define maks 500

using namespace std;
class Enkripsi{
public:
Enkripsi();
void enkripsi();
void deskripsi();
void output();
private:
char chiper[maks];
int key;
char plain[maks];

};

Enkripsi::Enkripsi(){
cout<<"Masukkan kata : ";
cin.getline(chiper,sizeof(chiper));
cout<<"Masukkan key  : ";
cin>>key;
cout<<endl;
}

void Enkripsi::enkripsi(){
for(int i=0;i<strlen(chiper);i+=1){
cout<<chiper[i]<<"("<<int(chiper[i])<<") ";
chiper[i] = (chiper[i]+key)%128;
}
}

void Enkripsi::deskripsi(){
for(int i=0;i<strlen(chiper);i+=1){
plain[i] = (chiper[i]-key)%128;
chiper[i] = plain[i];
}
}

void Enkripsi::output(){
for(int i=0;i<strlen(chiper);i+=1){
cout<<chiper[i];
}
}

int main(int argc, char *argv[])
{
Enkripsi Deskripsi;
Deskripsi.enkripsi();
cout<<"\n\nSetelah diEnkripsi : ";
Deskripsi.output();
Deskripsi.deskripsi();
cout<<"\n\nKembali diDeskripsi : ";
Deskripsi.output();

cout<<endl<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}



KONSEP DASAR STREAM I/O



  • Stream adalah representasi abstrak dari aliran data yang berjalan dari sumber (input stream) ke tujuan (output stream).
Contoh:
Membaca dan menulis file di dan ke harddisk
Membaca dan menulis teks ke console.
Membaca dan menulis melalui network

  • Untuk membaca, program membuka stream pada sumber ( file, memory, socket) dan membaca informasi secara sekuensial.
   
  • Untuk menulis, program mengirim informasi ke tujuan dengan cara membuka stream tujuan, selanjutnya menulis informasi secara sekuensial.  

  • Byte Stream 
 

  • Character Stream 
 


  • Cara menggunakan stream : 

    • InputStream dan OutputStream adalah abstract class untuk stream I/O, yaitu untuk membaca dan menulis data dari dan ke file.
    • Untuk membaca digunakan class yang mengimplementasikan InputStream, contoh : FileInputStream.
    • Untuk menulis digunakan class yang mengimplementasikan OutputStream, contoh : FileOutputStream.
    • Hirarki Class InputStream dan OutputStream
  • Membaca File: FileInputStream :
  1. Definisikan nama file yang akan dibaca melalui class    File, atau nama file lengkap dengan path.
  2. Periksa apakah file tersebut ada (exist) dan tipenya adalah file (bukan direktori).
  3. Siapkan obyek FileInputStream untuk membaca isi file.
  4. Baca input dengan menggunakan method read(), dan bila tidak ada input lagi,FileInputStream memberikan  indikator -1 sebagai tanda tidak ada lagidata yang akan dibaca.
  5. Gunakan method close() untuk menutup FileStream. 
  • Reader dan Writer
  1. Digunakan untuk membaca dan menulis data tekstual. 
  2. Untuk mempercepat performance, gunakan fasilitas buffering dengan: BufferedReader. 
  3. Untuk membaca teks baris per baris digunakan teknik sebagai berikut:
           File f = new File(“c:\\oop\\text.txt”);
           FileReader fr = new FileReader(f);
           BufferedReader fin= new BufferedReader(fr); 






Rabu, 07 Desember 2011

Konsep OOP & Awt

Pemrograman berorientasi objek (OOP) ialah sebuah metode pemrograman berbasiskan hirarki kelas-kelas dan melibatkan objek. Pemrograman Berorientasi Objek merupakan fitur utama pada Java dimana syarat utamanya kita harus membuat program berupa kelas . Sebuah kelas  ialah sebuah struktur yang mendefinisikan data dan method untuk bekerja pada data tersebut.  Ketika kita membuat program OOP di java, semua data diselubung oleh sebuah kelas. Berikut rumus umum dari OOP :

 //membuat objek dari suatu kelas menggunakan new
nama kelas  nama_objek = new nama_kelas
//memanggil method dari objeknya
nama_objek.nama_method();
//mengeset properties
nama_objek.nama_properties=value;


Kelas
Di dalam kelas kita mendeklarasikan berbagai variabel/properties dan method, contoh berikut menampilkan contoh dasar pembuatan kelas di java :

//deklarasi nama kelas StudInfo
class StudInfo {
//deklarasi variabel
   String name;
   String id;
   String classcode;
//deklarasi dan inisialisasi method printDetails()
   void printDetails() {
        System.out.println( name + " " + id + " " + classcode );
   }
} 
//kelas utama StudentDetails
class StudentDetails {
     public static void main ( String args[] ) {

        // membuat objek bernama student dari kelas StudInfo
        StudInfo student = new StudInfo();

        // inisialisasi variable/properties objek dengan data
        student.name = "Johny Purwanto";
        student.id = "0208-0101-1001";
        student.classcode = "AD0101PT";
 // memanggil method printDetails untuk menampilkan data      
 student.printDetails();
}
}

Pada program diatas, kita menggunakan 2 kelas yaitu StudentInfo yang berisi variabel dan method siswa dan kelas StudentDetails yang berisi inisialisasi variabel dan pemanggilan fungsi printDetails, dengan terlebih dahulu membuat objek dengan nama student. Perlu diperhatikan di sini, ketika anda akan menyimpan nama sebuah file, maka wajib berikan nama file dari kelas yang ada fungsi main. Dari contoh diatas , kelas yang mempunyai fungsi main ialah kelas StudentDetails, oleh karena itu nama file yang tepat ialah StudentDetails.java.
Ketika program ini dijalankan ,hasilnya :

Johny Purwanto  0208 0101-1001 AD0101 PT



Inheritance

Untuk membuat kelas baru dari komponen kelas yang sudah ada, dapat kita gunakan turunan atau inheritance.  Di java kita menggunakan fungsi extends untuk menandakan suatu kelas ialah turunan dari kelas lain

//kelas Human ialah kelas yang akan diturunkan (base class atau super class)
class Human
{
    int hands = 2;
}
//kelas Employee ialah kelas turunan dari kelas Human (subclass)
class Employee extends Human {
     String name;
     double salary ;
//membuat konstruktor untuk inisialisasi
//idealnya untuk menginisialisasi variable kita gunakan konstruktor
Employee ( String n, double s ) {
          name = n;
          salary = s;
}
String getDetails()
{
         return "\nName : " + name + "\nSalary : " + salary;
}
}
//Kelas manager turunan dari kelas Employee
class Manager extends Employee
{
    String dept ;
   Manager ( String n, double s, String d ) {
    super(n,s);//memanggil konstruktor kelas atas (Employee)
           dept = d;
}
String getDetails()
{
    return  super.getDetails() + "\nDept : " + dept
                 + "\nHands : " + super.hands;}
 }
class SuperTestEmployee
{
public static void main ( String args[] )
{
Manager m1 = new Manager("Ginger", 1000.0, "Mgt");
          System.out.println(m1.getDetails());

          Manager m2 = new Manager ("Swee Lim", 2000.0,"Finance");
          System.out.println(m2.getDetails());

          Manager m3 = new Manager ("Su Kheng", 3000.0, "Sales");
          System.out.println(m3.getDetails());
}
}

Pada program diatas, kita membuat 3 buah kelas, yaitu kelas Human, Employee dan Manager . Untuk menginisialisasi variable idealnya kita menggunakan Konstruktor, dimana penulisannya harus sama dengan nama kelas. Jadi jika kelas bernama Employee , maka konstruktornya bernama Employee() atau terdiri dari beberapa parameter yang kita inginkan. Konstruktor yang tidak mempunyai parameter kita sebut sebagai default constructor. Penggunaan fungsi super untuk memanggil konstruktor dari kelas atas (base class). Jika kita membuat konstruktor dengan nama yang sama , namun berbeda isi parameternya, ini disebut sebagai overloading constructor

Contoh :
class Cload
{
String pname;
int qty;
int price;
//konstruktor dengan 3 parameter
Cload (int prodqty, String prodname, int prodprice )
{
pname=prodname;
qty=prodqty;
price=prodprice;
}
//konstruktor dengan 2 parameter bertipe int dan String
Cload (int q, String p1name) 
{
pname=p1name;
price=q;
qty=price/10; }
void print() {
System.out.println ("nama produk : " + pname);
System.out.println ("Kuantitas :" + qty);
System.out.println ("Harga: " + price);}
public static void main (String args[]) {
Cload prods;
prods = new Cload (10,"Apples", 10);
prods.print();
prods = new Cload (10,"Oranges");
prods.print();
}}

Program diatas akan menginisialisasi variable menggunakan konstruktor yang berbeda parameter  dan menampilkan datanya.

Pada program diatas terlihat kita bisa mengeset konstruktor dengan berbagai parameter, dan program otomatis akan mencari dan mengenal konstruktor mana  yang harus dicari sesuai dengan parameter yang kita berikan.
Di java, agar kita dapat menggunakan method pada berbgai kelas, namun implementasi method tersebut berbeda-beda, kita harus mendeklarasikan method tersebut di dalam kelas abstract. Contoh :

abstract class Bentuk {
…
public abstract float hitungluas();
…
}
public class Lingkaran extends Bentuk {
…
float radius;
public float hitungluas();
{
return radius *22/7;
}
}

Pada program diatas, kita memilih sebuah method abstrak yaitu hitungluas(), oleh karena itu di kelas Lingkaran yang merupakan turunan dari kelas Bentuk, dapat mendefinisikan isi method hitungluas() untuk lingkaran.  Tentu saja rumus luas untuk persegi panjang dan bidang lainnya berbeda, disinilah kelebihan penggunakan kelas abstrak. Sedangkan jika anda ingin suatu kelas tidak dapat diturunkan harus menggunakan keyword final.  Penggunaan final pada variable justru membuat variabel menjadi suatu konstanta.  Beberapa konsep OOP yang harus dipelajari Anda lebih jauh yaitu Polimorphisme, Interface dan method overriding.

Input Keyboard
Di Java,untuk menerima input dari keyboard pada  pemrograman java application harus menggunakan kelas BufferedReader dan InputStreamReader, berikut contohnya :

package aplikasijava;
import java.io.*; //menyertakan seluruh kelas  yang ada di dalam paket java.io
//nama kelas ContohWhile
public class ContohWhile
{
//buang error  menggunakan kelas IOException
 public static void main (String args[] ) throws IOException
{
//deklarasi variable
char ch;
//Tampilkan pilihan
System.out.print("\nSelect [F]oods [D]rinks [S]leeping [E]xit: ");
//terima input dan ditangani oleh kelas BufferedReader dan InputStreamReader
BufferedReader br = new BufferedReader (new InputStreamReader ( System.in));
//baca input dan masukkan ke str
String str = br.readLine();
//ambil karakter pertama
ch = str.charAt(0);
//selagi bukan “E” yang diinputkan oleh user
while ( ch != 'E') {    
switch (ch) {
//jika “F” maka tampilan pesan Makan
                   case 'F' :   System.out.println("Anda senang makan");
                                break;
                   case 'D' :   System.out.println("Anda suka minum");
                                break;
                   case 'S' :   System.out.println("Anda suka tidur");
                                break;
                   default  :   System.out.println("Anda golput" );
                                break;
}
System.out.print("\nSelect [F]oods [D]rinks [S]leeping [E]xit: ");
br = new BufferedReader (new InputStreamReader ( System.in));
str = br.readLine();
ch = str.charAt(0);
}
System.out.println("Selesai");
}
}

Kita menggunakan method readLine() untuk menerima input dari keyboard lalu ditampung oleh variabel str. Karena kita ingin mendeteksi karakter pertama saja untuk pengecekan kondisi menggunakan switch..case, maka kita gunakan method charAt(0) .


Mengenal  AWT

Aplikasi java dapat dibedakan menjadi 3 yaitu Java application , Java Applet dan servlet. Java application telah kita pelajari sebelumnya yang mana berjalan di command prompt dan bersifat text based, keculai aplikasi swing yang dapat mempunyai tampilan GUI.. Java Applet ialah aplikasi GUI yang berjalan di browser (IE,Netscape, Modzilla dan lain-lain ).  Sedangkan Java servlet ialah aplikasi yang berjalan di server. Pada awal kemunculan Java, java applet menjadi bahasa yang sangat popular untuk membuat situs web menjadi  lebih dinamis. Salah satu aplikasinya ialah  chatting , form input ke server dan tulisan yang bergerak bervariasi dengan warna-warni yang indah . materi AWT tetap diberikan di buku ini karena AWT masih tetap diperlukan dengan berbagai kelebihan dan kekurangannya di dalam pengembangan aplikasi web berbasiskan J2EE.
Abstract Windowing Toolkit (AWT) ialah sebuah API (Application Programming Interface) yang berfungsi untuk membuat aplkasi Graphical User Interface (GUI) yang merupakan bagian dari Java Foundation Classes (JFC). AWT menyertakan sekumpulan komponen untuk membangun grafik, event handling, perangkat gambar, layout manager dan mendukung arsitektur JavaBeans. Paket java.awt berisi seluruh kelas untuk membuat user interface dan gambar grafik serta image. Java applet mempunyai kemampuan untuk mencegah virus menempel di aplikasi kita, karena konsepnya ialah file.class (bytecode) itu diinterpretasi, bukan di eksekusi. Sehubungan dengan hal tersebut, beberapa batasan yang ada pada applet ialah :

  • applet tidak dapat membaca atau menulis system file
  • applet tidak dapat berkomunikasi dengan server lainnya
  • applet tidak dapat menjalankan program di sistem

Untuk membuat applet, dibutuhkan kelas-kelas yang mendukung berupa paket minimum yaitu java.awt.*  dan java.applet.* . Lambang * menandakan sertakan seluruh kelas  yang ada di dalam paket awt atau applet tersebut. Umumnya kelas untuk program applet merupakan turunan dari kelas Applet , yaitu bersumber dari paket java.applet.Applet.

Kelas Graphics
                Kelas graphics berisi method-method  untuk menggambar string, garis, segi empat dan bentuk lainnya.  Secara default java menggunakan koordinat yang umum yaitu sudut kiri atas monitor (0,0) dan semakin ke kanan nilai x semakin besar, begitujuga sumbu y semakin ke bawah nilainya semakin besar.  Untuk menggambar di layar, dibutuhkan graphics context yang berfungsi mirip dengan papan tulis tempat kita menulis /menggambar sesuatu. Kelas grafis ialah kelas abstract yang tidak bisa diinstankan. Tetapi sebuah  tipe kelas Graphics dapat didefinisikan menggunakan kelas Component. Kelas Component ialah superclass untuk seluruh kelas di awt yang mempunyai method paint dengan parameter sebuah objek Graphics sebagai argumen.  Objek ini akan dilewati ke method paint oleh system ketika operasi penggambaran terjadi untuk sebuah komponen,  deklarasinya sebagai berikut :

public void paint (Graphics g)

Method ini dipanggil otomatis ketika applet dieksekusi (setelah pemanggilan di method init dan start).  Untuk merefresh tampilan, digunakan method repaint() dan update() untuk membersihkan penggambaran sebelumnya sebagai berikut :

public void repaint()
public void update(Graphics g)

Applet mempunyai beberapa method yang umum digunakan yang tersimpan di kelas Applet. Berikut method tersebut :

init()        //dipangil ketika applet dimulai
start()     //dieksekusi setelah method init(), untuk menjalankan applet
stop()      // untuk memberhentikan applet yang sedang berjalan
destroy()// untk membebaskan memori yang ditempati oleh variable dan objek
paint()    // untuk menggambar, menulis dan membuat background.
repaint() //  untuk menggambar ulang applet , bisa menggunakan 4 parameter
                //untuk update bagian tertentu di applet supaya lebih cepat.




Program java applet yang telah jadi ditempelkan ke dalam dokumen html menggunakan tag <applet code=nama_applet.class></applet>, berikut contoh applet untuk  menampilkan pesan di browser pada posisi tertentu yang umumnya merupakan turunan dari kelas Applet :

import java.awt.*; //menyertakan paket awt
import java.applet.*; //menyertakan paket applet

//kelas Salam turunan(extends) dari kelas Applet
public class Salam extends Applet
{ 
Font f = new Font ("TimesRoman", Font.BOLD, 50);//set jenis font
String nama; //buat variabel nama dengan tipe data String
public void init() {  //tempat inisialisasi
nama=getParameter ("nama");
if (nama==null) //jika kosong
nama="Muhammad Subchan";//set nama
nama="Hai " + nama;
}
public void paint (Graphics g)
{
g.setFont (f);  /set applet dengan font
g.setColor(Color.green);//berwarna hijau
g.drawString(nama, 60,60);//tampilkan string di posisi 60,60
}
}

Setelah anda kompile di dos prompt menggunakan perintah javac Salam.java,  akan menghasilkan Salam.Class, masukkan kode penempelan applet menggunakan tag applet code sebagai berikut :

<html>
<head>
<title>Salam Applet </title>
</head>
<body bgcolor=pink>
<font color=blue><h3> Contoh Applet</h3></font>
<applet code ="Salam.class" width=300 height=200 CODEBASE="\j2se\ bin">
<align=top>
<param name=nama value="Iwan">
</applet>
</body>
</html>


Pada kode di atas, kita meload file Salam.class dengan lebar 300 dan tinggi 200. Codebase berfungsi untuk menentukan file .class pada suatu direktori, sebagai contoh file .class tersebut ada di folder \j2se\bin.  Pada kenyataanya kalau sudah diupload di web server, dengan memasukkan file html dan .class pada 1 direktori, kita tidak perlu menggunakan codebase ini. Param digunakan sebagai input di program java kita , agar kita bisa dengan mudah merubah nilai tanpa perlu mengkompile ulang program java kita.
Untuk menjalankannya jalankan file html tersebut seperti gambar . Tampilan tersebut akan menampilkan nama Iwan karena di dokumen html saya memasukkan nama Iwan, jika saya kosongkan nama tersebut, maka akan tampil nama Muhammad Subchan.

 APPLET adalah tag HTML yang digunakan untuk memasukan file java ke dalam dokumen HTML. Penggunaanya sama persis seperti tag EMBED yang digunakan untuk memasukkan konten multimedia ke dalam dokumen HTML. Untuk menampilkan file JAVA pada dokumen HTML, maka browser yang digunakan harus sudah terinstal plugin yang dapat mendukung file JAVA pada dokumen HTML
Sebagai contoh :


  1. <APPLET CODE="ColorBox" WIDTH=100 HEIGHT=100></APPLET>  


Tag diatas akan menghasilkan tampilan sebagai berikut :


Sama halnya dengan tag INPUT TYPE=RADIO atau INPUT TYPE=CHECKBOX, tag OPTION berguna untuk meminta inputan dari pengunjung yang disediakan dalam bentuk pilihan. Tentu saja, tag OPTION ini baru berguna apabila inputan data yang dimasukkan oleh pengunjung dikombinasikan dengan kode program yang dapat memroses inputan yang dimasukkan.
CODE
Atribut ini merupakan atribut yang paling penting dikarenakan atribut ini digunakan untuk menentukkan sumber dari file JAVA yang ingin ditampilkan. Atirbut ini digunakan hanya untuk menentukkan nama dari file JAVA yang dimaksud bukan untuk menuliskan alamat lengkap atau direktori dari sumber yang akan ditampilkan.

Perhatikan yang benar dan yang salah,

Salah


  1. <APPLET CODE="../File JAVA/klikbelajar.class" WIDTH=100 HEIGHT=100></APPLET>  

Benar
  1. <APPLET CODE="klikbelajar.class" WIDTH=100 HEIGHT=100></APPLET>  


Jika file JAVA tidak ditempatkan pada direktori yang sama dengan dokumen HTML yang dibuat, maka gunakan atribut CODEBASE untuk menentukkan direktori dari file JAVA yang dimaksud. Penggunaan atribut CODE hanya digunakan untuk menuliskan nama dari file JAVA tersebut.
CODEBASE
Atribut CODEBASE adalah atribut dari tag APPLET yang digunakan untuk menentukkan direktori dimana file JAVA yang ingin ditampilkan berada.
Contoh :

Apabila kita memiliki direktori sebagai berikut :
- Sumber
  - File JAVA
    - Klikbelajar.class
  - File HTML
    - Klikbelajar.html


Dapat dilihat, dokumen HTML yang dibuat diletakkan terpisah dengan file JAVA yang ingin ditampikan, maka dari itu harus ditentukan direktori dari file JAVA yang ingin ditampilkan dengan atribut CODEBASE.

Sebagai contoh :


  1. <APPLET  
  2. CODE="Klikbelajar.class"  
  3. CODEBASE="../File JAVA/" WIDTH=100 HEIGHT=100></APPLET>  

Arti dari kode CODEBASE="../File JAVA/" adalah :

Direktori yang dituju naik satu level ke atas (../). Pada contoh diatas, dokumen HTML yang dibuat berada pada direktori File HTML maka apabila digunakan perintah untuk menaikkan direktori satu level keatas, maka direktori akan berpindah ke direktori Sumber, dimana memiliki derajat satu level diatas direkori File HTML. Sedangkan, File JAVA/ artinya direktori masuk satu level ke dalam direktori yang bernama File JAVA.
WIDTH
Atribut ini digunakan untuk menentukan lebar dari file JAVA yang akan ditampilkan.

Contoh:


  1. <APPLET CODE="../File JAVA/klikbelajar.class" WIDTH=150 HEIGHT=50>  
  2. <br><PARAM NAME=TEXT VALUE="Pasti Bisa !!"><br></APPLET>  


Tinggi dari objek akan berukuran 150 pixel.
HEIGHT
Atribut ini digunakan untuk menentukan tinggi dari file JAVA yang akan ditampilkan.

Contoh:


  1. <APPLET CODE="../File JAVA/klikbelajar.class" WIDTH=50 HEIGHT=150>  
  2. <br><PARAM NAME=TEXT VALUE="Pasti Bisa !!"><br></APPLET>  

Tinggi dari objek akan berukuran 150 pixel.
ALIGN
Atribut ini digunakan untuk menentukan posisi dari objek.
Contoh :


  1. <APPLET CODE="ColorBox" WIDTH=100 HEIGHT=100 ALIGN="LEFT"></APPLET>  

Pada contoh diatas objek diatur agar rata ke kiri.
Contoh 2 :


  1. <APPLET CODE="ColorBox" WIDTH=100 HEIGHT=100 ALIGN="RIGHT"></APPLET>  

Pada contoh diatas objek diatur agar rata ke kanan.
VSPACE
Atribut ini digunakan untuk menentukan jarak file JAVA yang ditampilkan dengan teks di atas dan bawahnya.

Perhatikan contoh antara VSPACE=20 dan VSPACE=100, lihat perbedaannya :


  1. <APPLET CODE="klikbelajar.class" WIDTH=150 HEIGHT=50 VSPACE=20>  
  2. <br></APPLET>  



dan


  1. <APPLET CODE="klikbelajar.class" WIDTH=150 HEIGHT=50 VSPACE=100>  
  2. <br></APPLET>  


Sekarang terlihat bukan perbedaannya ??
HSPACE
Atribut ini digunakan untuk menentukan jarak file JAVA yang ditampilkan dengan teks di kanan dan kirinya.

Perhatikan contoh antara HSPACE=20 dan HSPACE=100, lihat perbedaannya :


  1. <APPLET CODE="klikbelajar.class" WIDTH=150 HEIGHT=50 HSPACE=20>  
  2. <br></APPLET>  

Klikbelajar.com Klikbelajar.com

dan


  1. <APPLET CODE="klikbelajar.class" WIDTH=150 HEIGHT=50 HSPACE=100>  
  2. <br></APPLET>  

Klikbelajar.com Klikbelajar.com

NAME
Atribut ini digunakan untuk memberikan nama dari file JAVA yang ditampilkan pada dokumen HTML. Atribut ini data sangat berguna apabila penggunaa tag APPLET pada dokumen HTML dikombinasikan dengan kode program lain seperti JAVASCRIPT.

sumber