Kamis, 01 Januari 2009

Contoh Program Buku Alamat

import javax.microedition.midlet.*;
import javax.microedition.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.rms.*;
import java.util.Enumeration;
import java.util.Vector;
import java.io.*;

public class bukualamat extends MIDlet implements CommandListener
{
private Display display = null; // Deklarasi variabel untuk Display.
Command search = null; // Deklarasi variabel untuk Button Search.
Command quit = null; // Deklarasi variabel untuk Button keluar.
Command delete = null; // Deklarasi variabel untuk Button hapus.
Command addnow = null; // Deklarasi variabel untuk Button tambah.
Command mainmenu = null; // Deklarasi variabel untuk Button kembali ke menu utama.
List menu = null; // Deklarasi variabel untuk Menu List
Form ui_form = null;
StringItem si = null;
TextField name = null; // TextField untuk Nama
TextField phone = null; // TextField untuk No Telp

RecordStore recordStore = null; // Deklarasi Database
public bukualamat()
{
display = Display.getDisplay(this); // Inisialisasi Display.
quit = new Command("Keluar",Command.SCREEN,3); // Inisialisasi Button..
search = new Command("Cari",Command.SCREEN,2); // Inisialisasi Button..
delete = new Command("Hapus",Command.SCREEN,2); // Inisialisasi Button..
addnow = new Command("Tambah",Command.SCREEN,2); // Inisialisasi Button..
mainmenu = new Command("Utama",Command.SCREEN,2); // Inisialisasi Button..
// Inisialisasi Record Store
try
{
recordStore = RecordStore.openRecordStore("buku", true);
}
catch(RecordStoreException rse)
{
rse.printStackTrace();
}
}


public void startApp()
{
menu = new List("Buku Alamat...",List.IMPLICIT);
menu.append("1. Cari Data",null);
menu.append("2. Tambah Data",null);
menu.append("3. Hapus Data",null);
menu.append("4. Keluar",null);
menu.setCommandListener(this);
display.setCurrent(menu);
}
// Tampilan Layar
void searchScreen()
{
ui_form = new Form("Mencari Alamat");
name = new TextField("Nama yang dicari..","",50,0);
ui_form.append(name);
ui_form.addCommand(search); // Menambahkan Button ui_form.
ui_form.addCommand(quit); // Menambahkan Button ui_form.
ui_form.setCommandListener(this); // Action Listener..

display.setCurrent(ui_form);
}
void addScreen()
{
ui_form = new Form("Tambah Data..");
name = new TextField("Nama ..","",50,0);
ui_form.append(name);
phone = new TextField("No. Telp.. ","",50,0);
ui_form.append(phone);
ui_form.addCommand(addnow); // Menambahkan Button ui_form
ui_form.addCommand(quit); // Menambahkan Button ui_form
ui_form.setCommandListener(this); // Action Listener..
display.setCurrent(ui_form);
}
// GUI untuk Delete Screen.......
void deleteScreen()
{
ui_form = new Form("Hapus Alamat");
name = new TextField("Nama Yang Akan DiHapus..","",50,0);
ui_form.append(name);
ui_form.addCommand(delete); // Menambahkan Button ui_form
ui_form.addCommand(quit); // Menambahkan Button ui_form
ui_form.setCommandListener(this); // Action Listener..
display.setCurrent(ui_form);
}
public void pauseApp()
{
menu = null;
}
public void destroyApp(boolean unconditional)
{
menu = null;
notifyDestroyed(); // Destroy...
}
public void commandAction(Command c, Displayable d) // Event untuk Button..
{
if ( c == quit ) // Apakah Keluar yang dipilih
{
try
{
close();
}
catch (RecordStoreException rse)
{
rse.printStackTrace();
}
destroyApp(true);
}
else if (c == search) // Jika yang dipilih tombol search
{
String temp_search = name.getString();
search_add(temp_search);
}
else if (c == mainmenu) // Kembali ke menu Utama
{
startApp();
}
else if (c == delete) // Jika Memilih menu delete
{
String temp_delete = name.getString();
delete_add(temp_delete);
}
else if (c == addnow) // Jiak menu tambah di pilih
{
String temp_name = name.getString();
String temp_phone = phone.getString();
alamat_add(temp_name, temp_phone);
}
else
{
List down = (List)display.getCurrent();
switch(down.getSelectedIndex())
{
case 0: searchScreen();break;
case 1: addScreen();break;
case 2: deleteScreen();break;
case 3: destroyApp(true);break;
}
}
}
void search_add(String alamat) // Fungsi Cari
{
String temp = " ";
String notelp;
String nama;
int size = alamat.length();
try
{
RecordEnumeration re = recordStore.enumerateRecords(null, null, false);
ui_form = new Form("Cari Data.");
while(re.hasNextElement())
{
String name1 = new String(re.nextRecord());
try
{
nama = name1.substring(2,name1.indexOf("?"));
}
catch (Exception ef)
{
nama = "check";
}
String check_name = nama.substring(0,size);
if (check_name.equals(alamat))
{
try
{
notelp = name1.substring(name1.indexOf("?")+1);
}
catch (Exception e)
{
notelp = "";
}
temp = temp +"\nNama.."+nama+"\nPhone.."+notelp;
}
}
if (temp.equals(" "))
{
temp = "Nama tersebut tidak ditemukan...";
}
ui_form.append(temp);
ui_form.addCommand(quit); // Tambahkan Button pada ui_form.
ui_form.addCommand(mainmenu); // Tambahkan Button pada ui_form.
ui_form.setCommandListener(this); // Action Listener..
display.setCurrent(ui_form);
}
catch (RecordStoreNotOpenException rsnoe)
{
rsnoe.printStackTrace();
}
catch (InvalidRecordIDException irid)
{
irid.printStackTrace();
}
catch (RecordStoreException rse)
{
rse.printStackTrace();
}
}
void delete_add(String alamat) // Fungsi delete....
{
String temp = " ";
String notelp;
String nama;
int i = 1;
int del_id = 0;
try
{
RecordEnumeration re = recordStore.enumerateRecords(null, null, false);
ui_form = new Form("Hapus Data..");
while(re.hasNextElement())
{
String name1 = new String(re.nextRecord());
try
{
nama = name1.substring(2,name1.indexOf("?"));
}
catch (Exception ef)
{
nama = "check";
}
if (nama.equals(alamat))
{
del_id = i;
}
i++;
}
if (del_id != 0)
{
recordStore.deleteRecord(del_id);
temp = "Record telah terhapus...";
}
else
{
temp = "Data Tidak Ada di List...";
}
}
catch(Exception e)
{
}
ui_form.append(temp);
ui_form.addCommand(quit); // Tambahkan Button pada ui_form.
ui_form.addCommand(mainmenu); // Tambahkan Button pada ui_form.
ui_form.setCommandListener(this); // Action Listener..
display.setCurrent(ui_form);
}
void alamat_add(String alamat, String phone) // Fungsi tambah alamat
{
String data = alamat+"?"+phone; // ? (batas/pemisah antara nama dan nomor)
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream outputStream = new DataOutputStream(baos);
try
{
outputStream.writeUTF(data);
byte[] b = baos.toByteArray();
recordStore.addRecord(b,0, b.length);
ui_form = new Form("Sukses.....");
ui_form.append("Sebuah Data Telah Ditambahkan");
ui_form.addCommand(quit); // Tambahkan Button pada ui_form.
ui_form.addCommand(mainmenu); // Tambahkan Button pada ui_form.
ui_form.setCommandListener(this); // Action Listener..
display.setCurrent(ui_form);
}
catch (IOException ioe)
{
ioe.printStackTrace();
}
catch (RecordStoreException rse)
{
rse.printStackTrace();
}
}
public void close() throws RecordStoreNotOpenException,RecordStoreException
{
recordStore.closeRecordStore();
}
}

0 komentar:

Posting Lebih Baru Posting Lama Beranda