Senin, 14 November 2011

Konversi Mata Uang with J2ME

Assalmu'alaikum wr. wb....

oke bagi yang mau msh mu belajar j2me seperti saya... nah ini  saya buat cara bru lgi buat konversi mata uang rupiah menjadi dolar, Euro, dan YEn nah dlu saya buatnya pake C++ nah sekarang nyoba deh pakej2me.....  sebenernya konsepnya sama tapi cm saya mengconvert antara choicegroup dengan command...... oke langsung pembahasan ke codingnya ya :

import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.ChoiceGroup;
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 MidletMataUang extends MIDlet implements CommandListener{

    Form form;
    Display display;
    Command cexit, cOk, creset;
    TextField t1, t2;
    ChoiceGroup choiceGroup;
    Alert a1, a2, a3;
    double a,b;

    public MidletMataUang() {
        initComp();
    }

    public void startApp() {
        display = Display.getDisplay(this);
        display.setCurrent(form);
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }

    private void initComp() {
        form = new Form("Konversi Mata Uang Rupiah");
        cexit = new Command("Exit", Command.EXIT, 1);
        cOk = new Command("OK", Command.OK, 1);
        creset=new Command("Reset", Command.OK, 1);
        t1 = new TextField("Rupiah", null, 20, TextField.NUMERIC);
        t2 = new TextField("Hasil", null, 20, TextField.ANY);
        choiceGroup = new ChoiceGroup("Konversi", ChoiceGroup.EXCLUSIVE);
        choiceGroup.append("Dolar", null);
        choiceGroup.append("Euro", null);
        choiceGroup.append("Yen", null);
        a1 = new Alert("Informtion", "Konversi Ke Dolar ", null, AlertType.INFO);
        a2 = new Alert("Information", "Konversi ke Euro", null, AlertType.INFO);
        a3 = new Alert("Information", "Konversi ke Yen", null, AlertType.INFO);
        form.append(t1);
        form.append(choiceGroup);
        form.append(t2);
        form.addCommand(cexit);
        form.addCommand(cOk);
        form.addCommand(creset);
        form.setCommandListener(this);
    }

    public void commandAction(Command c, Displayable d) {
        if(c==cexit){
            destroyApp(true);
            notifyDestroyed();
        }else if(c== cOk){
            if(choiceGroup.isSelected(0)){
                a=Double.parseDouble(t1.getString());
                b=(a*9400);
                String e=String.valueOf(b);
                t2.setString(e);
                display.setCurrent(a1);
            }else if(choiceGroup.isSelected(1)){
                a=Double.parseDouble(t1.getString());
                b=(a*14000);
                String f=String.valueOf(b);
                t2.setString(f);
                display.setCurrent(a2);
            }else if(choiceGroup.isSelected(2)){
                a=Double.parseDouble(t1.getString());
                b=(a*88);
                String g=String.valueOf(b);
                t2.setString(g);
                display.setCurrent(a3);
            }
        }else if( c== creset){
            t1.setString("");
            t2.setString("");
            choiceGroup.setSelectedIndex(0, true);
        }
    }
}


simple banget kan codingnya..... nah dari coding itu outputnya kayak gini ni:

nah buat ganti-ganti konversinya tinggl pilih yg ada d choicegroupnya, trus pilih tombol yg kanan buat ngeOKnya.... trus muncul deh konversinya yg ada di bawah.... sialakan bsa dikembangkan menurut cara teman-teman sendiri...
Ok segitu lu postinganya... tar klo ada yg baru lagi di share lagi...... buat kritik dan saran bisa langsung dituliskan di komentar..... maacih...^_^

Wassalamu'alaikum wr.wb

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........