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

Tugas Praktikum 1 : Aplikasi Biodata J2ME

J2ME (Java 2 Micro Edition) merupakan subset dari J2SE yang ditujukan untuk implementasi pada peralatan embeded system dan handheld yang tidak mampu mendukung secara penuh implementasi menggunakan J2SE.
J2ME adalah teknologi Java yang diperuntukkan perngkat-perngakat kecil consumer device , terutama wireless. Bebrapa perangkat wireless antara lain PC, PDA, communicator, embedded device, smart card dan ponsel. Teknologi Java mungkin merupakan satu-satunya cara memprogram beberapa perangkat, berbagi logic antara perangkat dan server, pengantaran aplikasi secara dinamis, program yang kompak, lingkungan pengembangan yang aman dan cepat. J2ME memungkinkan perangkat lunak dapat di-download perangkat sekaligus memungkinkan layanan yang dapat disesuaikan di beragam perangkat. Dibawah ini adalah contoh program J2ME Biodata yang saya buat untuk memenuhi tugas  kuliah   Pemrograman Visual :

Penjelasan tentang Source Code :

Menginisialisasi properti yang dibutuhkan :

import java.util.Date;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;


public class Tugas1 extends MIDlet implements CommandListener {

private Display display; //inisialisasi variabel tampilan
private TextField tNm,tNim,tTTL,tAlmt,tNotelp; //Inisialisasi variabel TextField (komponen  turunan  Item  yang  menampung  teks  dan  mengedit  teks  tersebut)
private Form Frmisi, FrmHasil; //Inisialisasi variabel Form
private Command Ok,Exit,Back,cmList,cmTekbok; //Inisialisasi variabel  perintah - perintah tombol
private ChoiceGroup pilprod, pilkelamin; //Inisialiasi variabel  Choice Group (menampilkan  daftar  elemen  yang  dapat  dipilih  di  dalam  Form )
private int choiceGroupIndex; //Inisialisasi variabel  indeks Choice Group
private List listMataKul; // Inisialisasi variabel  list
private StringItem sNm, sNim,sKel, sTTL, sAlmt, sNotelp, sProd; //Inisialisasi  variabel Kalimat
private Ticker ticker; // Inisialisasi variabel  teks berjalan
private TextBox texbok; // Inisialisasi variabel  kotak teks
private Image img, img2; // Inisialisasi variabel  Gambar
private Gauge gauge; //Inisialisisai  variabel  Gauge
private DateField date; //Inisialisasi  variabel Tanggal


Penjelasan Source code di StartApp ( Memulai Aplikasi )
public Display getDisplay () {
return Display.getDisplay(this);
}
//memanggil manager aplikasi untuk memulai MIDlet
public void startApp(){

display = Display.getDisplay(this);

//Memasukkan gambar yang terdapat di folder src projek
try {
img=Image.createImage("/Tugas1pkg/d.jpg");
} catch (Exception e){}

//menampilkan komponen pada form
Frmisi = new Form("Biodata");

//Membuat textfield untuk mengisi data - data
tNm = new TextField ("Nama: ", "", 30, TextField.ANY);
tNim = new TextField ("NIM : ", "", 30, TextField.ANY);
tTTL = new TextField ("Tempat Tanggal Lahir: ", "", 30, TextField.ANY);
tAlmt = new TextField ("Alamat :", "", 30, TextField.ANY);
tNotelp = new TextField ("No Telepon: ", "", 30, TextField.ANY);

//membuat choice berjenis grup pop up untuk program studi
pilprod = new ChoiceGroup("Pilihan Prodi", Choice.POPUP);

//membuat pilihan - pilihan program studi yang tersedia di choice group
pilprod.append("Teknik Komputer", null);
pilprod.append("Manajemen Informatika", null);


//membuat choice berjenis eksklusif untuk program studi

pilkelamin = new ChoiceGroup ("Jenis Kelamin",Choice.EXCLUSIVE);


//membuat pilihan - pilihan jenis kelamin  yang tersedia di choice group

pilkelamin.append("Laki - laki ",null);
pilkelamin.append("Perempuan",null);

//membuat tombol yang akan digunakan dalam form
Exit = new Command("Exit", Command.EXIT, 0);
Ok = new Command("Tampil Hasil" , Command.OK, 0);
cmList= new Command("Tampil List",Command.OK,0);
cmTekbok= new Command("Tampil TextBox",Command.OK,0);
Back = new Command("Back", Command.BACK, 0);

//Membuat tampilan gambar loading(muatan)
gauge = new Gauge("Program Berjalan", false, Gauge.INDEFINITE, Gauge.CONTINUOUS_RUNNING);

//Membuat tanggal dan waktu
date= new DateField("Tanggal & Waktu", DateField.DATE_TIME);
date.setDate(new Date());

// membuat teks berjalan
ticker = new Ticker("Aplikasi ini dibuat oleh Biondi ");
Frmisi.setTicker(ticker);
display.setCurrent(Frmisi);


Frmisi.append(img); // Menambahkan  gambar pada form isi
Frmisi.append(date);//Menambahkan tanggal pada form isi
Frmisi.append(tNm);//Menambahkan kotak isian nama pada form isi
Frmisi.append(tTTL);//Menambahkan kotak isian tempat tanggal lahir pada form isi
Frmisi.append(pilkelamin);//Menambahkan choicegrup pilihan jenis kelamin
Frmisi.append(tNim);//Menambahkan kotak isian Nomor Induk Mahasiswa
Frmisi.append(tAlmt);//Menambahkan kotak isian alamat
Frmisi.append(pilprod);//Menambahkan choicegrup pilihan program studi
Frmisi.append(tNotelp);//Menambahkan kotak isian nomor telepon
Frmisi.append(gauge);//Menambahkan gambar loading

//Menambahkan  Tombol Perintah pada form isi
Frmisi.addCommand(Exit);
Frmisi.addCommand(Ok);
Frmisi.addCommand(cmList);
Frmisi.addCommand(cmTekbok);
Frmisi.setCommandListener(this);

//membuat form hasil biodata yang telah diisi
FrmHasil = new Form("Hasil");

//Memasukkan gambar yang terdapat di folder src projek
try {
img2=Image.createImage("/Tugas1pkg/art0.jpg");
} catch (Exception e){}

//membuat string item yang digunakan untuk form hasil
sNm = new StringItem ("Nama : ", null);
sNim = new StringItem ("NIM : ", null);
sKel = new StringItem ("Jenis kelamin : ", null);
sAlmt = new StringItem ("Alamat : ", null);
sTTL = new StringItem ("Tempat Tanggal Lahir : ", null);
sNotelp = new StringItem ("No Telepon : ", null);
sProd = new StringItem ("Program Studi : ", null);

//Membuat tampilan gambar loading(muatan)
gauge = new Gauge("Program Berjalan", false, Gauge.INDEFINITE, Gauge.CONTINUOUS_RUNNING);

//Membuat tanggal
date= new DateField("Tanggal", DateField.DATE);
date.setDate(new Date());

//Membuat Daftar kuliah bertipe eksklusif
listMataKul = new List("Mata Kuliah", List.EXCLUSIVE);
listMataKul.append("Pemrograman Visual",null);
listMataKul.append("Kecerdasan Buatan",null);
listMataKul.append("Manajemen Proyek",null);
listMataKul.append("Mikrokontroller",null);
listMataKul.append("Konsep Switching",null);

//Menambahkan tombol perintah di list
listMataKul.addCommand(Back);
listMataKul.setCommandListener(this);

FrmHasil.append(img2);//Menambahkan gambar pada form hasil
FrmHasil.append(date);//Menambahkan tanggal pada form hasil
FrmHasil.append(sNm);//Menambahkan String item nama pada form hasil
FrmHasil.append(sKel);//Menambahkan String item jenis kelamin pada form hasil
FrmHasil.append(sTTL);//Menambahkan String item tempat tanggal lahir pada from hasil
FrmHasil.append(sNim);//Menambahkan String item nim pada form hasil
FrmHasil.append(sAlmt);//Menambahkan String item alamat pada form hasil
FrmHasil.append(sProd);//Menambahkan Stringitem porgram studi pada form hasil
FrmHasil.append(sNotelp);//Menambahkan String item nomor telepon pada form hasil
FrmHasil.append(gauge);//Menambahkan gambar loading pada from hasil
FrmHasil.setTicker(ticker);/Menambahkan teks berjalan pada form hasil
display.setCurrent(Frmisi);

//menambahkan perintah untuk tombol back
FrmHasil.addCommand(Back);
FrmHasil.setCommandListener(this);

//Menambahkan Teks Box
texbok = new TextBox("TextBox"," Aplikasi ini dibuat oleh Biondi \n NIM : E3210148 ",255,TextField.ANY);
//Menambahkan tombol perintah back pada teks box
texbok.addCommand(Back);
texbok.setCommandListener(this);

}


Penjelasan tentang source code Command Action (Perintah - perintah tombol)
public void pauseApp(){

}

public void destroyApp(boolean unconditional){

}

public void commandAction(Command c, Displayable d){

//Membuat variabel string
String nama,nim,alamat,ttl,notelp,prodi,kelamin = null;

//Membuat fungsi tombol perintah Ok yang akan menampilkan isian dari form isi
if(c == Ok){

nama = tNm.getString();
nim = tNim.getString();
alamat = tAlmt.getString();
ttl = tTTL.getString();
notelp = tNotelp.getString();
prodi = pilprod.getString(pilprod.getSelectedIndex());
kelamin = pilkelamin.getString(pilkelamin.getSelectedIndex());

sNm.setText(nama);
sNim.setText(nim);
sAlmt.setText(alamat);
sKel.setText(kelamin);
sTTL.setText(ttl);
sNotelp.setText(notelp);
sProd.setText(prodi);

display.setCurrent(FrmHasil);

} else if(c == Exit){ //membuat fungsi tombol exit
destroyApp(true);
notifyDestroyed();

} else if(c == Back){ //Membuat fungsi  tombol back untuk kembali ke tampilan awal form isi
display.setCurrent(Frmisi);
} else if(c == cmList) {//Membuat fungsi tombol list yang akan menampilkan list
display.setCurrent(listMataKul);
} else if (c == cmTekbok) {//Membuat fungsi tombl yang akan menampilkan TeksBox
display.setCurrent(texbok);

}}}

Hasil tampilan jika source code di jalankan :

 Dibawah ini tampiplan - tampilan  form pengisian biodata  :





 Dibawah ini tampilan form hasil :







Dibawah ini tampilan  List Mata Kuliah :



Dibawah ini tampilan teksbox :

Download source code java Tugas Praktikum 1 di sini

Minggu, 04 Maret 2012

Tutorial membuat program java (J2ME) di HP



J2ME sendiri adalah teknologi dari Java programming language yang di khususkan untuk perangkat mobile seperti Handphone, Pocket PC dan apa  lagi yah. Pokoknya buat perangkat kecil yang sering dibawa kemana-mana itu lho. J2ME sebenarnya sama dengan pemrograman menggunakan java  sendiri, hanya saja dalam J2ME ada beberapa fungsionalitas yang  ditambah dan dikurangi dan di sesuaikan untuk pemrograman perangkat  mobile.
Tentunya untuk bisa membuat game di HP kita harus sudah biasa dulu menggunakan pemrograman dengan java, disini saya tidak akan  mengulas bahasa pemrograman java -mungkin lain kali dalam postingan
yang berbeda- saya mengharapkan anda sudah memiliki pengetahuan java  sebelumnya. Disini saya hanya akan memberikan pengetahuan mengenai alat yang digunakan dalam membuat program java di HP dan konsepnya.

pilih NetBeans yang sudah termasuk Mobility Pack. Agar kita bisa
langusng menulis kode program tanpa harus menginstal macem-macem lagi.

Setelah anda menginstall IDE NetBeans, segera jalankan NetBeans nya. Untuk membuat projek baru pilih File-New Project. Nanti akan muncul seperti gambar di bawah.

Tutorial j2me

Pilih MIDP Application dan tekan Next. Selanjutnya anda akan di bawa ke layer Name and Location seperti di bawah ini.

Tutorial j2me

Input Project Name yang sesuai dengan nama project anda dan hilangkan centang di Create Hello Midlet. Tekan Next

Tutorial j2me

Ini adalah layar untuk menentukan target perangkat yang akan anda buat aplikasinya. Pada baris Emulator Platform adalah pilihan emulator yang anda Install di computer anda, untuk saat
ini anda hanya menginstall emulator bawaan dari NetBeans anda. Setelah
anda merasa perlu menginstall emulator platform untuk spesifik dari
vendor lain seperti Nokia, Sony Ericsson dan Motorola anda dapat
mengubahnya disini.

Device adalah perangkat emulator atau HP yang nantinya akan anda jalankan di
computer anda, dalam menjalankan program yang akan anda buat. Apabila
nantinya anda menginstal emulator platform dari vendor lain anda akan
bisa menggunakan HP spesifik dari vendor tersebut.

Device Configuration dan Profile adalah spesifik kemampuan dari paket perangkat yang akan anda jadikan
target aplikasi anda, sebagai contoh saya punya HP K608 itu mempunyai
spesifikasi CLDC 1.1 dan MIDP 2.0 artinya HP saya bisa menjalankan
program dengan paket yang ada di CLDC 1.1 dan MIDP 2.0. Untuk lebih
lanjut mengenai perangkat yang anda jadikat target riset lah dahulu
dengan melihat spesifikasi HP atau perangkat target anda.

Untuk
mempermudah anda mengerti, cukup bayangkan HP lama adalah MIDP 1.0
seperti nokia 6015 dan nokia yang gede dengan slidenya yang saya lupa
apa mereknya dan HP lama lainnya. MIDP 2.0 HP baru seperti nokia N70,
N73, SE K600, SEW800 dan lain lain. Karena MIDP 2.0 lebih banyak ada
baiknya anda pilih MIDP 2.0 dan CLDC 1.1 untuk aplikasi kita kali ini.

Pilih Next dan langsung pilih Finish. Siap siap!

Sebenarnya
dalam NetBeans ini anda dapat membuat aplikasi HP dengan Visual MIDlet
yang ada dalam NetBeans ini, tetapi untuk lebih memahami secara
mendalam konsep pembuatan aplikasi dalam J2ME disini saya tidak akan
memakai Visual MIDlet.

Konsep program J2ME adalah sebagai
berikut. Dalam J2ME kita harus akan membuat main class turunan dari
class MIDlet, main class turunan dari MIDlet tersebut yag nantinya akan
dipanggil pertama kali saat applikasi kita berjalan di HP, dalam main
class tersebut juga ada 3 method yang nantinya berfungsi sebagai
trigger even dari HP kita. Seperti:

starApp(), method yang dipanggil apabila aplikasi kita pertama kali jalan.
pauseApp(), method yang dipanggil apabila pengguna hp mempause aplikasi kita.
destroyApp(), method yang dipanggil apabila pengguna hp menutup aplikasi kita.

Kita
mulai dengan membuat classMIDlet baru untuk project anda. Klik kanan
para project anda di project explore dan pilih new-MIDlet, namakan
class baru itu dengan nama MIDletPertama. Kode terakhir file MIDlet
anda terlihat seperti di bawah ini.

Tutorial j2me

Untuk pertama kali kita akan menampilkan “Hello J2ME World” pada layar HP. Ada dua jenis tampilan dalam MIDlet,

Low Level menggunakan class Canvas

High Level menggunakan Form

Disini kita akan menggunakan form untuk mempermudah anda mengerti pembentukan tampilan di MIDlet.

Tutorial j2me

Perhatikan
kode di atas, frPertama adalah object Form yang akan kita tampilkan di
layer, kita memberi judulForm tersebut dengan “Judul”. Lalu method
append adalah method untuk menambahkan Item pada Form, Item yang ingin
saya tambahkan adalah String “Hello J2ME World”. Statement Display
adalah statement untuk menampilkan object frPertama kedalam layer.

Pilih F11 untuk build project dan F6 untuk run project.

Pilih
midlet yang ingin dijalankan dan tekan launch di emulator, selanjutnya
emulator anda akan menampilkan Form yang anda buat, seperti di bawah.

Tutorial j2me

Selamat, program anda sudah berjalan baik di emulator, bagaimana caranya menjalankan di HP sesungguhnya?

Masuk kedalam folder project NetBeans anda, buka folder dist

Tutorial j2me

Transfer file jar program anda ke HP anda melaluli Bluetooth, infra merah atau kabel data
Tutorial j2me

Selamat mencoba. Kalau ada pertanyaan silahkan masukan pertanyaan anda di comment blog ini.

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