import javax.microedition.midlet.*;
//mengimport LCDUI
import javax.microedition.lcdui.*;
//supaya program bisa mengerti perintah yang diberikan pada tombol
//supaya bisa merespons perubahan yang terjadi pada textbox maka tambahkanlah perintah ItemStateListener
public class kalkulator extends MIDlet implements CommandListener {
//Mendeklarasikan layar sebagai objek display
Display layar;
//Mendeklarasikan fm sebagai objek form
Form fm;
//Mendeklarasikan panjang,lebar,luas sebagai TextField
TextField bil1,bil2,hasil;
//mendeklarasikan hitung dan keluar sebagai command
Command jumlah,kurang,kali,keluar,help,bagi;
public void startApp() {
//menggunakan objek display
layar=Display.getDisplay(this);
//menggunakan 0bjek form
fm=new Form("Kalkulator V.01 By Idi");
//menggunakan objek textbox
bil1=new TextField("Bil1 :","",20,TextField.NUMERIC);
bil2=new TextField("Bil2 :","",20,TextField.NUMERIC);
hasil=new TextField("Hasil :","",20,TextField.UNEDITABLE);
//menggunakan command
bagi=new Command("Bagi (/)",Command.OK,0);
jumlah=new Command("Tambah (+)",Command.OK,0);
kurang=new Command("Kurang (-)",Command.OK,0);
kali=new Command("Kali (*)",Command.OK,0);
keluar=new Command("Keluar",Command.OK,0);
help=new Command("Help",Command.HELP,0);
//meletakkan textbox di atas form
fm.append(bil1);
fm.append(bil2);
fm.append(hasil);
//meletakkan command diatas form
fm.addCommand(jumlah);
fm.addCommand(kurang);
fm.addCommand(kali);
fm.addCommand(bagi);
fm.addCommand(keluar);
fm.addCommand(help);
//supaya tombol bisa berfungsi
fm.setCommandListener(this);
//fm.setItemStateListener(this);
//meletakkan form di atas objek layar
layar.setCurrent(fm);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d) {
if(c==keluar){
destroyApp(true);
notifyDestroyed();
}
if (c==jumlah){
int nbil1,nbil2,nhasil;
nbil1=Integer.valueOf(bil1.getString()).intValue();
nbil2=Integer.valueOf(bil2.getString()).intValue();
nhasil=nbil1+nbil2;
hasil.setString(nhasil+"");
}
if (c==bagi){
double nbil1,nbil2,nhasil;
nbil1=Integer.valueOf(bil1.getString()).intValue();
nbil2=Integer.valueOf(bil2.getString()).intValue();
nhasil=nbil1/nbil2;
hasil.setString(nhasil+"");
}
if (c==kurang){
int nkbil1,nkbil2,nkhasil;
nkbil1=Integer.valueOf(bil1.getString()).intValue();
nkbil2=Integer.valueOf(bil2.getString()).intValue();
nkhasil=nkbil1-nkbil2;
hasil.setString(nkhasil+"");
}
if (c==kali){
int nkalbil1,nkalbil2,nkalhasil;
nkalbil1=Integer.valueOf(bil1.getString()).intValue();
nkalbil2=Integer.valueOf(bil2.getString()).intValue();
nkalhasil=nkalbil1*nkalbil2;
hasil.setString(nkalhasil+"");
}
}
}
J2ME - Kalkulator Sedernaha
Membuat program kalkulator bukanlah hal yang sulit, seperti contoh kode program dibawah ini. Coba anda kembangkan kode program dibawah ini, seperti menambahkan warna dan lainnya.
J2ME - Program Zodiak Sedernaha
Berikut ini adalah program zodiak sederhana, dan menurut saya masih banyak kekurangannya. Anda bisa bereksperimen sediri nantinya. Misalnya menambahkan kotak input yang meminta tanggal, bulan dan tahun lahir yang sebelumnya tidak ada pada program ini.
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class zodiak extends MIDlet implements CommandListener {
Display layar;
Form fm;
DateField df1,df2,df3;
TextField tanggal,zodiak;
Command proses;
Calendar cal;
public void startApp() {
layar=Display.getDisplay(this);
fm=new Form("Tanggal dan Waktu");
df1=new DateField("Tanggal",DateField.DATE);
df2=new DateField("waktu",DateField.TIME,TimeZone.getTimeZone("GMT+07:00"));
df3=new DateField("Tanggal dan Waktu",DateField.DATE_TIME);
tanggal=new TextField("Tanggal","",50,TextField.ANY);
proses=new Command("Proses",Command.OK,0);
cal=Calendar.getInstance();
//menampilkan tanggal dan waktu sekarang
df1.setDate(new Date());
df2.setDate(new Date());
df3.setDate(new Date());
fm.append(df1);
fm.append(df2);
fm.append(df3);
fm.append(tanggal);
fm.addCommand(proses);
fm.setCommandListener(this);
layar.setCurrent(fm);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d) {
int tgl,bulan,tahun,jam,menit,detik;
if(c==proses){
//tanggal.setString(df1.getDate()+"");
cal.setTime(df1.getDate());
tgl=cal.get(Calendar.DATE);
bulan=cal.get(Calendar.MONTH)+1;
tahun=cal.get(Calendar.YEAR);
if((tgl>=22 && bulan==12) || (tgl<=19 && bulan==1))
tanggal.setString("Capricorn");
else if((tgl>=20 && bulan==1) || (tgl<=18 && bulan==2))
tanggal.setString("Aquarius");
else if((tgl>=19 && bulan==2) || (tgl<=20 && bulan==3))
tanggal.setString("Pisces");
else if((tgl>=21 && bulan==3) || (tgl<=19 && bulan==4))
tanggal.setString("aries");
else if((tgl>=20 && bulan==4) || (tgl<=20 && bulan==5))
tanggal.setString("Taurus");
else if((tgl>=21 && bulan==5) || (tgl<=20 && bulan==6))
tanggal.setString("Gemini");
else if((tgl>=21 && bulan==6) || (tgl<=22 && bulan==7))
tanggal.setString("Cancer");
else if((tgl>=23 && bulan==7) || (tgl<=22 && bulan==8))
tanggal.setString("leo");
else if((tgl>=23 && bulan==8) || (tgl<=22 && bulan==9))
tanggal.setString("Virgo");
else if((tgl>=23 && bulan==9) || (tgl<=22 && bulan==10))
tanggal.setString("Libra");
else if((tgl>=23 && bulan==10) || (tgl<=21 && bulan==11))
tanggal.setString("Scorpio");
else if((tgl>=22 && bulan==11) || (tgl<=21 && bulan==12))
tanggal.setString("Sagitarius");
}
}
}
J2ME - Menampilan Date dan Time
Kode dibawah ini mendemonstrasikan bagaimana cara menampilkan Date dan Time di J2ME.
Pada kode di atas ketika dijalankan akan menghasilkan output "Timer selesai dijalankan" yang diulang selama selang waktu 5 detik.
import java.util.Timer;
import java.util.TimerTask;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**
* @author idisuwardi.blogspot.com
*/
public class waktu extends MIDlet {
Display layar;
Form fm;
Timer tm;
TimerJalan task;
public void startApp() {
layar=Display.getDisplay(this);
fm=new Form("Pemakaian Timer");
tm=new Timer();
task=new TimerJalan();
tm.schedule(task,0,5000);
layar.setCurrent(fm);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public class TimerJalan extends TimerTask{
public final void run(){
fm.append("Timer selesai Dijalankan");
}
}
}
J2ME - Membuat Program StopWatch Sederhana
Berikut ini adalah program StopWatch sederhana yang saya buat dengan menggunakan bahasa pemrograman Java. Di program ini hanya ada tombol start untuk memulai/ menjalankan dan Pause untuk berhenti.
import java.util.Timer;
import java.util.TimerTask;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**
* @author Idisuwardi.blogspot.com
*/
public class stopwatch extends MIDlet implements CommandListener {
Display layar;
Form fm;
Timer tm;
TimerJalan task;
TextField tf;
Command start,pause;
public void startApp() {
layar=Display.getDisplay(this);
fm=new Form("Pemakaian Timer");
tf=new TextField("Stop Watch","",50,TextField.ANY);
start=new Command("Start",Command.OK,0);
pause=new Command("pause",Command.OK,0);
fm.append(tf);
fm.addCommand(start);
fm.setCommandListener((CommandListener) this);
layar.setCurrent(fm);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d) {
if(c==start){
fm.removeCommand(start);
fm.addCommand(pause);
tm=new Timer();
task=new TimerJalan();
tm.schedule(task,0,100);
}
if(c==pause){
fm.removeCommand(pause);
fm.addCommand(start);
tm.cancel();
}
}
public class TimerJalan extends TimerTask {
int i,mdetik,detik,menit,jam;
public final void run(){
++mdetik;
if (mdetik>=9){
detik=detik+1;
mdetik=0;
}
if(detik>59){
menit=menit+1;
detik=0;
}
if(menit>59){
jam=jam+1;
menit=0;
}
tf.setString(jam+":"+menit+":"+detik+":"+mdetik);
}
}
}
Silahkan berexperiment sendiri dengan kode diatas, jika ada yang kurang jelas silahkan ditanyakan. Selamat mencoba.
Subscribe to:
Posts (Atom)