Senin, 13 Mei 2013

TUGAS APLIKASI INTERNET RESUME DAN PROGRAM J2ME (Java Platform, Micro Edition)



Pengenalan Java

Java merupakan salah satu bahasa pemrograman yang dikeluarkan oleh Sun Microsystem. Dengan semboyan “write once run everywhere”, portabilitas Java merupakan salah satu kekuatan yang dimiliki oleh Java, yang memungkinkan Java dijalankan pada sistem operasi apapun. Selain itu kekuatan lain yang ditawarkan adalah keamanan aplikasi Java.

Hingga saat ini bahasa pemrograman Java terus mengalami peningkatan. Mula-mula diproduksi Java 1, yaitu yang biasa disebut JDK .
 Pada perkembangan selanjutnya Sun Microsystem memperkenalkan Java versi 1.2 atau yang lebih dikenal dengan Java 2 yang terdiri atas JDK dan JRE (Java Runtime Environtment). 

Pada Java 2 ini dibagi menjadi 3 kategori yaitu :

1. Java Standard Edition (J2SE)

Kategori ini digunakan untuk menjalankan dan mengembangkan aplikasi-aplikasi Java pada level PC (Personal Computer).

2. Java Enterprise Edition (J2EE)

Kategori ini digunakan untuk menjalankan dan mengembangakan aplikasi-aplikasi Java pada lingkungan enterprise.

3. Java 2 Micro Edition (J2ME)

Kategori ini digunakan untuk menjalankan dan mengembangkan aplikasi-aplikasi Java pada perangkat-perangkat semacam ponsel,PDA, dan Pocket PC.

Dari ketiga kategori diatas yang akan dibahas adalah Java 2 Micro Edition (J2ME).

  Pengenalan Java 2 Micro Edition

Java 2 Micro Edition dirancang untuk dapat menjalankan program Java pada perangkat-perangkat semacam ponsel dan PDA, yang memiliki jumlah memori dan kapasitas penyimpanan yang terbatas.

J2ME terdiri atas komponen-komponen, yaitu :
1. Java Virtual Machine :

Komponen ini digunakan untuk menjalankan program-program Java pada emulator.

2. Java API (Application Programming Interface) :

Komponen ini merupakan kumpulan library untuk menjalankan dan mengembangkan program Java pada perangkat yang ada.

3. Tools 

Emulator untuk pengembangan aplikasi Java. Untuk menjalankan Midlet, programmer tidak perlu memiliki dan mencobanya pada ponsel, cukup dengan emulator dari ponsel yang dapat dijalan pada PC.


Saat ini terdapat dua jenis aplikasi dari J2ME, yaitu :

1.Walled garden application, yaitu aplikasi yang berdiri sendiri, yang berjalan pada ponsel tanpa perlu mengakses sumber data eksternal melalui jaringan pembawa.

 Pentransferan data dapat digunakan Bluetooth, Infrared ataupun Kabel Data. Jenis aplikasi inilah yang dipakai oleh penulis saat ini dan dengan media transfer dataBluetooth.

2. Network aware apllication, yaitu aplikasi yang berinteraksi dengan jaringan. Aplikasi ini mempunyai kemampuan untuk mengakses sumber data eksternal.

Dalam J2ME dibagi menjadi dua buah bagian yang dikenal dengan istilah configuration dan profile. Dua buah istilah tersebut sangat penting dalam pengembangan aplikasi wireless dengan Java.

· 
J2ME Configuration

J2ME configuration mendefinisikan lingkungan kerja J2MEruntimeOleh karena setiap perangkat ponsel memiliki fitur-fitur yang berbeda-beda, J2ME configuration ini dirancang, yakni menyediakan librari standar yang mengimplementasikan fitur standar sebuah ponsel. Ada dua kategori J2ME configuration saat ini, yaitu :

1. CLDC (Connected Limited Device Configuration).
Kategori ini umumnya digunakan untuk aplikasi Java pada ponsel yang umumnya memilki memori berukuran 160-512 KB.
2. CDC (Connected Device Configuration)
Kategori ini digunakan untuk aplikasi Java pada perangkatperangkat yang ukuran memorinya paling tidak 2 MB. Contohnya adalah Internet TVcar TV.
  

· Dasar MIDlet

Midlet adalah aplikasi yang dibuat menggunakan J2ME dengan profile MIDP. MIDP dikhususkan digunakan untuk digunakan pada perangkat dengan kemampuan CPU, memori keyboard, dan layar yang terbatas, misalnya saja ponsel.

· Status MIDlet

MIDlet memiliki beberapa status, yaitu Pause, Active dan Destroy. Dalam status Pause MIDlet diinisialisasi dan tidak melakukan aksi apapun, pemanggilan fungsi pause yaitu pauseApp(). Untuk status Active terjadi ketika MIDlet sedang aktif, yakni dipanggil dengan fungsi startApp(). Sedangkan untuk status Destroyed terjadi ketika MIDlet berhenti berjalan, pemanggilan fungsinya
menggunakan destroyApp()

· MIDlet Suite dan Application Descriptor

Ketika selesai membuat aplikasi, aplikasi tersebut harus dikemas dalam sebuah paket yang berekstensi .*jar. Selain itu dikenal juga file*.jad yang disebut sebagai application descriptor yang berguna untuk mendeskripsikan isi dari file JAR tadi. Kedua file ini harus diupload ke ponsel agar aplikasi tersebut dapat dijalankan.

· Java 2 Micro Edition Wireless Toolkit (J2MEWTK)

Untuk menjalankan program yang sudah kita buat, kita membutuhkan
software pendukung. Maka dari itu kita membutuhkan software Java 2 Micro
Edition Wireless Toolkit (J2MEWTK).



Membuat Program Sederhana Menggunakan J2ME..

1. Buka aplikasi netbeans IDE 
2. Buat project baru
3. Lalu pilih JavaME pilih project Mobile application
4. Tekan next.




Lalu masukkan source code berikut ini...


import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.Choice;
import javax.microedition.lcdui.ChoiceGroup;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.StringItem;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author Lucky Anugerah
 */
public class hello {
    public class Midlet extends MIDlet implements CommandListener {
//inisialisasi properti
        private Display display;
        private Form fmDataPribadi;
        private Form fmHasil;
        private Command cmOk;
        private Command cmExit;
        private Command cmBack;
        private TextField tfNama;
        private TextField tfNIM;
        private TextField tfAlamat;
        private ChoiceGroup cgProdi;
        private int choiceGroupIndex;
        private StringItem siNama, siNIM, siAlamat, siProdi;
        private boolean midletPaused = false;

        public Midlet() {
        }
        private void initialize() {
        }
        public void startMIDlet() {
        }
        public void resumeMIDlet() {
        }

        public void switchDisplayable(Alert alert, Displayable nextDisplayable) {
// write pre-switch user code here
            Display display = getDisplay();
            if (alert == null) {
                display.setCurrent(nextDisplayable);
            } else {
                display.setCurrent(alert, nextDisplayable);
            }
// write post-switch user code here
        }


        /**
         * Returns a display instance.
         * @return the display instance.
         */
        public Display getDisplay() {
            return Display.getDisplay(this);
        }
//memanggil manager aplikasi untuk memulai MIDlet
        public void startApp() {
            display = Display.getDisplay(this);
//membuat tombol
            cmExit = new Command("Exit", Command.EXIT, 0);
            cmOk = new Command("Ok", Command.SCREEN, 0);
            cmBack = new Command("Back", Command.BACK, 0);
//textfield untuk data pribadi
            tfNama = new TextField("Nama: ", "", 30, TextField.ANY);
            tfNIM = new TextField("NIM :", "", 30, TextField.ANY);
            tfAlamat = new TextField("Alamat :", "", 30, TextField.ANY);
//pemilihan Prodi
            cgProdi = new ChoiceGroup("Prodi", Choice.EXCLUSIVE);
//meng-append pilihan atau choice
            cgProdi.append("Teknik Komputer", null);
            cgProdi.append("Manajement Informatika", null);
//membuat form dan memasukkan komponen
            fmDataPribadi = new Form("Data Pribadi");
            fmDataPribadi.addCommand(cmExit);
            fmDataPribadi.addCommand(cmOk);
            fmDataPribadi.append(tfNama);
            fmDataPribadi.append(tfNIM);
            fmDataPribadi.append(tfAlamat);
            choiceGroupIndex = fmDataPribadi.append(cgProdi);
            fmDataPribadi.setCommandListener((CommandListener) this);
//membuat form hasil input user
            fmHasil = new Form("Profile Anda");
//membuat string item untuk menampilkan text dan pilihan yang diisi
            siNama = new StringItem("Nama: ", null);
            siNIM = new StringItem("NIM : ", null);
            siAlamat = new StringItem("Alamat : ", null);
            siProdi = new StringItem("Prodi: ", null);
//menampilkan StringItem yang nanti akan diisi oleh data hasil input user
            fmHasil.append(siNama);
            fmHasil.append(siNIM);
            fmHasil.append(siAlamat);
            fmHasil.append(siProdi);
//menambahkan command
            fmHasil.addCommand(cmBack);
            fmHasil.setCommandListener(this);
//menampilkan form DataPribadi sebagai tampilan awal
            display.setCurrent(fmDataPribadi);
        }
        public void pauseApp() {
        }
        public void destroyApp(boolean unconditional) {
        }

        public void commandAction(Command c, Displayable d) {
//variable string untuk menampung inputan user
            String nama, nim, alamat, tmptlhr, tgllhr, prodi = null;
//jika tombol/command OK ditekan
            if (c == cmOk) {
//mendapatkan inputan user
                nama = tfNama.getString();
                nim = tfNIM.getString();
                alamat = tfAlamat.getString();
                prodi = cgProdi.getString(cgProdi.getSelectedIndex());
//memasukkan hasil input ke StringItem
                siNama.setText(nama);
                siNIM.setText(nim);
                siAlamat.setText(alamat);
                siProdi.setText(prodi);
//menampilkan form hasil setelah cmOk ditekan
                display.setCurrent(fmHasil);
            } else if (c == cmExit) { //jika tombol/command Exit ditekan
                destroyApp(true);
                notifyDestroyed();
            } else if (c == cmBack) { //jika tombol/command Back ditekan
//menampilkan kembali form DataPribadi sebagai tampilan default/awal
                display.setCurrent(fmDataPribadi);
            }
        }
    }
}


 Maka akan keluar tampilan output di bawah ini:






















REFERENSI:

- Antonius Aditya H., Java 2 Micro Edition Tingkat Lanjut, Elex Media Komputindo, Jakarta, 2003
    
-Antonius Aditya H., Java 2 Micro Edition Mobile Interface Device Programming, Elex Media Komputindo,   Jakarta, 2003

-http ://www.ilmukomputer.com, Tips J2ME, 2004

-Ady Wicaksono, Dasar-dasar Pemrograman Java 2, Elex Media Komputindo, Jakarta, 2002

-Ady Wicaksono, Pemrograman Aplikasi Wireless dengan Java, Elex Media Komputindo, Jakarta, 2002

-http://myshare212.blogspot.com/2012/03/membuat-program-sederhana-j2me-dengan.html

   Di Resume Oleh:
   LUCKY ANUGERAH PRATAMA
   M.I A / 1100631020