Modul ajar membuat aplikasi mobile multiplatform menggunakan android studio
Java2 micro edition_Helmi MH_1100631026
1. J2ME 1
JAVA2 MICRO EDITION
( J2ME )
J2ME adalah Suatu spesifikasi dan teknologi yang
fokus kepada perangkat konsumen. Perangkat ini
menghabiskan sedikit daya dari baterei karena memiliki
jumlah memori yang terbatas, layar yang kecil dan bandwith
jaringan yang rendah.Dengan perkembangbiakan perangkat
mobile konsumer dari telepon, PDA, kotak permainan ke
peralatan-peralatan rumah, Java menyediakan suatu
lingkungan yang portable untuk mengembangkan dan
menjalankan aplikasi pada perangkat ini.
Program J2ME, seperti semua program JAVA adalah
diterjemahkan oleh VM. Program-program tersebut
dicompile ke dalam bytecode dan diterjemahkan dengan
Java Virtual Machine(JVM).Ini berarti bahwa program-
program tersebut tidak berhubungan langsung dengan
perangkat. J2ME menyediakan suatu interface yang sesuai
dengan perangkat. Aplikasi-aplikasi tersebut tidak harus
dicompile ulang supaya mampu dijalankan pada mesin yang
berbeda. J2ME terletak pada configuration dan profile-
profile. Suatu configuration menggambarkan lingkungan runtime dasar dari suatu sistem J2ME.
Ia menggambarkan core library, virtual machine, fitur keamanan dan jaringan.
Pengertian J2ME
Java2 Micro Edition atau yang biasa disebut J2ME adalah lingkungan pengembangan yang
didesain untuk meletakkan perangkat lunak JAVA pada barang elektronik berserta perangkat
pendukungnya. Pada J2ME, jika perangkat lunak berfungsi dengan baik pada sebuah perangkat
maka belum tentu juga berfungsi baik pada perangkat yang lain. J2ME membawa Java ke dunia
informasi, komunikasi, dan perangkat komputasi yang lebih kecil dibandingkan dengan
computer desktop. J2ME biasa digunakan pada telepon selular, pager, 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.
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:
2. J2ME 2
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.
Sebenernya pada dasarnya J2ME itu terdiri dari 3 bagian yaitu konfigurasi, profil dan paket-
paket opsional, berikut penjelasannya.
1. konfigurasi
yaitu bagian yang berisi JVM dan beberapa library kelas lainnya. Ada dua jenis
konfigurasi yaitu CDC (Connected Device Configuration) dan CLDC (Connected
Limited Device Configuration).
2. profile
yaitu bagian perluasan dari konfigurasi artinya selain sekumpulan kelas yang ada di
konfigurasi, terdapat juga kelas lain yang lebih spesifik yang didefinisikan di dalam
profil. Oleh karena itu profil akan membantu secara fungsional dengan menyediakan
kelas-kelas yang tidak terdapat di konfigurasi.
profile yang paling populer dari Sun adalah sering disebut MIDP (Mobile Information
Device Profile).
3. paket-paket opsional
yaitu paket tambahan yang dibutuhkan oleh aplikasi sehingga pada saat proses
deployment paket-paket tersebut perlu didistribusikan sebagai bagian dari aplikasi yang
bersangkutan. Perlu diingat bahwa paket-paket opsional tersebut bukan merupakan paket
yang dibuat oleh perusahaan alat yang digunakan.
Gambaran J2ME
Platform JAVA
Java dibuat pada tahun 1991 oleh James Gosling. Pada awalnya diberi nama Oak, dimana untuk
menghormati pohon yang ada di luar jendela Gosling. Kemudian namanya diubah ke Java karena
telah ada sebuah bahasa yang diberi nama Oak.
Motivasi sesungguhnya dari Java adalah kebutuhan akan sebuah bahasa yang bisa digunakan
pada berbagai platform yang bisa dimasukkan ke dalam berbagai produk elektronik seperti
pemanggang roti dan lemari es. Salah satu dari proyek pertama yang dikembangkan
menggunakan JAVA sebuah remote kontrol yang diberi nama Star 7. Pada saat yang sama,
World Wide Web dan Internet berkembang sangat cepat. Gosling
menyadari bahwa Java dapat digunakan untuk pemrograman Internet.
Dengan keluarnya versi 1.2, platform Java telah dipilah-pilah menjadi beberapa edisi :
The Standard Edition(J2SE), Enterprise Edition(J2EE), Mobile Edition(J2ME), dan JavaCard
API.
J2SE – Java 2 Platform, Standard Edition Aplikasi Desktop
J2EE – Java 2 Platform, Enterprise Edition Aplikasi enterprise dengan fokus pada
pengembangan sisi webserver, termasuk
3. J2ME 3
servlet,JSP,EJB, dan XML J2ME – Java 2 Platform, Micro Edition Perangkat Mobile JavaCard
Smart Cards
Dibawah ini adalah contoh program J2ME Aplikasi Biodata
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 variable
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);
4. J2ME 4
//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);
5. J2ME 5
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);
6. J2ME 6
//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);
7. J2ME 7
//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);
8. J2ME 8
} 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 :
9. J2ME 9
Dibawah ini tampilan form hasil :
Dibawah ini tampilan List Mata Kuliah :
10. J2ME 10
Dibawah ini tampilan teksbox :
Daftar pustaka :
guojie,jackwin li.build your stock with j2me.ibm.com
penerbit :M.Shalahuddin
http://tiar-note.blogspot.com/2011/11/apa-sih-pengertian-j2me.html
http://biondi-capten-hitsugaya.blogspot.com/2012/03/tutorial-membuat-program-java-j2me-
di.html
http://feri99.blogspot.com/2008/08/apa-itu-java-2-micro-edition-j2me.html
http://biondi-capten-hitsugaya.blogspot.com/2012/03/j2me-java-2-micro-edition-
merupakan.html
disusun oleh :
HELMI MAHFUDHATUL HARUM
1100631026 / MI. A