Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

2008/11/22

Java - (Edy Mulyanto )

Java - (Edy Mulyanto )

Motivasi dibuatnya bahasa pemrograman Java sesungguhnya adalah untuk kebutuhan akan sebuah bahasa yang bisa digunakan pada berbagai platform yang bisa dimasukkan ke dalam berbagai produk elektronik seperti televisi dan lemari es. Salah satu dari proyek pertama yang dikembangkan menggunakan JAVA sebuah remote kontrol yang diberi nama Star 7.
Mulai versi 1.2, platform Java telah dipilah-pilah menjadi beberapa edisi :
1. The Standard Edition(J2SE).
2. Enterprise Edition(J2EE).
3. Mobile Edition(J2ME).

J2SE – Java 2 Platform, Standard Edition Aplikasi Desktop
J2EE – Java 2 Platform, Enterprise Edition Aplikasi enterprise dengan fokus
pada pengembangan sisi webserver, termasuk servlet,JSP,EJB, dan
XML
J2ME – Java 2 Platform, Micro Edition Perangkat Mobile


KVM = Sun’s K Virtual Machine (Kuaui Virtual Machine)
CDC = The Connected Device Configuration
CLDC = The Connected Limited Device Configuration
MIDP = The Mobile Information Device Profile

J2ME adalah satu set spesifikasi dan teknologi yang fokus kepada perangkat konsumen yang memiliki jumlah memori yang terbatas, menghabiskan sedikit daya dari baterei, layar yang kecil dan bandwith jaringan yang rendah.
Program J2ME, seperti semua program JAVA adalah diterjemahkan oleh VM. Program-program tersebut dikompile ke dalam bytecode dan diterjemahkan dengan Java Virtual Machine(JVM)


MIDP
Mobile Information Device Profile (MIDP)
Spesifikasi MIDP menggambarkan suatu perangkat MID yang memiliki karakteristik karateristik ini sebagai batas minimum:
Tampilan:
· Ukuran Layar: 96x54
· kedalaman tampilan: 1-bit
· Ketajaman pixel: sekitar 1:1
Masukan:
· Satu atau lebih mekanisme user-input: satu keybboard, dua keyboard, atau
touch screen
Memory:
· 256 kilobytes of non-volatile memory untuk implementasi MIDP.
· 8 kilobytes of non-volatile memory for application-created persistent data
· 128 kilobytes of volatile memory for the Java runtime (e.g., the Java heap)
Jaringan:
· dua jalur, wireless, bandwidth terbatas
Sound:
· Kemampuan untuk memainkan nada-nada


Suatu aplikasi MIDP disebut MIDlet. Perangkat application management software (AMS) berinteraksi langsung dengan MIDlet dengan method MIDlet create, start, pause, dan destroy.


MIDlet mempunyai siklus hidup/life cycle. Suatu MIDlet setelah diciptakan akan berada di salah satu status (active, paused, destroyed). Begitu obyek suatu MIDlet diciptakan akan memasuki status paused menunggu perintah berikutnya. MIDlet memasuki status active ketika setelah method startApp() dipanggil. MIDlet akan kembali ke status pause jika method pauseApp() dipanggil. Setelah semua proses di dalam MIDlet selesai dilakukan dan MIDlet dimatikan maka MIDlet berada dalam status destroyed. Status destroyed ini dimasuki MIDlet pada pemanggilan method destroyApp (boolean).


Contoh program :

Listing Program Midlet : MIDlet1

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class MIDlet1 extends MIDlet implements CommandListener
{
private Command perintahKeluar;
private TextBox tb;

public MIDlet1()
{
// Perintah untuk keluar dari MIDlet
perintahKeluar = new Command("Keluar", Command.EXIT, 1);

//Buat komponen kotak teks
tb = new TextBox("Kotak Teks", "Halo Indonesia .....,Ini merupakan
latihan menggunakan MIDlet.", 68, 0);

//tambahkan perintah untuk keluar dari kotak teks
tb.addCommand(perintahKeluar);

// Dengarkan untuk mendengar even ini
tb.setCommandListener(this);
}

// Panggil manajer aplikasi (AMS) untuk memulai MIDlet
protected void startApp()
{
Display.getDisplay(this).setCurrent(tb);
}

// Cek untuk melihat perintah keluar dipilih oleh pengguna
public void commandAction(Command c, Displayable d)
{
if (c== perintahKeluar)
{
destroyApp(false);
notifyDestroyed();
}
}

// Metod yang dibutuhkan
protected void destroyApp(boolean u) {}

// Metod yang dibutuhkan
protected void pauseApp() {}
}


Listing Program Midlet : HaloAlert

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class HaloAlert extends MIDlet implements CommandListener
{
private Display display = null;
private List daftarUtama;
private Command perintahKeluar;
private Ticker x = new Ticker("Anda ingin jadi apa ?");
private Alert a;

public HaloAlert()
{
// Perintah untuk keluar dari MIDlet
perintahKeluar = new Command("Keluar", Command.EXIT, 1);

// Buat komponen daftar menu yang berisi dua pilihan
daftarUtama = new List("Daftar Karir", Choice.IMPLICIT);

//tambahkan perintah untuk keluar dari "daftar"
daftarUtama.addCommand(perintahKeluar);

// Dengarkan even ini
daftarUtama.setCommandListener(this);
daftarUtama.setTicker(x);
daftarUtama.append("Programmer", null);
daftarUtama.append("Operator", null);
daftarUtama.append("Keluar", null);

}

// memulai MIDlet
public void startApp()
{ if (display == null)
display = Display.getDisplay(this);
display.setCurrent(daftarUtama);
}

// Metode yang dibutuhkan menunda aplikasi
public void pauseApp() { }

// Metode yang dibutuhkan "merusak" aplikasi
public void destroyApp(boolean unconditional) { }


// perintah pilihan menu atau keluar dipilih oleh pengguna
public void commandAction(Command c, Displayable d)
{ if (c == perintahKeluar) { keluar(); }

if (d == mainMenu)
{
if (mainMenu.isSelected(0))
{ a = new Alert("Alert!!");
a.setString("Anda akan menjadi pemrogram komputer..!");
display.setCurrent(a);
}

else if (mainMenu.isSelected(1))
{ a = new Alert("Alert!!");
a.setString("Wachou....mosok anda hanya pingin jadi operator");
display.setCurrent(a);
}
else if (mainMenu.isSelected(2))
{ destroyApp(false);
notifyDestroyed();
}

}

}

private void keluar()
{ destroyApp(false);
notifyDestroyed();
}
}





No comments: