You are on page 1of 14

BASIS DATA DALAM J2ME

RMS

Menyimpan Data Pada Perangkat Mobile


a. Menyimpan data pada suatu file yang

diletakkan pada direktori res (tidak dapat diubah dalam run-time) b. Menggunakan RecordManagementSystem (RMS) (dapat dilakukan operasi CRUD) Create, Retrieve,Update,Delete

RMS (Record Management System)


Spesifikasi RMS telah ada sejak MIDP 1.0.

Hal ini menjanjikan bahwa perangkat mobile yang MIDP-compliant memiliki RMS.
RMS menjamin integritas data yang disimpannya.

Perlu diperhatikan thread yang menggunakan data pada RMS tersebut.


Data yang disimpan oleh RMS secara fisik dapat

ditempatkan di lebih dari satu tempat.

RMS (cont..)
Tempat yang biasa dipakai antara lain pada Ram perangkat mobile Media penyimpanan yang dapat digunakan

oleh perangkat mobile seperti flash disk. Data yang disimpan dalam RMS disebut record. Record merupakan data yang berbentuk array of byte. Pustaka RMS terdapat dalam package javax.microedition.rms

STRUKTUR RMS

Membuka RecordStore
Dalam kelas RecordStore didefinisikan tiga static

method untuk membuat obyek RecordStore : a. static RecordStore openRecordStore(String recordStoreName, boolean createIfNecessary)
b. static RecordStore openRecordStore(String

recordStoreName, boolean createIfNecessary, int authMode, boolean writable) recordStoreName, String vendorName, String suiteName)

c. static RecordStore openRecordStore(String

Menulis ke RecordStore
Method untuk menambahkan/menulis data ke dalam RecordStore adalah :
int addRecord(byte[] data, int offset, int

numByte) Masukan berupa array byte, posisi array dan jumlah byte yang ditulis Method menerima nilai kembali berupa ID dari record, yang berguna untuk membaca

CONTOH MENULIS RECORD


try{ rs = RecordStore.openRecordStore(namaFile, true); String dataS=Helo Percobaan; byte[] dataArray = dataS.getBytes(); rs.addRecord(dataArray,0,dataArray.length); rs.closeRecordStore(); }catch (RecordStoreNotOpenException rsnoe){ }

CONTOH PROYEK MENULIS Dan membaCA RECORD

Variabel Project
import javax.microedition.midlet.*; import javax.microedition.rms.*; import javax.microedition.lcdui.*; import java.io.*; public class RmsMidlet extends MIDlet implements CommandListener { private RecordStore rs=null; private Form form; private String namaFile;

private TextField txtBaca ;


private Display display; private Command exit, Simpan, Baca; private StringItem sti;

Constructor :
public RmsMidlet() throws RecordStoreException, IOException{
form =new Form("PILIH MENU :"); namaFile="Data_Ku"; txtBaca=new TextField("Ketik Teks yg akan disimpan :","", 25, TextField.ANY); form.append(txtBaca); sti=new StringItem("HASIL BACA RECORD",""); form.append(sti); display=Display.getDisplay(this); exit=new Command("Exit",Command.EXIT,1); Simpan=new Command("Simpan",Command.OK,1); Baca=new Command("Baca",Command.OK,2); form.addCommand(exit); form.addCommand(Simpan); form.addCommand(Baca);

display.setCurrent(form);
form.setCommandListener(this); }

CommandAction(..,..)
public void commandAction(Command cmd,Displayable disp) { if(cmd==exit) { destroyApp(false); } if(cmd==Simpan) {try { BacaSimpan(); } catch (RecordStoreException ex) { ex.printStackTrace(); } } if(cmd==Baca) {try { TampilkanRecord(); } catch (RecordStoreException ex) { ex.printStackTrace(); } } }

BacaSimpan()
public void BacaSimpan() throws RecordStoreException{ String dataS =""; int pr=0;

try{ rs = RecordStore.openRecordStore(namaFile, false);


dataS=txtBaca.getString(); byte[] dataArray = dataS.getBytes(); rs.addRecord(dataArray,0,dataArray.length); pr=rs.getNumRecords(); rs.closeRecordStore(); }catch (RecordStoreNotOpenException rsnoe){ form.append("salah tulis");} form.append("Data :"+dataS+" ..disimpan di recID-"+pr); }

Tampilkan
public void TampilkanRecord() throws RecordStoreException{
try{ byte[]data=new byte[25]; rs = RecordStore.openRecordStore(namaFile, true); int cacahRec=rs.getNumRecords(); for(int i=1;i<=cacahRec;i++){ data=rs.getRecord(i); String ds=new String(data); form.append("\nIdRec-"+i+" : "+ds); } rs.closeRecordStore(); } catch (RecordStoreException rsnoe){ form.append("ADA ERROR..."+rsnoe);} }

You might also like