Monday, July 20, 2009

Menu Sederhana Dengan StringItem pada J2ME

Hmmm, maaf baru bisa balik lagi, aku sekarang pengen berbagi sedikit ilmu yang ku punya. Kali ini aku pengen membahas tentang High Level API dari J2ME yaitu penggunaan StringItem untuk membuat menu sederhana. Ok ku coba sedikit jelasin tentang StringItem deh. StringItem itu merupakan class turunan dari javax.microedition.lcdui.Item ato bisa di tulis public class StringItem extends Item. Jadi StringItem itu sebuah Item yang dapat diisi String. Constructor untuk membuat StringItem sendiri ada dua yaitu :
- StringItem(String label, String text)
- StringItem(String label, String text, int appearanceMode)
untuk appearanceMode itu mengatur bentuk tampilan dari StringItem itu sendiri. Ada 3 yaitu Plain, Hyperlink dan Button. Jadi kita bisa menentukan bentuk tampilan dari String Item yang kita buat. Berikut ini saya berikan contohnya. Untuk Editornya silahkan gunakan editor java yang kalian suka.

Ok ini Midlet Utamanya, aku kasih nama Main.java:


import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class Main extends MIDlet {
Display display;
private Menu menu;

public Main(){

display = Display.getDisplay(this);
}

public void startApp() {
menu = new Menu(this, display);
display.setCurrent(menu);
}

public void pauseApp() {}

public void destroyApp(boolean unconditional) {}

public void keluarMidlet(){
destroyApp(false);
notifyDestroyed(); }
}
Untuk Menunya aku kasih nama Menu.java :

import javax.microedition.lcdui.*;

public class Menu extends Form implements ItemCommandListener,ItemStateListener, CommandListener {

private Main midlet;

private Display display;

private Command Pilih1,Pilih2, Keluar;

private StringItem menu1, menu2;


public Menu(Main midlet, Display display){
super("Silahkan Pilih");

this.midlet = midlet;

this.display = display;

Pilih1 = new Command("Pilih", Command.SCREEN,1);
Pilih2 = new Command("Pilih", Command.SCREEN,2);

Keluar = new Command("Keluar",Command.BACK,1);


menu1 = new StringItem(null, "Menu1 \n");

menu1.setDefaultCommand(Keluar);//menampilkan Command Keluar

menu1.setDefaultCommand(Pilih1);//menampilkan Command Pilih

menu1.setItemCommandListener(this);

menu1.setLayout(3);//untuk menampilkan StringItem 1=kiri,2=kanan, 3=tengah

append(menu1);


menu2 = new StringItem(null, "Menu 2 \n");

menu2.setDefaultCommand(Keluar);//menampilkan Command Keluar

menu2.setDefaultCommand(Pilih1);//menampilkan Command Pilih

menu2.setItemCommandListener(this);

menu2.setLayout(3);//untuk menampilkan StringItem 1=kiri,2=kanan, 3=tengah

append(menu2);


setItemStateListener(this);

this.setCommandListener(this);


public void itemStateChanged(Item item){
}

public void commandAction(Command c, Item item){


if(c == Pilih1){

//memberikan aksi saat tombol pilih ditekan

}

if (c == Pilih2){

//memberikan aksi saat tombol pilih ditekan

}

if(c == Keluar){

midlet.keluarMIDlet();//keluar dari program

}

}


public void commandAction(Command c, Displayable S){
}

}

Hmmm, sekian dulu ya. Kalau ada yang salah mohon dimaafkan.

Monday, April 06, 2009

Penggunaan Obfuscator pada J2ME

Halo all, aku pengen sedikit sharing nih tentang apa yang lagi aku pelajarin. Tau dong, kan bisa diliat tuh dari judulnya, hehehe... Yups, J2ME. Oke ga usah deh terlalu panjang dikali lebar karena aku juga ga pengen terlalu luas ngebahasnya. Tulisanku kali ini just sharing sesuatu hal yang ringan dari J2ME. Aku buat sebagai sharing ke temen - temen yang baru mengenal J2ME dan pengingat buatku juga sih, hehehe. N buat para master yang baca tulisan ini mohon koreksi kalau tulisan saya ada yang salah ya.

Baiklah kita mulai aja yah, kali ini beneran deh. Buat kalian pengguna dan yang lagi pengen ngembangin aplikasi dihandphone, pernah ga sih nginstall aplikasi java dihandphone kalian, ituloh yang filenya berakhiran JAR(Java ARchive). Nah liat deh ukuran dari filenya, kecil kan, ya hitungan kb lah. Nah, salah satu cara yang digunakan para pengembang aplikasi java untuk memperkecil ukuran filenya, mengoptimalisasikan aplikasinya dan mempermudah di download pada saat diinstalasi melalui Over-the-Air(OTA) yaitu dengan obfuscating.

Obfuscating itu sebuah proses menyamarkan class-class Java yang kita buat dengan tujuan untuk membuat aplikasi yang kita bangun lebih sulit untuk di decompile ulang menjadi source(reverse-engineer). Adapun hal - hal yang dilakukan obfuscator antara lain :
- Mengganti nama class, variable dan method dengan nama yang lebih pendek.
- Menghapus class, variable dan method yang tidak diperlukan.
- Menyisipkan ilegal atau data yang salah untuk membingunkan proses decompiler.

Untuk pengguna WTK(Wireless Toolkit) sendiri default konfigurasi obfuscatornya menggunakan ProGuard tetapi kamu mesti download dulu ProGuardnya. Untuk langkahnya saya tidak akan jelaskan disini.Obfusctor sendiri cenderung sedikit rewel (busyet... kaya bayi aja), tapi setelah anda mengerti cara mengkonfigurasikannya secara benar, maka obfuscator akan memberikan pengurangan ukuran file yang signifikan. Oya, untuk penggunaan obfuscator sendiri sebaiknya saat akan dipackaging, karena kalau dilakukan saat penulisan masih kita lakukan akan membuat debug dari program kita menjadi lebih susah. Oke sekian dulu deh, dah capek juga nih ngetiknya. Thanks ya dah dibaca.

Thursday, April 02, 2009

Finally i'm Back to im3

Akhirnya, hari ini aku menyatakan resmi balik ke IM3. Setelah kurang lebih 2 bulan aku menggunakan IM2 Broom dan melakukan penilaian terhadap kinerjanya selama menemaniku sehari - hari maka kini aku terpaksa memutuskan untuk kembali menggunakan im3 saja. Ini dikarenakan buruknya performa yang aku terima saat menggunakan im2. Bayangkan saja hampir dua minggu aku hanya bisa mengakses google dan keluarganya termasuk blog aku ini menggunakan PC, ini merupakan hal yang aneh menurutku,karena saat anda membuka google, blogspot, gmail yang notebene merupakan keluarga dari google dan portalnya terasa mudah untuk diakses tapi saat mengakses situs diluar yang aku sebutkan diatas sama sekali susah. Bahkan sering tidak respon. Hal berbeda yang aku dapat saat menggunakan HP, semua terasa ringan dan mudah meskipun sesekali terjadi gangguan. Kalo ada yang tau mengapa ini terjadi sharing ya. Karena aku termasuk orang yang malas klo diminta menghubungi kesana kemari tanpa kepastian yang tak pasti.

Oke sedikit cerita deh. Pada awal saat aku membeli IM2 ini aku menginginkan koneksi internet terus menerus menggunakan PC(Karena katanya UNLIMITED) tapi juga Bisa Untuk Mobile menggunakan Handphone kesayangan aku saat aku sedang keluar rumah. Tapi apa yang aku dapat dari im2 tidak seperti itu. Hampir sebagian besar koneksi yang aku lakukan hanya bisa di Handphone saja. Kencang mengakses situs dari Handphone tidak serupa saat mengakses saat menggunakan PC. So kini saatnya balik ke IM3, selain rasa kecewa yang kudapat ini juga kulakukan sekalian menghemat biaya yang aku keluarkan untuk koneksi internetku. Percuma aku membayar untuk hal yang tidak terlalu nyata. Mendingan Beli 5 ribu untuk 4 jam, jadi saat ingin berinternet tinggal beli saja pulsa 5 ribu. Hehehe...

Monday, March 23, 2009

Nginstall Netbeans di OpenSolaris2008.11

halo...halo... halo...
Dah lama banget nih ga pernah nulis di blog aku ini. Fiuh males banget dah. Now, i'm in again n wanna post something (mumpung lagi mood nih). Aku ceritain dikit yah, ini based dari pengalaman aku dua minggu ini belajar yang ga jelas. Ini just share pengalaman aja, jadi penyajiannya mohon maaf klo skill nulisnya parah, huakakakak.
Hmmm... klo ditanya kenapa tertarik pada Open Solaris sih, ga banyak jawaban selain java. Coz lagi belajar java nih dan pengen tau klo java jalan di OpenSOlaris gemana ya? Karena itu deh bela2in buat dunlut OpenSolarisnya dari Kambing, mpe ketiduran. Begitu selese ya langsung install deh. Untuk tutorialnya, ga perlu deh gampang kok, cuman ya rada lama sih nginstallnya, hampir 45menitan nginstallnya. Dan parahnya pas nginstall mati lampu lagi, mana batre pas2an juga. But tetep semangat n akhirnya berhasil...berhasil...berhasil(ga pake lompat2 kaya dora ya). First Look, Duh biru bo... Hahaha... I Like it. OpenSolaris pake GNOME eui. Oke dah tanpa banyak basa - basi aku langsung opy java dan netbeans yang aku taruh di flashdisk ke OpenSolaris yang dah mateng tadi, hehehe... dengan skill console yang ku punya pas2an dan berbekal paman google ku beranikan diri nginstall dan akhirnya, GAGALLL... Javanya ga terbaca. Padahal aku udah bener, gini nih skema yang aku pake.Pertama ngebuat javanya jadi executable geto dengan di chmod +x jdk-6u12-solaris-i586.sh (aku pake versi java yang 1.6.0_12 untuk solaris), karena udah jadi executable lalu aku ./jdk-6u12-solaris-i586.sh. Ampe sini aku restart. Begitu aku cek versinya ko nda sama ya dengan yang aku install. Akhirnya aku simpulkan percobaan pertama ga berhasil, mo searching internet dah putus. Haduh payah nih, mulai nda jelas dan ga normal ini badan. Akhirnya tidur aja deh.

Paginya mulai nginstall lagi dengan otak yang fresh. Hmmm... Aku masih binun ko yang aku install kan java1.6.0_12,ko begitu ngecek versinya (ketikin aja java -version diterminal), beuh yang keluar malah bawaannya OpenSolarisnya(java1.6.0_10). Mana aku ga tau tu path java bawaannya dimana letaknya(Maklum awam). Fikirku semalem gini, karena udah mati ni laptop semalem kali aja bisa berubah paginya (dapet wangsit dari mana sih ga jelas geto). Eh ternyata begitu ngistall netbeansnya masih tetep nda ketemu pathnya. Ya udah males deh... But dari pengalaman nginstall java di Windows, PCLinuxOS dan Blankon (gila, aku ternyata cuman tukang install bro) semuanya mesti disetting PATH JAVAnya. Hehehe... Ternyata ku baru nyadar tentang hal ini beberapa jam kemudian setelah muales ngapa2in n cuman brosing2 ga nentu arah nyari lagu baru dan dengerin albumnya RIDHO ROMA. Balik lagi deh buka terminal trus Ku coba deh buka deh file profile di folder etc dengan gedit. Trus masukin settingan ini dipaling bawahnya :
export JAVA_HOME=/jdkpath/jdk1.6.0_12
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

ingat loh ya jdkpath diatas diganti dengan alamat folder kamu taruh instalasi javamu tentunya dengan akses sebagai ROOT. Klo lupa selamat deh aku ucapain, wuakakakak.after itu aku restart. Dan begitu coba cek lagi versinya ternyata, SAMA AJA NIH, tetep java bawaannya juga yang kebaca, Fiuh... Apa yang mesti aku lakukan lagi. Yang sebelumnya males jadi tambah Mualesss. Untung aku termasuk anak yang iseng dan selalu pengen tau (Weits..memuji diri sendiri nih). Dengan sangat males aku mencoba lagi deh install netbeansnya dan akhirnya Netbeans bisa melihat path java yang aku install. Wuih,sueneng e rek. Akhirnya bisa liat netbeans di OpenSolaris. Hahaha... What next OS yang diinstal ya?