MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA)
PERTEMUAN 12 WIRELESS JAVA PROGRAMMING WITH JAVA 2 MICRO EDITION (J2ME) Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA)
A.
Percobaan menampilkan Form
import javax.microedition.midlet.*; import javax.microedition.lcdui.*;
public class Midlet01 extends MIDlet { private Display display; private Form form;
public Midlet01() { form = new Form("MIDLET 01"); }
protected void startApp() { display = Display.getDisplay(this); display.setCurrent(form); }
protected void pauseApp() {}
protected void destroyApp(boolean unconditional) { notifyDestroyed(); } } B.
Percobaan menampilkan Form dengan item
import javax.microedition.midlet.*; import javax.microedition.lcdui.*;
public class Midlet01 extends MIDlet { private Display display; private Form form;
public Midlet01() {
Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) form = new Form("MIDLET 01"); form.append("Aplikasi Midlet Pertama\n"); form.append("Universitas Gadjah Mada"); }
protected void startApp() { display = Display.getDisplay(this); display.setCurrent(form); }
protected void pauseApp() {}
protected void destroyApp(boolean unconditional) { notifyDestroyed(); } } C.
Percobaan menampilkan TextField
import javax.microedition.midlet.*; import javax.microedition.lcdui.*;
public class Midlet02 extends MIDlet { private Display display; private Form form; private TextField tf_nama, tf_tlp;
public Midlet02() { form = new Form("MIDLET 02"); tf_nama = new TextField("Username", "", 10, TextField.ANY); tf_tlp = new TextField("Password", "", 10, TextField.PASSWORD); form.append(tf_nama); form.append(tf_tlp); }
protected void startApp() { display = Display.getDisplay(this); Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) display.setCurrent(form); }
protected void pauseApp() {}
protected void destroyApp(boolean unconditional) { notifyDestroyed(); } } D.
Percobaan menampilkan DateField
import javax.microedition.midlet.*; import javax.microedition.lcdui.*;
public class Midlet03 extends MIDlet { private Display display; private Form form; private DateField df_tgl, df_jam;
public Midlet03() { form = new Form("MIDLET 03"); df_tgl = new DateField("Tanggal", DateField.DATE); df_jam = new DateField("Jam", DateField.TIME); form.append(df_tgl); form.append(df_jam); }
protected void startApp() { display = Display.getDisplay(this); display.setCurrent(form); }
protected void pauseApp() {}
protected void destroyApp(boolean unconditional) { notifyDestroyed(); } }
Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA)
E.
Percobaan menampilkan Command
import javax.microedition.midlet.*; import javax.microedition.lcdui.*;
public class Midlet03 extends MIDlet { private Display display; private Form form; private DateField df_tgl, df_jam; private Command cmd_klr;
public Midlet03() { form = new Form("MIDLET 03"); df_tgl = new DateField("Tanggal", DateField.DATE); df_jam = new DateField("Jam", DateField.TIME); cmd_klr = new Command("Keluar", Command.EXIT, 0); form.append(df_tgl); form.append(df_jam); form.addCommand(cmd_klr); }
protected void startApp() { display = Display.getDisplay(this); display.setCurrent(form); }
protected void pauseApp() {}
protected void destroyApp(boolean unconditional) { notifyDestroyed(); } } F.
Percobaan menampilkan Command dengan Event Handler
import javax.microedition.midlet.*; import javax.microedition.lcdui.*;
public class Midlet04 extends MIDlet implements CommandListener { Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) private Display display; private Form form; private DateField df_tgl, df_jam; private Command cmd_klr;
public Midlet04() { form = new Form("MIDLET 04"); df_tgl = new DateField("Tanggal", DateField.DATE); df_jam = new DateField("Jam", DateField.TIME); cmd_klr = new Command("Keluar", Command.EXIT, 0); form.append(df_tgl); form.append(df_jam); form.addCommand(cmd_klr); form.setCommandListener(this); }
protected void startApp() { display = Display.getDisplay(this); display.setCurrent(form); }
protected void pauseApp() {}
protected void destroyApp(boolean unconditional) { notifyDestroyed(); }
public void commandAction(Command c, Displayable d) { if (c == cmd_klr) { destroyApp(true); } } } G.
Percobaan menampilkan Menu
import javax.microedition.midlet.*; import javax.microedition.lcdui.*;
Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) public class Midlet05 extends MIDlet { private Display display; private List menu; private String[] menu_str = {"New Game", "Loading", "High Score", "Instructions", "About", "Exit"};
public Midlet05() { menu = new List("Game Menu", List.IMPLICIT, menu_str, null); }
protected void startApp() { display = Display.getDisplay(this); display.setCurrent(menu); }
protected void pauseApp() {}
protected void destroyApp(boolean unconditional) { notifyDestroyed(); } } H.
Percobaan menampilkan Menu dengan Event Handler
import javax.microedition.midlet.*; import javax.microedition.lcdui.*;
public class Midlet05 extends MIDlet implements CommandListener { private Display display; private Alert alert = new Alert("Info"); private List menu; private String[] menu_str = {"New Game", "Loading", "High Score", "Instructions", "About", "Exit"};
public Midlet05() { menu = new List("Game Menu", List.IMPLICIT, menu_str, null); menu.setCommandListener(this); }
protected void startApp() { Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) display = Display.getDisplay(this); display.setCurrent(menu); }
protected void pauseApp() {}
protected void destroyApp(boolean unconditional) { notifyDestroyed(); }
public void commandAction(Command c, Displayable d) { switch (menu.getSelectedIndex()) { case 0: alert.setString(menu_str[0]); break; case 1: alert.setString(menu_str[1]); break; case 2: alert.setString(menu_str[2]); break; case 3: alert.setString(menu_str[3]); break; case 4: alert.setString(menu_str[4]); break; case 5: destroyApp(true); break;
} display.setCurrent(alert); } } I.
Percobaan menampilkan Ticker
import javax.microedition.midlet.*; import javax.microedition.lcdui.*;
public class Midlet05 extends MIDlet implements CommandListener { private Display display; private Ticker ticker = new Ticker("Game Midlet"); private Alert alert = new Alert("Info");
Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) private List menu; private String[] menu_str = {"New Game", "Loading", "High Score", "Instructions", "About", "Exit"};
public Midlet05() { menu = new List("Game Menu", List.IMPLICIT, menu_str, null); menu.setTicker(ticker); menu.setCommandListener(this); }
protected void startApp() { display = Display.getDisplay(this); display.setCurrent(menu); }
protected void pauseApp() {}
protected void destroyApp(boolean unconditional) { notifyDestroyed(); }
public void commandAction(Command c, Displayable d) { switch (menu.getSelectedIndex()) { case 0: alert.setString(menu_str[0]);
case 5: destroyApp(true); break; } display.setCurrent(alert); } } J.
Percobaan menampilkan TextBox
import javax.microedition.midlet.*; import javax.microedition.lcdui.*;
public class Midlet06 extends MIDlet { private Display display;
Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) private TextBox tbox;
public Midlet06() { tbox = new TextBox("pesan", "", 160, TextField.ANY); }
protected void startApp() { display = Display.getDisplay(this); display.setCurrent(tbox); }
protected void pauseApp() {}
protected void destroyApp(boolean unconditional) { notifyDestroyed(); } } K.
Percobaan menggambar menggunakan Canvas
import javax.microedition.lcdui.*;
class Media extends Canvas implements CommandListener { private Midlet07 m; private Command cmd_klr; private int lbr_canvas, tg_canvas;
public Media(Midlet07 m) { this.m = m; lbr_canvas = getWidth(); tg_canvas = getHeight(); cmd_klr = new Command("Keluar", Command.EXIT, 0); addCommand(cmd_klr); setCommandListener(this); }
public void paint(Graphics g) { g.setColor(255, 255, 255); g.fillRect(0, 0, lbr_canvas, tg_canvas);
Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA)
g.setColor(0, 0, 0); g.fillArc(0, 5, 20, 20, 0, 360); g.fillArc(25, 5, 20, 20, 0, 180); g.fillArc(50, 5, 20, 20, 180, 180); g.fillArc(75, 5, 20, 20, 90, 180); g.fillArc(80, 5, 20, 20, 270, 180); g.fillArc(105, 5, 20, 20, 35, 290); g.fillArc(130, 5, 20, 20, 215, 290); g.fillArc(155, 5, 20, 20, 305, 290); }
public void commandAction(Command c, Displayable d) { if (c == cmd_klr) { m.destroyApp(true); } } } import javax.microedition.midlet.*; import javax.microedition.lcdui.*;
public class Midlet07 extends MIDlet { private Display display; private Canvas media;
public Midlet07() { media = new Media(this); }
protected void startApp() { display = Display.getDisplay(this); display.setCurrent(media); }
protected void pauseApp() {}
public void destroyApp(boolean unconditional) {
Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) notifyDestroyed(); } }
L.
Percobaan animasi bola
import javax.microedition.lcdui.*; import java.util.Random;
class Media extends Canvas implements Runnable, CommandListener { private final int BALL_SIZE = 20; private final int[] PINK = {204,0,204}; private final int[] UNGU = {153,0,204}; private final int[] KREM = {255,153,0}; private final int[] HIJAU = {51,204,51}; private final int[] MERAH = {204,51,0}; private final int[][] COLOR = {PINK, UNGU, KREM, HIJAU, MERAH}; private final int DELAY = 0;
private BolaPantul bp; private int x, y, lebar_canvas, tinggi_canvas; private boolean running = false; private boolean naik = false; private Thread t; private boolean ditekan = false;
private Command cmdExit = new Command("Keluar", Command.EXIT, 0);
public Media(BolaPantul bp) { this.bp = bp; inisialisasi(); addCommand(cmdExit); setCommandListener(this); }
private void inisialisasi() { lebar_canvas = getWidth(); tinggi_canvas = getHeight(); x = (lebar_canvas-BALL_SIZE)/2;
Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) y = 0; }
protected void paint(Graphics g) { g.setColor(255,204,255); g.fillRect(0, 0, lebar_canvas, tinggi_canvas);
paintBall(g, x, y, BALL_SIZE, 0, 360, COLOR[1]); }
private void paintBall(Graphics graphics, int posx, int posy, int size, int start_angel, int end_angel, int[] color) {
graphics.setColor(color[0],color[1],color[2]); graphics.fillArc(posx, posy, size, size, start_angel, end_angel); }
protected void showNotify() { running = true; t = new Thread(this); t.start(); }
public void run() { while (running) { if (y == 0) { y++; naik = false; } else if (y < tinggi_canvas - BALL_SIZE && !naik) { y++; } else if (y < tinggi_canvas - BALL_SIZE && naik) { y--; } else if (y == tinggi_canvas - BALL_SIZE) { y--; naik = true; }
Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) repaint();
try
{ Thread.sleep(DELAY);
} catch (Exception e) {} } }
protected void keyPressed(int keyCode) { int key = getGameAction(keyCode); switch (key) { case UP: if (y > 0) {y--;repaint();} break;
case DOWN: if (y < tinggi_canvas - BALL_SIZE) {y++;repaint();} break;
case LEFT: if (x > 0) {x--;repaint();} break;
case RIGHT: if (x < lebar_canvas - BALL_SIZE) {x++;repaint();} break;
case FIRE: if (running) running = false; else showNotify(); break; } }
public void commandAction(Command c, Displayable d) { if (c == cmdExit) { bp.destroyApp(true); } } } Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA)
import javax.microedition.midlet.*; import javax.microedition.lcdui.*;
public class BolaPantul extends MIDlet { private Display display; private Media media;
public BolaPantul() { media = new Media(this); }
protected void startApp() { display = Display.getDisplay(this); display.setCurrent(media); }
protected void pauseApp() { }
public void destroyApp(boolean unconditional) { notifyDestroyed(); } }
Nurochman, Teknik Informatika UIN Sunan Kalijaga Yogyakarta 2010