1.1. Tujuan 1. Memahami penggunaan TextBox 2. Memahami penambahan Ticker pada TextBox 3. Memahami penggunaan Form 4. Memahami penambahan Ticker pada Form 5. Memahami penambahan gambar pada Form
1.2. Alat & Bahan 2. Personal Computer (PC) / Notebook. 3. jdk-6u24-windows-i586. 4. Eclipse-SDK-3.4.1-win32. 5. Plugin J2ME for Eclipse 6. Notepad / Notepad++ 1.3. Dasar Teori 1.3.1. Pengenalan J2ME J2ME (Java 2 Micro Edition) merupakan subset dari J2SE yang ditujukan untuk implementasi pada peralatan embeded system dan handheld yang tidak mampu mendukung secara penuh implementasi menggunakan J2SE.
J2ME adalah teknologi Java yang diperuntukkan perngkat-perngakat kecilconsumer device , lain PC, terutama wireless. Bebrapa
device, smart card dan ponsel. Teknologi Java mungkin merupakan satusatunya cara memprogram beberapa perangkat, berbagi logic antara perangkat dan server, pengantaran aplikasi secara dinamis, program yang kompak, lingkungan pengembangan yang aman dan cepat. J2ME memungkinkan perangkat lunak dapat di-download perangkat sekaligus memungkinkan layanan yang dapat disesuaikan di beragam perangkat. J2ME menyediakan platform standar untuk pengembangan
perangkat wireless. J2ME terdiri atas perangkat-perangkat komponen sebagai berikut: 1. Java Virtual Machine (JVM), komponen untuk menjalankan programprogram Java pada emulator atau handheld device. 2. Java Application Programming Interface (API), merupakan
kumpulan library untuk menjalankan dan mengembangkan program Java pada Handheld Devices. Tools lain untuk mengembangkan Java, semacam emulator Java Phone, Emulator Nokia, EmulatorSiemens dan Emulator Motorola.
1.3.2. Pengenalan Eclipse Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse: o Multi-platform: Target sistem operasi Eclipse adalah Microsoft
Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X. o Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya. o Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan
perangkat
lunak,
seperti
dokumentasi,
test
perangkat
lunak,
Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in.
1.3.3. TextBox TextBox adalah type screen yang paling sederhana yang memungkinkan user untuk memasukkan string. TextBox diciptakan dari 4 parameter yaitu:
public TextBox(String title, String text, int maxSize,int constraints)
text isi dari string maxsize maksimal karakter yang bisa diisikan constraints bisa digunakan untuk membatasi input dari user.
Konstanta dari class TextField digunakan untuk menspesifikasikan type input yang dibutuhkan. Konstanta tersebut meliputi: o ANY: sembarang input o NUMERIC:dibatasi hanya untuk angka o DECIMAL:hanya dibatasi untuk pecahan o PHONENUMBER:hanya dibatasi untuk nomor telepon
o EMAILADDR:input harus berupa emailaddress o URL: input harus berupa web address
Contoh:
Displayable d=new TextBox(Email,,64,TextField.EMAILADDR)
1.3.4. Ticker Ticker adalah kalimat yang bergerak diatas layar. Contoh penggunaan ticker adalah:
Ticker t=new Ticker(J2ME); f.setTicker(t);
1.3.5. Form Form adalah screen yang terdiri dari user interface control yang disebut items. Salah satu cara untuk menciptakan Form yang dilengkapi dengan judul(title) adalah:
Public Form(String title)
Form adalah koleksi dari item , dan kita dapat melewatkan semua koleksi item ini pada konstruktor Form:
public Form(String title,Item[] items)
1.3.6. Choice Group Item Choicegroup merupakan group dari selectable choice.
Sebuah choice boleh berisi sebuah text, gambar atau kedua-duanya. Choice boleh EXCLUSIVE (hanya satu pilihan yang dapat dipilih) atau MULTIPLE (banyak pilihan yang dapat dipilih pada suatu waktu). Jika ChoiceGroup bertipe POPUP, hanya satu choice yang ditampilkan. Popup selection akan ditampilkan ketika item ini dipilih. Dari popup seleksi ini, user diperbolehkan memilih pilihannya. Choice yang ditampilkan selalu choice yang dipilih. GetSelectedIndex() mengembalikan nilai index pada element dari ChoiceGroup yang dipilih. GetSelectedFlags()
mengembalikan sebuah array dariboolean yang merespon elemen dari Choicegroup.isSelected(int index) mengembalikan state dari elemen yang diberikan oleh posisi index.
1.3.7. Text Field TextField merupakan Item dimana user dapat memasukan encode. Beberapa batasan exclusive yang dapat di-set yaitu: TextField.ANY TextField.EMAILADDR TextField.NUMERIC TextField.PHONENUMBER
TextField.URL TextField.DECIMAL
Masukan tersebut juga dapat memiliki macam-macam modifikasi: TextField.PASSWORD TextField.UNEDITABLE TextField.SENSITIVE TextField.NON_PREDICTIVE TextField.INITIAL_CAPS_WORD TextField.INITIAL_CAPS_SENTENCE
Modifikasi dapat di-set dengan menggunakan bit-wise OR (|) operator (atau toggled menggunakan bit-wise XOR operator ^) pada input
constraint. Sebagai konsekuensinya,modifikasi dapat diperoleh dari pengembalian nilai dari getConstraint() bit-wise operator AND(&). Sejak nilai modifikasi juga dikembalikan oleh getConstraint(), Masukan main constraint.
1.3.8. Image Objek Image digunakan untuk meletakkan objek gambar yang bisa bersifat immutable atau mutable. Gambar yang bersifat immutable artinya tidak bisa diubah-ubah oleh aplikasi dan umumnya berupa gambar yang diambil dari
sebuah file gambar, URL atau tempat lain. Sebaliknya gambar yang bersifat mutable bisa diubah-ubah oleh aplikasi. Konstruktor dari class Image ini bersifat statik, sehingga Anda tidak menggunakan new untuk membuat sebuah objek Image melainkan mengacu ke fungsi createImage() pada objek Image ini:
public static void createImage(String name) public static void createImage(Image img) public static void createImage(int width, int height)
Konstruktor pertama dan kedua digunakan untuk membuat objek Image yang bersifat immutable. Jenis file gambar yang mendukung, hanya file dengan format PNG (Portable Network Graphics). Fungsi-fungsi penting dalam class Image adalah: public Graphics getGraphics() Menghasilkan objek Graphics yang bersesuaian dari objek Image yang bersangkutan. public int getHeight() menghasilkan tinggi objek gambar yang ada. public int getWidth() Menghasilkan lebar objek gambar yang ada. public boolean isMutable() Menghasilkan nilai true jika objek gambar bersifat mutable.
A. ImageItem Objek ImageItem digunakan untuk mengontrol objek Image yang ada pada form atau alert. Konstruktor dari class ImageItem adalah: public void ImageItem(String label, Image img, int layout, String altText) Parameter-parameter pada konstruktor adalah: String label Untuk memberikan judul pada objek ImageItem yang aktif. Image img Objek Image yang akan dikontrol
String altText Untuk memberikan alternatif teks string pada gambar. int layout Ada beberapa nilai layout yang bisa digunakan untuk parameter ini, yaitu: o ImageItem.LAYOUT_CENTER : gambar akan diatur pada posisi tengah. o ImageItem.LAYOUT_DEFAULT : gambar akan diatur pada posisi standart. o ImageItem.LAYOUT_LEFT : gambar akan diatur pada posisi kiri. o ImageItem.LAYOUT_RIGHT : gambar akan diatur pada posisi kanan. o ImageItem.LAYOUT_NEWLINE_AFTER : setelah gambar dibuat akan diberikan sebuah baris baru. o ImageItem.LAYOUT_ NEWLINE_BEFORE : sebelum gambar dibuat akan diberikan sebuah baris baru.
Apabila dalam komputer atau notebook belum diinstal JDK (Java Development Kit) maka langkah pertama yang harus diambil adalah
menginstal JDK terlebih dahulu, setelah itu baru menginstall WTK. Berikut langkah-langkah penginstal WTK. Untuk aplikasi terpenting yang selanjutnya adalah menginstal WTK. WTK adalah suatu aplikasi mesin virtual yang membantu kita untuk membuat suatu program untuk platform berupa handphone yang berjenis J2ME. Seperti langkah 1. Pertama, langsung double click setup WTK dan akan muncul window baru lagi seperti ini, kemudianLangsung klik next saja
3. Disini anda akan diminta destinasi dari JDK yang telah kita install di langkah yang pertama. Click Next.
4. Jika diminta meletakkan hasil instalasi dari WTK yang kita install ini, anda boleh meletakkannya selain di Drive C:\..Lanjut click Next.
6. Disini jika ingin selalu mendapatkan update terbaru silahkan click Check for Product Updates-nya saja tapi kalau tidak mau jangan di click.Lanjut Click Next.
7. Sebelum proses copy files atau inti dari install ini akan diberitahukan dahulu settingan yang sudah anda atur tadi. Jika sudah sesuai dengan keinginan anda langsung click Next aja.
Sekarang aplikasi yang dibutuhkan siap untuk membuat program untuk handphone. Untuk menjalankan wtk, klik 2x shotcut wtk atau klik start menu pilih wtk. Maka tampilannya akan seperti gambar dibawah ini:
Untuk dapat menjalankan program J2ME pada Eclipse, perlu di instal sebuah plugin yang khusus digunakan untuk memprogram J2ME. Untuk plugin J2ME dapat dicari di situs resmi eclipse di www.eclipse.org. Agar dapat menginstal plugin langkah pertama yang harus dilakukan adalah mendownload plugin, kemudian simpan dalam direktori tertentu. Lalu pastikan wtk sudah terinstal sebelumnya. Langkah-Langkah Memasang plugin j2me di eclipse yaitu : 1. Pertama buka eclipse, kemudian pilih Help >> Software Updates. Setelah masuk ke form Software Updates and Add ons, pilih tab Available Software. Maka akan muncul tampilan seperti di bawah.
4. Kemudian akan muncul EclipseME apabila plugin tersebut di load ke eclipse.Untuk lebih jelasnya lihat seperti gambar dibawah ini.
5. Setelah itu klik install, langsung di next aja, bila ada agreement di accept saja & jika disuruh restart lebih baik di restart saja.
6. Setelah selesai direstart, buka eclipse kembali. Klik Window >> Preferences >> J2ME >> Define Management.
7. Langkah terakhir
tersimpan. Kemudian klik open, maka secara otomatis akan muncul beberapa emulator yang digunakan saat running. Setelah selesai klik finish.
8. Setelah mengikuti langkah-langkah diatas maka eclipse siap untuk menjalankan program j2me. Lalu agar program dapat di Run dengan lancar walaupun ada sedikit error, dapat dilakukan dengan membuka Preferences >> Java >> debug. Hilangkan tanda centang pada pilihan suspend execution on uncaught eception & suspend execution on
compilation errors. Lalu untuk memperpanjang waktu timeout rubah Debuger Timeout menjadi 15000 (dalam milisekon). Setelah itu kli ok.
Dengan demikian eclipse sudah siap untuk menjalankan program-program J2ME dengan lancar.
1.6. Membuat Program Menggunakan Eclipse 1.6.1. Menyisipkan gambar di J2ME 1. Klik new, pilih project, kemudian pilih J2ME
2. Masukan nama project, disini kita buat project bernama latihan. Lalu memilih device, langsung di next saja.
3. Setelah itu buka directori project latihan, didalamnya terdapat subdirektori bernama src. Klik kanan pada src kemudian pilih class.
import javax.microedition.lcdui.*; import java.io.*; public class gambar extends MIDlet { public gambar() { } public void startApp() { try { Image gbr = Image.createImage("/arsenal.png"); Form form = new Form( "First Program" ); form.append(gbr); form.append("Biodata Club\n"); form.append("Nama : Arsenal\n"); form.append("Lokasi : London Utara\n"); Display.getDisplay(this).setCurrent( form ); } catch (IOException e) {} } public void pauseApp() { } public void destroyApp( boolean unconditional ) { } }
6. Run project tersebut dengan cara klik symbol Run atau ketik Ctrl+F11 7. Apabila Run sukses maka akan muncul tampilan Hello World di layar emulator
public TickerMidlet01() { cmdKeluar = new Command("Keluar", Command.EXIT, 1); ticker = new Ticker("Jadikan Lah aku Pacarmu"); form = new Form("Ticker"); form.setTicker(ticker); form.addCommand(cmdKeluar); form.setCommandListener(this); } public void startApp() { display = Display.getDisplay(this); display.setCurrent(form); } public void pauseApp() {
} public void destroyApp(boolean unconditional) { } public void commandAction(Command c, Displayable d) { if (c == cmdKeluar) { destroyApp(false); notifyDestroyed(); } } }
fmMain = new Form(""); fmMain.append(tfName); fmMain.append(tfPwd); fmMain.append(tfAge); fmMain.append(cgGender); fmMain.append(cgPrefs); fmMain.addCommand(cmExit); fmMain.addCommand(cmOK); fmMain.setCommandListener(this); } public void startApp() { display.setCurrent(fmMain); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } public void commandAction(Command c, Displayable s) { if (c == cmOK) { System.out.println("Your profile:"); System.out.println(" Name - " + tfName.getString()); System.out.println(" Password - " + tfPwd.getString()); System.out.println(" Jenis Kelamin - " + (cgGender.getSelectedIndex()==0?"M":"F")); System.out.println(" Hobi - "); for (int i=0; i<cgPrefs.size(); i++) { if (cgPrefs.isSelected(i)) System.out.println(" " + cgPrefs.getString(i)); } } else if (c == cmExit) { notifyDestroyed(); } } }