modul 1 j2me
DESCRIPTION
jgjTRANSCRIPT
Bab I
Lingkungan Pengembangan Eclipse
1.1. Tujuan
1. Memahami penggunaan TextBox
2. Memahami penambahan Ticker pada TextBox
3. Memahami penggunaan Form
4. Memahami penambahan Ticker pada Form
5. Memahami penambahan gambar pada Form
1.2. Alat & Bahan
2. Personal Computer (PC) / Notebook.
3. jdk-6u24-windows-i586.
4. Eclipse-SDK-3.4.1-win32.
5. Plugin J2ME for Eclipse
6. Notepad / Notepad++
1.3. Dasar Teori
1.3.1. Pengenalan J2ME
J2ME (Java 2 Micro Edition) merupakan subset dari J2SE yang
ditujukan untuk implementasi pada peralatan embeded system dan
handheld yang tidak mampu mendukung secara penuh implementasi
menggunakan J2SE.
Gambar 1.1 Logo J2ME
J2ME adalah teknologi Java yang diperuntukkan perngkat-perngakat
kecilconsumer device , terutama wireless. Bebrapa
perangkat wireless antara lain PC, PDA, communicator, embedded
device, smart card dan ponsel. Teknologi Java mungkin merupakan satu-
satunya cara memprogram beberapa perangkat, berbagi logic antara
perangkat dan server, pengantaran aplikasi secara dinamis, program yang
kompak, lingkungan pengembangan yang aman dan cepat. J2ME
memungkinkan perangkat lunak dapat di-download perangkat sekaligus
memungkinkan layanan yang dapat disesuaikan di beragam perangkat.
J2ME menyediakan platform standar untuk pengembangan
perangkat wireless. J2ME terdiri atas perangkat-perangkat komponen
sebagai berikut:
1. Java Virtual Machine (JVM), komponen untuk menjalankan program-
program Java pada emulator atau handheld device.
2. Java Application Programming Interface (API), merupakan
kumpulan library untuk menjalankan dan mengembangkan program
Java pada Handheld Devices.
Tools lain untuk mengembangkan Java, semacam emulator Java
Phone, Emulator Nokia, EmulatorSiemens dan Emulator Motorola.
1.3.2. Pengenalan Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environment)
untuk mengembangkan perangkat lunak dan dapat dijalankan di semua
platform (platform-independent). Berikut ini adalah sifat dari Eclipse:
o Multi-platform: Target sistem operasi Eclipse adalah Microsoft
Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
o Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman
Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis
bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP,
dan lain sebagainya.
o Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse
pun bisa digunakan untuk aktivitas dalam siklus pengembangan
perangkat lunak, seperti dokumentasi, test perangkat lunak,
pengembangan web, dan lain sebagainya.
Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis
dan open source, yang berarti setiap orang boleh melihat kode pemrograman
perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya
populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna
dengan komponen yang dinamakan plug-in.
1.3.3. TextBox
TextBox adalah type screen yang paling sederhana yang memungkinkan
user untuk memasukkan string. TextBox diciptakan dari 4 parameter yaitu:
public TextBox(String title, String text, int maxSize,int
constraints)
dimana:
title digunakan untuk judul dari tampilan screen
Gambar 1.2 Judul pada J2ME
text isi dari string
maxsize maksimal karakter yang bisa diisikan
constraints bisa digunakan untuk membatasi input dari user.
Konstanta dari class TextField digunakan untuk menspesifikasikan type
input yang dibutuhkan. Konstanta tersebut meliputi:
o ANY: sembarang input
o NUMERIC:dibatasi hanya untuk angka
o DECIMAL:hanya dibatasi untuk pecahan
o PHONENUMBER:hanya dibatasi untuk nomor telepon
o EMAILADDR:input harus berupa emailaddress
o URL: input harus berupa web address
Contoh:
Displayable d=new TextBox(“Email”,””,64,TextField.EMAILADDR)
1.3.4. Ticker
Ticker adalah kalimat yang bergerak diatas layar. Contoh penggunaan ticker
adalah:
Ticker t=new Ticker(“J2ME”);
f.setTicker(t);
Gambar 1.3 Teks Berjalan pada J2ME
1.3.5. Form
Form adalah screen yang terdiri dari user interface control yang disebut items.
Salah satu cara untuk menciptakan Form yang dilengkapi dengan judul(title)
adalah:
Public Form(String title)
Form adalah koleksi dari item , dan kita dapat melewatkan semua koleksi item
ini pada konstruktor Form:
public Form(String title,Item[] items)
Gambar 1.4 Form pada J2ME
1.3.6. Choice Group
Item Choicegroup merupakan group dari selectable choice.
Sebuah choice boleh berisi sebuah text, gambar atau kedua-duanya.
Choice boleh EXCLUSIVE (hanya satu pilihan yang dapat dipilih) atau
MULTIPLE (banyak pilihan yang dapat dipilih pada suatu waktu). Jika
ChoiceGroup bertipe POPUP, hanya satu choice yang ditampilkan. Popup
selection akan ditampilkan ketika item ini dipilih. Dari popup seleksi ini,
user diperbolehkan memilih pilihannya. Choice yang ditampilkan selalu
choice yang dipilih. GetSelectedIndex() mengembalikan nilai index pada
element dari ChoiceGroup yang dipilih. GetSelectedFlags()
mengembalikan sebuah array dariboolean yang merespon elemen dari
Choicegroup.isSelected(int index) mengembalikan state dari elemen yang
diberikan oleh posisi index.
Gambar 1.5 Choice Group J2ME
1.3.7. Text Field
TextField merupakan Item dimana user dapat memasukan encode.
Beberapa batasan exclusive yang dapat di-set yaitu:
TextField.ANY
TextField.EMAILADDR
TextField.NUMERIC
TextField.PHONENUMBER
TextField.URL
TextField.DECIMAL
Masukan tersebut juga dapat memiliki macam-macam modifikasi:
TextField.PASSWORD
TextField.UNEDITABLE
TextField.SENSITIVE
TextField.NON_PREDICTIVE
TextField.INITIAL_CAPS_WORD
TextField.INITIAL_CAPS_SENTENCE
Modifikasi dapat di-set dengan menggunakan bit-wise OR (|) operator
(atau toggled menggunakan bit-wise XOR operator ^) pada input
constraint. Sebagai konsekuensinya,modifikasi dapat diperoleh dari
pengembalian nilai dari getConstraint() bit-wise operator AND(&). Sejak
nilai modifikasi juga dikembalikan oleh getConstraint(), Masukan main
constraint.
Gambar 1.6 Teks Field J2ME
1.3.8. Image
Objek Image digunakan untuk meletakkan objek gambar yang bisa bersifat
immutable atau mutable. Gambar yang bersifat immutable artinya tidak bisa
diubah-ubah oleh aplikasi dan umumnya berupa gambar yang diambil dari
sebuah file gambar, URL atau tempat lain. Sebaliknya gambar yang bersifat
mutable bisa diubah-ubah oleh aplikasi.
Konstruktor dari class Image ini bersifat statik, sehingga Anda tidak
menggunakan new untuk membuat sebuah objek Image melainkan mengacu
ke fungsi createImage() pada objek Image ini:
Konstruktor pertama dan kedua digunakan untuk membuat objek Image yang
bersifat immutable. Jenis file gambar yang mendukung, hanya file dengan
format PNG (Portable Network Graphics).
Fungsi-fungsi penting dalam class Image adalah:
public Graphics getGraphics()
Menghasilkan objek Graphics yang bersesuaian dari objek Image yang
bersangkutan.
public int getHeight()
menghasilkan tinggi objek gambar yang ada.
public int getWidth()
Menghasilkan lebar objek gambar yang ada.
public boolean isMutable()
Menghasilkan nilai true jika objek gambar bersifat mutable.
A. ImageItem
Objek ImageItem digunakan untuk mengontrol objek Image yang ada
pada form atau alert. Konstruktor dari class ImageItem adalah:
public void ImageItem(String label, Image img, int layout, String altText)
Parameter-parameter pada konstruktor adalah:
String label
Untuk memberikan judul pada objek ImageItem yang aktif.
Image img
Objek Image yang akan dikontrol
public static void createImage(String name)
public static void createImage(Image img)
public static void createImage(int width, int height)
String altText
Untuk memberikan alternatif teks string pada gambar.
int layout
Ada beberapa nilai layout yang bisa digunakan untuk parameter ini,
yaitu:
o ImageItem.LAYOUT_CENTER : gambar akan diatur pada posisi
tengah.
o ImageItem.LAYOUT_DEFAULT : gambar akan diatur pada
posisi standart.
o ImageItem.LAYOUT_LEFT : gambar akan diatur pada posisi
kiri.
o ImageItem.LAYOUT_RIGHT : gambar akan diatur pada posisi
kanan.
o ImageItem.LAYOUT_NEWLINE_AFTER : setelah gambar
dibuat akan diberikan sebuah baris baru.
o ImageItem.LAYOUT_ NEWLINE_BEFORE : sebelum gambar
dibuat akan diberikan sebuah baris baru.
Gambar 1.7 Menambahkan Gambar J2ME
1.4. Instalasi Wireless Toolkit
Apabila dalam komputer atau notebook belum diinstal JDK (Java
Development Kit) maka langkah pertama yang harus diambil adalah
menginstal JDK terlebih dahulu, setelah itu baru menginstall WTK. Berikut
langkah-langkah penginstal WTK.
Untuk aplikasi terpenting yang selanjutnya adalah menginstal WTK.
WTK adalah suatu aplikasi mesin virtual yang membantu kita untuk membuat
suatu program untuk platform berupa handphone yang berjenis J2ME. Seperti
langkah
1. Pertama, langsung double click setup WTK dan akan muncul window baru
lagi seperti ini, kemudianLangsung klik next saja
Gambar 1.8 Tampilan Awal Instalasi WTK
2. Accept jika menyetujui lisensinya dan akan melanjutkan setup.
Gambar 1.9 Tampilan Persetujuan Persyaratan
3. Disini anda akan diminta destinasi dari JDK yang telah kita install di
langkah yang pertama. Click Next.
Gambar 1.10 Tampilan Pengaturan Letak JVM
4. Jika diminta meletakkan hasil instalasi dari WTK yang kita install ini,
anda boleh meletakkannya selain di Drive C:\…..Lanjut click Next.
Gambar 1.11 Tampilan Pengaturan Letak WTK
5. Langsung click Next saja.
Gambar 1.12 Tampilan Pengaturan Letak direktori WTK
6. Disini jika ingin selalu mendapatkan update terbaru silahkan click Check
for Product Updates-nya saja tapi kalau tidak mau jangan di
click….Lanjut Click Next.
Gambar 1.13 Tampilan Permintaan untuk update WTK
7. Sebelum proses copy files atau inti dari install ini akan diberitahukan
dahulu settingan yang sudah anda atur tadi. Jika sudah sesuai dengan
keinginan anda langsung click Next aja.
Gambar 1.14 Tampilan Semua Pengaturan WTK
8. Proses intalasi sedang berjalan
Gambar 1.15 Tampilan Proses Penginstalan WTK
9. Proses instalasi selesai. Click Finish
Gambar 1.16 Tampilan Proses Penginstalan Complete
Sekarang aplikasi yang dibutuhkan siap untuk membuat program untuk
handphone. Untuk menjalankan wtk, klik 2x shotcut wtk atau klik start menu
pilih wtk. Maka tampilannya akan seperti gambar dibawah ini:
Gambar 1.17 Tampilan awal WTK 2.5.2
1.5. Instalasi Plugin J2ME di Eclipse
Untuk dapat menjalankan program J2ME pada Eclipse, perlu di instal
sebuah plugin yang khusus digunakan untuk memprogram J2ME. Untuk
plugin J2ME dapat dicari di situs resmi eclipse di www.eclipse.org. Agar
dapat menginstal plugin langkah pertama yang harus dilakukan adalah
mendownload plugin, kemudian simpan dalam direktori tertentu. Lalu
pastikan wtk sudah terinstal sebelumnya. Langkah-Langkah Memasang
plugin j2me di eclipse yaitu :
1. Pertama buka eclipse, kemudian pilih Help >> Software Updates. Setelah
masuk ke form Software Updates and Add ons, pilih tab Available
Software. Maka akan muncul tampilan seperti di bawah.
Gambar 1.18 Tampilan Software Update Eclipse
2. Kemudian klik add site, pilih archive
Gambar 1.19 Tampilan Add Site
3. Pilih direktori dimana plugin j2me tersimpan.
Gambar 1.20 Memilih direktori
4. Kemudian akan muncul EclipseME apabila plugin tersebut di load ke
eclipse.Untuk lebih jelasnya lihat seperti gambar dibawah ini.
Gambar 1.21 Memilih plugin Eclipse
5. Setelah itu klik install, langsung di next aja, bila ada agreement di accept
saja & jika disuruh restart lebih baik di restart saja.
Gambar 1.22 Tampilan “Lisence Agreement”
6. Setelah selesai direstart, buka eclipse kembali. Klik Window >>
Preferences >> J2ME >> Define Management.
Gambar 1.23 Tampilan Device Manager J2ME
7. Langkah terakhir adalah klik import, pilih dimana direktori wtk
tersimpan. Kemudian klik open, maka secara otomatis akan muncul
beberapa emulator yang digunakan saat running. Setelah selesai klik
finish.
Gambar 1.24 Tampilan Import Device
8. Setelah mengikuti langkah-langkah diatas maka eclipse siap untuk
menjalankan program j2me. Lalu agar program dapat di Run dengan
lancar walaupun ada sedikit error, dapat dilakukan dengan membuka
Preferences >> Java >> debug. Hilangkan tanda centang pada pilihan
suspend execution on uncaught eception & suspend execution on
compilation errors. Lalu untuk memperpanjang waktu timeout rubah
Debuger Timeout menjadi 15000 (dalam milisekon). Setelah itu kli ok.
Gambar 1.25 Tampilan Preference Eclipse
Dengan demikian eclipse sudah siap untuk menjalankan program-program
J2ME dengan lancar.
1.6. Membuat Program Menggunakan Eclipse
1.6.1. Menyisipkan gambar di J2ME
1. Klik new, pilih project, kemudian pilih J2ME
Gambar 1.26 Memilih Project J2ME
2. Masukan nama project, disini kita buat project bernama latihan. Lalu
memilih device, langsung di next saja.
Gambar 1.27 Memilih Device yang Digunakan
3. Setelah itu buka directori project latihan, didalamnya terdapat
subdirektori bernama src. Klik kanan pada src kemudian pilih class.
Gambar 1.28 Proses Membuat class baru
4. Isikan pakage image, nama class gambar lalu pilih finish
Gambar 1.29 Tampilan New Java Class
5. Kemudian ketikan soure code dibawah ini
Package image;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;
public class gambar extends MIDlet {
public gambar() {
}
public void startApp() {
try {
Image gbr = Image.createImage("/arsenal.png");
Form form = new Form( "First Program" );
form.append(gbr);
form.append("Biodata Club\n");
form.append("Nama : Arsenal\n");
form.append("Lokasi : London Utara\n");
Display.getDisplay(this).setCurrent( form );
}
catch (IOException e) {}
}
public void pauseApp() {
}
public void destroyApp( boolean unconditional ) {
}
}
6. Run project tersebut dengan cara klik symbol Run atau ketik Ctrl+F11
7. Apabila Run sukses maka akan muncul tampilan Hello World di layar
emulator
Gambar 1.30 Tampilan Run program di Emulator
1.6.2. Membuat Teks Berjalan J2ME
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class TickerMidlet01 extends MIDlet implements
CommandListener {
private Form form;
private Display display;
private Ticker ticker;
private Command cmdKeluar;
public TickerMidlet01() {
cmdKeluar = new Command("Keluar", Command.EXIT, 1);
ticker = new Ticker("Jadikan Lah aku Pacarmu");
form = new Form("Ticker");
form.setTicker(ticker);
form.addCommand(cmdKeluar);
form.setCommandListener(this);
}
public void startApp() {
display = Display.getDisplay(this);
display.setCurrent(form);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d) {
if (c == cmdKeluar) {
destroyApp(false);
notifyDestroyed();
}
}
}
1.6.3. Membuat Teks Field Choice Group pada J2ME
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class TextFieldChoiceGroupTest extends MIDlet
implements CommandListener
{
private Display display;
private Form fmMain;
private Command cmExit;
private Command cmOK;
private TextField tfName;
private TextField tfPwd;
private TextField tfAge;
private ChoiceGroup cgGender;
private ChoiceGroup cgPrefs;
public TextFieldChoiceGroupTest()
{
display = Display.getDisplay(this);
tfName = new TextField("Name:", "", 20,
TextField.ANY);
tfPwd = new TextField("Password:", "", 8,
TextField.PASSWORD);
tfAge = new TextField("Age:", "", 2,
TextField.NUMERIC);
String items[] = {"M", "F"};
cgGender = new ChoiceGroup("Gender",
Choice.EXCLUSIVE, items, null);
cgPrefs = new ChoiceGroup("Hobi", Choice.MULTIPLE);
cgPrefs.append("Soccer", null);
cgPrefs.append("Tennis", null);
cgPrefs.append("Swimming", null);
cmExit = new Command("Exit", Command.EXIT, 1);
cmOK = new Command("OK", Command.ITEM, 2);
fmMain = new Form("");
fmMain.append(tfName);
fmMain.append(tfPwd);
fmMain.append(tfAge);
fmMain.append(cgGender);
fmMain.append(cgPrefs);
fmMain.addCommand(cmExit);
fmMain.addCommand(cmOK);
fmMain.setCommandListener(this);
}
public void startApp()
{
display.setCurrent(fmMain);
}
public void pauseApp()
{
}
public void destroyApp(boolean unconditional)
{
}
public void commandAction(Command c, Displayable s)
{
if (c == cmOK)
{
System.out.println("Your profile:");
System.out.println(" Name - " +
tfName.getString());
System.out.println(" Password - " +
tfPwd.getString());
System.out.println(" Jenis Kelamin - " +
(cgGender.getSelectedIndex()==0?"M":"F"));
System.out.println(" Hobi - ");
for (int i=0; i<cgPrefs.size(); i++)
{
if (cgPrefs.isSelected(i))
System.out.println(" " +
cgPrefs.getString(i));
}
}
else if (c == cmExit)
{
notifyDestroyed();
}
}
}
1.6.4. Membuat Program Menghitung Suhu dengan J2ME
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Latihan extends MIDlet implements
CommandListener {
private Display display;
private Form form = new Form("Konversi suhu ºC ke ºF");
private Command submit = new Command("Submit",
Command.SCREEN, 1); //Untuk menu perintah submit
private Command exit = new Command("Exit", Command.EXIT, 1);
private int fare;
private String input;
private TextField textfield = new TextField("Masukkan
Suhu:", "", 30, TextField.ANY);
public Latihan() {
display = Display.getDisplay(this);
form.addCommand(exit);
form.addCommand(submit);
form.append(textfield);
form.setCommandListener(this);
}
public void startApp() {
display.setCurrent(form);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d) {
if (c == submit) {
input = textfield.getString();
int cel =(Integer.parseInt(input));
fare = (int) ((cel * 1.8) + 32);
textfield.setString(fare + "º Farenheit ");
form.removeCommand(submit);
} else if (c == exit) {
destroyApp(false);
notifyDestroyed();
}
}
}