Kamis, 15 Maret 2012

Praktikum 2 (Menjelaskan Source Code J2ME)

Dalam Praktikum 2 ini dibuatlah 1 kelas Midlet dan 3 java class. Dibuatlah beberapa java class dengan tujuan agar pengimplementasian form, String item, dan TextBox tidak dijadikan dalam 1 kelas Midlet. Dibawah ini penjelasan tentang kelas Midlet dan 3 java class :

Kelas Form Input (Form yang digunakan untuk mengisi data )
import javax.microedition.lcdui.*;

public class FormInput extends Form {

//Menginisialisai variabel TextField Nama dan Email
private TextField tfNama, tfEmail;

public FormInput() {
super("Input Data");//Pemberian Nama Form

//Membuat kotak teks nama dan email
tfNama = new TextField("Nama Anda", null, 15, TextField.ANY);
tfEmail = new TextField("Email", null, 15, TextField.EMAILADDR);

//Menambahkan kotak teks nama dan email ke dalam form input
append(tfNama);
append(tfEmail);
}
//Membuat method untuk mendapatkan isi kotak teks Nama
public String getNama() {
return tfNama.getString();
}

//Membuat method untuk mendapatkan isi kotak teks Email
public String getEmail() {
return tfEmail.getString();
}
}





Kelas Show 1 yang digunakan untuk menampilkan hasil pengisian form input
import javax.microedition.lcdui.*;

public class FormShow1 extends Form {
//Menginisialisasikan variabel String Item(Menampilkan tulisan ke layar) nama dan email
private StringItem stNama, stEmail;

public FormShow1() {
super("Tampil 1");//Pemberian Nama Form

//Membuat String Item nama dan email
stNama = new StringItem("Nama:", null);
stEmail = new StringItem("Email", null);

//Menambahkan String Item ke dalam form show 2
append(stNama);
append(stEmail);
}
//Membuat Method untuk mengatur nama
public void setNama(String nama) {
stNama.setText(nama);
}

//Membuat Method untuk mengatur email
public void setEmail(String email) {
stEmail.setText(email);
}
}




Kelas Show 2 yang digunakan untuk mendefiniskan TextBox
import javax.microedition.lcdui.*;

public class FormShow2 extends TextBox {

public FormShow2() {
super("Tampil 2", null, 30, 0);//Membuat TextBox dengan judul Tampil 2, yang tidak ada isi, dan maksimal karakter yang dapat ditampung 30
}
//Membuat method untuk mengatur isi TextBox
public void setTextBox(String isi) {
this.setString(isi);
}

}



Kelas Utama Midlet yang digunakan untuk pemangilan form input,show1 dan show 2
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class Prak2Midlet extends MIDlet implements CommandListener {

//Menginisialisasi variabel form - form
private FormInput frmInput;
private FormShow1 frmShow1;
private FormShow2 frmShow2;

//Menginisialisasi perintah tombol -tombol
private Command cmShow1, cmShow2, cmBack, cmExit;

public void startApp() {

if (frmInput == null) //Agar tidak mengalami error pada saat aplikasi di pause (di hentikan sementara)
frmInput = new FormInput(); //Membuat form input
if (frmShow1 == null)//Agar tidak mengalami error pada saat aplikasi di pause (di hentikan sementara)
frmShow1 = new FormShow1();//Membuat form show 1
if (frmShow2 == null)//Agar tidak mengalami error pada saat aplikasi di pause (di hentikan sementara)
frmShow2 = new FormShow2();//Membuat form show 2

//Membuat dan memberi jenis perintah tombol - tombol yang akan ditambahkan di form
cmShow1 = new Command("Show 1", Command.OK, 0 );
cmShow2 = new Command("Show 2", Command.OK, 1 );
cmBack = new Command("Kembali", Command.BACK, 0 );
cmExit = new Command("Keluar", Command.EXIT, 0 );

//Menambahkan tombol perintah untuk menampilkan form hasil, textbox, dan keluar pada form input
frmInput.addCommand(cmShow1);
frmInput.addCommand(cmShow2);
frmInput.addCommand(cmExit);

//Menambahkan tombol perintah untuk kembali di form show 1 dan show 2
frmShow1.addCommand(cmBack);
frmShow2.addCommand(cmBack);

//Menambahkan fungsi - fungsi perintah untuk tombol yang telah ditambahkan di form
frmInput.setCommandListener(this);
frmShow1.setCommandListener(this);
frmShow2.setCommandListener(this);

Display.getDisplay(this).setCurrent(frmInput);
}

public void pauseApp() {
}

public void destroyApp(boolean unconditional) {
}

public void commandAction(Command c, Displayable d) {

//
if (d == frmInput) {
//Memberikan perintah ke tombol exit untuk keluar dari aplikasi
if (c == cmExit) {
destroyApp(true);
notifyDestroyed();
}

//Memberikan perintah pada tombol Show 1 untuk menampilkan form hasil nama dan email yang telah diisikan pada  form input
if (c == cmShow1) {
frmShow1.setNama(frmInput.getNama());
frmShow1.setEmail(frmInput.getEmail());
Display.getDisplay(this).setCurrent(frmShow1);
}

//Memberikan perintah pada tombol Show 2 untuk menampilkan TextBox yang berisi form hasil
if (c == cmShow2) {
frmShow2.setTextBox(frmInput.getNama() + " " + frmInput.getEmail());
Display.getDisplay(this).setCurrent(frmShow2);
}


}

//Memberi perintah pada tombol back untuk kembali pada form input yang tombolnya ditampilkan di form show 1
if (d == frmShow1) {
if ( c == cmBack) {
Display.getDisplay(this).setCurrent(frmInput);
}
}


//Memberi perintah pada tombol back untuk kembali pada form input yang tombolnya ditampilkan di form show 2
if (d == frmShow2) {
if ( c == cmBack) {
Display.getDisplay(this).setCurrent(frmInput);
}
}}}

Tampilan jika program dijalankan :


 Tampilan di bawah ini menunjukkan tombol - tombol yang terdapat pada Form Input Data :


Tampilan di bawah ini menampilkan Form Input Data :

Tampilan di bawah ini menampilkan Form Show 1 :

Tampilan di bawah ini menampilkan TextBox yang berisi teks dari Form Show 2:
Download source code java praktikum 2 di sini

5 komentar:

Tri Aprilya mengatakan...

Ponsel dengan spesifikasi apa yang bisa menjalankan aplikasi diatas ?

ucup mengatakan...

kalo pake BB gmana buatnya???

Biondi Prasadha Priyadhana mengatakan...

@Tri Aprilya : Ponsel yang mendukung minimal midp 2.0 dan CLDC 1.0
@ ucup : BB yang dimaksud Blackberry bisa memakai aplikasi diatas

harits wahyu mengatakan...

gan kalo mw nambah device-nya(henponnya itu lho) gimana ya?

denbagus mengatakan...

makasih programnya.gue udah download programnya lancar dan bisa dijalankan

Posting Komentar

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Affiliate Network Reviews