Anda di halaman 1dari 24

LAPORAN PRAKTIKUM

PEMROGRAMAN BERORIENTASI OBJEK (JAVA)

Oleh :

E. Juniar Pirwansa (1083046)

Kelas : 2B

JURUSAN TEKNIK INFORMATIKA


POLITEKNIK POS INDONESIA
BANDUNG
2011
HALAMAN PENGESAHAN

Judul Praktikum : Persistence


Sub Judul Praktikum : 1. Record Store
2. Record Enumeration
3. Record Comparator
4. Record Filter
5. Record Listener
Tanggal Praktikum : 8 Januari 2011
Tanggal Penyerahan Laporan : 9 Januari 2011
Tempat Praktikum : Laboratorium Komputer 313
Alat dan Software : 1. Sun Wireless Java Toolkit 2.5 for CLDC
2. Microsoft Office 2007
3. PicPick
4. Adobe Reader
Kelas : 3B
Nama : E. Juniar Pirwansa (1083046)

Jurusan : Teknik Informatika

Bandung, Januari 2011


Menyetujui
Dosen Pengajar

Azizah Zakiah, S.Kom

2
KATA PENGANTAR

Puji syukur kami panjatkan ke hadirat Tuhan Yang Maha Esa yang atas
kurniaNya kami dapat menyelesaikan Laporan Praktikum mata kuliah pemrograman
komputer ini.

Adapun isi dari Laporan ini adalah mengenai pemrograman aplikasi mobile
dengan menggunakan bahasa Java dengan aplikasi Sun Java Wireless Toolkit yang
telah kami lakukan di Laboratorium komputer Teknik Informatika selama masa
perkuliahan di semester ganjil ini.

Demikian Laporan Praktikum Pemrograman Aplikasi Mobile ini kami buat,


sebagai hasil praktikum yang telah kami lakukan selama semester ganjil ini. Saran
yang membangun sangat kami harapkan sehingga kedepannya nanti dapat lebih baik.

Penyusun,

E. Juniar Pirwansa
NPM.1083046

3
DAFTAR ISI

JUDUL LAPORAN ....................................................................................................................i


HALAMAN PENGESAHAN ............................................................................................... ....ii
KATA PENGANTAR ..............................................................................................................iii
DAFTAR ISI.............................................................................................................................iv

BAB I LANDASAN TEORI .................................................................................................5


1.1. MIDP Record Management System ...............................................................................5
1.2. Record Store ...................................................................................................................5
1.2.1. Membuka dan Membuat Sebuah Record Store ....................................................5
1.2.2. Menambahkan Sebuah Record .............................................................................6
1.2.3. Mengambil Sebuah Record ...................................................................................6
1.2.4. Meng-update Sebuah Record ................................................................................6
1.2.5. Menghapus Sebuah Record ..................................................................................7
1.2.6. Menutup Sebuah Record Store .............................................................................7
1.2.7. Mendapakan List Dari Record Store di Dalam MIDlet Suite ............................... 7
1.2.8. Menyimpan Data Primitif Java .............................................................................8
1.2.9. Method Lain Untuk Record Store .........................................................................8
1.3. Record Enumeration .......................................................................................................9
1.4. Record Comparation .......................................................................................................10
1.5. Record Filter ...................................................................................................................10
1.6. Record Listener ...............................................................................................................10

BAB II HASIL PRAKTIKUM DAN PEMBAHASAN ........................................................12


2.1 Menambah Item ...........................................................................................................12
2.2 Membaca Record Store ............................................................................................... 14
2.3 Penggunaan Enumerator .............................................................................................. 15
2.4 Penggunaan Record Comparator ..................................................................................17
2.5 Demo RMS ...................................................................................................................19
BAB III KESIMPULAN........................................................................................................24

4
BAB 1
LANDASAN TEORI
1.1 MIDP Record Management System

MIDP menyediakan sebuah API dimana program dapat menyimpan data-data


aplikasi secara lokal di dalam device tersebut. MIDP Record Management System
adalah sebuah fasilitas yang dimiliki oleh MIDlets untuk menyimpan dalam non-
volatile memory di dalam device. Hal ini berarti data-data program yang telah
disimpan tidak akan hilang walaupun program di restart maupun device dimatikan.

1.2 Record Store

Sebuah Record Store adalah sebuah koleksi daripada record-record. Record Id


di dalam Record Store selalu unik. Record Id akan secara otomatis dialokasikan pada
saat pembentukan sebuah 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 buar record dan menghapus record ke-empat, maka
record id selanjutnya yang akan diberikan oleh sistem adalah 5. MIDlets dapat
meng\ciptakan lebih dari satu Record Store. Nama dari sebuah record store di dalam
MIDlet suite haruslah unik. 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 di dalam suite tersebut juga akan terhapus.

1.2.1 Membuat dan Membuka Sebuah Record Store

Method-method di bawah 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

5
Store tersebut belum dibuat, maka sebuah RecordStoreNotFoundException akan
dijalankan.

Penggunaan bentuk pertama dari method openRecordStore() akan


menyebabkan Record Store hanya mampu diakses oleh MIDlet-MIDlet di dalam suite
yang sama.

Untuk membuka sebuah Record Store dari MIDlet suite yang berbeda, bentuk
ketiga dari method openRecord Store harus digunakan. Nama vendor dan nama dari
MIDlet suite harus dispesifikasikan.

Jika sebuah Record Store terlanjur dibuka, method ini akan mengembalikan
reference kepada record store tersebut. Sistem akan tetap menghitung berapa kali
Record Store telah dibuka dan setiap Record Store harud ditutup dengan jumlah yang
sama pada saat dibuka.

1.2.2 Menambahkan Sebuah Record

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

1.2.3 Mengambil Kembali Record

Bentuk pertama dari method getRecord akan mengembalikan copy dari data
stored yang ada di dalam record tertentu berdasarkan RecordID. Bentuk kedua akan
meng-copy data pada parameter 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 membaca.

1.2.4 Meng-Update Sebuah Record

6
Sebagian dari data record tidak dapat dimodifikasi. Jika ingin memodifikasi
sebuah record diharuskan:

1. Membaca tiap record dengan menggunakan getRecord;

2. Meng-update record di dalam memori;

3. Memanggil setRecord untuk meng-update data record.

1.2.5 Menghapus Record

Pada saat sebuah record dihapus, record ID akan digunakan kembali


dipemanggilan berikutnya pada addRecord. Hal ini berarti ada sebuah celah di dalam
record ID. Oleh karena itu, tidak disarankan untuk menggunakan counter increment
untuk membuat list dari keseluruhan record di dalam Record Store. Untuk mengetahui
tiap record di dalam sebuah list store harus menggunakan Record Enumerator.

1.2.6 Menutup Sebuah Record Store

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

1.2.7 Mendapakan List Dari Record Store di Dalam 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.

Urutan penamaan yang akan dikembalikan tidak akan didefinisikan dan akan
diimplementasikan secara independent. Ole karena itu, apabila akan menampilkan
nama tersebut secara alphabetic, maka harus melakukan sorting array terlebih dahulu.

7
1.2.8 Menyimpan Data Primitif Java

Sejauh ini data yang telah dibuat da 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).

Anda dapat menulis data Java primitif dengan mengkombinasikan class


ByteArrayOutputStream dan DataOutputStream. Pembacaan tipe data primitive (int,
long, short, string, Boolean, dan sebagainya) dapat pula dilakukan dengan
menggunakan ByteArrayInput Stream dan DataInputStream.

1.2.9 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().

Seluruh Record Store memiliki versio information. Setiap kali sebuah record
mengalammi modifikasi, maka version number juga akan ter-update. Penggunaan
method addRecord, setRecord dan deleteRecord menyebabkan penambahan version
number dari record store tersebut.

8
1.3 Record Enumeration

Memeriksa sebuah record store menggunakan incrementing adalah tidak


efiien. 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 pemeriksaan 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.

Method enumerateRecord dari sebuah record store akan menghasilkan


enumerasi untuk memeriksa seluruh record pada sebuah record store. Ini adalah cara
yang direkomendasikan untuk elewatkan seluruh record dalam record store.

Cara paling sederhana dalam menggunakan method ini adalah memberikan


nilai null untuk filter dan comparator. Hal ini akan menghasilkan enumerasi dari
seluruh record pada sebuah store dalam urutan acak.

9
1.4 Record Comparator

Pengurutan sebuah enumerasi dapat didefinisikan menggunakan sebuah


Record Comparator. Record Comparator digunakan pada method enumerateRecord.
Jika anda ingin mengurutkan output dari enumerasi, anda harus membuat comparator
dan mengimplementasikannya sebagai parameter kedua pada enumerateRecords.

Untuk membuat sebuah record comparator, anda harus mengimplementasikan


interface RecordComparator. Interface tersebut mendefinisikan method tunggal,
compare(byte[] rec1, byte[] rec2). Method ini harus menghasilkan return value,
RecordComparator.FOLLOWS atau RecordComparator.PRECEDES.

RecordComparator.EQUIVALENT harus dihasilkan jika rec1 adalah ekuivalen


terhadap rec2 dalam pengurutan.

1.5 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 harus mengimplemtasikan method match() untuk menyeleksi record.


Methode tersebut akan menghasilkan nilai true jika record sesuai dengan kriteria.

1.6 Record Listener

Sebuah record store dapat menggunakan lebih dari satu record listener. Record
listener adalah objek yang dipanggil pada saat sebuah record ditambahkan, diubah
atau dihapus dari record store. Record listeners harus mengimplementasikan interface
RecordListener.

10
Record Listener diregistrasikan pada record store menggunakan method
addRecordListener(). Pada saat sebuah record store ditutup, seluruh record listener
yang terkait juga akan dihapus.

Penggunaan methode deleteRecordStore() tidak akan menghasilkan


pemanggilan recordDeleted() pada record listener manapun yang terkait.

11
BAB II
HASIL PRAKTIKUM DAN PEMBAHASAN

2.1 Menambah Item

Skrip program

12
Hasil

13
2.2 Membaca Record Store

Skrip Program

Hasil

14
2.3 Penggunaan Enumerator

Skrip Program

15
Hasil

16
2.4 Penggunaan Record Comparator

Skrip program

17
18
Hasil

2.5 Demo RMS

Skrip program

19
20
21
22
Hasil

23
BAB III
KESIMPULAN

MIDP menyediakan sebuah API dimana program dapat menyimpan data-data


aplikasi secara lokal di dalam device tersebut. MIDP Record Management System
adalah sebuah fasilitas yang dimiliki oleh MIDlets untuk menyimpan dalam non-
volatile memory di dalam device. Hal ini berarti data-data program yang telah
disimpan tidak akan hilang walaupun program di restart maupun device dimatikan.

24

Anda mungkin juga menyukai