Powered By Blogger

Minggu, 04 Maret 2012

Aplikasi J2ME, Program menampilkan daTa PRibadi

Pemrograman aplikasi bergerak (PAB) tidak banyak berbeda dengan pemrograman bkonvensional pada PC. Pada pengimplementasiannya perlu diperhatikan aspek karakteristik dari perangkat bergerak itu sendiri yang sering kali mempengaruhi arsitektur dan implementasi dari aplikasi tersebut. Dalam PAB berbagai aspek teknis perangkat implementasi lebih menonjol. Hal ini dikarenakan perangkat bergerak memiliki banyak keterbatasan dibandingkan komputer konvensional atau PC.
Teknologi yang bisa dipergunakan untuk pengimplementasian PAB beragam diantaranya adalah J2ME, pada kali ini kita akan menunjukkan salah satu aplikasi J2ME yang sangat sederhana. Meneruskan tradisi belajar bahasa pemrograman, kita akan membuat program yang menampilkan data pribadi dengan J2ME. Berikut akan ditampilkan kode dari aplikasi atau source code data pribadi beserta tampilannya:


ini sourcodenya  beserta penjelasannya, 


import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
/** * @author Herliyana */
public class TuGas_visual extends MIDlet implements CommandListener{
//inisialisasi tombol tombol atau propert yang terdapat di dalam di midlet
private Display display;
     private Form fmCurriculumVitae, fmResume;
     private Command cmOk,cmExit,cmBack,cmTB, cmList;
     private TextField tfNama,tfNIM,tfAlamat,tfTmptLahir,tfTglLahir;
     private ChoiceGroup cgProdi;
     private int choiceGroupIndex;
     private StringItem siNama, siNIM, siAlamat,
             siTmptLhr, siTglLhr,siProdi;
     private DateField dtField;
     private Image img, img2;
     private Gauge ge;
     private TextBox TB;
     private List list;
     private boolean midletPaused = false;


//method yang merupakan entry point dari semua aplikasi midlet
public void startApp() {
    display = Display.getDisplay(this);
    try {
        img = Image.createImage("/pkgprofil/Lia.jpg");
    }
    catch(Exception e)    {}
    try {
        img2 = Image.createImage("/pkgprofil/cop.jpg");
    }
    catch(Exception e)    {}


//membuat tombol tombol yang digunakan untuk berinteraksi dengan pengguna aplikasi
cmExit = new Command("Exit", Command.EXIT, 0);
                cmOk = new Command("Ok", Command.SCREEN, 0);
                cmBack = new Command("Back", Command.BACK, 0);
                cmTB = new Command("TextBox", Command.SCREEN, 0);
                cmList = new Command("List", Command.SCREEN,0);
                dtField = new DateField("Date", DateField.DATE_TIME);   
                dtField.setDate(new Date());

                ge = new Gauge("Loading", false,
                Gauge.INDEFINITE, Gauge.CONTINUOUS_RUNNING);


//textfield untuk Biodata
/**disini kita menggunakan format TextField.ANY maksudnya adalah
disini pengguna dapat memasukkan karakter atau input apapun
kedalam TextField*/
               
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 tanggal lahir     : ", "", 30, TextField.ANY);
                tfTglLahir  = new TextField ("D/M/Y     : ", "", 30, TextField.ANY);

                TB = new TextBox("Message","",255,TextField.ANY);
                TB.addCommand(cmBack);
                TB.setCommandListener(this);



//pemilihan Prodi yang diinginkan
CgProdi = new ChoiceGroup("Prodi", Choice.EXCLUSIVE);cgProdi = new ChoiceGroup("Prodi", Choice.EXCLUSIVE);
/** choice grup merupakan daftar elemen yang dapat dipilih dalam form
sepeti halnya list, disini kita menggunakan choice.EXCLUSIVE yang
artinya adalah pengguna dapat memilih satu elemen saja*/

//meng-append pilihan atau choice
               
cgProdi.append("teknik komputer", null);
                cgProdi.append("management informatika", null);
                cgProdi.append("rekam medik", null);
                cgProdi.append("gizi klinik", null);




  fmCurriculumVitae = new Form("Data Pribadi");
                fmCurriculumVitae.addCommand(cmExit);
                fmCurriculumVitae.addCommand(cmTB);
                fmCurriculumVitae.addCommand(cmOk);
                fmCurriculumVitae.addCommand(cmList);
                fmCurriculumVitae.append(dtField);
                fmCurriculumVitae.append(img);
                fmCurriculumVitae.append(tfNama);
                fmCurriculumVitae.append(tfNIM);
                fmCurriculumVitae.append(tfAlamat);
                fmCurriculumVitae.append(tfTmptLahir);
                fmCurriculumVitae.append(tfTglLahir);
                choiceGroupIndex = fmCurriculumVitae.append(cgProdi);
                fmCurriculumVitae.append(ge);
                fmCurriculumVitae.setCommandListener(this);

                //membuat form hasil input user
                fmResume = new Form("Your Profile");

                //membuat string item untuk menampilkan text dan pilihan yang diisi
                siNama      = new StringItem("nama    : ", null);
                siNIM       = new StringItem("nim    : ", null);
                siAlamat    = new StringItem("alamat : ", null);
                siTmptLhr   = new StringItem("tempat tanggal lahir    : ", null);
                siTglLhr    = new StringItem("D/M/Y   : ", null);
                siProdi     = new StringItem("Study   : ", null);

                //menampilkan StringItem yang nanti akan diisi oleh data hasil input user
                fmResume.append(img);
                fmResume.append(siNama);
                fmResume.append(siNIM);
                fmResume.append(siAlamat);
                fmResume.append(siTmptLhr);
                fmResume.append(siTglLhr);
                fmResume.append(siProdi);

                //menambahkan command
                fmResume.addCommand(cmBack);
                fmResume.setCommandListener(this);

                //Menambahkan TB
                TB = new TextBox("Output TextBox", null,255, TextField.ANY);
                TB.addCommand(cmBack);
                TB.setCommandListener(this);

                //Menambahkan list
                list = new List("My List Hobby", Choice.IMPLICIT);
                list.append("travelling", img2);
                list.append("membaca", img2);
                list.append("Ngerumpi", img2);
                list.append("memasak", img2);
                                
                list.addCommand(cmBack);
                list.setCommandListener(this);


                //menampilkan form DataPribadi sebagai tampilan awal
                display.setCurrent(fmCurriculumVitae);
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }

    public void commandAction(Command c, Displayable d) {
         if (d == fmCurriculumVitae){
            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());

                        //memasukkan hasil input ke StringItem
                        siNama.setText(nama);
                        siNIM.setText(nim);
                        siAlamat.setText(alamat);
                        siTmptLhr.setText(tmptlhr);
                        siTglLhr.setText(tgllhr);
                        siProdi.setText(prodi);

                        //menampilkan form hasil setelah cmOk ditekan
                        display.setCurrent(fmResume);

                }else if(c == cmExit){ //jika tombol/command Exit ditekan
                        destroyApp(true);
                        notifyDestroyed();
                }else if(c == cmTB){
                    TB.setString(tfNama.getString()+"\n"+tfNIM.getString()+""
                            +"\n"+tfAlamat.getString()+"\n"+tfTmptLahir.getString()+""
                            +"\n"+tfTglLahir.getString());
                    display.setCurrent(TB);
                }else if (c == cmList){
                    display.setCurrent(list);

                }

        }if (d == fmResume){
            if(c == cmBack){
                //jika tombol/command Back ditekan
                //menampilkan kembali form DataPribadi sebagai tampilan default/awal
                display.setCurrent(fmCurriculumVitae);
                }
        }if (d == TB){
            if (c == cmBack){
                display.setCurrent(fmCurriculumVitae);
            }
        }if (d == list){
            if (c == cmBack){
                display.setCurrent(fmCurriculumVitae);

            }
        }
    }
}


ini outputnya 


 

Tidak ada komentar:

Posting Komentar