Tugas Ke-6 Mobile Programming Persistence

23
LAPORAN PRAKTIKUM MOBILE PROGRAMMING diajukan untuk memenuhi tugas praktikum ke 6 mata kuliah Mobile Programming pada jurusan Teknik Informatika Oleh Sumaryadi Sabil (1083062) Kelas : III B PROGRAM DIPLOMA III TEKNIK INFORMATIKA POLITEKNIK POS INDONESIA BANDUNG

Transcript of Tugas Ke-6 Mobile Programming Persistence

Page 1: Tugas Ke-6 Mobile Programming Persistence

LAPORAN PRAKTIKUM

MOBILE PROGRAMMING

diajukan untuk memenuhi tugas praktikum ke 6 mata kuliah Mobile Programmingpada jurusan Teknik Informatika

Oleh

Sumaryadi Sabil (1083062)

Kelas : III B

PROGRAM DIPLOMA III TEKNIK INFORMATIKA

POLITEKNIK POS INDONESIA

BANDUNG

Page 2: Tugas Ke-6 Mobile Programming Persistence

2

2010

HALAMAN PENGESAHAN

Judul Praktikum : Persistence

Sub Judul Praktikum : 1. Record Store

2. Record Enumeration

3. Record Comparator

4. Record Listener

5. Latihan Penyimpanan Pilihan

Tanggal Praktikum : 21 Desember2010

Tanggal Penyerahan Laporan : 25 Desember 2010

Tempat Praktikum : Home

Alat dan Software : 1. Laptop/PC

2. Wireless Toolkit 2.5

3. OS Windows 7 Home Premium

4. Notepad

Kelas : III B

Nama : Sumaryadi Sabil (1083164)

Jurusan : Teknik Informatika

Bandung, Desember 2010

Menyetujui

Dosen Pengajar

Azizah Zakiah, S.Kom

Page 3: Tugas Ke-6 Mobile Programming Persistence

3

KATA PENGANTAR

Puji syukur penulis panjatkan ke hadirat Tuhan Yang Maha Esa yang atas

rahmat dan karuniaNya sehingga penulis dapat menyelesaikan Laporan Praktikum

ke-6 mata kulia Mobile Programming ini.

Adapun isi dari Laporan ini adalah mengenai Persistence dengan

menggunakan Wireless Toolkit 2.5 dimana semua script dikerjakan menggunakan

Notepad. Tugas ini merupakan Homework yang diberikan pada pertemuan

ketujuh di semester ganjil ini.

Demikian Laporan Praktikum Mobile Programming ini sebagai hasil

praktikum yang telah penulis lakukan. Kritik dan saran yang bersifat membangun

sangat penulis harapkan sehingga kedepannya bisa lebih baik lagi.

Penyusun,

Penulis

Page 4: Tugas Ke-6 Mobile Programming Persistence

4

DAFTAR ISI

JUDUL LAPORAN ......................................................................................... iHALAMAN PENGESAHAN.......................................................................... iiKATA PENGANTAR .................................................................................... iiiDAFTAR ISI.................................................................................................... iv

I. LANDASAN TEORI................................................................................. 51.1 Persistence............................................................................................ 5

II. HASIL PRAKTIKUM DAN PEMBAHASAN......................................... 6Persistence ................................................................................................. 62.1 Record Store........................................................................................ 62.1.1 Membuat dan membuka sebuah record ........................................... 72.1.2 Menambahkan sebuah record........................................................... 72.1.3 Mengambil kembali record .............................................................. 72.1.4 Meng-update sebuah record ............................................................. 82.1.5 Menghapus record............................................................................ 82.1.6 Mendapatkan list dari Record Store................................................. 82.1.7 Menyimpan data primitive java ....................................................... 82.1.8 Method lain untuk record strores ...................................................... 92.2 Record Enumeration ........................................................................... 122.3 Record Comparator ............................................................................ 142.4 Record Filter ....................................................................................... 162.5 Record Listener .................................................................................. 192.6 Latihan Penyimpanan Pilihan ............................................................. 19

III. KESIMPULAN......................................................................................... 153.1 Kesimpulan ......................................................................................... 23

Page 5: Tugas Ke-6 Mobile Programming Persistence

5

BAB I

LANDASAN TEORI

1.1 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.

Page 6: Tugas Ke-6 Mobile Programming Persistence

6

BAB II

HASIL PRAKTIKUM DAN PEMBAHASAN

PERSISTENCE

2.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).

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

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. Pada saat MIDlet suite

dihapus dari sebuah device, maka semua record store yang terkoneksi dengan

MIDlet didalam suite tersebut juga akan terhapus.

Page 7: Tugas Ke-6 Mobile Programming Persistence

7

2.1.1 Membuat dan Membuka sebuah record

Method-method dibawah ini digunakan untuk membuat dan membuka

sebuah record store:

2.1.2 Menambahkan sebuah record

Method addRecord akan membuat record yang baru didalam Record Store

dan akan mengembalikan record ID.

2.1.3 Mengambil kembali Record

Bentuk pertama dari method getRecord akan mengembalikan copy dari

data stored yang ada didalam record tertentu berdasarkan RecordID. Bentuk

kedua akan mengcopy 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.

Page 8: Tugas Ke-6 Mobile Programming Persistence

8

2.1.4 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

2.1.5 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.

2.1.6 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.

2.1.7 Meyimpan Data primitive JavaSejauh ini, data yang telah dibuat dan dibaca dari Record Store adalah berupa

String. CLDC memiliki standard classes dalam manipulasi data primitif. Class tersebut

berasal dari standard library platform Java 2, yaitu Standard Edition (J2SE).

Page 9: Tugas Ke-6 Mobile Programming Persistence

9

2.1.8 Method Lain untuk Record Stores

Sistem merekam bilamana sebuah Record Store mengalami modifikasi

terakhir. Method getLastModified memberikan informasi bahwa sebuah Record

Store mengalami perubahan terakhir, dalam bentuk long dan sesuai format yang

digunakan oleh System.currentTimeMillis().

Contoh Script Program Record Store (Menambah Item) :

Page 10: Tugas Ke-6 Mobile Programming Persistence

10

Hasil Outputan :

Page 11: Tugas Ke-6 Mobile Programming Persistence

11

Contoh Script Program Record Store (Membaca Record Store) :

Page 12: Tugas Ke-6 Mobile Programming Persistence

12

Hasil Outputan :

2.2 RECORD ENUMERATION

Memeriksa sebuah record store menggunakan incerementing index adalah

tidak efisien. Record stores yang telah dihapus akan terlewati jika Record Id dari

record tersebut tidak digunakan kembali. 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

Page 13: Tugas Ke-6 Mobile Programming Persistence

13

Contoh Script Program Record Enumeration :

Page 14: Tugas Ke-6 Mobile Programming Persistence

14

Hasil Outputan :

2.3 RECORD COMPARATOR

Pengurutan sebuah enumerasi dapat didefinisikan menggunakan sebuah

Record Comparator. Record Comparator digunakan pada method

enumerateRecords. Jika anda ingin mengurutkan output dari enumerasi, anda

harus membuat comparator dan mengimplementasikannya sebagai parameter

kedua pada enumerateRecords.

\

Page 15: Tugas Ke-6 Mobile Programming Persistence

15

Contoh Script Program Record Comparator :

Page 16: Tugas Ke-6 Mobile Programming Persistence

16

Hasil Outputan :

2.4 RECORD FILTER

Contoh – contoh selama ini membaca seluruh record dari sebuah store. Kita

dapat menggunakan sebuah filter untuk mendapatkan hanya record yang kita

inginkan. Program Anda harus mengimpelementasikan method match() untuk

menyeleksi record. Method tersebut akan menghasilkan nilai true jika record

sesuai dengan criteria.

Page 17: Tugas Ke-6 Mobile Programming Persistence

17

Contoh Script Program Record Filter :

Page 18: Tugas Ke-6 Mobile Programming Persistence

18

Hasil Outputan :

Page 19: Tugas Ke-6 Mobile Programming Persistence

19

2.5 RECORD LISTENER

Sebuah Record Store dapat menggunakan lebih dari satu record listener.

Record listener adalah object yang dipanggil pada saat sebuah record

ditambahkan, diubah atau dihapus dari record store. Record listeners harus

mengimplementasikan interface RecordListener. Record Listener diregristrasikan

pada record store menggunakan method addRecordListener(). Pada saat sebuah

record store ditutup, seluruh record listener yang terkait juga akan dihapus.

Penggunaan method deleteRecordStore() tidak akan menghasilkan pemanggilan

recordDeleted() pada record listener manapun yang terkait.

2.6 LATIHAN PENYIMPANAN PILIHAN

Script Program :

Page 20: Tugas Ke-6 Mobile Programming Persistence

20

Page 21: Tugas Ke-6 Mobile Programming Persistence

21

Hasil Outputan :

Page 22: Tugas Ke-6 Mobile Programming Persistence

22

Page 23: Tugas Ke-6 Mobile Programming Persistence

23

BAB III

KESIMPULAN

3.1 Kesimpulan

Adapun kesimpulan yang diperoleh dari hasil pembahasan dan praktikum,

yaitu:

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.

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.

Memeriksa sebuah record store menggunakan incerementing index adalah

tidak efisien. Record stores yang telah dihapus akan terlewati jika Record

Id dari record tersebut tidak digunakan kembali. Penggunaan record

enumeration dapat menyelesaikan permasalahan tersebut dengan

melakukan pemeriksaaan pada record yang telah dihapus.

Pengurutan sebuah enumerasi dapat didefinisikan menggunakan sebuah

Record Comparator. Record Comparator digunakan pada method

enumerateRecords.

Sebuah Record Store dapat menggunakan lebih dari satu record listener.

Record listener adalah object yang dipanggil pada saat sebuah record

ditambahkan, diubah atau dihapus dari record store. Record listeners harus

mengimplementasikan interface RecordListener. Record Listener

diregristrasikan pada record store menggunakan method

addRecordListener(). Pada saat sebuah record store ditutup, seluruh record

listener yang terkait juga akan dihapus.