Minggu-5-RMS.ppt

download Minggu-5-RMS.ppt

of 14

Transcript of Minggu-5-RMS.ppt

  • 8/14/2019 Minggu-5-RMS.ppt

    1/14

    RMS

    BASIS DATA DALAM J2ME

  • 8/14/2019 Minggu-5-RMS.ppt

    2/14

    Menyimpan Data Pada

    Perangkat Mobile a. Menyimpan data pada suatu file yang

    diletakkan pada direktori res

    (tidak dapat diubah dalam run-time)

    b. MenggunakanRecordManagementSystem (RMS)

    (dapat dilakukan operasi CRUD)

    Create, Retrieve,Update,Delete

  • 8/14/2019 Minggu-5-RMS.ppt

    3/14

    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.

  • 8/14/2019 Minggu-5-RMS.ppt

    4/14

    RMS (cont..)

    Tempat yang biasa dipakai antara lain padaRam perangkat mobile

    Media penyimpanan yang dapat digunakanoleh perangkat mobile seperti flash disk.

    Data yang disimpan dalam RMS disebutrecord.

    Record merupakan data yang berbentukarray of byte.

    Pustaka RMS terdapat dalam packagejavax.microedition.rms

  • 8/14/2019 Minggu-5-RMS.ppt

    5/14

    STRUKTUR RMS

  • 8/14/2019 Minggu-5-RMS.ppt

    6/14

    Membuka RecordStore

    Dalam kelas RecordStore didefinisikan tiga staticmethod untuk membuat obyek RecordStore :

    a. static RecordStore openRecordStore(StringrecordStoreName, boolean createIfNecessary)

    b. static RecordStore openRecordStore(StringrecordStoreName, boolean createIfNecessary, intauthMode, boolean writable)

    c. static RecordStore openRecordStore(String

    recordStoreName, String vendorName, StringsuiteName)

  • 8/14/2019 Minggu-5-RMS.ppt

    7/14

    Menulis ke RecordStore

    Method untuk menambahkan/menulis datake dalam RecordStore adalah :

    int addRecord(byte[] data, int offset, intnumByte)

    Masukan berupa array byte, posisi arraydan jumlah byte yang ditulis

    Method menerima nilai kembali berupa IDdari record, yang berguna untuk membaca

  • 8/14/2019 Minggu-5-RMS.ppt

    8/14

    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){

    }

  • 8/14/2019 Minggu-5-RMS.ppt

    9/14

    CONTOH

    PROYEK MENULIS DanmembaCA RECORD

  • 8/14/2019 Minggu-5-RMS.ppt

    10/14

    Variabel Project

    import javax.microedition.midlet.*;import javax.microedition.rms.*;

    import javax.microedition.lcdui.*;

    import java.io.*;

    public class RmsMidlet extends MIDlet implementsCommandListener {

    private RecordStore rs=null;

    private Form form;

    private String namaFile;

    private TextField txtBaca ;

    private Display display;

    private Command exit, Simpan, Baca;

    private StringItem sti;

  • 8/14/2019 Minggu-5-RMS.ppt

    11/14

    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);

    }

  • 8/14/2019 Minggu-5-RMS.ppt

    12/14

    CommandAction(..,..)

    public void commandAction(Commandcmd,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();}

    }

    }

  • 8/14/2019 Minggu-5-RMS.ppt

    13/14

    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);

    }

  • 8/14/2019 Minggu-5-RMS.ppt

    14/14

    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