''

Kamis, 23 Desember 2010

MOBILE PROGRAMMING - PERSISTENCE

LAPORAN  PRAKTIKUM MOBILE PROGRAMMING ”PERSISTENCE”


Oleh :

Yuniar Prasetyo                1083074
Kelas                         3B


JURUSAN TEKNIK INFORMATIKA
POLITEKNIK POS INDONESIA
BANDUNG
2010

=============================================================

KATA PENGANTAR

Puji syukur penulis panjatkan ke hadirat Tuhan Yang Maha Esa yang atas karuniaNya penulis dapat menyelesaikan Laporan Praktikum mata kuliah Mobile Programming ini.

            Adapun isi dari Laporan ini adalah mengenai persistence yaitu membahas lebih dalam tentang record dengan menggunakan aplikasi Sun Wireless Toolkit yang telah penulis lakukan.

Demikian Laporan Praktikum Mobile Programming ini penulis buat, sebagai hasil praktikum yang telah penulis lakukan. Kritik dan saran yang membangun sangat penulis harapkan sehingga kedepannya nanti lebih baik.



                                                                                                            Penulis,

 ============================================================





PERSISTENCE

MIDP  menyediakan   sebuah  API  dimana  program  dapat  menyimpan  data-data aplikasi secara lokal didalam device tersebut. MIDP Record Management System adalah sebuah fasilitas yang dimiliki oleh MIDlets untuk menyimpan data-data aplikasi pada saat MIDlet invocations. Data akan disimpan dalam non-volatile memory didalam device. Hal ini berarti, data-data program yang telah disimpan tidak akan hilang walaupun program di restart maupun device dimatikan.

1.      RECORD STORE
Sebuah Record Store adalah sebuah koleksi daripada record-record. Record Id didalam Record Store selalu unique. Record Id akan secara otomatis dialokasikan pada saat pembentukan sebuah record dan bertindak sebagai index atau primary key. Pemberian record Id dilaksanakan secara sekuensial dan nilai yang diberikan kepada record Id pertama pada setiap Record Store adalah 1 (satu).
a)      Membuat dan membuka sebuah Record Store
Method-method dibawah ini digunakan untuk membuat dan membuka sebuah record store: 


Jika createIfNecessary di-set menjadi true dan Record Store belum ada, maka Record Store akan dibangun. Jika createIfNecessary di-set menjadi false dan Record Store tersebut belum dibuat, maka sebuah RecordStoreNotFoundException akan dijalankan.

b)      Menambahkan sebuah record


Method addRecord akan membuat record yang baru didalam Record Store dan akan mengembalikan record ID.

c)      Mengambil kembali Record



Bentuk pertama dari method getRecord akan mengembalikan copy dari data stored yang ada didalam record tertentu berdasarkan RecordID. Bentuk kedua akan meng-copy   data   pada   paramater   byte   array   yang   telah   disediakan.   Pada   saat menggunakan bentuk kedua, byte array tersebut haruslah dialokasikan terlebih dahulu. Jika ukuran dari record lebih besar daripada ukuran dari parameter, maka akan terjadi ArrayIndexOutOfBoundsException. Anda akan menggunakan method getRecordSize secara berurutan untuk mengetahui ukuran dari record sebelum Anda mulai untuk membacanya.

d)      Meng-update sebuah Record
Anda tidak dapat memodifikasi hanya sebagian dari data record. Jika Anda ingin untuk memodifikasi sebuah record Anda harus:
1. Membaca tiap record dengan menggunakan getRecord
2. Meng-update record didalam memory
3. Memanggil setRecord untuk mengupdate data record


Menghapus Record



Pada saat sebuah record dihapus, record Id akan digunakan kembali di pemanggilan berikutnya pada addRecord. Hal ini berarti, ada sebuah celah didalam Record Id. Oleh karena itu, tidak disarankan untuk menggunakan counter increment untuk membuat   list   dari   keseluruhan   record   didalam   record   store.   Anda   harus menggunakan Record Enumerator untuk mengetahui tiap record didalam sebuah list store.

e)      Menutup sebuah Record Store


Record   store   yang   akan   ditutup   dengan   cara   pemanggilan   method closeRecordStore()   tidak   akan   benar-benar   ditutup   sampai   closeRecordStore() dipanggil sejumlah pemanggilan dari openRecordStore() sebelumnya. Pemanggilan closeRecordStore() lebih dari jumlah pemanggilan openRecordStore() akan berakibat exception RecordStoreNotOpen.

CONTOH PROGRAM









HASIL COMPILE





f)      Mendapatkan list dari Record Store didalam MIDlet Suite


Method ini akan mengembalikan array dari nama record store tersebut yang dimiliki oleh MIDlet suite. Jika MIDlet suite tidak memiliki sebuah Record Store, maka method ini akan memiliki nilai pengembalian null.

CONTOH PROGRAM





HASILNYA





2.     RECORD ENUMERATION

Penggunaan   record   enumeration   dapat   menyelesaikan   permasalahan   tersebut dengan melakukan pemeriksaaan pada record yang telah dihapus. Anda juga dapat mengurutkan   enumerasi   dengan   menggunakan   method   pembanding.   Dengan penggunaan   method   pembanding,   anda   dapat   melewati   record   yang   tidak diharapkan pada output.

CONTOH PROGRAM








HASILNYA





3.     KESIMPULAN

·         Pada saat sebuah record dihapus, record id-nya tidak akan bisa digunakan kembali. Jika kita membuat empat buah record dan menghapus record ke-empat, maka record Id selanjutnya yang akan diberikan oleh system adalah 5 (lihat gambar)





·         MIDlets dapat menciptakan lebih dari satu Record Store. Nama dari sebuah record store didalam MIDlet suite haruslah unique. Nama dari record store juga case sensitive dan memiliki panjang maksimal 32 karakter.

·         Method enumerateRecords dari sebuah record store akan menghasilkan enumerasi untuk memeriksa seluruh record pada sebuah record store. Ini adalah cara yang direkomendasikan untuk melewatkan seluruh record dalam record store. 





Tidak ada komentar:

Posting Komentar