Sie sind auf Seite 1von 6

/*

* Aplikasi Inventaris Barang


* Tugas Pemrograman V (Mobile)
* Author: Rizki Rusdiwijaya (1242124), Fauzi Hermawan(1242122) , Tobari Sukarwi
(1042152)
* 27 April 2013
*
*/
import
import
import
import

java.io.*;
javax.microedition.lcdui.*;
javax.microedition.midlet.MIDlet;
javax.microedition.rms.*;

public class DataBarang extends MIDlet implements CommandListener {


private Display display;
private Form form;
private RecordStore rs;
private RecordEnumeration re;
private ChoiceGroup choicegroup;
private Alert alert;
private List list;
private Form entri;
private TextField tfNama, tfHarga, tfID_BC, tfKeterangan, tfOld_Id, input1,
input2, input3, input4, input5;
Ticker tik;
private final Command cmdKeluar = new Command("Keluar", Command.EXIT, 1);
private final Command cmdPilih = new Command("Pilih", Command.OK, 1);
private final Command cmdSimpan = new Command("Simpan", Command.SCREEN, 1);
private final Command cmdUpdate = new Command("Ubah", Command.SCREEN, 1);
private final Command cmdHapus = new Command("Hapus", Command.SCREEN, 1);
private final Command cmdEdit = new Command("Edit", Command.SCREEN, 1);
private final Command cmdKembali = new Command("Kembali", Command.BACK, 1);
public DataBarang() {
display = Display.getDisplay(this);
alert = new Alert(null);
alert.setTimeout(Alert.FOREVER);
list = new List(null, Choice.IMPLICIT);
rs = null;
try {
rs = RecordStore.openRecordStore("db_KodeBar", true);
} catch (RecordStoreException rse) {
alert.setString("Record store tidak dapat dibuka. " + "Aplikasi akan
dihetikan");
alert.setType(AlertType.ERROR);
display.setCurrent(alert, null);
System.exit(1);
}
}
public void startApp() {
form = new Form("Data Barang C-Kom Service");
choicegroup = new ChoiceGroup("Menu :", Choice.EXCLUSIVE);
choicegroup.append("Insert Data Barang ", null);
choicegroup.append("Data Inventory Barang", null);
form.append(choicegroup);

form.addCommand(cmdKeluar);
form.addCommand(cmdPilih);
form.setCommandListener(this);
form.setTicker(tik);
display.setCurrent(form);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable s) {
if (c == cmdKeluar) {
destroyApp(false);
notifyDestroyed();
} else if (c == cmdPilih) {
switch (choicegroup.getSelectedIndex()) {
case 0: {
entriData();
break;
}
case 1: {
lihatRecord();
break;
}
}
} else if (c == cmdKembali) {
display.setCurrent(form);
} else if (c == cmdSimpan) {
alert.setType(AlertType.INFO);
if (!tfNama.equals("") && !tfHarga.equals("") && !tfID_BC.equals("")
&& !tfKeterangan.equals("")) //cek jika var ada isi nya
{
tambahRecord(tfID_BC.getString(), tfNama.getString(), tfHarga.ge
tString(), tfKeterangan.getString());
alert.setString("Data berhasil disimpan.");
display.setCurrent(alert, form);
} else {
alert.setString("Data Nama Produk, Harga, Kode Barang, Keteranga
n " + "tidak boleh kosong");
display.setCurrent(alert, entri);
}
} else if (c == cmdUpdate) {
alert.setType(AlertType.INFO);
if (!tfNama.equals("") && !tfHarga.equals("") && !tfID_BC.equals("")
&& !tfKeterangan.equals("")) //cek jika var ada isi nya
{
updateRecord(tfID_BC.getString(), tfNama.getString(), tfHarga.ge
tString(), tfKeterangan.getString(), tfOld_Id.getString());
alert.setString("Data berhasil diupdate.");
display.setCurrent(alert, form);
} else //jika data kosong
{
alert.setString("Data Nama Produk, Harga, ID Brcode/ ISBN, Keter
angan " + "tidak boleh kosong");
display.setCurrent(alert, entri);
}
} else if (c == cmdHapus || c == cmdEdit) {

int pos = list.getString(list.getSelectedIndex()).indexOf("=");


String id_bc = list.getString(list.getSelectedIndex()).substring(0,
pos);
if (c == cmdHapus) {
hapusRecord(id_bc);
} else {
editData(id_bc);
}
}
}
/*
* Procedure Tambah Record
*/
public void tambahRecord(String id_bc, String nama, String harga, String ket
erangan) {
byte[] temp = null;
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
dos.writeUTF(id_bc);
dos.writeUTF(nama);
dos.writeUTF(harga);
dos.writeUTF(keterangan);
temp = baos.toByteArray();
} catch (IOException ioe) {
ioe.printStackTrace();
}
try {
rs.addRecord(temp, 0, temp.length);
} catch (RecordStoreNotOpenException rsnoe) {
rsnoe.printStackTrace();
} catch (RecordStoreException rse) {
rse.printStackTrace();
}
}
/*
* Procedure Update Record
*/
void updateRecord(String id_bc, String nama, String harga, String keterangan
, String Old_Id) {
byte[] temp = null;
try {
re = rs.enumerateRecords(null, null, false);
while (re.hasNextElement()) {
int i = re.nextRecordId();
temp = rs.getRecord(i);
ByteArrayInputStream bais = new ByteArrayInputStream(temp);
DataInputStream dis = new DataInputStream(bais);
try {
String vID_BC = dis.readUTF();
if (vID_BC.equals(Old_Id)) {
rs.deleteRecord(i);
break;
}
} catch (IOException ioe) {
ioe.printStackTrace();

}
}
re.rebuild();
} catch (RecordStoreNotOpenException rsnoe) {
rsnoe.printStackTrace();
} catch (RecordStoreException rse) {
rse.printStackTrace();
}
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
dos.writeUTF(id_bc);
dos.writeUTF(nama);
dos.writeUTF(harga);
dos.writeUTF(keterangan);
temp = baos.toByteArray();
} catch (IOException ioe) {
ioe.printStackTrace();
}
try {
rs.addRecord(temp, 0, temp.length);
} catch (RecordStoreNotOpenException rsnoe) {
rsnoe.printStackTrace();
} catch (RecordStoreException rse) {
rse.printStackTrace();
}
}
/*
* Procedure Lihat Record
*/
public void lihatRecord() {
byte[] temp = null;
list.setTitle("Daftar Barang");
list.deleteAll();
try {
re = rs.enumerateRecords(null, null, false);
while (re.hasNextElement()) {
int i = re.nextRecordId();
temp = rs.getRecord(i);
ByteArrayInputStream bais = new ByteArrayInputStream(temp);
DataInputStream dis = new DataInputStream(bais);
try {
String id_bc = dis.readUTF();
String nama = dis.readUTF();
String harga = dis.readUTF();
String keterangan = dis.readUTF();
list.append(id_bc + "= \n -" + nama + "\n -Rp " + harga +
"\n -" + keterangan + " \n", null);// tampilkan
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
list.addCommand(cmdKembali);
list.addCommand(cmdHapus);
list.addCommand(cmdEdit);
list.setCommandListener(this);

list.setTicker(tik);
display.setCurrent(list);
} catch (InvalidRecordIDException invID) {
invID.printStackTrace();
} catch (RecordStoreNotOpenException rsnoe) {
rsnoe.printStackTrace();
} catch (RecordStoreException rse) {
rse.printStackTrace();
}
}
/*
* Procedure Hapus Record
*/
public void hapusRecord(String id_bc) {
byte[] temp = null;
try {
re = rs.enumerateRecords(null, null, false);
while (re.hasNextElement()) {
int i = re.nextRecordId();
temp = rs.getRecord(i);
ByteArrayInputStream bais = new ByteArrayInputStream(temp);
DataInputStream dis = new DataInputStream(bais);
try {
String vID_BC = dis.readUTF();
if (vID_BC.equals(id_bc)) {
rs.deleteRecord(i);
break;
}
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
re.rebuild();
lihatRecord();
} catch (RecordStoreNotOpenException rsnoe) {
rsnoe.printStackTrace();
} catch (RecordStoreException rse) {
rse.printStackTrace();
}
}
/*
* Function Form untuk Entry Data
*/
public Form entriData() {
entri = new Form("Entri Data");
tfID_BC = new TextField("Kode Barang :", null, 25, TextField.ANY);
tfNama = new TextField("Nama Barang :", null, 25, TextField.ANY);
tfHarga = new TextField("Harga:", null, 25, TextField.NUMERIC);
tfKeterangan = new TextField("Keterangan :", null, 100, TextField.ANY);
entri.append(tfID_BC);
entri.append(tfNama);
entri.append(tfHarga);
entri.append(tfKeterangan);
entri.addCommand(cmdSimpan);
entri.addCommand(cmdKembali);
entri.setCommandListener(this);
entri.setTicker(tik);

display.setCurrent(entri);
return entri;
}
/*
* Function Form untuk edit data
*/
public Form editData(String Id_Old) {
entri = new Form("Edit Data");
tfOld_Id = new TextField("Kode Barang (Lama):", Id_Old, 25, TextField.UN
EDITABLE);
tfID_BC = new TextField("Kode Barang (Baru):", Id_Old, 25, TextField.ANY
);
tfNama = new TextField("Nama Barang/ Produk :", null, 25, TextField.ANY)
;
tfHarga = new TextField("Harga:", null, 25, TextField.NUMERIC);
tfKeterangan = new TextField("Keterangan :", null, 100, TextField.ANY);
entri.append(tfOld_Id);
entri.append(tfID_BC);
entri.append(tfNama);
entri.append(tfHarga);
entri.append(tfKeterangan);
entri.addCommand(cmdUpdate);
entri.addCommand(cmdKembali);
entri.setCommandListener(this);
entri.setTicker(tik);
display.setCurrent(entri);
return entri;
}
}

Das könnte Ihnen auch gefallen