Modul PSB 6 J2ME LLUI

  • 591 views
Uploaded on

Dosen : yasdinul Huda

Dosen : yasdinul Huda

More in: Education , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
591
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
20
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. MODUL PSB_6J2ME (Java 2 Micro Edition)A. Tujuan :1. Memahami event handling level rendah dalam MIDP2. Menggambar dan menampilkan teks, line, Rectangle, Rounded Rectangle, Arc dan Triangle3. Menentukan warna, huruf, dan coretan untuk operasi menggambar menggunakan subclasscanvasB. Dasar Teori1. Event Handling Level rendah dalam MIDPPada latihan sebelumnya, kita telah membahas tentang bagaimana cara membuat userinterface level tinggi seperti list, form, dan field input. Mereka bersifat user interface level tinggidan programmer tidak perlu khawatir tentang menggambar pixel layar atau mengatur posisi tekspada layar. Semua program telah menetapkan jenis komponen dan label elemen. Sistem tersebutakan menangani gambar pada layar, scrolling dan layout.Satu kelemahan ketika hanya menggunakan komponen user interface level tinggi adalahprogram tidak memiliki kendali penuh sebuah layar. Ada saat dimana kita ingin menggambarsebuah garis, gambar beranimasi dan mempunyai kendali untuk mengatur pixel pada layar.Pada modul ini, kita akan berhadapan langsung dengan layar. Kita akan mempelajari classCanvas, dimana akan menjadi pendukung dari proses menggambar kita. Kita juga akanmenyelidiki ke dalam class Graphic, dimana memiliki metode untuk menggambar garis, kotak,sudut, dan teks. Kita juga akan membahas huruf, warna dan gambar.2. CanvasCanvas adalah subclass dari Displayable. Itu adalah sebuah class abstrak yang harus di-extend sebelum sebuah aplikasi dapat menggunakan fungsi-fungsi yang ada. Canvas dapatdigabungkan dengan subclass Displayable level tinggi yaitu Screen. Program dapat pindah ke dandari Canvas dan Screen.Canvas menggambarkan metode-metode event handling kosong. Aplikasi harusmengesampingkan mereka untuk handle event. Class Canvas menggambarkan sebuah metodeabstrak yang disebut paint(). Aplikasi menggunakan class Canvas harus menyediakan sebuahimplementasi untuk metode paint().Canvas memiliki kemampuan berinteraksi dengan pengguna melalui mekanisme eventhandling. Event handling ini dapat berupa antisipasi terhadap key event, game action dan pointerevent. Perangkat komunikasi, telepon seluler ataupun PDA, memiliki resolusi tampilan yangsangat beragam.
  • 2. Untuk mengetahui dimensi Canvas terkait dengan tampilan perangkat mobile, disediakanmethod getWidth() dan getHeight(). MIDP 2.0 menyediakan fungsionalitas full screen mode.Tetapi tidak semua perangkat mobile mendukung hal ini. Setting mode ini dapat dilakukandengan memanggil setFullScreenMode(boolean).3. Sistem KoordinatGambar 1 menampilkan sistem koordinat dari Canvas adalah berbasis nol. Koordinat x dany dimulai dengan nol. Pojok kiri atas dari Canvas berkoordinat (0,0). Koordinat x bertambah darikiri ke kanan. Sedangkan koordinat y bertambah dari atas ke bawah. Metode getWidth() dangetHeight() mengembalikan nilai lebar dan tinggi berturut-turut.Gambar 1. Sistem KoordinatPojok kanan bawah pada layar memiliki koordinat (getWidth()-1,getWidth()-1). Setiapperubahan yang terjadi pada ukuran yang diberikan untuk area menggambar pada Canvasdilaporkan kepada aplikasi oleh metode sizeChanged(). Ukuran yang tersedia pada Canvasmungkin saja berubah jika ada pergantian antara mode layar full dan normal atau penambahandan pengurangan sebuah komponen seperti Command.Inti dari program ini adalah metode paint(). Set pertama dari pemanggilan metode adalahmembersihkan layar.g.setColor(255, 255, 255 );g.fillRect(0, 0, getWidth(), getHeight());
  • 3. Graphics memiliki method-method untuk menggambar dan mengisi bentuk-bentuk yangsederhana.Tabel 1. Method untuk menggambar bentuk‐ bentuk sederhana4. Event KeySubclass dari Canvas dapat merespon sebuah event tombol dengan metode-metode sebagaiberikut :Canvas mendefinisikan kode tombol ini : KEY_NUM0, KEY_NUM1, KEY_NUM2,KEY_NUM3, KEY_NUM4, KEY_NUM5, KEY_NUM6, KEY_NUM7, KEY_NUM8,KEY_NUM9, KEY_STAR, and KEY_POUND.Untuk mendapatkan “String” nama sebuah kunci, gunakan metode getKeyName(intkeyCode).C. PercobaanGambar 2. File Percobaan Latihan 1 - 3
  • 4. Latihan 1: Menggambar dan menampilkan teks, line, Rectangle, Rounded Rectangle, Arc danTriangleLatihan 1 menjelaskan cara menggambar/menampilkan teks, garis, persegi panjang, persegipanjang bulat, busur, segitiga dalam satu aplikasi kecil. Mengacu pada semua latihan padamodul sebelumnya, dalam latihan 1 kita masih menerapkan beberapa method dan variabeldan menggabungkannya ke dalam sintak aplikasi canvas berikut. Di sini kita membuat Listjenis implisit disebut CanvasDrawList dan didefinisikan semua elemen ke dalamnya.Penggunaan kelas Canvas untuk menarik semua grafik atau gambar yang ditampilkan padaemulator sebagai berikut:
  • 5. Gambar 3. Hasil Percobaan Latihan 1Tampilan gambar di atas dapat dipanggil melalui class canvas dalam aplikasi dengansintaks berikut:class CanvasDraw extends Canvas implements CommandListenerDalam sintaks ini dapat dilihat bahwa kita menciptakan sebuah kelas yang disebutCanvasDraw yang meng-extends kelas canvas melalui kata kunci "extends".Source Code CanvasDrawExample.java
  • 6. Latihan 2: Menggambar teks dengan class CanvasBoxTextBahasa pemrograman J2ME Class Canvas pada Latihan 2 digunakan untuk melukis danmenggambar diagram. Menggunakan class canvas yang sama kita akan menggambar sebuahkotak di sekitar teks sebagai class MIDlet teks, disebut CanvasBoxText yang meng extendsclass canvas yang telah ditetapkan untuk menggambar kotak. Kode berikut menggunakanmetode yang berbeda untuk mendapatkan nilai-nilai sebagai berikut:o int width = getWidth();o int height = getHeight();o g.setColor(255, 0, 0);o g.fillRect(0, 0, width, height);o g.setColor(0, 0, 255);o String sandeep = "SANDEEP";o int w = font.stringWidth(sandeep);o int h = font.getHeight();o int x = (width - w) / 2;o int y = height / 2;o g.setFont(font);o g.drawString(sandeep, x, y, Graphics.TOP | Graphics.LEFT);o g.drawRect(x, y, w, h);Setelah menjalankan contoh Anda akan mendapatkan output seperti di bawah ini ..Gambar 4. Hasil Percobaan Latihan 2 BoxTextCanvasDalam output Anda dapat dengan mudah mengetahui teks "SANDEEP" yang telahditampilkan dalam kotak. Seperti dinyatakan sebelumnya, kita membutuhkan kelas kanvasuntuk menggambar seperti jenis grafis dalam aplikasi J2ME.J2ME Source Code "BoxTextCanvas.java"
  • 7. Text Example in J2MELatihan 3: Menggambar Arc pada lokasi berbedaLatihan 1 menjelaskan contoh menggambar Arc (busur), menggambar lengkungan padalayar. Dalam Latihan 3 akan menunjukkan cara menggambar busur di lokasi yang berbeda.Metode yang digunakan dalam aplikasi ini adalah sebagai berikut:o g.setColor(255, 162, 117);o g.fillRect(0, 0, width, height);o g.setColor(0, 0, 255);o g.fillArc(0, 0, width/2, height/2, 0, 90);o g.setStrokeStyle(Graphics.DOTTED);o g.setColor(0xffff00);o g.drawRect(0, 0, width/2, height/2);
  • 8. o g.setStrokeStyle(Graphics.SOLID);o g.setColor(0, 0, 255);o g.fillArc(width/2, 0, width/2, height/2, 0, -90);o g.setStrokeStyle(Graphics.DOTTED);o g.setColor(0xffff00);o g.drawRect(width/2, 0, width/2, height/2);o g.setStrokeStyle(Graphics.SOLID);o g.setColor(0, 0, 255);o g.fillArc(0, height/2, width, height/2, -90, -180);o g.setStrokeStyle(Graphics.DOTTED);o g.setColor(0xffff00);o g.drawRect(0, height/2, width, height/2);Setelah menjalankan contoh Anda akan mendapatkan output seperti di bawah ini ..Gambar 5. Hasil Percobaan Latihan 3 Arc pada lokasi berbeda
  • 9. Arc MIDlet Example.D. Permasalahan1. Perhatikan perbedaan Latihan 1 dengan Latihan 2 dan 3. “Pada Latihan 1 menerapkanCommandListener sedangkan Latihan 2, 3 tidak menerapkan”… Jelaskan alasannya!2. Implementasikan CommandListener pada Latihan 2 dan Latihan 3, serta tambahkan beberapaelemen displayable screen pada kedua latihan tersebut!.E. Laporan ResmiAnalisa program anda di atas (Latihan 1 dan Permasalahan) dan buat kesimpulan/komentariuntuk masing-masing konstruktor dan method yang ditampilkan pada Emulator.