Kamis, 15 Maret 2012

Program J2ME Sederhana (Praktikum1)


Java merupakan bahasa pemrograman yang diciptakan oleh Jamer Gosling pada tahun 1996 dan mengklaim dirinya mengimplementasikan konsep PBO. Sampai saat ini pengembangan Java berada dibawah Sun Microsystems walaupun akhir‐akhir ini Java mulai di open‐sourcekan. Java dapat diimplementasikan pada berbagai aspek kehidupan mulai dari komputer mainframe, PC, telepon genggam/HP, PDA, smart card sampai dengan perlengkapan rumah tangga seperti mesin cuci dan TiVo.

Java menjanjikan sifat platform independent yang berarti program cukup ditulis satu kali dan dicompile satu kali maka akan dapat dijalankan di mesin lain tanpa memerlukan pengubahan kode.
Sampai saat ini Java terbagi menjadi empat kategori yaitu Java 2 Platform Standard Edition (J2SE) untuk aplikari desktop, Java 2 Platform Enterprise Edition (J2EE) untuk aplikasi server kelas enterprise yang biasanya berskala besar, Java 2 Platform Micro Edition (J2ME) untuk aplikasi pada perangkat yang memiliki tingkat komputasi tidak setinggi komputer, misalnya telepon genggam, PDA dan TiVo, dan yang terakhir adalah Java Card yang digunakan untuk pemrograman smart card berbasis Java.

package HAHA;
import java.util.Date;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
/* @author Fer */
//Class Praktikum1 Merupakan class utama, dengan meng extends MIDlet dan Mengim
//plementasikan command listener
//Didalam class ini terdapat constructor serta public puclic pendukungnya
//seperti command action, starapp
public class Praktikum1 extends MIDlet implements CommandListener {
private Display tampil;
private Form Home;
private Form Lampirandata;
private Form Lampiranhasil;
private Form help;

private TextBox TB;
private List List;

private StringItem Nama, NIM, Alamat, TmptLhr,
TglLhr, Email, Prodi, jeniskelamin, hoby;

private Item Bantuan;
private Item Link;
private Item bilang;
private Item home, penjelasan;

private DateField date;

private TextField TextNama;
private TextField TextNim;
private TextField TextAlamat;
private TextField TextTempatlahir;
private TextField TextTanggallahir;
private TextField TextEmail;

private Command Keluar;
private Command Kembali;
private Command Bantu;
private Command Kembaliawal;
private Command proses;
private Command ProsesTB;
private Command TampilList;

private Ticker ticker;
private ChoiceGroup Pilihprodi;
private ChoiceGroup Pilihhoby;
private ChoiceGroup Pilihkelamin;
private int choiceGroupIndex;
private Image img,img2, img3;
private boolean midletPaused;


Program diatas Merupakan Program untuk Pendeklarasian class, disini saya hanya memakai satu class, class ini meng extends MIDlet serta Mengimplementasikan Command Listener, Nantinya didalam class ini juga akan terdapat berbagai Construcor serta Subclass dari class induk.

public void startApp() {

tampil = Display.getDisplay(this);

//Command merupakan code untuk medukung commandlistener, nantinya
//command akan muncul discreen, dan digunakan untuk operasi atau proses
ticker = new Ticker ("Pemrograman Visual Ferdian Aji Prasetya");
Keluar = new Command("Keluar", Command.EXIT, 0);
Kembali = new Command("Kembali", Command.BACK, 0);
proses = new Command("Proses/Lanjut", Command.SCREEN,0);
Bantu = new Command ("Bantuan", Command.SCREEN,1);
Kembaliawal = new Command("Kembali Awal", Command.SCREEN,0);

ProsesTB = new Command("Proses TB", Command.SCREEN,1);
TampilList = new Command("Tampil List", Command.SCREEN, 0);

//FORM HOME
//Form ini akan tampil pada saat tampilan awal, dengan menambahkan Stringitem serta
//Image, Serta juga menambahkan fungsi ticker, disini terdapat 4 Command yang
//dijalankan
//==============================================================================
try {
img2=Image.createImage("/HAHA/b.jpg");

} catch (Exception e){}
Home = new Form ("Aplikasi J2ME");
home = new StringItem(null,"Selamat Datang...\nBerikut Menu Yang di Sajikan:");
penjelasan = new StringItem(null,""
+ "Untuk Memulai -> Pilih Menu - proses/Lanjut\n"
+ "Untuk Bantuan -> Pilih Menu - Bantuan\n"
+ "Untuk Keluar -> Pilih Keluar\n");
StringItem gaul= new StringItem(null,"------=TEKNIK KOMPUTER 2010=------");

Home.setTicker(ticker);
Home.append(home);
Home.append(penjelasan);
Home.append(img2);
Home.append(gaul);
Home.addCommand(Keluar);
Home.addCommand(proses);
Home.addCommand(Bantu);
Home.addCommand(TampilList);

Home.setCommandListener(this);
//==============================================================================


Nah, Subclass ini digunakan untuk memulai sebuah program ketika program dijalankan, ini merupakan Subclass dari MIDlet.

//FORM UNTUK INPUT
//==============================================================================
//Script ini digunakan untuk mengimpor gambar dari disk penyimpanan kita
//namun sebelumnya, agar mudah foto sudah saya simpan di file project untuk
//percobaan ini, yaitu di folder src
try {
img=Image.createImage("/HAHA/coba.png");

} catch (Exception e){}
//------------------------------------------------------------------------------

//TextField digunakan untuk menampung teks dan mengedit Teks
TextNama = new TextField("Nama : ", "", 30, TextField.ANY);
TextNim = new TextField("NIM : ", "", 30, TextField.ANY);
TextAlamat = new TextField ("Alamat : ", "", 30, TextField.ANY);
TextTempatlahir = new TextField("Tempat Lahir : ", "", 30, TextField.ANY);
TextTanggallahir = new TextField("Tanggal Lahir : ", "", 30, TextField.ANY);
TextEmail = new TextField("E-mail : ","",30, TextField.EMAILADDR);

//------------------------------------------------------------------------------

//Untua menampilkan daftar elemen yang dapat dipilih, hampir sama seperti List
Pilihprodi = new ChoiceGroup("Prodi : ", Choice.POPUP);
//Pilihan yang tersedia, Pilihprodi.append -> menunjukan nantinya isi dari
//append ini digunakan sebagai daftar pilihan
Pilihprodi.append("Teknik Komputer", null);
Pilihprodi.append("Manajemen Informatika", null);
Pilihprodi.append("Rekam Medik", null);
Pilihprodi.append("Gizi Klinik", null);
Pilihprodi.append("Teknik Produksi Benih", null);
Pilihprodi.append("Teknik Indsutri Pangan", null);
Pilihprodi.append("Teknik Energi Terbarukan", null);

Pilihhoby = new ChoiceGroup("Hoby : ", Choice.EXCLUSIVE);
Pilihhoby.append("Makan", null);
Pilihhoby.append("Tidur", null);
Pilihhoby.append("Ke WC", null);

Pilihkelamin = new ChoiceGroup("Jenis Kelamin : ", Choice.EXCLUSIVE);
Pilihkelamin.append("Laki- Laki", null);
Pilihkelamin.append("Perempuan", null);
Pilihkelamin.append("Tak terdefinisi", null);

//------------------------------------------------------------------------------

//Script dibawah digunakan untuk mengimpor fasilitas dari Gauge
//terdapat berbagai macam variasi, disesuaikan dengan selera masing masing
Gauge IntGauge = new Gauge("Program Sedang Berjalan :\t", false,
Gauge.INDEFINITE, Gauge.CONTINUOUS_RUNNING);

//------------------------------------------------------------------------------
//Script ini digunakan untuk membuat sebuah LINK
//Yang mana LINK ini saya sambungkan ke Form Help
//Bantuan = new StringItem(null,"Anda Butuh Bantuan? Klick");
//Link = new StringItem(null,"Bantuan",Item.HYPERLINK);
//Link.setDefaultCommand(Bantu);

//------------------------------------------------------------------------------

//Script dibawah digunakan untuk mengimpor date, informasi tanggal
//diimpor langsung dari windows
date = new DateField(" NOW : ", DateField.DATE_TIME);
date.setDate(new Date());

//------------------------------------------------------------------------------

//Memberrikan nama pada Form yang akan ditampilkan/ judul
Lampirandata = new Form("Biodata Diri");
//Form akan meng add beberapa komponen, tergantung apa uang ingin ditampilkan

Lampirandata.append(img);
Lampirandata.append(date);
Lampirandata.append(TextNama);
Lampirandata.append(TextAlamat);
choiceGroupIndex = Lampirandata.append(Pilihkelamin);
Lampirandata.append(TextNim);
Lampirandata.append(TextTempatlahir);
Lampirandata.append(TextTanggallahir);
choiceGroupIndex = Lampirandata.append(Pilihhoby);
Lampirandata.append(TextEmail);
choiceGroupIndex = Lampirandata.append(Pilihprodi);
Lampirandata.append(IntGauge);

//Lampirandata.addCommand(Bantu);
Lampirandata.addCommand(Keluar);
Lampirandata.addCommand(proses);
Lampirandata.addCommand(Kembali);
Lampirandata.addCommand(ProsesTB);
Lampirandata.setCommandListener(this);

//==============================================================================

Digunakan Untuk menginputkan Data, disini menggunakan satu buah Form namun disertai atau diappend juga beberapa turunan dari Form Seperti StringItem, GAuge, dan lain lainya.

//FORM UNTUK OUTPUT
//===============================================================================
//membuat string item untuk menampilkan Komponen pada layar, sesuai dengan
//apa yang telah diisikan dan tergantunga pada source nya misal, Nama, NIM dst
Nama = new StringItem ("Nama ::", null);
NIM = new StringItem ("NIM ::", null);
Alamat = new StringItem ("Alamat ::", null);
TmptLhr = new StringItem("Tmp Lahir ::", null);
TglLhr = new StringItem ("Tgl Lahir ::", null);
Email = new StringItem ("Email ::", null);
Prodi = new StringItem ("Prodi ::", null);
hoby = new StringItem ("Hobi ::", null);
jeniskelamin = new StringItem ("Jenis Kel ::", null);
//Form Hasil
Lampiranhasil = new Form("Info Anda");
//Form Hasil meng add komponen dari komponen pada form data, kemudian datanya akan ditampilkan pada
//form hasil

Lampiranhasil.append(img);
Lampiranhasil.append(Nama);
Lampiranhasil.append(Alamat);
Lampiranhasil.append(jeniskelamin);
Lampiranhasil.append(hoby);
Lampiranhasil.append(NIM);
Lampiranhasil.append(TmptLhr);
Lampiranhasil.append(TglLhr);
Lampiranhasil.append(Email);
Lampiranhasil.append(Prodi);

//mengaktifkan command
Lampiranhasil.addCommand(Keluar);
Lampiranhasil.addCommand(Kembali);
Lampiranhasil.addCommand(Kembaliawal);
Lampiranhasil.setCommandListener(this);
//==============================================================================


Disini menggunakan satu buah Form, Form ini nantinya digunakan untuk output, atau menampilkan data yang telah diinput pada Form Input

//FORM PETUNJUK PENGGUNAAN
//==============================================================================

//Form Help untuk memberikan kemudahan akses kepada user ketika program berjalan
help = new Form("Petunjuk Penggunaan");
bilang = new StringItem(null,"Harus Diisi Lengkap\n"
+ "semua biodata Yang tertera\n"
+ "jawab dengan Kejujuran\n"
+ "Sekian Dan Terima Kasih\n\n"
+ "KLICK kembali untuk menuju Form Home\n");
//Digunakan untuk menambahkan beberapa obyek turunan dari form dan display
help.setTicker(ticker);
help.append(bilang);
help.addCommand(Kembali);
help.setCommandListener(this);

//==============================================================================


Sama Halnya seperti Form diatas, namun disini hanya menggunakan Turunan Form Yaitu StringItem, Dimana Agar user bisa menjalankan Aplikasi J2ME ini tanpa harus bingung.

//TextBOX
//==============================================================================
//Disini kita menggunakan TextBox, Obyek yang menjadi turunan langsung
//dari screen, dimana tingkatanya sama dengan screen
//jadi tidak mungkin bisa bila komponen turunan form diinsertkan ke textbox
TB = new TextBox("Hasil","",255,TextField.ANY);
TB.addCommand(Kembaliawal);
TB.setCommandListener(this);

//==============================================================================
TextBox Sama halnya dengan FormOutput, digunakan untuk menampilkan Inputan dari Form Input, namun dalam Bentuk TEXTBOX


//LIST
//==============================================================================
//List tingakatanya sama dengan Form dan Textbox, namun tetap turunan
//dari obyek scree, sehingga komponen turunan Form, serta txtbox sendiri
//tidak bisa ditambahkan, dengan kata lain tidak bisa dalam satu tampilan
try {
img3=Image.createImage("/HAHA/c.jpg");

} catch (Exception e){}
List = new List ("Langkah Program", Choice.IMPLICIT);
List.append("Masuk Program", img3);
List.append("Pilih Menu (Bantuan Atau Proses)", img3);
List.append("Jika Pilih Bantuan, Tampil Form help", img3);
List.append("Jika Proses tampil Lampiran data", img3);
List.append("Isikan data", img3);
List.append("Pilih output TB atau Form", img3);
List.append("Selesai", img3);
List.size();

List.addCommand(Kembaliawal);
List.setCommandListener(this);

//==============================================================================

//menampilkan form LampiranData sebagai tampilan awal
tampil.setCurrent(Home);

List Ini berfungsi Petunjuk Atau Alur Pemakaian Sebuah Program

public void commandAction(Command comman, Displayable displayjeh) {
//Kondisi dari Command Action, disesuaikan dengan Screen yang
//ditampilkan
* if (displayjeh == Home){
if (comman == Keluar){
destroyApp(true);
notifyDestroyed();
}
if (comman == proses){
tampil.setCurrent(Lampirandata);
}
if (comman == Bantu){
tampil.setCurrent(help);
}
if (comman == TampilList){
tampil.setCurrent(List);
}
}
if (displayjeh == Lampirandata){
if (comman == proses){
//Inisialisasi variabel digunakan untuk menyimpan nilai dari type data
String na,ni,al,tmpt,tgl,pro,em,hob,kel = null;
//Kondisi, bila proses program akan memproses Input dari user
//Mengambil data yang diinput user
na = TextNama.getString();
ni = TextNim.getString();
al = TextAlamat.getString();
tmpt = TextTempatlahir.getString();
tgl = TextTanggallahir.getString();
em = TextEmail.getString();
pro = Pilihprodi.getString(Pilihprodi.getSelectedIndex());
hob = Pilihhoby.getString(Pilihhoby.getSelectedIndex());
kel = Pilihkelamin.getString(Pilihkelamin.getSelectedIndex());

//Menampilkan data yang dinputkan user ke variabel yang berbeda
Nama.setText(na);
NIM.setText(ni);
Alamat.setText(al);
TmptLhr.setText(tmpt);
TglLhr.setText(tgl);
Email.setText(em);
Prodi.setText(pro);
hoby.setText(hob);
jeniskelamin.setText(kel);

//Digunakan untuk mengaktifkan command, setelah ditekan, form akan berganti
//ke form hasil
tampil.setCurrent(Lampiranhasil);

}
if (comman == Keluar){
destroyApp(true);
notifyDestroyed();
}
if (comman == Kembali){
tampil.setCurrent(Home);
}
if (comman == ProsesTB){
//Untuk mengambil data yang diinput oleh user, yang di
//masukan dalam teksfield dan choicegroup, kemudian Textbox
//Mengimpornya
TB.setString(TextNama.getString()+"\n"+TextNim.getString()
+"\n"+TextAlamat.getString()+"\n"+TextTempatlahir.getString()
+"\n"+TextTanggallahir.getString()+"\n"+TextEmail.getString()
+"\n"+Pilihprodi.getString(Pilihprodi.getSelectedIndex())+"\n"
+"\n"+Pilihhoby.getString(Pilihhoby.getSelectedIndex())+"\n"
+"\n"+Pilihkelamin.getString(Pilihkelamin.getSelectedIndex()));
tampil.setCurrent(TB);

}
}
if (displayjeh == Lampiranhasil)
if (comman == Kembali){
tampil.setCurrent(Lampirandata);
}
if (comman == Kembaliawal){
tampil.setCurrent(Home);
}
if (comman == Keluar){
destroyApp(true);
notifyDestroyed();
}
if (displayjeh == help){
if (comman == Kembali){
tampil.setCurrent(Home);
}
}
if (displayjeh == TB){
if (comman == Kembaliawal){
tampil.setCurrent(Home);
}
}
if (displayjeh == List){
if (comman == Kembaliawal){
tampil.setCurrent(Home);
}
}
}
}


Command Action, digunakan Untuk mengeksekusi Perintah, dengan membandingkan berbagai kondisi, sesuai screen apa yang ditampilkan, dan command apa yang ditekan

Untuk Gambar Hasil Akhirnya seperti Berikut INI :



TAMPILAN PROSES


TAMPILAN OUTPUT PADA FORM

TAMPILAN OUTPUT DENGAN TEXT BOX


Berikut Link Download Untuk Programnya secara Lengkap : Klick

3 komentar: