Top Banner
Marsel Willem Aipassa, S. Kom. MIDP Persistent Storage (RMS) Pemrograman Aplikasi Mobile
27

MIDP Persistent Storage (RMS)

Jan 20, 2016

Download

Documents

Thyra

MIDP Persistent Storage (RMS). Marsel Willem Aipassa, S. Kom. Pemrograman Aplikasi Mobile. Persistence. MIDP menyediakan sebuah API untuk menyimpan data-data secara local pada device tersebut Data disimpan dalam non-volatile memory - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MIDP Persistent Storage (RMS)

Mars

el W

illem

Aip

ass

a,

S.

Kom

.

MIDP Persistent Storage (RMS)

Pemrograman Aplikasi Mobile

Page 2: MIDP Persistent Storage (RMS)

Marsel Willem Aipassa, S. Kom.

PersistenceMIDP menyediakan sebuah API untuk menyimpan data-data secara local pada device tersebut

Data disimpan dalam non-volatile memory

MIDlet memiliki fasilitas Record Management System (RMS) untuk menyimpan data

Data disimpan dalam bentuk record-record

Kumpulan record-record ini disebut Record Store

Page 3: MIDP Persistent Storage (RMS)

3 Marsel Willem Aipassa, S. Kom.

Bahasan

Record Store

Membuat dan membuka Record Store

Menambah, mengambil,menghapus dan mengupdate record

Menggunakan RecordEnumerate

Record Comparator

Record Filter

3

Page 4: MIDP Persistent Storage (RMS)

4 Marsel Willem Aipassa, S. Kom.

Record Store

Merupakan koleksi dari record-record

RecordStore memiliki id yang otomatis diberikan pada saat sebuah record dibentuk dan unik

id bertindak sebagai index atau primary key

id dibuat seacara sekuensial dan tidak dapat dibuat kembali

id pada Record Store dimulai dari “1” bukan “0”

4

Page 5: MIDP Persistent Storage (RMS)

5 Marsel Willem Aipassa, S. Kom.

Record Store (2)

Record ID Byte array

1 Data record #1

2 Data record #2

3 Data record #3

5 Data record #5

5

Page 6: MIDP Persistent Storage (RMS)

6 Marsel Willem Aipassa, S. Kom.

Record Store (3)

MIDlet dapat menciptakan lebih dari 1 Record Store

Nama dari tiap Record Store haruslah unik dan memiliki panjang maksimal 32 karakter

Saat MIDlet suite dihapus dari aplikasi maka semua record store yang terhubung dengannya juga akan dihapus

6

Page 7: MIDP Persistent Storage (RMS)

7 Marsel Willem Aipassa, S. Kom.

Membuat dan membuka Record Store

static RecordStore openRecordStore(String recordStoreName, boolean createIfNecessary)

static RecordStore openRecordStore(String recordStoreName, boolean createIfNecessary, int authmode, boolean writeable)

static RecordStore openRecordStore(String recordStoreName, String vendorName, String suiteName)

7

Page 8: MIDP Persistent Storage (RMS)

8 Marsel Willem Aipassa, S. Kom.

Menambah Record

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

8

Page 9: MIDP Persistent Storage (RMS)

9 Marsel Willem Aipassa, S. Kom.

Mengambil Record

byte[] getRecord(int recordId)

int getRecord(int recordId, byte[] buffer, int offset)

int getRecordSize(int recordId)

9

Page 10: MIDP Persistent Storage (RMS)

10

Marsel Willem Aipassa, S. Kom.

Menghapus Record

10

Pada saat sebuah record dihapus, record idnya tidak akan digunakan kembali pada addRecord

Tidak disarankan untuk menggunakan counter increment untuk mengambil keseluruhan record di dalam record store

void deleteRecord(int recordId)

Page 11: MIDP Persistent Storage (RMS)

11

Marsel Willem Aipassa, S. Kom.

Contoh Program

11

Page 12: MIDP Persistent Storage (RMS)

12

Marsel Willem Aipassa, S. Kom.

Mengubah (edit) Record

Untuk mengubah suatu record digunakan method setRecord

12

void setRecord(int recordId, byte[] newData, int offset, int numBytes)

Page 13: MIDP Persistent Storage (RMS)

13

Marsel Willem Aipassa, S. Kom.

Contoh Program

13

Page 14: MIDP Persistent Storage (RMS)

14

Marsel Willem Aipassa, S. Kom.

Record Enumeration

Record Enumeration dapat menyelesaikan permasalahan dalam penggunaan incrementing index

Record Enumeration menghasilkan enumerasi untuk memeriksa seluruh record pada sebuah record store

Dengan menggunakan Record Enumeration, dapat dipasangkan sebuah Record Compator untuk pembanding

14

Page 15: MIDP Persistent Storage (RMS)

15

Marsel Willem Aipassa, S. Kom.

Record Enumeration (2)

RecordEnumeration

enumerateRecords(RecordFilter filter, RecordComparator comparator, boolean keepUpdated)

15

Page 16: MIDP Persistent Storage (RMS)

16

Marsel Willem Aipassa, S. Kom.

Contoh Program

16

Page 17: MIDP Persistent Storage (RMS)

17

Marsel Willem Aipassa, S. Kom.

Record Comparator

Digunakan untuk mendefenisikan metode pengurutan dari sebuah Record Enumeration

Dispesifikkan lewat method enumerateRecords

Untuk membuat sebuah Record Comparator harus diimplementasikan interface RecordComparator dan method compare

17

int compare(byte[] rec1, byte[] rec2)

Page 18: MIDP Persistent Storage (RMS)

18

Marsel Willem Aipassa, S. Kom.

Record Comparator (2)

Method compare harus mengembalikan return value bertipe integer yang dapat berupa RecordComparator.FOLLOWS, RecordComparator.PRECEDES atau RecordComparator.EQUIVALENT

Tipe value pengembalian ini tergantung pada pembuat program

18

Page 19: MIDP Persistent Storage (RMS)

19

Marsel Willem Aipassa, S. Kom.

Contoh Program

19

Page 20: MIDP Persistent Storage (RMS)

20

Marsel Willem Aipassa, S. Kom.

Record Filter

Digunakan untuk membatasi output sehingga hanya ditampilkan record yang diinginkan

Untuk dapat menggunakannya harus mengimplementasikan interface RecordFilter

Memiliki fungsi matches yang berfungsi untuk menyeleksi suatu record

20

int matches(byte[] candidate)

Page 21: MIDP Persistent Storage (RMS)

21

Marsel Willem Aipassa, S. Kom.

Method lain untuk RecordStores

String[] listRecordStores() Digunakan untuk mengambil semua Record Store yang berasal dari MIDlet suite tersebut

long getLastModified() Memberikan waktu perubahan terakhir sesuai format System.currentTimeMillis()

int getVersion() Memberikan informasi tentang versi suatu Record Store

void deleteRecordStore(String recordStoreName)

Menghapus suatu Record Store

void setMode(int authmode, boolean writeable)

Mengubah mode akses dari Record Store2

1

Page 22: MIDP Persistent Storage (RMS)

22

Marsel Willem Aipassa, S. Kom.

Terima Kasih

Siapkan kertas dan pena…

22

Page 23: MIDP Persistent Storage (RMS)

23

Marsel Willem Aipassa, S. Kom.

Post Test 1

Apa yang dimaksud dengan Persistent Storage?

Sebutkan nama method yang digunakan untuk membuka Record Store!

Sebutkan alasan penggunaan RecordEnumeration dibanding incremental index!

Jelaskan fungsi dari RecordComparator dan RecordFilter

23

Page 24: MIDP Persistent Storage (RMS)

24

Marsel Willem Aipassa, S. Kom.

Tugas 2

Buatlah sebuah aplikasi yang memiliki 2 Record Store: Diari No. Kontak

Pada awal tampilan user dapat memilih Record Store yang diinginkan

Setiap Record Store dapat menampilkan detail informasi dari setiap item di dalam List

24

Page 25: MIDP Persistent Storage (RMS)

25

Marsel Willem Aipassa, S. Kom.

Tugas 2

Detail informasi Diari: Teks Tanggal

Detail informasi No. Kontak: Nama No. Telp Alamat

25

Page 26: MIDP Persistent Storage (RMS)

26

Marsel Willem Aipassa, S. Kom.

Tugas 3

Buatlah paper tentang Jaringan dalam MIDP

Minimal harus ada pembahasan tentang: GCF HTTP TCP Socket

Pembahasan harus disertai potongan coding (bukan seluruh isi program) dan penjelasan

Minimal 3 halaman

Format font header : bold, 12 pt, Times New Roman

Format font isi : plain, 11pt, Times New Roman

Jarak antar spasi 1

26

Page 27: MIDP Persistent Storage (RMS)

27

Marsel Willem Aipassa, S. Kom.

Pengumpulan

Tugas 2 Tugas aplikasi harus dapat dideploy ke perangkat mobile

(bagi yang tidak bisa nilai tugas akan dikurangi) Tugas dikumpulkan hari Jumat jam 12 dalam bentuk softcopy

(coding program) dan deployed application (di dalam device) di ruangan pak Ramos

Tugas 3 Tugas dikumpulkan dalam bentuk *.pdf ke [email protected]

paling lambat hari Minggu, 1 Oktober jam 10 pagi nim_kelaspam_tugas3

Segala kecurangan termasuk COPY PASTE nilai turun 1 grade (ex, A -> B)

27