Font

Semua pasti udah tau font, Sebuah font digunakan pada antarmuka pemakai (user interface) level rendah. Font digunakan untuk mendefinisikan mode sebuah karakter atau string ke layar perangkat mobile. Penerapan font ini hanya dapat dilakukan di antarmuka pemakai level rendah (low level GUI) seperti pada canvas. Berikut merupakan atribut font dalam J2ME

Mode (style)

  • STYLE_BOLD
  • STYLE_ITALIC
  • STYLE_UNDERLINED
  • STYLE_PLAIN

Jenis (Face)
  • FACE_MONOSPACE
  • FACE_PROPORTIONAL
  • FACE_SYSTEM

Ukuran (Size)
  • SIZE_LARGE
  • SIZE_SMALL
  • SIZE_MEDIUM

Metode-metode yang terdapat di library font (javax.microedition.lcdui.Font) adalah sebagai berikut
  1. static font getFont(int face,int style, int size)
  2. mengembalikan nilai font baru dengan spesifikasi masukan
  3. static font getDefaultFont()
  4. mengembalikan nilai font pada sistem
  5. int getFace()
  6. mengembalikan jenis (face) font yang digunakan
  7. int getStyle()
  8. mengembalikan nilai kombinasi mode (style) atribut font menjadi sebuah nilai integer
  9. int getSize()

  10. mengembalikan nilai ukuran font
  11. boolean isPlain()

  12. mengembalikan nilai true apabila mode yang digunakan adalah plain
  13. boolean isItalic()

  14. mengembalikan nilai true apabila mode yang digunakan adalah italic
  15. boolean isBold()

  16. mengembalikan nilai true apabila mode yang digunakan adalah bold
  17. boolean isUnderlined()

  18. mengembalikan nilai true apabila mode yang digunakan adalah underlined
  19. int getHeight()

  20. mengembalikan nilai tinggi font jika diukur dari garis dasar
  21. int getBaselinePosition()

  22. mengembalikan nilai kenaikan font diukur dari garis dasar (baseline) sampai bagian atas karakter
  23. int charWidth(char ch)

  24. mengembalikan nilai tinggi dari katakter tertentu
  25. int charsWidth(char[] ch, int offset, int length)

  26. mengembalikan nilai tinggi kumpulan karakter (char[] ch) dimulai dari index (offset) sepanjang length
  27. int stringWidth(String str)

  28. mengembalikan nilai tinggi string str
  29. int substringWidth(String str, int offset, int length)

  30. mengembalikan nilai tinggi sub string str dimulai dari index (offset) sepanjang length.


nah semua itu adalah metode-metode yang ada library font. Sekarang kalo yang ini untuk contoh penerapan font.

fontPertama.java

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

public class fontPertama extends MIDlet {
Display display;
private canvasUtama canvasutama;

public fontPertama() {
display = Display.getDisplay(this);
}

public void startApp() {
canvasutama = new canvasUtama(this, display);
display.setCurrent(canvasutama);
}

public void pauseApp() {
}

public void destroyApp(boolean unconditional) {
}

public void keluarMidlet() {
notifyDestroyed();
destroyApp(false);
}
}


canvasUtama.java

import javax.microedition.lcdui.*;

class canvasUtama extends Canvas {
private Display display;
private fontPertama midlet;

public canvasUtama(fontPertama midlet, Display display) {
this.midlet = midlet;
this.display = display;
}

protected void paint (Graphics g) {
g.setColor (90,90,90);
g.setFont (Font.getFont (Font.FACE_SYSTEM, Font.STYLE_BOLD,Font.SIZE_SMALL));
g.drawString("Font System Bold Small",10,50,Graphics.TOP | Graphics.LEFT);
g.setColor (60,60,60);
g.setFont (Font.getFont (Font.FACE_PROPORTIONAL, Font.STYLE_ITALIC,Font.SIZE_MEDIUM));
g.drawString("Font Proportional Italic Medium",10,80,Graphics.TOP | Graphics.LEFT);
g.setColor (30,30,30);
g.setFont (Font.getFont (Font.FACE_SYSTEM, Font.STYLE_UNDERLINED,Font.SIZE_LARGE));
g.drawString("Font System Underlined Large",10,110,Graphics.TOP | Graphics.LEFT);
g.setColor (0,0,0);
g.setFont (Font.getFont (Font.FACE_MONOSPACE, Font.STYLE_PLAIN,Font.SIZE_LARGE));
g.drawString("Font Monospace Plain Large",10,140,Graphics.TOP | Graphics.LEFT);
}

protected void keyPressed(int keyCode){
if (keyCode == -5){
midlet.keluarMidlet();
}
}
}



na... itu kodenya kemudian di build ya... dan jalankan. hasilnya seperti screenshoot di bawah ini

Read More......

Pemrograman GUI

Fungsi-fungsi untuk pembuatan antarmuka berbasis window (GUI) yang disediakan oleh MIDP terbagi atas dua level yaitu high level dan low level. Semua untuk antarmuka berbasis window ini ditangani oleh paket javax.microedition.lcdui

  1. HIGH LEVEL API UNTUK PEMBUATAN GUI

  2. kelas-kelas yang menyediakan fungsionalitas untuk pembuatan GUI pada java , MIDP ada paket javax.microedition.lcdui. Pada paket tersebut ada tiga interface dan 21 kelas.

    DISPLAY

    Untuk menampilkan sesuatu pada layar, misalnya tulisan, form, dan sebagainya harus mengakses display dari perangkat genggam yang dapat diakses dengan kelas javax.microedition.lcdui.Display. Kelas display merupakan kelas yang menyediakan fungsi-fungsi untuk manajemen layar pada perangkat
    genggam, menampilkan objek screen dan menyediakan informasi tentang property dari perangkat genggam yang digunakan. Akses ke layar dapat diacu dengan fungsi statistik getDisplay() pada kelas Display.

    public static Display getDisplay(MIDlet m)


    Penggunaan fungsi ini umumnya dilakukan di dalam fungsi startApp() dimana sebuah MIDlet akan menjadi aktif semacam ini:

    public class yourMidletname extends MIDlet{
    Display display = null;
    public yourMidletname() {
    }
    public void startApp() {
    display = Display.getDisplay(this);
    }
    public void pauseApp() {
    }
    public void destroyApp(boolean unconditional) {
    }
    }


    Setelah mendapatkan objek Display dengan fungsi getDisplay() tersebut, kemudian dapat menggunakan fungsi setCurrent() untuk menentukan objek screen mana yang akan ditampilkan.

    public void setCurrent(Alert x, Displayable yourScreen)


    Fungsi-fungsi lain dari kelas javax.midroedition.lcdui.Display adalah sebagai berikut:
    1. public Displayable getCurrent()
    2. Menghasilkan objek screen-Displayable yang sedang ditampilkan di layar.
    3. public boolean isColor()
    4. Menghasilkan nilai true jika perangkat genggam yang digunakan mendukung warna atau nilai false jika hanya mendukung gray scale.


    SCREEN

    Objek screen menyediakan fungsionalitas untuk interaksi antara pengguna (user) dengan perangkat genggam. Objek screen memiliki 4 jenis objek turunan yang umum digunakan, yaitu Text Box, Alert, List dan Form. Kelas javax.microedition.lcdui.Screen merupakan kelas abstrak dengan dua karakteristik, yaitu objek screen dapat memiliki title dan ticker.Fungsi-fungsi dalam kelas javax.microedition.lcdui.Screen yang digunakan untuk memanajemen properti title dan ticker adalah:
    1. public void setTitle(String s)
    2. Untuk menciptakan property title dari objek screen
    3. public String getTitle()
    4. Menghasilkan string properti title dari objek screen.
    5. public void setTicker(Ticker x)
    6. Untuk menghasilkan properti ticker dari objek screen.
    7. public Ticker getTicker()
    8. Menghasilkan objek ticker yang sedang aktif pada objek screen.


    FORM

    Form memungkinkan untuk menampilkan komponen GUI semacam daftar pilihan, input teks (text box) dalam satu layar. Form diimplementasikan oleh kelas javax.microedition.lcdui.Form. Form dapat menampung komponen2 yang disebut item dalam satu layar, yaitu item tersebut adalah text fields, images, date fields, gauge dan choice group. Item2 tersebut merupakan implementasi dari kelas turunan jacax.microedition.lcdui.Item.

  3. LOW LEVEL API UNTUK PEMBUATAN GUI

  4. Hal2 lain untuk keperluan games, akan banyak dibutuhkan fungsi2 untuk menggambar dan mengolah sesuatu yang levelnya sudah berbentuk pixel2 gambar. Paket javax.microedition.ldcui juga menyediakan fungsi2 yang memungkinkan menggambar garis, titik dan elemen2 dasar lain menggunakan kelas Canvas.

Read More......

Programming J2ME di Ubuntu Hardy

wah..... hikz3...ternyata dapat juga' melakukan pemrograman J2ME di ubuntu. Emang siy.. Ubuntu telah secara default menyertakan tool untuk development java yaitu java-gcj. Tetapi yaa... tu tadi si java-gcj tu bukan kluaran dari perusahaan besar Sun Microsystem ataupun Netbeans dan mungkin apakah dia bisa digabungkan dengan J2ME Wireless Toolkit..??. Jadi jika kita ingin memiliki java untuk programming mobile dari Sun ato yang lain...install ajah... ini q kasih liat caranya..


INSTALASI JDK

sebelumnya install dulu javanya (jdk) yang dapat didownload dari www.java.sun.com. Kalo aku pake netbeans yang ku install dari dvd repositori (dari www.repo.ugm.ac.id) dengan perintah

feri@feri-desktop:~$ sudo apt-get install netbeans



ato kalo yang download dari java.sun.com maka tinggal diinstall dengan perintah

feri@feri-desktop:~$ ./[nama_file_binary]



gitu... tunggulah sampe rampung..


INSTALASI J2ME WIRELESS TOOLKIT 2.5.2

na... setelah instalasinya rampung selanjutnya adalah dengan menginstall J2ME Wireless Toolkitnya ni langkah-langkahnya...

  1. Siapkan dulu master Wireless Toolkitnya (sun_java_wireless_toolkit-2_5_2-linux.bin) yang dapat didownload dari www.java.sun.com

  2. Setelah didownload lakukan instalasi dengan perintah ./[nama file] (dot slash),..

    feri@feri-desktop:~$ sudo ./sun_java_wireless_toolkit-2_5_2-linux.bin



  3. maka kemudian akan muncul aggreement seperti ini....


    Sun Microsystems, Inc. ("Sun") ENTITLEMENT for SOFTWARE

    Licensee/Company: Entity receiving Software.

    Effective Date: Date of delivery of the Software to You.

    Software: Sun Java Wireless Toolkit 2.5.2 for CLDC.

    License Term: Perpetual (subject to termination under the SLA).

    Licensed Unit: Software Copy.

    Licensed unit Count: Unlimited.

    Permitted Uses:

    1. You may reproduce and use the Software for Your own Individual, Commercial an
    d Research and Instructional Use only for the purposes of designing, developing,
    testing, and running Your and applications.

    .............................



    dan seterusnya jika anda ingin membaca kelanjutannya tekan enter tapi jika ingin segera melanjutkannya tekan q maka akan muncul pertanyaan seperti ini

    Do you agree to the above license terms? [yes or no]



    ketikkan "yes" (tanpa tanda kutip) kemudian enter

  4. Maka akan muncul pernyataan seperti ini

    No suitable Java interpreter was detected

    0) Specify a path to a Java interpreter directory.
    1) Cancel this installation.
    Select a choice [0-1]: 0



    isikan "0" kemudian tekah enter

  5. Kemudian Anda akan diminta untuk memasukkan path dimana JDK dari java itu diinstall (kalo pake netbeans di /usr/lib/jvm/java-6-openjdk/bin. Seperti ini pernyataannya

    This application requires Java 2 SDK, Standard Edition (1.5 or later). Enter a path to a Java 2 SDK (For example: /user/jdk1.5/bin). You can type "exit" to cancel installation.
    Enter a path to the Java 2 SDK: /usr/lib/jvm/java-6-openjdk/bin



    masukkan pathnya seperti itu..

  6. Kemudian anda akan diminta untuk menentukan dimana Anda akan menginstall J2ME Wireless Toolkitnya...

    Please enter a directory into which you would like to install the Sun Java(TM) Wireless Toolkit, 2.5.2 for CLDC.
    [ default is /home/feri/WTK2.5.2 ]:



    secara default Akan diinstall di /home/[user_login]/WTK2.5.2. Jika Anda ingin menginstall-nya disitu tinggal enter sedangkan ingin menginstal di tempat lain.. juga tinggal memasukkan pathnya....

  7. kemudian Anda akan diminta apakah Anda ingin mengecek update pilihlah no

    Check for Product Updates? [yes or no] no



  8. Maka kemudian Anda akan dihadapkan pada summary-nya seperti ini

    Setup has enough information to start copying the program files.
    Current Settings:
    Destination Directory
    /home/feri/WTK2.5.2/
    JVM Folder
    /usr/lib/jvm/java-6-openjdk/bin/
    Check for Program Updates
    Disabled

    Please choose one of the following options:
    0) Begin copying files if you are satisfied with the settings .
    1) Cancel the installation.
    Select a choice [0-1]: 0



    pilihlah "0" kemudian enter untuk memulai proses instalasinya

  9. Maka sistem akan mulai menginstall WTK-nya tunggulah hingga selesai....

    Extracting the installation files...
    Documentation for the Sun Java(TM) Wireless Toolkit
    2.5.2 for CLDC is in the file
    /home/feri/WTK2.5.2/index.html
    In order to start using the Sun Java(TM) Wireless Toolkit 2.5.2 for CLDC, please run
    /home/feri/WTK2.5.2/bin/ktoolbar



  10. Na.... Instalasi WTK selesai sekarang tinggal menjalankannya....

    feri@feri-desktop:~$/home/feri/WTK2.5.2/bin/ktoolbar



selamat..... Anda telah berhasil menginstallnya.... Selamat Ber-programming J2ME ria.....

Nah... sekarang jika Anda ingin membuat launcher di Desktop caranya gini....
klik kanan di desktop kemudian pilih Create Launcher... kemudian pada text Command masukkan path WTK-nya (/home/feri/WTK2.5.2/bin/ktoolbar) ... ganti icon... selesai dah......
ni... screensyutnya..........................


loading wtk......


jendela wtk...


wtk emulator.......

Read More......

Install Canon PIXMA iP1700 di Ubuntu 8.04

Wakakakakaa......suenengggggggg kaleeeeeee ternyata dapat juga menginstall printer canon PIXMA iP 1700-ku di ubuntu. Pertamasih bingung cari driver dimana yah.. untuk canon ini, mau pake turboprint bayar (kantong tipis kaleee) setelah cari-cari driver di mbah google ternya dapat juga drivernya dan dapat pake drivernya canon PIXMA iP2200 (dapat didownload disini). Driver ini juga dapat dipake di printer canon ip1700 ataupun ip1600. Langsung aja ya ini cara installnya.....

  1. setelah kamu download paket-paket yang dibutuhkan, letakkan paket-paket tersebut di satu direktory dan kemudian install paket tersebut, jika melalui terminal perintahnya..



    $ sudo dpkg -i bjfilter-2.6_1-1_i386.deb
    $ sudo dpkg -i libcnbj-2.6_0-1_i386.deb
    $ sudo dpkg -i pstocanonbj_3.3-1_i386.deb

  2. kemudian setelah itu selesai hidupkan printer canon ip1700 anda dan sambungkan ke komputer

  3. kemudian buka browser firefox anda dan ketikkan pada address bar http://localhost:631 dan anda akan dibawa ke jendela CUPS (common unix printing system) seperti pada gambar berikut...



    kemudian setelah itu klik add printer di halaman web tersebut

  4. Kemudian anda akan dihadapkan pada halaman Add printer seperti pada gambar berikut...



    kemudian isikan text box-text box pada halaman tersebut. Untuk name dapat diisikan ip1700, location dapat diisikan usb://canon/ip1700 dan description dapat diisikan canon ip1700

  5. kemudian setelah selesai klik continue untuk melanjutkannya dan anda akan dihadapkan pada halaman untuk memilih printer pilihlah “Canon iP1700 USB # 1 (Canon iP1700)” kemudian klik continue seperti gambar berikut..



  6. kemudian anda akan dihadapkan pada halaman model/driver, silakan pilihlah browse pada opsi "Or Provide a PPD File"



    dan anda akan dibawa ke jendela baru pilihlah di direktori /usr/share/cups/model dan kemudian pilihlah file "canonip2200.ppd"



    kemudian klik Add Printer

  7. maka anda akan dihadapkan pada halaman konfirmasi bahwa anda telah berhasil secara sukses menginstall canon pixma ip1700 anda seperti pada gambar berikut



  8. Kemudian anda akan dihadapkan pada jendela set printernya (kalo ini terserah Anda) seperti gambar berikut...


nah... selesai juga install printernya sekarang tinggal coba tuk ngeprint, pasti sudah bisa. Wakakaka horeeeee ternyata gue dapat ngeprint pake ubuntu...

Read More......

Mount Partisi NTFS dan FAT di Ubuntu 8.04

Mungkin bagi pengguna ubuntu berfikir gimana caranya untuk me-mount partisi windows (NTFS dan FAT) secara otomatis saat boot-up tanpa melalui menu places --> removable media. Na.. ini cara gimana untuk me-mount partisi-partisi NTFS atau FAT tersebut secara otomatis pada saat boot-up. Langkah-langkahnya sebage berikut

Untuk partisi FAT

  1. Asumsikan bahwa partisi FAT ada di /dev/sda1 (untuk melihat tabel partisi dapat digunakan perintah $ fdisk -l )
  2. buat direktori di /media untuk menampung file-file partisi (misalnya direktori "partisi_fat" maka buat di /media/partisi_fat) perintahnya

    $ sudo mkdir /media/partisi_fat



  3. ini yang paling penting dalam kita membuat partisi ter-mount saat boot-up. backup dulu filenya dengan perintah

    $ sudo cp /etc/fstab /etc/fstab_backup



  4. kemudian edit file /etc/fstab tersebut

    $ sudo gedit /etc/fstab



    kemudian tambahkan baris berikut di akhir berkas dari file fstab yang diedit

    /dev/sda1 /media/partisi_fat vfat iocharset=utf8,umask=000 0 0



    kemudian simpan berkas

Untuk partisi NTFS
  1. langkah-langkah yang digunakan sama, asumsikan bahwa partisi NTFS ada di /dev/sda2 dan buat direktori di /media (cara seperti di atas pada FAT)
  2. kemudian edit file fstab dan tambahkan baris berikut di akhir berkas file fstab tersebut

    /dev/sda2 /media/partisi_ntfs ntfs auto,umask=0002 0 0



    kemudian simpan berkas file tersebut

setelah itu buktikan bahwa partisi-partisi FAT dan NTFS tersebut sudah nongol di desktop ubuntu milikmu secara otomatis saat boot-up, sekian ....

Read More......

Apa itu Java 2 Micro Edition (J2ME)

Nah, sebelum mengenal apa itu j2me sebaiknya kenal dulu dengan apa itu java. Java menurut definisi dari Sun adalah sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer standalone atau pada lingkup jaringan. Java itu sendiri berdiri di atas mesin interpreter yang dikenal dengan nama Java Virtual Machine (JVM). JVM ini yang membaca bytecode file .class (hasil compile file .java). Bahasa Java itu sendiri merupakan sebuah bahasa multi platform yang artinya dapat digunakan di berbagai macam sistem operasi mulai dari Linux, Windows, dll. Oleh karena itu dikenal dengan istilah 'write once run everywhere' yang artinya program hanya ditulis sekali tetapi dapat dijalankan di berbagai platform tanpa mengubah kode program.

Java itu dibagi menjadi tiga

  1. Java 2 Standard Edition (J2SE) untuk pengembangan aplikasi desktop dan applet (aplikasi java di browser).
  2. Java 2 Enterprise Edition (j2EE) untuk pengembangan aplikasi server-side dengan mempergunakan EJBs (Enterprise Java Beans), aplikasi web dengan servlet dan JSP dan teknologi CORBA (Common Object Request Broker Architecture) dan XML (Extensible Markup Language).
  3. Java 2 Micro Edition (J2ME) untuk pengembangan aplikasi perangkat bergerak (mobile).

Nah sekarang saatnya masuk ke Java 2 Micro Edition (J2ME).....
J2ME yaitu bagian dari J2SE yang ditujukan untuk implementasi pada perangkat genggam yang tidak mampu mendukung secara penuh imlementasi menggunakan J2SE dan dirancang untuk dapat menjalankan program Java pada perangkat-perangkat seperti hand phone, PDA (Personal Digital Assistant), Palm, PocketPC, Smart-Phone hingga PDA-Phone yang tidak mempunyai karakteristik yang berbeda dengan komputer biasa misalnya kecilnya jumlah memory pada perangkat genggam.

Sebenernya pada dasarnya J2ME itu terdiri dari 3 bagian yaitu konfigurasi, profil dan paket-paket opsional, berikut penjelasannya.

  1. konfigurasi
    yaitu bagian yang berisi JVM dan beberapa library kelas lainnya. Ada dua jenis konfigurasi yaitu CDC (Connected Device Configuration) dan CLDC (Connected Limited Device Configuration).

  2. profile
    yaitu bagian perluasan dari konfigurasi artinya selain sekumpulan kelas yang ada di konfigurasi, terdapat juga kelas lain yang lebih spesifik yang didefinisikan di dalam profil. Oleh karena itu profil akan membantu secara fungsional dengan menyediakan kelas-kelas yang tidak terdapat di konfigurasi.

    profile yang paling populer dari Sun adalah sering disebut MIDP (Mobile Information Device Profile).

  3. paket-paket opsional
    yaitu paket tambahan yang dibutuhkan oleh aplikasi sehingga pada saat proses deployment paket-paket tersebut perlu didistribusikan sebagai bagian dari aplikasi yang bersangkutan. Perlu diingat bahwa paket-paket opsional tersebut bukan merupakan paket yang dibuat oleh perusahaan alat yang digunakan.

Read More......