Kamis, 01 Maret 2012

Pemograman Visual J2ME

Java2 Micro Edition atau yang biasa disebut J2ME adalah lingkungan pengembangan yang didesain untuk meletakkan perangkat lunak Java pada barang elektronik beserta perangkat pendukungnya. Pada J2ME, jika perangkat lunak berfungsi baik pada sebuah perangkat maka belum tentu juga berfungsi baik pada perangkat yang lainnya. J2ME membawa Java ke dunia informasi, komunikasi, dan perangkat komputasi selain perangkat komputer desktop yang biasanya lebih kecil dibandingkan perangkat komputer desktop. J2ME biasa digunakan pada telepon selular, pager, personal digital assistants (PDA) dan sejenisnya. Teknologi J2ME juga memiliki beberapa keterbatasan jika diaplikasikan pada ponsel. J2ME sangat bergantung pada device yang digunakan, bisa dari merk ponsel, maupun kemampuan ponsel, dan dukungan terhadap teknologi J2ME. MIsalnya, jika sebuah ponsel tidak memiliki kamera maka jelas J2ME pada
ponsel tersebut tidak dapat mengakses kamera. MIDlet MIDlet adalah aplikasi yang ditulis untuk MIDP. Aplikasi MIDlet adalah bagian dari class javax.microedition.midlet.MIDlet yang didefinisikan pada MIDP. MIDlet berupa sebuah class abstrak yang merupakan subclass dari bentuk dasar aplikasi sehingga antarmuka antara aplikasi J2ME dan aplikasi manajemen pada perangkat bisa terbentuk. • Daur hidup MIDlet MIDlet terdiri dari beberapa method yang harus ada, yaitu contructor(), protected void startApp() throws MIDletStateChangeException, protected void pauseApp(), protected void destroyApp (Boolean unconditional) throws MIDletStateChangeException Ketika MIDlet dijalankan maka akan diinisialisasi dengan kondisi pause dan dijalankan pauseApp(), kondisi berikutnya adalah fungsi MIDlet dijalankan, yaitu pada startApp().
output:-


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package hello;

import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;

/**
 * @author khoirul anwar
 */
public class Midlet extends MIDlet implements CommandListener {

 
        private Display display;
        private Form fmDataPribadi;
        private Form fmHasil;
        private Command cmOk;
        private Command cmExit;
        private Command cmBack;
        private TextField tfNama;
        private TextField tfNIM;
        private TextField tfTmptLahir;
        private TextField tfTglLahir;
        private TextField tfAlamat;
        private ChoiceGroup cgProdi;
        private int choiceGroupIndex;
        private StringItem siNama, siNIM, siAlamat, siTmptLhr, siTglLhr, siProdi;

        private boolean midletPaused = false;

    //<editor-fold defaultstate="collapsed" desc=" Generated Fields ">                     
    //</editor-fold>                   

    /**
     * The tugas constructor.
     */
    public Midlet() {
    }

    //<editor-fold defaultstate="collapsed" desc=" Generated Methods ">                      
    //</editor-fold>                    

    //<editor-fold defaultstate="collapsed" desc=" Generated Method: initialize ">                                           
    /**
     * Initilizes the application.
     * It is called only once when the MIDlet is started. The method is called before the <code>startMIDlet</code> method.
     */
    private void initialize() {                                        
        // write pre-initialize user code here
                                          
        // write post-initialize user code here
    }                           
    //</editor-fold>                         

    //<editor-fold defaultstate="collapsed" desc=" Generated Method: startMIDlet ">                                       
    /**
     * Performs an action assigned to the Mobile Device - MIDlet Started point.
     */
    public void startMIDlet() {                                     
        // write pre-action user code here
                                       
        // write post-action user code here
    }                            
    //</editor-fold>                          

    //<editor-fold defaultstate="collapsed" desc=" Generated Method: resumeMIDlet ">                                        
    /**
     * Performs an action assigned to the Mobile Device - MIDlet Resumed point.
     */
    public void resumeMIDlet() {                                       
        // write pre-action user code here
                                        
        // write post-action user code here
    }                             
    //</editor-fold>                           

    //<editor-fold defaultstate="collapsed" desc=" Generated Method: switchDisplayable ">                                             
    /**
     * Switches a current displayable in a display. The <code>display</code> instance is taken from <code>getDisplay</code> method. This method is used by all actions in the design for switching displayable.
     * @param alert the Alert which is temporarily set to the display; if <code>null</code>, then <code>nextDisplayable</code> is set immediately
     * @param nextDisplayable the Displayable to be set
     */
    public void switchDisplayable(Alert alert, Displayable nextDisplayable) {                                           
        // write pre-switch user code here
        Display display = getDisplay();                                               
        if (alert == null) {
            display.setCurrent(nextDisplayable);
        } else {
            display.setCurrent(alert, nextDisplayable);
        }                                            
        // write post-switch user code here
    }                                  
    //</editor-fold>                                

    /**
     * Returns a display instance.
     * @return the display instance.
     */
    public Display getDisplay () {
        return Display.getDisplay(this);
    }
   
 
        public void startApp(){
                display = Display.getDisplay(this);

                //membuat tombol
                cmExit = new Command("Exit", Command.EXIT, 0);
                cmOk = new Command("Ok", Command.SCREEN, 0);
                cmBack = new Command("Back", Command.BACK, 0);

              
                tfNama = new TextField("Nama: ", "", 30, TextField.ANY);
                tfNIM = new TextField("NIM :", "", 30, TextField.ANY);
                tfAlamat = new TextField ("Alamat :", "", 30, TextField.ANY);
                tfTmptLahir = new TextField("Tempat Lahir: ", "", 30, TextField.ANY);
                tfTglLahir = new TextField("Tanggal Lahir: ", "", 30, TextField.ANY);

               
                cgProdi = new ChoiceGroup("Prodi", Choice.EXCLUSIVE);

                cgProdi.append("Teknik Komputer", null);
                cgProdi.append("Manajement Informatika", null);
                               fmDataPribadi = new Form("Data Pribadi");
                fmDataPribadi.addCommand(cmExit);
                fmDataPribadi.addCommand(cmOk);
                fmDataPribadi.append(tfNama);
                fmDataPribadi.append(tfNIM);
                fmDataPribadi.append(tfAlamat);
                fmDataPribadi.append(tfTmptLahir);
                fmDataPribadi.append(tfTglLahir);
                choiceGroupIndex = fmDataPribadi.append(cgProdi);
                fmDataPribadi.setCommandListener(this);

                fmHasil = new Form("Profile Anda");

                siNama = new StringItem("Nama: ", null);
                siNIM = new StringItem ("NIM : ", null);
                siAlamat = new StringItem ("Alamat : ", null);
                siTmptLhr = new StringItem("Tempat Lahir: ", null);
                siTglLhr = new StringItem("Tanggal Lahir: ", null);
                siProdi = new StringItem("Prodi: ", null);

                fmHasil.append(siNama);
                fmHasil.append(siNIM);
                fmHasil.append(siAlamat);
                fmHasil.append(siTmptLhr);
                fmHasil.append(siTglLhr);
                fmHasil.append(siProdi);

              
                fmHasil.addCommand(cmBack);
                fmHasil.setCommandListener(this);

                display.setCurrent(fmDataPribadi);
        }
         public void pauseApp(){

        }

        public void destroyApp(boolean unconditional){

        }

        public void commandAction(Command c, Displayable d){

            //variable string untuk menampung inputan user
                String nama,nim,alamat,tmptlhr,tgllhr,prodi = null;

                //jika tombol/command OK ditekan
                if(c == cmOk){
                        //mendapatkan inputan user
                        nama = tfNama.getString();
                        nim = tfNIM.getString();
                        alamat = tfAlamat.getString();
                        tmptlhr = tfTmptLahir.getString();
                        tgllhr = tfTglLahir.getString();
                        prodi = cgProdi.getString(cgProdi.getSelectedIndex());

                        siNama.setText(nama);
                        siNIM.setText(nim);
                        siAlamat.setText(alamat);
                        siTmptLhr.setText(tmptlhr);
                        siTglLhr.setText(tgllhr);
                        siProdi.setText(prodi);

                       
                        display.setCurrent(fmHasil);

                } else if(c == cmExit){
                        destroyApp(true);
                        notifyDestroyed();

                } else if(c == cmBack){
                        display.setCurrent(fmDataPribadi);
                }}
}



0 komentar:

Posting Komentar