Jumat, 03 Desember 2010

Membuat Aplikasi Konversi Suhu J2ME

Berawal dari sebuah ketidak tahuan saya tentang java
membuat aplikasi J2ME (aplikasi Java untuk perangkat kecil, seperti selular, PDA dan lainnya) Iseng-Iseng Belajar membuat sebuah aplikasi yang sangat sederhana yaitu konversi suhu untuk mobile J2ME.
hal-hal yang di perlukan untuk membuat aplikasi J2ME.

Untuk Membuat aplikasi J2ME tidak memerlukan banyak software yang rumit atau besar, salah satu software yang pasti diperlukan adalah J2SE SDK/JDK, dalam J2SE SDK/JDK ini terdapat runtime dan library untuk program Java secara umum termasuk juga untuk J2ME, pada saat artikel ini ditulis telah ada J2SE SDK v1.4.2. dan Wireless Toolkit...


Sedangakan untuk menuliskan Source Code-nya kita bisa menggunakan bermacam-macam editor seperti Netbean, TextPad, Notpad ++ terserah anda mau menggunakan yang mana...
di sini saya dalam menulisakan source code menggunakan TextPad.......

Berikut adalah sebuah source code untuk membuat sebuah aplikasi konversi suhu:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class FormUIMidlet01 extends MIDlet implements CommandListener{
private Form form;
private TextField textField1;
private ChoiceGroup choicegroup;
private Display display;
private Command cmdKeluar;
private Command cmdAksi;
public String strNama;
private Alert alert;

public FormUIMidlet01() {
form = new Form("Konversi Suhu");
textField1 = new TextField("Nilai Suhu :", "", 20, TextField.NUMERIC);
choicegroup = new ChoiceGroup("Pilih Jenis Suhu : ", Choice.EXCLUSIVE, new String[]{"Celcius","Fahrenheit","Reamur","Kelvin"},null);
cmdKeluar = new Command("Keluar", Command.EXIT, 1);
cmdAksi = new Command("Konversi", Command.OK, 2);

form.addCommand(cmdKeluar);
form.addCommand(cmdAksi);
form.append(textField1);
form.append(choicegroup);
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 (d == form) {
if (c == cmdKeluar) {
destroyApp(false);
notifyDestroyed();
}
else if (c == cmdAksi) {
        if (choicegroup.isSelected(0)){
            int idx = choicegroup.getSelectedIndex();
                    String st = ""+choicegroup.getString(idx);
                    int suhu = Integer.parseInt(textField1.getString());
                    int fahrenheit1 = ((suhu)*9/5+32);
                    int reamur1 = (suhu*4/5);
                    int kelvin1 = (suhu+273);
                    alert = new Alert ("Hasil Konversi");
                    alert.setString(st+" : "+suhu+"\n"+"Fahrenheit : "+fahrenheit1+"\n"+"Reamur : "+reamur1+"\n"+"Kelvin : "+kelvin1);
                    alert.setTimeout(Alert.FOREVER);
                    display.setCurrent(alert);
                    }
        else if(choicegroup.isSelected(1)){
            int idx = choicegroup.getSelectedIndex();
                    String st = ""+choicegroup.getString(idx);
                    int suhu = Integer.parseInt(textField1.getString());
                    int celcius2 = ((suhu-32)*5/9);
                    int reamur2 = ((suhu-32)*4/9);
                    int kelvin2 = ((suhu-32)*5/9+273);
                    alert = new Alert ("Hasil Konversi");
                    alert.setString(st+" : "+suhu+"\n"+"Celcius : "+celcius2+"\n"+"Reamur : "+reamur2+"\n"+"Kelvin : "+kelvin2);
                    alert.setTimeout(Alert.FOREVER);
                    display.setCurrent(alert);
            }
        else if(choicegroup.isSelected(2)){
            int idx = choicegroup.getSelectedIndex();
                    String st = ""+choicegroup.getString(idx);
                    int suhu = Integer.parseInt(textField1.getString());
                    int celcius3 = ((suhu)*5/4);
                    int fahrenheit3 = (((suhu)*9/4)+32);
                    int kelvin3 = (((suhu)*5/4)+273);
                    alert = new Alert ("Hasil Konversi");
                    alert.setString(st+" : "+suhu+"\n"+"Celcius : "+celcius3+"\n"+"Fahrenheit : "+fahrenheit3+"\n"+"Kelvin : "+kelvin3);
                    alert.setTimeout(Alert.FOREVER);
                    display.setCurrent(alert);
            }
        else{
            int idx = choicegroup.getSelectedIndex();
                    String st = ""+choicegroup.getString(idx);
                    int suhu = Integer.parseInt(textField1.getString());
                    int celcius4 = (suhu-273);
                    int fahrenheit4 = ((suhu-273)*9/5);
                    int reamur4 = ((suhu-273)*4/5);
                    alert = new Alert ("Hasil Konversi");
                    alert.setString(st+" : "+suhu+"\n"+"Celcius : "+celcius4+"\n"+"Fahrenheit : "+fahrenheit4+"\n"+"Reamur : "+reamur4);
                    alert.setTimeout(Alert.FOREVER);
                    display.setCurrent(alert);

            }

}
}
}
}
          Berikut hasilnya:




Di sini tipe data masih berupa Integer, untuk tipe data yang lain aku belum mencoba............