Kamis, 03 November 2011

Konversi Suhu With J2ME

Assalamu'alaikum wr.wb.....

Setelah lama tidak posting akhirnya kembali lagi buat posting ilmu yang baru.... yah walaupun sederhana tapi ya gimana ya buatan sendiri gitu loh....hihiihihihihi....
Tiba-tiba ide ini muncul ketika mencoba buat program enkripsi  pake j2ME yg blm jdi karena logikanya blm dpt2 e.... ayo-ayok klo yg bisa bantu saya buat programnya... dan survey membuktikan juga klo ngoding itu dapat menghilangkan penat dan stress karena maslah yang ada di luar sana.... heheheh=D *itu menurut yg nulis....
Dari pada banyak basa-basi langsung saya bagi-bagi codingnya Konversi dari celcius ke Fahrenhait dan Reamur:

import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.*;

/**
 * @author tiwi
 */
public class MidletSuhu extends MIDlet implements CommandListener {

    Form form;
    Display display;
    Command exit, fahrenhait, reamur, reset;
    Alert a1, a2;
    TextField t1, t2;
    double a, b;

    public MidletSuhu() {

        form = new Form("Konversi Suhu");
        exit = new Command("Exit", Command.EXIT, 1);
        fahrenhait = new Command("Fahrenhait", Command.OK, 1);
        reamur = new Command("Reamur", Command.OK, 1);
        reset = new Command("reset", Command.OK, 1);
        t1 = new TextField("Masukkan Suhu Celcius", null, 20, TextField.NUMERIC);
        t2 = new TextField("Hasil", null, 20, TextField.ANY);
        a1 = new Alert("Informatiaon", "Konfersi Fahrenhait", null, AlertType.CONFIRMATION);
        a2 = new Alert("Information", "Konfersi Reamur", null, AlertType.CONFIRMATION);
        form.append(t1);
        form.append(t2);
        form.addCommand(exit);
        form.addCommand(fahrenhait);
        form.addCommand(reamur);
        form.addCommand(reset);
        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 == exit) {
            destroyApp(true);
            notifyDestroyed();


        } else if (c == fahrenhait) {
            display.setCurrent(a1);
            a = Double.parseDouble(t1.getString());
            b = (a * 1.8) + 32;
            String e = String.valueOf(b);
            t2.setString(e);


        } else if (c == reamur) {
            display.setCurrent(a2);
            a = Double.parseDouble(t1.getString());
            b = (a * 0.8);
            String f = String.valueOf(b);
            t2.setString(f);


        } else if (c == reset) {
            t1.setString("");
            t2.setString("");

        }
    }
}

oh ya sblm k outputnya kayak gmna mau tak terangin dikit ni walaupun mungkin udah bnyak yg tau, tp gpp lah klo ada yang blm tau bs nambah2 ilmu. Buat komponen textfield di J2me itu dapat di tentuin tipe inputanya nah yg saya pake ada yg inputan khusus numeric di t1nya jdi klo gk angka gk bisa, trus yg t2nya yg buat nampilin hasil aq pke any yg bsa buat semuanya. Tdnya saya pake numeric eh ketika saya ganti tipe datanya pake double (kan biasanya klo konfersi pasti ada koma2nya) pas nampilinya ternyata gk bisa, kenapa??? karena textfild numerik itu hanya bisa digunakan untuk menginputkan  dan menampilkan bilangan bulat saja dan tidak bisa bilangan pecahan ternyata... hehehehe
nah dari coding itu outputnya kayak gini, trus inputin deh angkanya:



trus klik tombol menu yg sblh kanan sndiri:

                                                            
trus pilih mau konfersi k fahrenhait ato reamur cara ngeOknya pake tombol bulet yg tengh itu.
jadinya kayak gini:
nah dari contoh diatas tar dapat di kembangkan sendiri buat yang lainya misalnya fahrenhait k celcius dan reamur dan sebaliknya, dan dapat menggunakan metode2 yg lbih keren lagi......
oke sekian saja dari saya ....


Wassalamu'alaikum Wr.wB........

Tidak ada komentar:

Posting Komentar