Programming

Explain about J2ME, PHP, HTML, CSS, Delphi, C++, C#, Pascal, etc.

eBook

Free Download Ebook

Software

Gratis Download Software Premium

Artikel

Berbagi ilmu dan informasi seputar dunia komputer

Fans Page

Bergabunglah di halaman facebook kami

Tampilkan postingan dengan label J2ME. Tampilkan semua postingan
Tampilkan postingan dengan label J2ME. Tampilkan semua postingan

Minggu, 29 Juli 2012

J2ME : Mengenal Metode Enumerasi Record







Metode enumerasi record adalah pembacaan satu per satu record tanpa memperhatikan indeks/id yang dimiliki dengan melakukan perulangan menggunakan method RecordEnumeration, yang membaca record dan melewatkan record yang telah di hapus. Metode kedua ini lebih direkomendasikan untuk digunakan membaca record-record melalui perulangan.

RecordEnumeration enumerateRecords(RecordFilter filter, RecordComparator comparator, boolean keepUpdated)


Keterengan :
  • Filter
Parameter ini digunakan untuk membatasi record yang akan dienumerasi pada RecordStore. Record-record yang tidak sesuai dengan filter akan diabaikan. Parameter ini nantinya digunakan sebagai proses pencarian (searching) record. Jika parameter ini bernilai null, maka semua record akan dienumerasi.

  • Comparator
Parameter ini digunakan  untuk perbandingan antar record dan berguna untuk pengurutan record. Sesuai dengan nilai parameter comparator. Jika parameter ini bernilai null, maka record-record akan dibaca sesuai aslinya.
  • Keep Updated
Parameter ini digunakan untuk menandai apakah enumerasi terakhir akan disimpan dengan semua perubahan record atau tidak.

Terdapat beberapa method yang digunakan pada RecordEnumeration, yaitu :
  • boolean hasNextElement()
Method ini digunakan untuk mengetahui apakah RecordStore mempunyai record selanjutnya yang dapat dibaca. Nilai kembalian true menunjukkan RecordStore mempunyai record.
  • boolean hasPreviousElement()
Method ini mengembalikan nilai true, jika RecordStore mempunyai record sebelumnya yang dapat dibaca.
  • byte[] nextRecord()
Method ini mengembalikan  Record selanjutnya yang dapat dibaca dalam bentuk array byte
  • int nextRecordId()
 Method ini mengembalikan Id Record selanjutnya yang dapat dibaca
  •  byte[] previousRecord() 
Method ini mengembalikan record sebelumnya yang dapat dibaca dalam bentuk array byte
  •  int previousRecordId() 
Method ini mengembalikan Id sebelumnya yang dapat dibaca.
  • int numsRecords()
Method ini mengembalikan jumlah record yang dienumerasi baik menggunakan filter maupun tidak.

Senin, 23 Juli 2012

Mengenal MIDlet (Mobile Information Device Applet)

MIDlet ( Mobile Information Device Applet ) adalah istilah untuk aplikasi Java ME yang dibangun menggunakan profile MIDP. Sedangkan kumpulan MIDlet disebut MIDlet Suite, dengan demikian kita dapat membangun beberapa aplikasi MIDP (MIDlet) dalam satu file Java Archive (JAR). Sebuah kelas java akan disebut sebuah MIDlet apabila kelas tersebut  merupakan turunan kelas javax.microedition.midlet.MIDlet;

Sebuah aplikasi MIDlet mempunyai tiga kemungkinan kondisi, yaitu active, pause, dan destroy. Saat MIDlet dijalankan, MIDlet akan berada dalam kondisi aktif, apabila saat kondisi aktif tersebut terdapat sebuah interupsi, misalnya panggilan masuk, atau sms masuk, maka aplikasi akan berada pada posisi pause, setelah interupsi berakhir maka aplikasi akan kembali ke kondisi aktif. Adapun kondisi ketiga, destroy (penghaousan/penghancuran MIDlet dari memori volatile) terjadi ketika MIDlet selesai dijalankan, ditutup atau terjadi exception.

Galih Library
 Gambar Siklus hidup MIDlet

Dalam sebuah MIDlet tidak dikenal method main yang dijalankan pertama kali sebagaimana Java SE, namun MIDlet memiliki 3 buah method utama yang akan dijalankan sesuai dengan kondisi pada sebuah MIDlet. Seperti pada gambar di atas terdapat 3 buah method yang terdapat pada masing-masing kondisi, yaitu method startApp(), pauseApp(), dan destroyApp().

  • Method startApp()
Method ini dipanggil untuk mengaktifkan MIDlet atau saat MIDlet dijalankan pada perangkat. Pada kondisi aktif apabila terjadi kesalahan transient (sementara), maka MIDlet akan diubah ke kondisi pause, sedangkan apabila kesalahan bersifat tetap atau tidak diketahui maka MIDlet akan memasuki kondisi destroy.
  • Method pauseApp()
 Dipanggil ketika MIDlet memasuki kondisi paused dari kondisi aktif. Apabila terjadi sebuah kesalahan MIDlet akan memasuki kondisi destroy.
  • Method destroyApp()
Dipanggil ketika MIDlet memasuki kondisi destroy. Method ini akan melepaskan seluruh resources dan menyimpan persisntent

Rabu, 25 April 2012

Membuat Aplikasi Menghitung Jumlah Bayar - J2ME

Pada malam ini, saya ingin berbagi dari hasil latihan saya membuat aplikasi menghitung jumlah bayar menggunakan J2ME. Pada dasarnya setiap orang memiliki logika yang berbeda-beda, so silahkan modifikasi sesuai keinginan anda.
berikut ini tampilan outputnya :
nah...
berikut ini adalah listing programnya. Klik DISINI.

Rabu, 11 April 2012

Membuat Animasi pada Canvas dalam J2ME

Assalammu'alaikum...

Pada Kesempatan kali ini, marilah kita bersama-sama membuat sebuah aplikasi Animasi pada Canvas dalam J2ME. pada dasarnya animasi itu adalah bentuk dinamisasi tampilan terhadap waktu.
Pada Aplikasi ini kita membutuhkan 2 kelas yang berbeda.
kelas pertama bernama Animasi1.java dan kelas yang kedua bernama Animasi2.java.

berikut Listing program  Animasi1.java

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

/**
* @author Galih Abdul Fatah
*/
public class Animasi1 extends MIDlet implements CommandListener {
private Display layar;
private Animasi2 animasi2;
private Command keluar=new Command("Keluar", Command.EXIT, 1);

public Animasi1(){
animasi2=new Animasi2();
animasi2.addCommand(keluar);
animasi2.setCommandListener(this);

}
public void startApp() {
if(layar==null){
layar=Display.getDisplay(this);
layar.setCurrent(animasi2);
}
}

public void pauseApp() {
}

public void destroyApp(boolean unconditional) {
}

public void commandAction(Command c, Displayable d) {
if(c==keluar){
notifyDestroyed();
destroyApp(true);
}
}
}

==================

dan berikut ini Listing Program Animasi2.java
import javax.microedition.lcdui.*;

/**
* @author Galih Abdul Fatah
*/
public class Animasi2 extends Canvas implements Runnable {
private int a,b,x,y,i;
public Animasi2(){
a=getWidth();b=getHeight();
x=a/20; y=b/20;
}
protected void showNotify() {new Thread(this).start();}
protected void paint(Graphics g) {
g.setColor(100, 100, 100);
g.fillRect(0, 0, a, b);
g.setColor(0, 0, 64);
g.fillRect(30, 30, a-60, b-60);
g.setColor(100, 100, 100);
int ix=i*x;
int iy=i*y;
g.fillRect(0, 0, a/2-ix, b);
g.fillRect(a/2+ix, 0, a/2-ix, b);
g.fillRect(0, 0, a, b/2-iy);
g.fillRect(0, b/2+iy, a, b/2-iy);

}

public void run() {
try{
while(i<=10){
Thread.sleep(90);
i++;repaint();
}
}catch(InterruptedException e){}
}
}



berikut ini adalah Tampilan Outputnya :

Senin, 09 April 2012

Penggunaan Komponen TextBox dalam J2ME



Rekan-rekan tahu tidak apa itu Textbox dalam J2ME??

Ya... betul. TextBox itu merupakan class turunan dari Screen yang memungkinkan kita dapat memasukkan atau mengedit teks. TextBox ini minimal harus memiliki satu Command agar menentukan cara memproses input dari user. Nah.. TextBox juga memiliki ukuran maksimum yang dapat didefinisikan pada konstruktor class TextBox.

Berikut ini adalah listing program TextBox.
download disini.

Penggunaan Komponen Gauge dalam J2ME



Rekan-rekan sekalian pagi saya akan berbagi sedikit pengetahuan tentang penggunaan Gauge dalam J2ME. Seperti yang telah rekan-rekan ketahui bahwa Gauge itu merupakan komponen dari High Level User Interface yang merepresentasikan sebuah grafik yang berbentuk bar. Nah... bar tesebut memiliki rentang nilai minimum dan maksimum.

Pada dasarnya Gauge itu memiliki 2 macam tipe.

Tipe Interaktif : tipe dimana kita dapat mengubah nilai gauge tersebut.

Tipe non-Interaktif : tipe dimana user tidak bisa mengubah nilai gauge tersebut.

Saya akan memberikan contoh Gauge yang dimana kelas Gaugeku ini mengimplementasikan interface ItemStateListener untuk komponen Gauge sehingga rekan dapa mengubah nilai dari gauge tersebut.

Berikut ini listing programnya :
download disini.

Modul Pemrograman JAVA (TEORI)



kali ini saya akan berbagi sebuah modul pembelajaran tentang Pemrograman JAVA. Modul ini bersumber dari Java Education Network Indonesia (JENI).
Di dalamnya terdapat tutorial yang lengkap beserta penjelasannya. Hal ini memudahkan pembaca untuk paham atau mengerti.

Dan berikut ini adalah modulnya. klik disini.

sumber :
Java Education Network Indonesia (JENI).

Penggunaan ChoiceGroup pada J2ME




Kali ini saya akan berbagi pengetahuan tentang penggunaan choiceGroup . ChoiceGroup pada dasarnya merupakan kumpulan beberapa elemen berupa pilihan yang diletakkan pada form. ChoiceGroup ini memiliki beberapa tipe antara lain:

ChoiceGroup.EXCLUSIVE
ChoiceGroup.MULTIPLE
ChoiceGroup.POPUP

Dan berikut ini adalah listing programnya dapat klik disini

Minggu, 08 April 2012

Penggunaan Command dan Alert dalam J2ME



Bahasan kali ini ialah tentang penggunaan Command dan Alert dalam J2ME.



Pada kesempatan kali ini, mari kita bersama-sama belajar tentang penggunaan Command dan Alert dalam J2ME. Command pada dasarnya identik dengan button atau tombol yang merepresentasikan aksi terhadap suatu informasi yang ditampilkan. Kelas dari pada Command ini memiliki beberapa tipe antara lain :
Command.BACK
Command.CANCEL
Command.EXIT
Command.ITEM
Command.OK
Command.SCREEN
Command.STOP
      
Sedangkan objek dari kelas Alert memiliki tipe alert antara lain:
AlertType.ALARM
AlertType.CONFIRMATION
AlertType.ERROR
AlertType.INFO
AlertType.WARNING 
Dan berikut ini adalah contoh program dari penggunaan Command dan Alert dapat di klik disini.

Sabtu, 07 April 2012

Membuat Aplikasi Biodata dengan Login Sederhana berbasis J2ME

kali ini saya akan berbagi bagaimana cara membuat aplikasi biodata dengan login sederhana. Aplikasi ini membutuhkan pengembangan dari rekan-rekan agar aplikasi ini sempurna. Pada aplikasi saya menekankan pada pengguna StringItem untuk button. untuk lebih jelasnya berikut ini adalah listing programnya :

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

/**
* @author GAlih Abdul Fatah
*/
public class galihafm extends MIDlet implements CommandListener, ItemCommandListener {
private Display display;
private Form form,form2;
private Command keluar=new Command("Keluar", Command.EXIT, 1);
private Command lihat=new Command("Lihat", Command.OK, 1);
private TextField user, password, nama, alamat, tlp;
private StringItem login;
Ticker tk=new Ticker("Selamat Datang");

public galihafm(){
display=Display.getDisplay(this);
form=new Form("LOGIN FORM....");
form.setTicker(tk);
user = new TextField("USERNAME", null, 160, TextField.ANY);
password = new TextField("PASSWORD", null, 160, TextField.PASSWORD);
login = new StringItem(null, "LOGIN", Item.BUTTON);
}

    public void letak()
{
user.setLayout(Item.LAYOUT_2|Item.LAYOUT_CENTER|Item.LAYOUT_NEWLINE_AFTER);
form.append(user);
password.setLayout(Item.LAYOUT_2|Item.LAYOUT_CENTER|Item.LAYOUT_NEWLINE_AFTER);
form.append(password);
login.setLayout(Item.LAYOUT_2|Item.LAYOUT_CENTER|Item.LAYOUT_NEWLINE_AFTER);
login.setDefaultCommand(List.SELECT_COMMAND);
login.setItemCommandListener(this);
form.append(login);
display.setCurrent(form);
}



    public void startApp() {
letak();
}

    public void pauseApp() {
}

    public void destroyApp(boolean unconditional) {
}

    public void form2(){
display=Display.getDisplay(this);

form2= new Form("FORM BIODATA");
form2.addCommand(lihat);
form2.addCommand(keluar);
form2.setCommandListener(this);

tk=new Ticker("ISI DENGAN DATA PRIBADI ANDA");
form2.setTicker(tk);


nama=new TextField("Nama : ", "",30, TextField.ANY);
form2.append(nama);
alamat=new TextField("Alamat :", "", 40, TextField.ANY);
form2.append(alamat);
tlp=new TextField("Telepon", "", 15, TextField.PHONENUMBER);
form2.append(tlp);


display.setCurrent(form2);

}

    public void lihat(){
form2.deleteAll();
tk=new Ticker("TERIMA KASIH");
form2.setTicker(tk);
form2.append("Berikut adalah data yang telah anda isikan\n");
form2.append("====================\n\n");
form2.append("Nama :"+nama.getString()+"\n");
form2.append("Alamat :"+alamat.getString()+"\n");
form2.append("Telepon :"+tlp.getString()+"\n");
display.setCurrent(form2);

}

public void commandAction(Command c, Displayable d) {
if(c==keluar){
notifyDestroyed();
destroyApp(true);
}else if(c==lihat){
lihat();
}

}

public void commandAction(Command c, Item item) {
if(item==login){
form2();
}

}
}

dan beriktu ini adalah tampilan outputnya :




Membuat Aplikasi J2ME Pertama


Rekan-rekan sekalian berikut ini adalah contoh aplikasi yang sangat sederhana yang dibuat menggunakan J2ME. Aplikasi dibuat untuk yang pertama kali mencoba.
Berikut adalah listing programnya :


import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**

* @author Galih Abdul Fatah

*/
public class HelloMidlet extends MIDlet implements CommandListener {
private Alert alert;
private Command keluar;
private Display display;

public HelloMidlet(){
alert=new Alert("Hello", "Hello World", null, AlertType.INFO);
keluar=new Command("Keluar", Command.EXIT, 1);
alert.addCommand(keluar);
alert.setTimeout(Alert.FOREVER);
alert.setCommandListener(this);
}

public void startApp() {
if(display==null){
display=Display.getDisplay(this);
display.setCurrent(alert);
}
}

public void pauseApp() {
}

public void destroyApp(boolean unconditional) {
}

public void commandAction(Command c, Displayable d) {
if (c==keluar){
notifyDestroyed();
destroyApp(true);
}
}
}

Penjelasan Listing Program :

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*; 

Kedua package di atas merupakan package utama dalam pembuatan aplikasi MIDlet di J2ME. Dimana di dalam package ini berisi class-class yang menangani user interface pada aplikasi J2ME.

public class HelloMidlet extends MIDlet implements CommandListener { 
untuk membuat aplikasi J2ME maka class yang akan kita buat harus diturunkan dari class MIDlet. kita disini menggunakan interface Command Listener karena kita akan beberapa button atau tombol untuk mengontrol aplikasi.

private Alert alert;
private Command keluar;
private Display display; 

 ketiga baris ini adalah kita mendeklarasikan 3 objek yang akan kita gunakan dalam aplikasi. Objek Alert digunakan untuk menampilkan tulisan HelloWorld, keluar merupakan ombol yang akan kita gunakan untuk keluar dari aplikasi dan display merupakan layar utama dari aplikasi J2ME.

public HelloMidlet(){
alert=new Alert("Hello", "Hello World", null, AlertType.INFO);
keluar=new Command("Keluar", Command.EXIT, 1);
alert.addCommand(keluar);
alert.setTimeout(Alert.FOREVER);
alert.setCommandListener(this);
}

listing tersebut merupakan konstruktor yang akan menginisialisasi objek-objek yang akan dipergunakan.

public void startApp() {
}

public void pauseApp() {

}
public void destroyApp(boolean unconditional) {

ketiga method diatas merupakan method-method yang harus ditulis pada aplikasi J2ME, karena ini merupakan siklus. startApp() yaitu saat aplikasi mulai berjalan, pauseApp() yaitu saat aplikasi dihentikan sementara, dan destroyApp() yaitu saat aplikasi keluar.

public void commandAction(Command c, Displayable d) {
if (c==keluar){
notifyDestroyed();
destroyApp(true);
}

method diatas merupakan method yang harus kita tulis ketika mengimplementasikan interface CommandListener. pada method ini kita bisa mendefinisikan aksi-aksi yang harus dilakukan ketika sebuah tombol ditekan.

berikut ini adalah tampilan Output nya:


Jumat, 06 April 2012

Mengenal J2ME



Kali ini kita belajar bersama-sama tentang J2ME. Ini bermula dari kesenangan saya dalam pembuatan program aplikasi untuk mobile device.

 Pada dasarnya J2ME itu merupakan bagian dari platform java yang terdiri dari kumpulan dari Java API untuk mengembangkan software yang bersifat kecil, ramping, dan hemat memori. Pada saat ini, J2ME sangat populer untuk pengembangan game pada mobile device dan pengembangan aplikasi-aplikasi mobile. Pada taraf pengembangan aplikasi J2ME memiliki emulator yang dapat dipergunakan untuk tes aplikasi komputer pengembang, sehingga pengembang dapat lebih mudah melakukan coding, testing dan debugging pada emulator yang terdapat pada PC.

J2ME terbagi menjadi 2 bagian, bagian yang pertama merupakan platform yang diperguanakan untuk mengembangkan palikasi taraf small mobile device sedangakan bagian kedua merupakan platform yang dipergunakan untuk mengembangkan aplikasi pada taraf smart phone mobile device. Untuk tafar small device biasa menggunakan Connected Limited Device Configuration (CLDC) sedangkan untuk taraf smart phone menggunakan Connected Device Configuration (CDC).

CLDC merupakan kumpulan dari Java library yang ditujukan untuk pengembangan aplikasi dengan taraf small mobile device. CLDC didesain secara khusus agar aplikasi yang dibuat dengan library di CLDC dapat berjalan pada kondisi memori yang terbatas, supply power atau tenaga yang kecil dan kemampuan grafis yang minimum. Konfigurasi dari CLDC terdiri dari set-set library dan fitur dasar dari virtual machine yang diimplementasikan ke dalam lingkungan J2ME.

Mobile Information Device Profile (MIDP) merupakan kumpulan dari library Graphical User Interface (GUI) API. Di dalam MIDP juga terdapat API untuk kepentingan pengembangan aplikasi yang berbasiskan grafik 2D seperti mobile game. Sedangkan MIDlet merupakan aplikasi mobile yang ditulis menggunakan bahasa pemrograman Java oleh software developer. MIDlet dapat ditulis sekali dan dapat berjalan pada setiap mobile device yang mendukung spesifikasi Java Mobile.


Referensi :
Krisna, R.B.2009.Membuat Content Mobile dengan J2ME.Jakarta : Mitra Wacana Media.