2005
Membuat aplikasi J2ME - Bagian I (Client)
Sponsored Links
Berikut ini source code dari bioskop.java. Lumayan panjang :)) tapi baru 900 baris kok, belum nyampe 1000 :p Kalo ada error, dicoba dibenerin sendiri yeeee :p
[##] [##] [##] [##] [##] Biar semangat, ayo nari dulu bareng Spongebob!!! [##] [##] [##] [##] [##]
[java]//nama kelas : bioskop
//nama file : bioskop.java
//author : cosa aranda & christina fdl
//import paket yang diperlukan
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import javax.microedition.rms.*;
import java.io.*;
import java.util.Vector;
import java.util.Date;
public class bioskop extends MIDlet implements Runnable, CommandListener {
//deklarasi variabel
private Display display; //interface tampilan
private List menu; //menu untuk tampilan yg menggunakan pilihan menu
private Form form; //form untuk tampilan yg tidak menggunakan pilihan menu
private Ticker ticker; //teks berjalan di bagian atas layar
private Command cmdBack, cmdOK, cmdExit, cmdAbout; //command di bagian bawah layar
//cmdBack untuk kembali ke tampilan sebelumnya
//cmdOK untuk proses form
//cmdExit untuk keluar dari program
//cmdAbout untuk menampilkan informasi program
private TextField txtNama,txtAlamat,txtNoKTP,txtJumlah,txtTransaksi; //textfield pada form
private ChoiceGroup group; //radiobutton pada form
private StringItem strStatus,strMemo; //stringitem pada form
private DateField tanggal; //tanggal pada form
private String currentWindow; //menyimpan lokasi tampilan yg aktif saat ini (menu/form)
private Vector dataTemp; //array penyimpanan sementara
//untuk feedback dari koneksi ke server
private String strTemp; //string penyimpanan sementara
private Thread thread; //thread untuk proses koneksi ke server
private RecordStore database; //database rms untuk menyimpan id transaksi
//konstruktor class - dijalankan pertama kali
public bioskop() {
//arahkan variabel display supaya mengacu pada layar program
display = Display.getDisplay(this);
//inisialiasi command - prioritas 0 di kanan bawah, prioritas 1 di kiri bawah
cmdBack = new Command(”Kembali”,Command.BACK,1);
cmdExit = new Command(”Keluar”,Command.STOP,1);
cmdOK = new Command(”OK”,Command.OK,0);
cmdAbout = new Command(”Tentang”,Command.SCREEN,0);
}
//dijalankan saat program dijalankan
public void startApp() {
//siapkan datatabase rms
bukaDatabase();
//tampilkan menu utama
menuUtama();
}
//dijalankan saat program dipause
public void pauseApp() {
//display = null;
//menu = null;
}
//dijalankan saat program ditutup
public void destroyApp(boolean b) {
notifyDestroyed();
}
//destruktor class - dijalankan saat keluar program, akan mentrigger fungsi destroyApp
private void keluar() {
try {
//tutup database
tutupDatabase();
//jika sukses, tutup program
this.destroyApp(true);
} catch(NullPointerException e) { //ignore jika ada error, tetap tutup program
this.destroyApp(true);
}
}
//fungsi untuk melakukan koneksi ke internet dengan menggunakan StreamConnection
//digunakan untuk mengambil data dari web atau mengirim data form dengan metode GET
//input : alamat URL yang akan diakses
//output : array dataTemp berisi output
private void openURL(String URLSite) {
//deklarasi dan inisialiasi variabel koneksi
StreamConnection con = null;
InputStream in = null;
//stringbuffer - penyimpanan sementara untuk output
StringBuffer data = new StringBuffer();
//kosongkan array dataTemp
dataTemp = new Vector();
try {
//lakukan koneksi ke URLSite
con = (StreamConnection)Connector.open(URLSite);
//buka input stream
in = con.openInputStream();
int ch;
//baca output dari input stream karakter per karakter hingga output habis
//ch menampung karakter yang saat ini sedang dibaca (in.read())
//jika output sudah habis, ch akan bernilai -1
while ((ch=in.read()) != -1) {
//jika ch <> “|”
if (ch!=’|') {
//tambahkan ch ke dalam string penyimpanan sementara (stringbuffer)
data.append((char)ch);
} else if (ch==’|') { //jika ch = “|”
//tambahkan stringbuffer ke dalam array dataTemp
dataTemp.addElement(data.toString());
//kosongkan kembali stringbuffer
data = new StringBuffer();
}
}
//jika output habis, tambahkan stringbuffer ke dalam array dataTemp
dataTemp.addElement(data.toString());
} catch (IOException e) {
formError(”Ada kesalahan!”);
}
}
//fungsi untuk membuat tampilan menu utama
private void menuUtama() {
//simpan lokasi tampilan
currentWindow = “menuUtama”;
//set tulisan pada ticker
ticker = new Ticker(”Selamat Datang di Bioskop Online”);
//siapkan menu
menu = new List(”Menu Utama”,Choice.IMPLICIT);
//tambahkan pilihan menu
menu.append(”Info Film”,null);
menu.append(”Jadwal Film”,null);
menu.append(”Pesan Tiket”,null);
//tambahkan command
menu.addCommand(cmdExit); menu.addCommand(cmdAbout);
//tempelkan ticker ke menu
menu.setTicker(ticker);
//set CommandListener untuk mengacu pada fungsi CommandAction di class ini
//fungsi tsb dijalankan jika salah satu command / pilihan menu dipilih
menu.setCommandListener(this);
//tampilkan menu ke layar
display.setCurrent(menu);
}
//fungsi untuk membuat tampilan menu Info Film
private void menuInfo () {
//simpan lokasi tampilan
currentWindow = “menuInfo”;
//set tulisan pada ticker
ticker = new Ticker(”Informasi dan Sinopsis Film”);
menu = new List(”Menu Info Film”,Choice.IMPLICIT);
//karena ada pengkasesan ke internet (baca judul film - movie.asp), siapkan thread
if (thread==null) {
thread = new Thread(this);
}
//jalankan thread
thread.start();
//tambahkan command
menu.addCommand(cmdBack);
//tempelkan ticker ke menu
menu.setTicker(ticker);
//set CommandListener untuk mengacu pada fungsi CommandAction di class ini
//fungsi tsb dijalankan jika salah satu command / pilihan menu dipilih
menu.setCommandListener(this);
//tampilkan menu ke layar
display.setCurrent(menu);
}
//fungsi untuk membuat tampilan form Info Film
private void formInfo(String title) {
//simpan lokasi tampilan
currentWindow = “formInfo”;
//set tulisan pada ticker
ticker = new Ticker(”Informasi dan Sinopsis Film”);
form = new Form(title);
//karena ada pengkasesan ke internet (baca informasi film - movie.asp?movie=judulfilm), siapkan thread
if (thread==null) {
thread = new Thread(this);
}
//jalankan thread
thread.start();
//tambahkan command
form.addCommand(cmdBack);
//tempelkan ticker ke form
form.setTicker(ticker);
//set CommandListener untuk mengacu pada fungsi CommandAction di class ini
//fungsi tsb dijalankan jika salah satu command / pilihan menu dipilih
form.setCommandListener(this);
//tampilkan form ke layar
display.setCurrent(form);
}
//fungsi untuk membuat tampilan form Jadwal Film
private void formJadwal() {
//simpan lokasi tampilan
currentWindow = “formJadwal”;
//set tulisan pada ticker
ticker = new Ticker(”Jadwal Pemutaran Film Hari Ini”);
form = new Form(”Jadwal Hari Ini”);
//karena ada pengkasesan ke internet (baca jadwal film - jadwal.asp), siapkan thread
if (thread==null) {
thread = new Thread(this);
}
//jalankan thread
thread.start();
//tambahkan command
form.addCommand(cmdBack);
//tempelkan ticker ke form
form.setTicker(ticker);
//set CommandListener untuk mengacu pada fungsi CommandAction di class ini
//fungsi tsb dijalankan jika salah satu command / pilihan menu dipilih
form.setCommandListener(this);
//tampilkan form ke layar
display.setCurrent(form);
}
//fungsi untuk membuat tampilan menu Pesan Tiket
private void menuPesan() {
//simpan lokasi tampilan
currentWindow = “menuPesan”;
//set tulisan pada ticker
ticker = new Ticker(”Pemesanan Tiket Bioskop Online”);
menu = new List(”Pesan Tiket”,Choice.IMPLICIT);
menu.append(”Pesan”,null);
menu.append(”Batal”,null);
menu.append(”History”,null);
//tambahkan command
menu.addCommand(cmdBack); menu.addCommand(cmdOK);
//tempelkan ticker ke menu
menu.setTicker(ticker);
//set CommandListener untuk mengacu pada fungsi CommandAction di class ini
//fungsi tsb dijalankan jika salah satu command / pilihan menu dipilih
menu.setCommandListener(this);
//tampilkan menu ke layar
display.setCurrent(menu);
}
//fungsi untuk membuat tampilan form Pesan Tiket
private void formPesan() {
//simpan lokasi tampilan
currentWindow = “formPesan”;
//set tulisan pada ticker
ticker = new Ticker(”Pemesanan Tiket Bioskop Online”);
form = new Form(”Pemesanan Tiket”);
txtNama = new TextField(”Nama”,”",25,TextField.ANY);
txtAlamat = new TextField(”Alamat”,”",50,TextField.ANY);
txtNoKTP = new TextField(”No KTP”,”",20,TextField.ANY);
txtJumlah = new TextField(”Jumlah”,”",3,TextField.ANY);
group = new ChoiceGroup(”Studio / Waktu”,Choice.EXCLUSIVE);
tanggal = new DateField(”Tanggal”,DateField.DATE);
//karena ada pengkasesan ke internet (baca jadwal film - jadwal.asp), siapkan thread
if (thread==null) {
thread = new Thread(this);
}
//jalankan thread
thread.start();
form.append(txtNama); form.append(txtAlamat); form.append(txtNoKTP);
form.append(tanggal); form.append(group); form.append(txtJumlah);
//tambahkan command
form.addCommand(cmdBack); form.addCommand(cmdOK);
//tempelkan ticker ke form
form.setTicker(ticker);
//set CommandListener untuk mengacu pada fungsi CommandAction di class ini
//fungsi tsb dijalankan jika salah satu command / pilihan menu dipilih
form.setCommandListener(this);
//tampilkan form ke layar
display.setCurrent(form);
}
//fungsi untuk membuat tampilan proses Pesan Tiket
private void formPesankan() {
//simpan lokasi tampilan
currentWindow = “formPesankan”;
//set tulisan pada ticker
ticker = new Ticker(”Pemesanan Tiket Bioskop Online”);
form = new Form(”Proses Transaksi”);
strStatus = new StringItem(”Sedang proses…”,”");
strMemo = new StringItem(”",”");
txtTransaksi = new TextField(”ID Transaksi”,”",50,TextField.ANY);
//karena ada pengkasesan ke internet (simpan transaksi - pesan.asp), siapkan thread
if (thread==null) {
thread = new Thread(this);
}
//jalankan thread
thread.start();
form.append(strStatus); form.append(txtTransaksi); form.append(strMemo);
//tambahkan command
form.addCommand(cmdBack);
//tempelkan ticker ke form
form.setTicker(ticker);
//set CommandListener untuk mengacu pada fungsi CommandAction di class ini
//fungsi tsb dijalankan jika salah satu command / pilihan menu dipilih
form.setCommandListener(this);
//tampilkan form ke layar
display.setCurrent(form);
}
//fungsi untuk membuat tampilan form Pembatalan Tiket
private void formBatal() {
//simpan lokasi tampilan
currentWindow = “formBatal”;
//set tulisan pada ticker
ticker = new Ticker(”Pembatalan Pemesanan Tiket Bioskop Online”);
form = new Form(”Pembatalan Tiket”);
//siapkan radiobutton untuk menampung daftar ID transaksi yang di-load di fungsi ambilDatabase()
group = new ChoiceGroup(”ID Transaksi”,Choice.EXCLUSIVE);
//ambil catatan ID transaksi dari database rms
ambilDatabase();
//strTemp berisi ID transaksi yang terakhir dibaca dari database rms
//jika kosong, berarti tidak ada catatan transaksi dalam database
if (strTemp.equals(”")) { //tidak ada catatan transaksi dalam database
form.append(”Tidak ada catatan transaksi pemesanan tiket”);
//tambahkan command
form.addCommand(cmdBack);
} else { //ada catatan transaksi dalam database
txtNoKTP = new TextField(”No KTP”,”",20,TextField.ANY);
form.append(”Untuk membatalkan pemesanan tiket, pilih ID Transaksi yang ingin dibatalkan dan masukkan No KTP Anda”);
form.append(group);
form.append(txtNoKTP);
form.append(”Tekan OK untuk proses.”);
//tambahkan command
form.addCommand(cmdBack); form.addCommand(cmdOK);
}
//tempelkan ticker ke form
form.setTicker(ticker);
//set CommandListener untuk mengacu pada fungsi CommandAction di class ini
//fungsi tsb dijalankan jika salah satu command / pilihan menu dipilih
form.setCommandListener(this);
//tampilkan form ke layar
display.setCurrent(form);
}
//fungsi untuk membuat tampilan form proses Pembatalan Tiket
private void formBatalkan() {
//simpan lokasi tampilan
currentWindow = “formBatalkan”;
//set tulisan pada ticker
ticker = new Ticker(”Pembatalan Pemesanan Tiket Bioskop Online”);
form = new Form(”Proses Pembatalan Transaksi”);
strStatus = new StringItem(”Sedang proses…”,”");
strMemo = new StringItem(”",”");
//karena ada pengkasesan ke internet (batalkan pemesanan tiket, batal.asp), siapkan thread
if (thread==null) {
thread = new Thread(this);
}
//jalankan thread
thread.start();
form.append(strStatus); form.append(strMemo);
//tambahkan command
form.addCommand(cmdBack);
//tempelkan ticker ke form
form.setTicker(ticker);
//set CommandListener untuk mengacu pada fungsi CommandAction di class ini
//fungsi tsb dijalankan jika salah satu command / pilihan menu dipilih
form.setCommandListener(this);
//tampilkan form ke layar
display.setCurrent(form);
}
//fungsi untuk membuat tampilan form History Pemesanan Tiket
private void formHistory() {
//simpan lokasi tampilan
currentWindow = “formHistory”;
//set tulisan pada ticker
ticker = new Ticker(”History Pemesanan Tiket Bioskop Online”);
form = new Form(”History”);
//siapkan radiobutton untuk menampung daftar ID transaksi yang di-load di fungsi ambilDatabase()
group = new ChoiceGroup(”ID Transaksi”,Choice.EXCLUSIVE);
//ambil catatan ID transaksi dari database rms
ambilDatabase();
//strTemp berisi ID transaksi yang terakhir dibaca dari database rms
//jika kosong, berarti tidak ada catatan transaksi dalam database
if (strTemp.equals(”")) { //tidak ada catatan transaksi dalam database
form.append(”Tidak ada catatan transaksi pemesanan tiket”);
//tambahkan command
form.addCommand(cmdBack);
} else { //ada catatan transaksi dalam database
form.append(”Di bawah ini adalah ID Transaksi Anda”);
form.append(group);
form.append(”Tekan OK untuk menampilkan detail transaksi.”);
//tambahkan command
form.addCommand(cmdBack); form.addCommand(cmdOK);
}
//tempelkan ticker ke form
form.setTicker(ticker);
//set CommandListener untuk mengacu pada fungsi CommandAction di class ini
//fungsi tsb dijalankan jika salah satu command / pilihan menu dipilih
form.setCommandListener(this);
//tampilkan form ke layar
display.setCurrent(form);
}
//fungsi untuk membuat tampilan form Detail History Pemesanan Tiket
private void formHistorykan() {
//simpan lokasi tampilan
currentWindow = “formHistorykan”;
//set tulisan pada ticker
ticker = new Ticker(”History Pemesanan Tiket Bioskop Online”);
form = new Form(”");
form.append(”ID Transaksi: ” + group.getString(group.getSelectedIndex()) + “\n”);
//karena ada pengkasesan ke database (lihat detail transaksi - lihat.asp), siapkan thread
if (thread==null) {
thread = new Thread(this);
}
//jalankan thread
thread.start();
//tambahkan command
form.addCommand(cmdBack);
//tempelkan ticker ke form
form.setTicker(ticker);
//set CommandListener untuk mengacu pada fungsi CommandAction di class ini
//fungsi tsb dijalankan jika salah satu command / pilihan menu dipilih
form.setCommandListener(this);
//tampilkan form ke layar
display.setCurrent(form);
}
//fungsi untuk membuat tampilan form About
private void formAbout() {
//simpan lokasi tampilan
currentWindow = “formAbout”;
//set tulisan pada ticker
ticker = new Ticker(”Tentang Bioskop Online”);
form = new Form(”Tentang”);
form.append(”Program Bioskop Online v1.0″);
form.append(”Dibuat oleh Christina F.D.L (00.41010.0004)”);
form.append(”J2ME + ASP (EditPlus, KToolbar, DreamweaverMX, Access)”);
//tambahkan command
form.addCommand(cmdBack);
//tempelkan ticker ke form
form.setTicker(ticker);
//set CommandListener untuk mengacu pada fungsi CommandAction di class ini
//fungsi tsb dijalankan jika salah satu command / pilihan menu dipilih
form.setCommandListener(this);
//tampilkan form ke layar
display.setCurrent(form);
}
//fungsi untuk membuat tampilan form Error
private void formError(String msg) {
//simpan lokasi tampilan
currentWindow = “formError”;
form = new Form(”Error!”);
form.append(msg);
//tambahkan command
form.addCommand(cmdBack);
//set CommandListener untuk mengacu pada fungsi CommandAction di class ini
//fungsi tsb dijalankan jika salah satu command / pilihan menu dipilih
form.setCommandListener(this);
//tampilkan form ke layar
display.setCurrent(form);
}
public void run() {
if(currentWindow.equals(”menuInfo”)) {
try {
openURL(”http://localhost/BioskopOnline/movie.asp”);
thread = null;
if (dataTemp.size()>0) {
for(int i=0;i
}
menu.addCommand(cmdOK);
} else {
formError("Koneksi ke server gagal!");
}
} catch(Exception e) {
formError("Ada kesalahan!");
}
} else if (currentWindow.equals("formInfo")) {
try {
openURL("http://localhost/BioskopOnline/movie.asp?movie=" + form.getTitle().replace(' ','+'));
thread = null;
if (dataTemp.size()>0) {
form.append(”Jenis: ” + dataTemp.elementAt(0).toString() + “\n”);
form.append(”Pemain: ” + dataTemp.elementAt(1).toString() + “\n”);
form.append(”Sinopsis: ” + dataTemp.elementAt(2).toString() + “\n”);
} else {
formError(”Koneksi ke server gagal!”);
}
} catch(Exception e) {
formError(”Ada kesalahan!”);
}
} else if (currentWindow.equals(”formJadwal”)) {
try {
openURL(”http://localhost/BioskopOnline/jadwal.asp”);
thread = null;
if (dataTemp.size()>0) {
int i = 0;
while(i
form.append("Studio " + dataTemp.elementAt(i).toString() + " - " +
dataTemp.elementAt(i+1).toString() + ": " +
dataTemp.elementAt(i+2).toString() + "\n");
form.append("Kapasitas: " + dataTemp.elementAt(i+3).toString() +
"kursi, HTM: Rp " + dataTemp.elementAt(i+4).toString() + "\n");
i = i+5;
}
} else {
formError("Koneksi ke server gagal!");
}
} catch(Exception e) {
formError("Ada kesalahan!");
}
} else if (currentWindow.equals("formPesan")) {
try {
openURL("http://localhost/BioskopOnline/jadwal.asp");
thread = null;
if (dataTemp.size()>0) {
int i = 0;
while(i
group.append("Studio " + dataTemp.elementAt(i).toString() + " - " +
dataTemp.elementAt(i+1).toString(),null);
i = i+5;
}
} else {
formError("Koneksi ke server gagal!");
}
} catch(Exception e) {
formError("Ada kesalahan!");
}
} else if (currentWindow.equals("formPesankan")) {
try {
System.err.println(tanggal.toString());
openURL("http://localhost/BioskopOnline/pesan.asp?nama=" + txtNama.getString().replace(' ','+')
+ "&alamat=" + txtAlamat.getString().replace(' ','+')
+ "&noktp=" + txtNoKTP.getString()
+ "&tanggal=" + tanggal.getDate()
+ "&jadwal=" + (group.getSelectedIndex()+1)
+ "&jumlah=" + txtJumlah.getString());
thread = null;
if (dataTemp.size()>0) {
System.err.println(dataTemp);
if(dataTemp.elementAt(0).toString().equals(”gagal”)) {
strStatus.setText(”gagal”);
strMemo.setText(”Koneksi gagal. Silahkan coba beberapa saat lagi”);
} else if (dataTemp.elementAt(0).toString().equals(”penuh”)) {
strStatus.setText(”gagal”);
strMemo.setText(”Kapasitas kursi tidak mencukupi”);
} else {
txtTransaksi.setString(dataTemp.elementAt(1).toString());
strStatus.setText(”sukses”);
strMemo.setText(”Simpan ID Transaksi di atas untuk konfirmasi pembelian tiket.” +
” Biaya yang harus Anda bayar adalah ” + dataTemp.elementAt(2).toString());
}
//save to rms
tambahDatabase(dataTemp.elementAt(0).toString());
} else {
formError(”Koneksi ke server gagal!”);
}
} catch(Exception e) {
formError(”Ada kesalahan!”);
}
} else if (currentWindow.equals(”formBatalkan”)) {
try {
openURL(”http://localhost/BioskopOnline/batal.asp?id=” + group.getString(group.getSelectedIndex()) + “&noktp=” + txtNoKTP.getString());
thread = null;
if (dataTemp.size()>0) {
strStatus.setText(dataTemp.elementAt(0).toString());
//remove from rms
hapusDatabase(group.getString(group.getSelectedIndex()));
strMemo.setText(”Transaksi telah dibatalkan dan catatan transaksi telah dihapus dari database.”);
} else {
formError(”Koneksi ke server gagal!”);
}
} catch(Exception e) {
formError(”Ada kesalahan!”);
}
} else if (currentWindow.equals(”formHistorykan”)) {
try {
openURL(”http://localhost/BioskopOnline/lihat.asp?id=” + group.getString(group.getSelectedIndex());
thread = null;
if (dataTemp.size()>0) {
form.append(”Nama: ” + dataTemp.elementAt(0).toString + “\n”);
form.append(”Alamat: ” + dataTemp.elementAt(1).toString + “\n”);
form.append(”No KTP: ” + dataTemp.elementAt(2).toString + “\n”);
form.append(”Tanggal: ” + dataTemp.elementAt(3).toString + “\n”);
form.append(”Jadwal: ” + dataTemp.elementAt(4).toString + “\n”);
form.append(”Jumlah: ” + dataTemp.elementAt(5).toString + “\n”);
form.append(”Biaya: ” + dataTemp.elementAt(6).toString + “\n”);
} else {
formError(”Koneksi ke server gagal!”);
}
} catch(Exception e) {
formError(”Ada kesalahan!”);
}
}
}
public void commandAction(Command c,Displayable d) {
String label = c.getLabel();
if (c==cmdBack) {
if (currentWindow.equals(”formPesankan”)) {
menuPesan();
} else if (currentWindow.equals(”formBatalkan”)) {
menuPesan();
} else if (currentWindow.equals(”formHistorykan”)) {
menuPesan();
} else if (currentWindow.equals(”formInfo”)) {
menuInfo();
} else {
menuUtama();
}
} else if (c==cmdOK) {
if (currentWindow.equals(”formPesan”)) {
formPesankan();
} else if (currentWindow.equals(”formBatal”)) {
formBatalkan();
} else if (currentWindow.equals(”formHistory”)) {
formHistorykan();
}
} else if (c==cmdAbout) {
formAbout();
} else if (c==cmdExit) {
keluar();
} else { //menu
List currentmenu = (List)display.getCurrent();
if (currentWindow.equals(”menuUtama”)) {
switch(currentmenu.getSelectedIndex()) {
case 0: menuInfo(); break;
case 1: formJadwal(); break;
case 2: menuPesan(); break;
}
} else if (currentWindow.equals(”menuInfo”)) {
String title = new String(currentmenu.getString(currentmenu.getSelectedIndex()));
formInfo(title);
} else if (currentWindow.equals(”menuPesan”)) {
switch(currentmenu.getSelectedIndex()) {
case 0: formPesan(); break;
case 1: formBatal(); break;
case 2: formHistory(); break;
}
}
}
}
//*********************************************************************************************
// FUNGSI-FUNGSI YANG BERHUBUNGAN DENGAN DATABASE RMS
//*********************************************************************************************
//fungsi untuk membuka database
//jika database tidak ada, maka database akan dibuat
private void bukaDatabase() {
try {
//buka database
//parameter TRUE menunjukkan bahwa database akan dibuat jika belum ada
database = RecordStore.openRecordStore(”database”,true);
} catch (RecordStoreException e) {
formError(”Ada kesalahan pembuatan database”);
}
}
//fungsi untuk menambah data (string ID transaksi) ke dalam database
//input: ID Transaksi yang ingin ditambahkan (data)
private void tambahDatabase(String data) {
try {
//tambahkan data ke dalam database
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
dos.writeUTF(data);
byte[] b = baos.toByteArray();
database.addRecord(b,0,b.length);
} catch(IOException e) {
formError(”Ada kesalahan IO”);
} catch(RecordStoreFullException e) {
formError(”Database RMS penuh”);
} catch(RecordStoreException e) {
formError(”Ada kesalahan!”);
}
}
//fungsi untuk mengambil data (ID transaksi) dari database
//ID transaksi langsung disimpan dalam variabel group (ChoiceGroup) yang harus diinisialisasikan sebelumnya
private void ambilDatabase() {
//kosongi strTemp
strTemp = new String(”");
try {
ByteArrayInputStream bais;
DataInputStream dis;
RecordEnumeration enum = database.enumerateRecords(null,null,false);
while (enum.hasNextElement()) {
//ambil ID record
int recId = enum.nextRecordId();
//ambil DATA record
bais = new ByteArrayInputStream(database.getRecord(recId));
dis = new DataInputStream(bais);
//simpan ke dalam strTemp
strTemp = dis.readUTF();
//tambahkan di group
group.append(strTemp,null);
}
} catch(IOException e) {
formError(”Ada kesalahan!”);
} catch(IllegalArgumentException e) {
formError(”Ada kesalahan!”);
} catch(IndexOutOfBoundsException e) {
formError(”Ada kesalahan!”);
} catch(NullPointerException e) {
formError(”Ada kesalahan!”);
} catch(RecordStoreNotOpenException e) {
formError(”Ada kesalahan!”);
} catch(RecordStoreException e) {
formError(”Ada kesalahan!”);
}
}
//fungsi untuk menghapus data (string ID transaksi) dari database
//input: ID Transaksi yang ingin dihapus (data)
private void hapusDatabase(String data) {
try {
ByteArrayInputStream bais;
DataInputStream dis;
String in;
RecordEnumeration enum = database.enumerateRecords(null,null,false);
while(enum.hasNextElement()) {
//ambil ID record
int recId = enum.nextRecordId();
//ambil DATA record
bais = new ByteArrayInputStream(database.getRecord(recId));
dis = new DataInputStream(bais);
in = dis.readUTF();
//cek apakah DATA record sama dengan data ID TRANSAKSI yang dicari
if (in.equals(data)) { //jika ya,
database.deleteRecord(recId); //hapus record
break; //selesai
}
}
} catch(IOException e) {
formError(”Ada kesalahan!”);
} catch(RecordStoreNotOpenException e) {
formError(”Ada kesalahan!”);
} catch(RecordStoreException e) {
formError(”Ada kesalahan!”);
}
}
//prosedur untuk menutup database
//dipanggil saat akan keluar dari program
private void tutupDatabase() {
try {
//tutup database
database.closeRecordStore();
} catch(RecordStoreNotOpenException e) {
//do nothing
} catch(RecordStoreException e) {
//do nothing
}
}
}[/java]
Pages: 1 2
And while you're here, why don't you check out our other articles:
Pssst! Most people are coming to this page searching for: 





































bagaimana cara menjalanin ASP nya, bingung neh, Saya pake Apache XAMPP jg gak bisa, terus pake apaan donk?. untuk MIDllet-client ada beberapa script yang belum ditulis semua/kurang lengkap, yang for(i.. dan while i.. pada fungsi pembacaan karakter, tolong dong kasih tau, harap dibalas pesan ini, penting
Terimakasih sebelumnya…
[...] mengenai pembuatan aplikasi mobile dengan menggunakan J2ME. Bagian sebelumnya dapat dibaca di sini. Pada bagian terakhir ini, akan ditunjukkan pembuatan database yg diperlukan serta script2 server [...]
[...] know how to register their own GMail account), Sexy Uniform (well, sex sells, as always), Membuat Aplikasi J2ME (and part two), and Using CSS to Setup Different Style for External [...]
sorry…nee…aku mao nanya kalo belajar bikin aplikasi dengan j2me kaya yang diatas itu harus pake editor asp?
klo misalnya pake editor textpad bisa ga sech?????
maap yach klo misalnya banyak nanya soalnya aku ini dalam tahap pembelajaran!!!makasih ya sebelumnya….
nb:harap di jawab
mo tanya…
bagaimana cara memeriksa bahwa kursi yang ada uda penuh pa blm?
untuk tampilan pemilihan kursi bagaimana?
kalo bisa tolong kirimkan prototype nya ya…minimal bentuk tampilan pada ponselnya…
thank’s….
oia, da lagi…
respon dari server yang berupa info film dan jadwal film yang sudah diterima oleh client (ponsel) disimpan dimana?
apa pake RMS?
kalo iya, gmana cara nya?
kal ga, pake cara apa supaya output itu tersimpan pada ponsel..
thank’s a lot 4 u’r help…
mo tanya lagi..
#1.bagaimana untuk proses pembayarannya?
#2.bentuk tiket tuk masuk bioskopnya seperti apa?
#3.setelah client memesan dan melakukan request ke server, kemudian apa yang selanjutnya direspon oleh server? apa berupa tiket digital? pa ponselnya client
sebelumnya, terima kasih banyak atas jawabannya….
tolong kirim tutorial lengkapnya juga ya ke email saya…
thank’x again…
kalo kita pake php bs g ?
apa sintaksny beda lg?
salam kenal dari saya……………………..
aku mau tanya soal converting MP3 dari file berkapasitas 5 Mb misalnya yah……trus mau aku jadikan kira2 menjadi 1 Mb gimana caranya lagu yang aku convert bisa kedenger asli kayak yang 5 Mb itu? apa perlu program converter khusus apa memang saya yang katrok ya…..? sekian terima kasih and I’m waiting your answer. bye…………………….
Salam kenal bwt smuanya….
Aku mau tanya tentang databasenya pemesanan tiket pesawat secara online pake PHP or WAP. Please…. ya bantuin aku. Tolong kirimkan tutorialnya ke emailku. Terima kasih banyak.
Oh ya maaf sebelumnya aku mau bilang kalo aku baru pertama kali kuliah di jurusan manajemen informatika (dr SMA lg, bukan dr STT Telkom or sejenisnya) di salah satu perguruan tinggi negeri. Jadi aku masih wam dengan yang namanya IT. So help me………………PLeaaaassssssseeeeeeeeeeeeeee!
Tolong kirimkan Tutorialnya yang lengkap keEmailku.
bagi teman2 yang udah dikirimi duluan,terusin keEmailku ya.Thanks for all.
akudodi@gmail.com
SAYA PEMULA DALAM PEMBUATAN APLIKASI J2ME SO,BUTUH PEMBELAJARAN LEBIH DETAIL.HARAP MEMBERIKAN PEMBUATAN APLIKASI J2ME YANG SEJELAS JELASNYA .THANK’S
salam kenal….
saat ni saya lagi belajar bwt aplikasi j2me, saya belajar dari aplikasi j2me yang Anda buat (aplikasi bioskop online)tapi saya masih binggung skrip yang untuk koneksi ke servernya…bisa beri penjelasan ga’…
trus perintah perulangan & kondisi untuk
for (int i = 0;i) & while(i
tu ada trusannya ya…
terima kasih sebelumnya…
mau tanya neh buat aplikasi java untuk travel gimana caranya?
trus kira2 di situs mana atau buku mana sy bs dpt info yg lbh jelas.
thank u sdh mau membaca.
harap dibalas ke email saya.
mas mau nanya klo mw bikin audio streaming player gmana ya…dan bisa konek ke server Apache dan bisa konek J2ME ke PHP nya….
saya lagi mw bikin aplikasi Download Content e-Qur’an nih,,,dengan fasilitas layanan bacaan al-Qur’an streaming…
bales ya makasih
wow…tolong kirimin donk tutorialnya yg lengkap ttg membuat aplikasi J2ME client-server, tuk bahan pembelajaran. soalnya saya jg baru2 belajar J2ME.ya….ya…pliz…
thanks……
Hai…Semua,Ne A nawarin kartu perdana, yang bisa buat telpon GRATIS kesemua operator.BENER2 GRATIS.
tapi ini berpungsi hanya untuk type2 HP tertentu dan wilayah tertentu(jakarta,surabaya,medan,batam,bandung,semarang,jepara,kuduscepu,salatiga,magelang,cilacap,yogya,denpasar,makasar,balik papan).
sedangkan untuk nomor tujuan bisa kemanapun,keluar negeri juga bisa.
jika anda berminat harganya Rp.100.000.
silahkan kirimkan permintaan anda dan sebutkan type HP anda.
kalau anda mau kirimkan juga nomor handpone anda,jadi nanti saya yang telpon anda.
kirim ke=
alexsleo2002@yahoo.com
hwo,java bwat travel maksutnya apa?
saia penah bwat maping tempat, pake,J2ME,gps bluetooth..
hasilnya saia kira lumayan..
how make a aplication j2me
bisa tolong kirimkan tutorial dan source code tentang cara membuat aplikasi ticketing online…ke email saya…terima kasih..
Hi,
Salam kenal…nama saya Hendri…
saya mau belajar bikin aplikasi di handphone….
Saya benar2 ingin bisa bikin hasil karya aplikasi di handphone. Saya bersedia ada biaya kursusnya..yang penting bener2 bisa….
Tolong kabari saya melalui email atau kalau boleh langsung ke HP saya di 08151628583.
Thanks bro,
Wah ternyata saya banyak sudah tertinggal sama orang-orang IT, masih bingung nih dah lagi buat TA tapi tetep aja pemrogramannya tertinggal dan masih bingung, sekarang lagi saya lagi buat web pake PHP dan belajar pake sintak smarty. boleh minta tutorial atau pembelajaran buat saya. makasih sebelumnya, tolong kirimin ke E-mail saya ya..^_^
salam kenal….
maaf saya org awam ttg IT or design aplikasi pingin belajar mohon dikirim via emil saya contoh sriptnya mulai dari awal sampai jadi. thnx atas bantuannya.
Hi, saya sedang belajar membuat aplikasi j2me yang dihubungkan ke server php juga dengan menggunakan server localhost menggunakan vertrigo serv. Tapi mengalami kesulitan pada koneksinya, pas login aja masih gagal. Yang punya contoh source code koneksinya bisa minta? kirimkan ke emailku yah di: azure_nikaido@yahoo.com. Thx
Assalamu’alaikum wR WB..
maaf saya sedang proses pembuatan TA lg bikin aplikasi phonebook menggunakan j2me. kalo bole saya minta contoh source code dan referensi yang berhubungan dengan TA saya. terima kasih sebelumnya jika ada tolong krm k e-mail saya : din_friendlyboy@yahoo.com. once again thx b4
database rms apa??
cara buat databasenya bgmn??
cara mengaksesnya dari mn???
untuk akses urlnya kmn??
“http://localhost/BioskopOnline/jadwal.asp”
tolong penjelasannya,
surya
Asslm,…
mas salam kenal
mo tanya, cara jalananin source codenya bgmn??
databasenya pke apa?
software yg dibutuhkan apa aja??
soalnya saya , buat aplikasi akademik buat skripsi,…
sekalian referensinya,…
termia kasih
Asslm..
salam kenal,
boleh nanya gak?
saya baru belajar mo buat kamus elektronik di hp pake J2ME, bisa minta tolong jelasin tentang cara-caranya…
mohon bantuannya, thanx…
mas yg saya hormati,
saya mau nanya mas, klo mau nampilin huruf arab (dgn karakter biner) di j2me gmn ya mas?
sebelumnya saya ucapkan terimakasih.
Mas mau nanya nih…saya dah bikin aplikasi client di J2me trus bikin aplikasi servernya di PHP…yang masih blom berhasil cara menjalankan aplikasi tsb di PC(blom diinstall ke HP) gimana ya caranya ? koq loadning pas minta datanya luamaa banget..
saya bikin urlnya “localhost/j2me/server.php” –> nama file php nya server
pliiis bantuin saya ya Mas..
Makasih