java2 micro editon (j2me)

Upload: heyuu-cutantya

Post on 16-Jul-2015

146 views

Category:

Documents


0 download

TRANSCRIPT

Java2 Micro Editon (J2ME)Pertemuan IX

By Seno

Pendahuluan

Java2 adalah generasi ke dua dari java platform (generasi pertama adalah Java Development Kit). Platform java memiliki tiga buah edisi yang berbeda yaitu: J2EE (Java2 Enterprice Edition), J2SE (Java2 Second Edition) dan J2ME (Java2 Micro Edition). J2ME yang merupakan bagian dari J2SE adalah program java yang khusus digunakan untuk membuat aplikasi di mobile device seperti handphone, PDA, dll. Keunggulan J2ME adalah kemampuannya berjalan diperangkat yang memiliki memory yang relatif kecil. Keterbatasan J2ME sangat tergantung pada perangkat yang digunakan, terutama jika diaplikasikan di handphone, bisa dari segi merk, kemampuan dan dukungannya terhadap J2ME. Pada J2ME terdapat dua konfigurasi yaitu CLDC (Connected Limited Device Configuration) untuk perangkat kecil dan CDC (Connected Device Configuration) untuk perangkat yang lebih besar.Fakultas Teknologi Informasi Universitas Budi Luhur

Pendahuluan

J2ME terdapat 2 buah profile, yaitu MIDP (Mobile Information Device Profile) dan Foundation Profile. MIDP adalah spesifikasi dari sebuah profil J2ME. MIDP memiliki lapisan di atas CLDC, API tambahan untuk daur hidup aplikasi, antarmuka, jaringan dan penyimpanan persistensi. MIDlet adalah aplikasi yang ditulis untuk MIDP. Aplikasi MIDlet adalah bagian dari kelas javax.microedition.midlet.MIDlet yang didefinisikan pada MIDP. MIDlet berupa sebuah kelas abstrak yang merupakan sub kelas dari bentuk dasar aplikasi sehingga antar muka antara aplikasi J2ME dan aplikasi manajemen pada perangkat dapat terbentuk. MIDlet terdiri dari dari beberapa methode yang harus ada yaitu constructor(), protected void startApp() throws MIDletStateChangeException, protected void pauseApp() , protected void destroyApp() throwhs MIDletStateChangeException.

Fakultas Teknologi Informasi Universitas Budi Luhur

Daur Hidup MIDletkonstruktor MIDlet memanggil pauseApp() MIDlet memanggil startApp() jedah MIDlet memanggil pauseApp() untuk terminasi terminasi aktif

Fakultas Teknologi Informasi Universitas Budi Luhur

Dalam implementasinya, MIDlet memiliki struktur direktori sebagai berikut:

src menyimpan source code untuk MIDlet dan kelas lain yang diperlukan res menyimpan suber daya yang diperlukan seperti gambar icon lib menyimpan file JAR atau ZIP yang berisi library tambahan yang dibutuhkan bin menyimpan file JAR, JAD, dan file manifest yang berisi muatan komponen MIDlet.Fakultas Teknologi Informasi Universitas Budi Luhur

J2ME Wireless Toolkit

J2ME Wireless Toolkit (WTK) adalah emulator (meniru kerja ponsel) aplikasi J2ME untuk small device. Oleh sebab itu aplikasi yang berjalan di emulator belum tentu dapat berjalan di device yang sebenarnya, tergantung pada kemampuan dan kapasitas device yang digunakan. J2ME WTK berbasiskan pada CLDC (Connected Limited Device Configuration) dan MIDP (Mobile Information Device Profile). J2ME WTK dapat di-download di http://java.sun.com/j2me. Untuk menjalankan program, terlebih dahulu harus menginstall JDK (Java Development Kit) dan Java Wireless Toolkit pada komputer, kemudian buka All Program J2ME Wireless Toolkit Ktoolbar hingga muncul jendela seperti gambar berikut:

Fakultas Teknologi Informasi Universitas Budi Luhur

Untuk membuat project aplikasi J2ME, klik New Project, lalu isikan nama project dan nama kelas MIDlet, lalu klik tombol Create Project. Seteleh project selesai dibuat maka pada direktori install/apps atau C:/WTK22/apps akan terbentuk sebuah direktori dengan nama yang sama dengan nama project yang baru saja dibuat. Di dalam direktori tersebut terdapat beberapa direktori diantaranya yaitu bin, lib, res dan src, serta sebuah file project.properties yang menyimpan setting MIDlet.

NamaProject NamaKelas

Fakultas Teknologi Informasi Universitas Budi Luhur

Setting Project Aplikasi J2ME

Setting dapat dilakikan di KToolbar. Klik setting untuk melakukan setting akan muncul jendela seperti gambar di bawah, jika ingin menggunakan settingan standar klik Ok:

Fakultas Teknologi Informasi Universitas Budi Luhur

API SelectionAPI / Spesifikasi Mobile Media API (MMAPI) Wireless Messaging API (WMAPI) Web Service Acces for J2ME PDA Profile for J2ME Fungsi API Keperluan pengaksesan multimedia Pengiriman pesan Menyediakan akses standar dari J2ME ke web server Mendefinisikan profile dengan API standar untuk perangkat sejenis PDA Spessifikasi yang berhubungan dengan bluetooth,pengiriman object dan Service Discovery Protocol Berhubungan dengan pepbuatan grafik 3 dimensi

Bluetooth/OBEX (Object Excange) for J2ME

Mobile 3D graphics for J2ME

Fakultas Teknologi Informasi Universitas Budi Luhur

Required dan Optional

Tab required dan optional merupakan setting yang berisi atribut MIDlet

Fakultas Teknologi Informasi Universitas Budi Luhur

User Defined

Tab User Defined digunakan untuk mendefinisikan properti yang biasanya digunakan untuk pengaksesan sumber daya dalam aplikasi J2ME. Untuk menambahkan properti klik Add lalu masukkan key dan value.

Fakultas Teknologi Informasi Universitas Budi Luhur

MIDlets

Tab MIDlets berfungsi untuk mendefinisikan nama MIDlet, nama kelas utama aplikasi, dan icon aplikasi yang diisi dengan nama file icon yang akan digunakan, file icon diletakkan dalam direktori res.

Fakultas Teknologi Informasi Universitas Budi Luhur

Built and Run

Tombol Built digunakan untuk mengkompilasi program. Setelah proses kompilasi selesai, akan terbentuk beberapa direktori baru di antaranya :

class kumpulan file .class hasil kompilasi setelah dipreverifikasi tmpclasses kumpulan file .class sebelum dipreverifikasi Tmplib menyimpan copy file dari file JAR dan ZIP yang berada pada direktori lib dimana didalamnya telah dikonversi menjadi bentuk yang telah dipreverivikasi.

Setelah proses kompilasi selesai, klik tombol Run untuk menjalankan aplikasi.Fakultas Teknologi Informasi Universitas Budi Luhur

Program Pertama

Jalankan J2ME Wireless Toolkit KToolbar Klik Create Project, lalu ketikkan HelloWord di Project Name dan Midlet Class Name. Akan muncul window untuk melakukan setting, klik Ok untuk settingan Standard. Buka editor (misalnya: JCreator, notepad, dll), lalu ketikkan program di slide berikut. Simpan program tersebut dengan nama HelloWord.java dan simpan di C:/WTK22/apps/HelloWord/src/ Kompile program dengan meng-klik tombol Build pada KToolbar, jika tidak ada error, lanjutkan dengan meng-klik tombol Run . Maka akan muncul Emulator handphone, klik keypad Launch pada emulator. Untuk keluar dari prorgam klik tombol keypad exitFakultas Teknologi Informasi Universitas Budi Luhur

HelloWordimport javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class HelloMIDlet extends MIDlet implements CommandListener { private Form mMainForm; public HelloMIDlet(){ mMainForm = new Form("Hello World"); mMainForm.append(new StringItem(null, "Hello Teman Teman Budiluhur")); mMainForm.addCommand(new Command("Exit", Command.EXIT,0)); mMainForm.setCommandListener(this); } public void startApp() { Display.getDisplay(this).setCurrent(mMainForm); } public void pauseApp() {} public void destroyApp(boolean unconditional){} public void commandAction(Command c, Displayable s) { notifyDestroyed(); } }Fakultas Teknologi Informasi Universitas Budi Luhur

Fakultas Teknologi Informasi Universitas Budi Luhur

Komponen-komponen J2MEDisplay Displayable Screen Canvas Graphics Font Command List Alert Ticker TextBox Form Item TextField ChoiseGroup DateField Gauge Image ImageItem StringItem CustomItemFakultas Teknologi Informasi Universitas Budi Luhur

Display

Display merupakan objek yang merepresentasikan pengelola layar pada perangkat. Pada sebuah MIDlet hanya terdapar sebuah objek Display. Display menyediakan methode untuk menggambar dan menampilkan elemen UI grafis pada layar. Display juga menyediakan methode untuk mengetahui property layar pada perangkat, apakah perangkat mendukung warna atau tidak. Pada library J2ME, objek Display terdapat pada kelas javax.microediton.lcdui.Display;

Fakultas Teknologi Informasi Universitas Budi Luhur

Displayable

Adalah kelas abstrak dari user interface. Memiliki dua sub kelas yakni :

Methode void addCommand(Comma nd cmd) void removeCommand(Co mmand cmd)

Keterangan Menambahkan objek command

Canvas : sebagai antarmuka level rendah Screen : sebagai antarmuka level tinggi

Menghapus Objek Command dari Displayable

Suatu MIDlet boleh terdapat lebih dari satu objek Dislayable, namun pada satu saat hanya dapat ditampilkan satu buah objek Displayable oleh objek Display. Terdapat pada kelas javax.microedition.lcdui.Displa yable;

void setCommandListener( CommandListener 1)

Menambahkan CommandListener

boolean isShown()

True jika Displayable dapat ditampilkan

Fakultas Teknologi Informasi Universitas Budi Luhur

Screen

Adalah kelas di atas semua user interface level tinggi (superclass). Didefinisikan pada library J2ME javax.microediton.lcdui.Screen; Methode String getTitle() void setTitle(String str) Ticker getTicker() void setTicker(Ticker ticker) Keterangan Mengembalikan nilai title Mengeset Title Screen Mengembalikan ponter ticker Mengeset Ticker pada screen

Fakultas Teknologi Informasi Universitas Budi Luhur

Canvas

Merupakan sub kelas dari Displayable yang menggunakan UI level rendah. Semua elemen yang akan ditampilkan harus dipasang pada Canvas dengan menggunakan objek Graphics. Canvas mempunyai methode paint(Graphics g) yang akan dipanggil setiap kali Canvas terbentuk dan methode repaint() dipanggil.Methode Int getWidth() Int getHeight Abstract void paint(Graphics g) Final void repaint() Final void repaint(int x, int y, int width, int height) Void setFullScreenMode(boolean mode) Keterangan Lebar canvas Tinggi canvas Menggambar canvas menggunakan graphics Menggambar ulang canvas Menggambar ulang canvas pada wilayah tertentu Satu layar penuh

Fakultas Teknologi Informasi Universitas Budi Luhur

Graphics

Adalah objek yang digunakan untuk menggambarkan gambar, maupun string pada layar. Akan dipanggil otomatis saat objek canvas terbentuk Konstanta Graphics.LEFT Graphics.HCENTER Graphics.RIGHT Graphics.TOP Graphics.BUTTOM Graphics.VCENTER Keterangan Paling kiri horisontal Center horisontal

Fakultas Teknologi Informasi Universitas Budi Luhur

Methode GraphicsVoid translate(int x, int y) Int getTranslateX() Int getTranslateY() Void setClip(int x, int y, int width, int height) Void clipRect(int x, int y, int width, int height) Int getClipX() Int getClipY() IntGetCliptHeight() IntGetClipWidth() Memindahkan titik origin 0,0 ke x, y Nilai koordinat x setelah translasi Nilai koordinat y setelah translasi Mengatur wilayah clip Mengiris wilayah seluas x X y Koordinat x clip Koordinat y clip Panjang clip Lebar clipFakultas Teknologi Informasi Universitas Budi Luhur

Methode GraphicsMethode Void setColor(int RGB) Keterangan Warna dengan kombinasi RGB Void setColor(int red, int green, int Warna dengan spesifikasi blue) komponen RGB Int getColor() Int getRedComponent() Int getGreenComponent() Int getBlueComponent() Void setGrayScale(int value) Int getGrayScale() Nilai warna dalam integer Nilai komponen merah Nilai komponen hijau Nilai komponen biru Mode warna grayScale Nilai warna grayScale

Fakultas Teknologi Informasi Universitas Budi Luhur

Font

Digunakan untuk antar muka level rendah (spt canvas) Digunakan untuk mendefinisikan String atau karakter ke layarMode STYLE_BOLD STYLE_ITALIC STYLE_UNDERLINED STYLE_PLAIN Jenis(face) FACE_MONOSPACE FACE_PROPORTION AL FACE_SYSTEM Ukuran SIZE_LARGE SIZE_SMALL SIZE_MEDIUM

Fakultas Teknologi Informasi Universitas Budi Luhur

Methode FontMethode Static Font getFont(int face, int style, int size) Static Font getDefaultFont() Int getFace() Int getStyle() Int getSize() Boolean isPlain() Boolean isBold() Boolean isItalic() Boolean isUnderlined() Int getHeight() Int getBaseLinePosotion() Int charWidth() Keterangan Mengembalikan nilai font baru Nilai font system Jenis Font Style Ukuran True jika yg digunakan adalah plain True jika style tebal True jika style miring True jika style garis bawah Nilai tinggi Kenaikan Font dari garis dasar Tinggi font

Fakultas Teknologi Informasi Universitas Budi Luhur

TextBox

Adalah sebuah objek yang ditujukan agar user dapat memasukkan text dan mengeditnya. Merupakan sub kelas dari ScreenKeterangan Membuat textbox dengan nama title, text text ukuran maxSize dan batasan constarints Menghapus karakter mulai dari karakter ke offset sepanjang length Menambahkan String src pada posisi position 1 Mengganti isi textbox pada index ke offset (mulai dari 0), sepanjang length dengan data

Methode TextBox(String title, String text, int maxSize, int constraints) Void delete(int offset, int length)

Void insert(String src, int position) Void setChars(char[] data, int offset, int length)

Fakultas Teknologi Informasi Universitas Budi Luhur

Methode TextBoxMethode Int getChars(char[] data) String getString() Void setString(String text) Int getConstraints() Void setConstraints(int constraints) Int getMaxSize() Int setMaxSize(int maxSize) Int getCaretPosition() Int size() Keterangan Memasukkan text pada textbox ke array data Mengembalikan text pada texbox Mengatur isi textbox Mengembalikan nilai batasan Mengatur batasan (constraints) Mengembalikan ukuran maksimal karakter pada textbox Mengatur ukuran karakter Mengembalikan nilai pososi kursor Mengembalikan jumlah karakterFakultas Teknologi Informasi Universitas Budi Luhur

Merupakan halaman untuk menginput data. Bisa terdiri dari komponen-komponen yang disebut item. Pengaksesan item-item dapat dilakukan dengan menggunakan index.Methode Form(String title) Form(String title, item[] item) Int append(Image img) Int append(Item item) Int append(String str) Void delete(int item) Void insert(int itemNum, Int item) Item get(int itemNum) Void set(int itemNum, Item item) Void setItemSetListener(ItemSetListener iListener) Int size() Keterangan Membuat form dengan nama title Membuat form dg nama title, dan elemen item Menambahkan image Menambahkan item Menambahkan string Menghapus item Menambah item dengan index itemNum Mengembalikan item dengan index itemNum Mengganti item dg index itemNum dg item baru Menambah item listener pada form Mengembalikan jumlah item pada form Fakultas Teknologi Informasi Universitas Budi Luhur

Form

Item

Adalah kelompok dari elemen grafik yang dapat ditambahkan ke form (ImageItem, StringItem, TextField, DateField, ChoiseGroup dan Gauge). Komponen-komponen yang dapat dimasukanMethode Form String getLabel() Void setLabel(String label) Tipe Item Item.BUTTON Item.HYPERLINK Item.PLAIN Keterangan Mengembalikan nilai label Mengeset label item Keterangan Item ditampilkan sebagai button Item ditampilkan sebagai hyperlink Item ditampilkan secara normalFakultas Teknologi Informasi Universitas Budi Luhur

TextField

Adalah sebuah objek untuk menginputkan text. Merupakan sub kelas dari Item Mempunyai batasan : TextField.ANY (Mengijinkan semua inputan karakter) TextField.EMAILADDR (hanya mengijinkan alamat inputan email) TextField.NUMERIC (hanya mengijinkan inputan numeric) TextField.PHONENUMBER (hanya mengijinkan nomor telepon) TextField.URL (hanya mengijinkan alamat URL) TextField.PASSWORD (biasanya gabungan TextField.PASSWORD | TextField.ANY atau TextField.PASSWORD | TextField.NUMERIC)Fakultas Teknologi Informasi Universitas Budi Luhur

Methode TextFieldMethode Int getChars(char[] data) String getString() Void setString(String text) Int getConstraints() Void setConstraints(int constraints) Int getMaxSize() Int setMaxSize(int maxSize) Int getCaretPosition() Int size() Keterangan Memasukkan text pada textbox ke array data Mengembalikan text pada texbox Mengatur isi textbox Mengembalikan nilai batasan Mengatur batasan (constraints) Mengembalikan ukuran maksimal karakter pada textbox Mengatur ukuran karakter Mengembalikan nilai pososi kursor Mengembalikan jumlah karakter

Void TextField(String label,String text, int Membuat textfield dengan label label, maxSize, int conctraints ) text text, ukuran maksimal, batasan) Void delete(int offset, int length) Void insert(String src, int position) Menghapus text dari offset s.d length Menambah string pada posisi position

Fakultas Teknologi Informasi Universitas Budi Luhur

Fakultas Teknologi Informasi Universitas Budi Luhur