Presiding Officer Training module 2024 lok sabha elections
Contoh bahan latihan programan mobile java
1. MEMULAI PEMROGRAMAN MOBILE
Contoh 1:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Midlet1 extends MIDlet {
private Display display;
public Midlet1(){
display = Display.getDisplay(this);
}
public void startApp() {
TextBox tb = new TextBox ("Hello MIDlet","Hello J2ME...!", 250,0);
display.setCurrent(tb);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
}
Contoh 2:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloMidlet extends MIDlet implements CommandListener {
Display display;
Command exitCommand = new Command("Exit", Command.EXIT, 1);
Alert helloAlert;
public HelloMidlet(){
helloAlert = new Alert(
"Judul MIDlet", "Selamat datang dipemrograman MIDlet!",
null, AlertType.INFO
);
helloAlert.setTimeout(Alert.FOREVER);
helloAlert.addCommand(exitCommand);
helloAlert.setCommandListener(this);
}
public void startApp() {
if (display == null){
display = Display.getDisplay(this);
}
display.setCurrent(helloAlert);
}
public void pauseApp() { }
public void destroyApp(boolean unconditional) { }
public void commandAction(Command c, Displayable d){
if (c == exitCommand){
destroyApp(true);
notifyDestroyed(); // Exit
}
}
}
2. HIGH LEVEL USER INTERFACE
Contoh 1:
package ora.ch4;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.IOException;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.TextBox;
import javax.microedition.lcdui.TextField;
import javax.microedition.lcdui.Ticker;
import javax.microedition.midlet.MIDlet;
public class TextBoxMIDlet extends MIDlet {
// Maximum size of the text in the TextBox
private static final int MAX_TEXT_SIZE = 64;
// The TextBox
protected TextBox textBox;
// The MIDlet's Display object
protected Display display;
// Flag indicating first call of startApp
protected boolean started;
protected void startApp( ) {
if (!started) {
// First time through - initialize
// Get the text to be displayed
String str = null;
try {
InputStream is = getClass( ).getResourceAsStream(
"resources/text.txt");
InputStreamReader r = new InputStreamReader(is);
char[] buffer = new char[32];
StringBuffer sb = new StringBuffer( );
int count;
while ((count = r.read(buffer, 0, buffer.length)) > -1) {
sb.append(buffer, 0, count);
}
str = sb.toString( );
} catch (IOException ex) {
str = "Failed to load text";
}
// Create the TextBox
textBox = new TextBox("TextBox Example", str,
MAX_TEXT_SIZE, TextField.ANY);
// Create a ticker and install it
Ticker ticker = new Ticker("This is a ticker...");
textBox.setTicker(ticker);
// Install the TextBox as the current screen
display = Display.getDisplay(this);
display.setCurrent(textBox);
started = true;
3. }
}
protected void pauseApp( ) {
}
protected void destroyApp(boolean unconditional) {
}
}
Contoh 2:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.util.Timer;
import java.util.TimerTask;
public class SimpleStopWatch extends MIDlet implements CommandListener
{
Display dsp;
Form form;
TextField txt;
Command start;
Command pause;
Command exit;
Timer timer;
StartTime st;
public void startApp()
{
dsp = Display.getDisplay(this);
form = new Form("Simple StopWatch");
txt = new TextField("Waktu","",45, TextField.ANY);
start = new Command("Start", Command.OK,0);
pause = new Command("Pause", Command.OK,0);
exit = new Command("Exit", Command.EXIT,1);
form.append(txt);
form.addCommand(start);
form.addCommand(exit);
form.setCommandListener((CommandListener) this);
dsp.setCurrent(form);
}
public void pauseApp(){
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command com, Displayable dis)
{
if(com == start)
{
form.removeCommand(start);
form.addCommand(pause);
timer = new Timer();
st = new StartTime();
timer.schedule(st,0,100);
11. form = new Form("Menu Utama");
cmdKeluar = new Command("Keluar", Command.EXIT, 0);
cmdKembali = new Command("Kembali", Command.BACK, 1);
cmdbalik = new Command("Kembali", Command.BACK, 1);
cmdHasil = new Command("Hasil", Command.OK, 2);
cmdSimpan = new Command("Simpan", Command.OK, 2);
alert = new Alert(null);
alert.setTimeout(Alert.FOREVER);
list = new List(null, Choice.IMPLICIT);
rs = null;
// membuat atau membuka record store
try
{
rs = RecordStore.openRecordStore("db_KodeBar", true);
}
catch (RecordStoreException RSE) //check kalau error = exception
{
alert.setString("Record store tidak dapat dibuka. " +"Aplikasi
akan dihetikan");
alert.setType(AlertType.ERROR);
display.setCurrent(alert, null);
System.exit(1);
}
}
public void startApp() {
display = Display.getDisplay(this);
display.setCurrent(form);
menuList();
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
notifyDestroyed();
}
public void menuList(){
list = new List("Menu Utama", List.IMPLICIT);
list.append("Latihan Berhitung", null);
list.append("Skor", null);
list.append("Keluar", null);
list.setCommandListener(this);
display.setCurrent(list);
}
public void UJIAN(){
form = new Form("Latihan Berhitung");
soal1 = new TextField("1. 2+3 = ?", "", 100, TextField.DECIMAL);
soal2 = new TextField("2. 8/2 = ?", "", 100, TextField.DECIMAL);
soal3 = new TextField("3. 3*4 = ?", "", 100, TextField.DECIMAL);
soal4 = new TextField("4. 7-3 = ?", "", 100, TextField.DECIMAL);
soal5 = new TextField("5. (7-3)*2 = ?", "", 100, TextField.DECIMAL);
form.append(soal1);
form.append(soal2);
form.append(soal3);
form.append(soal4);
form.append(soal5);
form.setCommandListener(this);
form.addCommand(cmdKembali);
12. form.addCommand(cmdHasil);
display.setCurrent(form);
}
public void nama(){
form = new Form("SIMPAN HASIL");
id = new TextField("Masukkan nama anda : ","", 100, TextField.ANY);
form.append(id);
form.setCommandListener(this);
form.addCommand(cmdSimpan);
form.addCommand(cmdbalik);
display.setCurrent(form);
}
public void commandAction(Command c, Displayable d) {
if (c == cmdKeluar){
destroyApp(true);
}
if(c.getLabel()=="Simpan"){
alert.setType(AlertType.INFO);
if (!id.equals(null)) //cek jika var ada isi nya
{
tambahRecord(id.getString());
alert.setString("Data lengkap !, Data sudah disimpan di RMS,
untuk melihat gunakan pilihan menu'nilai tertinggi' pada menu utama");
display.setCurrent(alert);
display.setCurrent(alert, list);
}
else //jika data kosong
{
alert.setString("Data Kurang !, isikan nama anda terlebih
dahulu.");
display.setCurrent(alert, form);
}
}
if(c.getLabel()=="Nilai Tertinggi"){
lihatRecord();
}
else if (c == cmdHasil){
nama();
}
else if (c == cmdbalik){
UJIAN();
}else if (c == cmdKembali){
menuList();
}else{
List menu = (List) display.getCurrent();
switch (menu.getSelectedIndex()){
case 0:
UJIAN();
break;
case 1:
lihatRecord();
break;
case 2:
destroyApp(true);
}
}
}
public void tambahRecord(String id)
13. {
int a = Integer.parseInt(soal1.getString());
int b = Integer.parseInt(soal2.getString());
int c = Integer.parseInt(soal3.getString());
int d = Integer.parseInt(soal4.getString());
int e = Integer.parseInt(soal5.getString());
if(a == 5){
a=2;
}
else if(a != 5){
a=0;
}
if(b==4){
b=2;
}
else if(b != 4){
b=0;
}
if(c==12){
c=2;
}
else if(c != 12){
c=0;
}
if(d==5){
d=2;
}
else if(d !=2 ){
d=0;
}
if(e==10){
e=2;
}
else if(e != 10){
e=0;
}
Nakhir = a + b + c + d + e;
byte[] temp = null;
try
{
//kosntruktor baos dan dos
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
//cari fungsi ini ByteArrayOutputStream dan DataOutputStream di
internet
dos.writeUTF(id);// tulis var pada dos
dos.writeInt(Nakhir);
temp = baos.toByteArray();
}
catch (IOException ioe)
{
ioe.printStackTrace();
}
try
{
rs.addRecord(temp, 0, temp.length); //masukan data pada RecordStore
} catch (RecordStoreNotOpenException rsnoe) {
rsnoe.printStackTrace();
} catch (RecordStoreException rse) {
rse.printStackTrace();
14. }
}
public void lihatRecord() {
byte[] temp = null;
list.setTitle("Nilai Tertinggi");
list.deleteAll();
try
{
re = rs.enumerateRecords(null, null, false); //enumerasi record
while (re.hasNextElement()) //jk elemen rs lbh dr satu
{
int i = re.nextRecordId();
temp = rs.getRecord(i);
ByteArrayInputStream bais = new ByteArrayInputStream(temp);
DataInputStream dis = new DataInputStream(bais);
try
{
String id = dis.readUTF();
//Integer Nakhir = dis.readUTF();
list.append(id + " = "+ Nakhir +" n",null);// tampilkan
}
catch (IOException ioe) {ioe.printStackTrace();}
}
list.addCommand(cmdKembali);
list.setCommandListener(this);
display.setCurrent(list);
}
catch (InvalidRecordIDException invID) {invID.printStackTrace();}
catch (RecordStoreNotOpenException rsnoe) {rsnoe.printStackTrace();}
catch (RecordStoreException rse) {rse.printStackTrace();}
}
}
15. WEB SERVICES
Contoh 1:
package org.secangkirkopipanas.xml;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import java.io.*;
import org.kxml2.io.*;
import org.xmlpull.v1.*;
public class XmlParsing extends MIDlet implements CommandListener {
private Display display;
private Form main;
private StringItem siNim[];
private StringItem siNama[];
private StringItem siAlamat[];
private StringItem siJudul[];
private Command cmdExit;
private KXmlParser parser;
private int jumlah = 0;
public XmlParsing() {
display = Display.getDisplay(this);
main = new Form("Data Skripsi Mahasiswa");
siNim = new StringItem[10];
siNama = new StringItem[10];
siAlamat = new StringItem[10];
siJudul = new StringItem[10];
cmdExit = new Command("Exit", Command.EXIT, 0);
}
public void startApp() {
getXMLDocument();
main.addCommand(cmdExit);
main.setCommandListener(this);
display.setCurrent(main);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d) {
if (c == cmdExit) {
destroyApp(true);
}
}
public void getXMLDocument() {
HttpConnection conn;
DataInputStream dis;
DataOutputStream dos;
try {
conn = (HttpConnection) Connector.open(
"http://localhost:8081/xml/skripsi.xml");
conn.setRequestMethod(HttpConnection.GET);
conn.setRequestProperty("Content-Type", "text/xml");
16. dos = new DataOutputStream(conn.openDataOutputStream());
/**
* Proses untuk membuka koneksi dengan server untuk
* mengambil response dari server
*/
dis = new DataInputStream(conn.openDataInputStream());
if (conn.getResponseCode() == HttpConnection.HTTP_OK) {
/** Mengambil data XML dari server */
doParse(dis);
for (int i = 0; i < jumlah; i++) {
main.append(siNim[i]);
main.append(siNama[i]);
main.append(siAlamat[i]);
main.append(siJudul[i]);
main.append("---");
}
} else {
/** Koneksi Error */
main.append("Koneksi Error");
}
} catch (Exception e) {
/** Error */
main.append("Error: " + e);
}
}
public void doParse(InputStream isxml) {
parser = new KXmlParser();
try {
parser.setInput(new InputStreamReader(isxml));
parser.next();
parser.require(XmlPullParser.START_TAG, null, "teknik-
informatika");
while (parser.nextTag() != XmlPullParser.END_TAG) {
parser.require(XmlPullParser.START_TAG, null,
"mahasiswa");
siNim[jumlah] = new StringItem("NIM: ",
parser.getAttributeValue(0));
while (parser.nextTag() != XmlPullParser.END_TAG)
{
parser.require(XmlPullParser.START_TAG,
null, "nama");
siNama[jumlah] = new StringItem("Nama: ",
parser.nextText());
parser.require(XmlPullParser.END_TAG,
null, "nama");
parser.nextTag();
parser.require(XmlPullParser.START_TAG,
null, "alamat");
siAlamat[jumlah] = new StringItem("Alamat:
", parser.nextText());
parser.require(XmlPullParser.END_TAG,
null, "alamat");
parser.nextTag();
parser.require(XmlPullParser.START_TAG,
null, "judul");