Rabu, 27 Juni 2012 - 0 komentar

JAVA 2 MICRO EDITION (J2ME)


PEMROGRAMAN BERORIENTASI OBJEK
JAVA 2  MICRO  EDITION (J2ME)
Disusun guna memenuhi tugas
Mata Kuliah : Pemrograman Berorientasi Objek 


Disusun Oleh :

1.      Heri Handoko          ( 2009 51 110)
2.      Achmad Noor S.       ( 2009 51 127)
3.      Wahyu Widhiarto     ( 2009 51 149)


TEKNIK INFORMATIKA
UNIVERSITAS MURIA KUDUS
2012


BAB I
PENDAHULUAN

1.      Latar Belakang Masalah
Beberapa tahun terakhir ini terjadi perkembangan yang pesat pada teknologi, salah satunya adalah telepon selular (ponsel). Mulai dari ponsel yang hanya bisa digunakan untuk bicara dan sms hingga “ponsel cerdas” (smart phone) yang memiliki berbagai fungsi seperti multimedia, multiplayer games, transfer data, video streaming dan lain-lain. Berbagai perangkat lunak untuk mengembangkan aplikasi ponselpun bermunculan, diantaranya yang cukup dikenal luas adalah Java 2  Micro  Edition (J2ME).
Salah satu fasilitas yang disediakan ponsel adalah untuk melakukan pengiriman data berupa pesan singkat melalui Short Message Service (SMS). Namun dengan fasilitas SMS yang ada, timbul pertanyaan mengenai keamanan informasi jika seseorang ingin mengirimkan suatu informasi rahasia melalui fasilitas SMS.
Di luar negeri pemanfaatan SMS untuk mengirim pesan rahasia telah lebih dulu dikembangkan. Misalnya di Inggris sebuah perusahaan operator telepon selular, Di luar negeri pemanfaatan SMS untuk mengirim pesan rahasia telah lebih dulu dikembangkan. Misalnya di Inggris sebuah perusahaan operator telepon selular, staellium UK, mengeluarkan layanan bernama “stealth text” yang dapat digunakan untuk mengirim pesan dengan aman, yaitu dengan cara menghapus pesan secara otomatis segera setelah 40 detik pesan dibaca  atau yang dikenal dengan nama  self-destruct text message. Kini dengan memanfaatkan  Wireless  Messaging  API (Application Programming Interface)  dari J2ME para pembuat program Java dapat mengembangkan sendiri  sebuah aplikasi pengiriman pesan singkat atau SMS yang dimodifikasi untuk mengamankan pesan.

BAB II
PEMBAHASAN

  1. Teknologi Java 2
Java adalah bahasa pemrograman Object Oriented Programming (OOP) yang dibuat oleh Sun Microsystem. Java dirancang untuk menjadi bahasa yang memiliki kemampuan tinggi dalam hal portabilitas dan pemanfaatan jaringan tanpa mengabaikan kestabilan, kemanan,  serta kemudahan dari sisi desain dan pemrograman aplikasi.
Sebutan Java 2 diberikan untuk Java versi 1.2 dan versi berikutnya. Java 2 terbagi dalam 3 kategori[6], yaitu:
Ø  Java 2 Standard Edition (J2SE). Kategori ini digunakan untuk menjalankan mengembangkan aplikasi Java pada level komputer personal.
Ø  Java 2  Enterprise  Edition  (J2EE). Kategori ini dikhususkan untuk  pengembangan aplikasi Java pada lingkungan enterprise/server.
Ø  Java 2 Micro Edition (J2ME). Kategori ini digunakan untuk pengembangan  aplikasi Java  yang diimplementasikan pada perangkat semacam ponsel, Palm, PDA dan PocketPC.

  1. Java 2 Micro Edition
Java 2 Micro Edition  (J2ME) digunakan untuk menjalankan dan mengembangkan aplikasi -aplikasi Java pada  handheld devices atau perangkat -perangkat semacam  handphone, Personal Digital Assistance (PDA) dan PocketPC , dan juga dirancang untuk dapat menjalankan program Java pada perangkat yang memiliki kemampuan terbatas misalnya kecilnya jumlah memori yang dimiliki perangkat tersebut.

  1. Konfigurasi J2ME
Konfigurasi J2ME adalah spesifikasi yang mendefinisikan sebuah  virtual machine  dari kumpulan API-API dasar yang dapat digunakan dalam kelas tertentu dari sebuah peralatan. Virtual machine  pada  J2ME berbeda  dengan yang ada pada J2SE karena hanya fitur-fitur penting yang berkaitan dengan perangkat tanpa kabel (Wireless) saja yang diimplementasikan.
Ada 2 konfigurasi pada J2ME yaitu:
a)    CLDC (Connected Limited Device Configuration) CLDC merupakan perangkat atau konfigurasi dasar dari J2ME. CLDC sebenarnya berupa library dan API (Application Programming Interface)  yang diimplementasikan pada J2ME. Konfigurasi ini biasanya untuk alat kecil seperti telepon seluler (handphone), pager dan PDA. Peralatan  tersebut biasanya mempunyai keterbatasan memori (RAM), sumber daya, dan kemampuan memproses.
b)   CDC (Connected Device Configuration) CDC merupakan perangkat atau konfigurasi superset dari CLDC. Konfigurasi ini biasanya dipakai untuk alat seperti Internet TV, Nokia Communicator dan Car TV.

  1. Profile J2ME
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.
Sebuah profil dibangun dalam sebuah konfigurasi, namun ditambahkan beberapa API khusus agar dihasilkan sebuah lingkungan yang lengkap untuk membangun aplikasi. Profil berisi daur hidup  (life cycle), antarmuka pemakai  (user interface),  serta penyimpanan. Salah satu profil J2ME adalah Mobile Information Device Profile  (MIDP). Profil MIDP menyediakan sebuah  platform  standar untuk peralatan komunikasi bergerak yang memiliki kapasitas memori terbatas sehingga cocok untuk pengembangan aplikasi
pada ponsel.


  1. MIDP dan MIDlet
MIDP merupakan profil yang banyak digunakan dan popular dari J2ME dan MIDlet merupakan aplikasi-aplikasi yang dibuat di dalam handphone menggunakan profil MIDP.

  1. Software yang diperlukan dalam pengimplementasian J2ME
a)             Jcreator  5.00 Pro
JCreator Pro adalah software yang dirancang untuk membangun aplikasi dari suatu bahasa pemrograman java. Bahasa pemrograman java adalah suatu bahasa pemrograman berbasis Object Oriented Programming (OOP). Bahasa pemrograman ini sangat banyak digunakan para developer saat ini karena lebih mudah sederhana dalam mengimplementasikan, lebih aman, dan multiplatform (dapat digunakan pada berbagai sistem operasi). Disini JCreator 5.00 Pro sebagai Interpreter (tempat codingnya), dan untuk kompilernya menggunakan J2ME Wireless Toolkit 2.2.
b)            J2ME Wireless Toolkit 2.2
(J2ME WTK) merupakan tool khusus untuk pemrograman J2ME yang dikeluarkan oleh sun Microsystem, dimana membutuhkan tool pendukung berupa Java 2 Standar Edition (J2SE) SDK1.52 atau yang lebih tinggi dan sebuah text editor yang dapat dipilih sendiri.
Pada J2ME WTK sudah dipaketkan emulator standar sehingga pengguna toolkit ini bisa langsung melihat hasil dari program yang dibuat tanpa perlu terlebih dahulu menginstall aplikasi yang dibuat ke dalam perangkat yang sebenarnya.
Untuk dapat melakukan instalasi J2ME WTK, komputer tersebut minimal harus memenuhi spesifikasi minimal sebagai berikut:

1.      CPU 500 MHz
2.      RAM 128 MB
3.      Ruang kosong pada Harddisk 150 MB
Selain itu pastikan pula telah terinstall Java 2 SDK Standard Edition versi 1.5 atau yang lebih tinggi. Alat bantu utama dalam pembuatan aplikasi dengan J2ME WTK adalah Ktoolbar, pada tool inilah tahap awal pembuatan aplikasi, proses pengujian dengan emulator, proses debugging, serta pemaketan program dilakukan.

  1. Contoh program J2ME dengan Jcreator dan Wireless Toolkit 2.2
1.      Buka aplikasi Wireless Toolkit 2.5
2.      Klik New Project
3.      Isi Project Name (disini sebagai contohnya saya isi dengan copy paste) dan MIDlet Class Name (disini sebagi contoh saya mengisikan FirstTextBox), lalu klik Create Project
4.      Di Target Platform, pilih JTWI , lalu klik OK
5.      Buka aplikasi JCreator nya
6.      Di menu bar pilih File, new, file atau tekan ( ctrl + N )
7.      Dikotak sebelah kiri pilih Java Classes, dikotak sebelah kanan pilih Empty Java File, lalu klik Next

8.      Isikan Name nya ( disini sebagai contohnya saya mengisikan FirstTextBox).

9.      Kemudian ketikkan scipt berikut
} import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class FirstTextBox extends MIDlet implements CommandListener {
          private Display display;
          private TextBox tbClip;
          private Command cmExit, cmStartMark, cmCopy, cmPaste, cmCut;
          private int beginOffset = 0;
          private char[] clipBoard = null;
          private int clipBoardChars = 0;

          public FirstTextBox(){
                      display = Display.getDisplay(this);

                      cmExit = new Command("Exit", Command.EXIT, 1);

                      cmStartMark = new Command("Mark", Command.SCREEN, 2);
                      cmCopy = new Command("Copy", Command.SCREEN, 3);
                      cmPaste = new Command("Paste", Command.SCREEN, 4);
                      cmCut = new Command("Cut", Command.SCREEN, 5);

                      tbClip = new TextBox("Clip Board", "",156, TextField.ANY);
                      tbClip.addCommand(cmExit);
                      tbClip.addCommand(cmStartMark);
                      tbClip.addCommand(cmCopy);
                      tbClip.addCommand(cmPaste);
                      tbClip.addCommand(cmCut);
                      tbClip.setCommandListener(this);
                      clipBoard = new char[tbClip.getMaxSize()];
          }

          public void startApp(){
                      display.setCurrent(tbClip);
          }

          public void pauseApp(){
          }

          public void destroyApp(boolean unconditional){
          }

          public void commandAction(Command c, Displayable s)     {
                      if (c == cmStartMark){
                                  beginOffset = tbClip.getCaretPosition();
                      }else if (c == cmCopy &&(tbClip.getCaretPosition() > beginOffset)){
                                  char[] chr = new char[tbClip.size()];
                                  tbClip.getChars(chr);
                                  clipBoardChars = tbClip.getCaretPosition() - beginOffset;
                                  System.arraycopy(chr, beginOffset,clipBoard, 0, clipBoardChars);
                      }else if (c == cmPaste){
                                  if ((tbClip.size() + clipBoardChars) <=           tbClip.getMaxSize())
                                              tbClip.insert(clipBoard, 0, clipBoardChars,   tbClip.getCaretPosition());
                      }else if (c == cmExit){
                                  destroyApp(false);
                                  notifyDestroyed();
                      }else if ((c == cmCut)&&(tbClip.getCaretPosition() > beginOffset)){
                                  char[] chr = new char[tbClip.size()];
                                  tbClip.getChars(chr);
                                  clipBoardChars = tbClip.getCaretPosition() - beginOffset;
                                  System.arraycopy(chr, beginOffset,clipBoard, 0, clipBoardChars);
                                  tbClip.delete(beginOffset,(tbClip.getCaretPosition() - beginOffset));
                      }
          }

          protected void keyPressed(int keyCode) {
                      System.out.println("begin : " + beginOffset + "  now : " + tbClip.getCaretPosition());
          }
}
10.  Pada Location, klik ikon kotak, lalu pilih My Computer, C: , WTK 25, apps, copy paste, src, lalu klik OK, Finish
 

11.  Kemudian buka aplikasi Wireless Toolkit 2.5 lalu program tadi di run dengan cara klik run
 








12.  Kemudian akan muncul gambar berikut dan jalankan programnya dan klik select pada keypad gambar HP.

  
13.  Kemudian ketikkan kata “UAS” pilih menu dan jalankan perintah no 2 yaitu copy

14.  Lalu pilih menu dan jalankan perintah no. 3 paste dan hasilnya seperti gambar berikut.




BAB III
PENUTUP

Kesimpulan
a.   Java 2 Micro Edition  (J2ME) digunakan untuk menjalankan dan mengembangkan aplikasi -aplikasi Java pada  handheld devices atau perangkat -perangkat semacam  handphone, Personal Digital Assistance (PDA) dan PocketPC , dan juga dirancang untuk dapat menjalankan program Java pada perangkat yang memiliki kemampuan terbatas misalnya kecilnya jumlah memori yang dimiliki perangkat tersebut.
b.  Software yang digunakan dalam penerapan program J2ME adalah Jcreator  5.00 Pro dan Wireless Toolkit 2.5

DAFTAR PUSTAKA





- 0 komentar

Spesialisasi/Generalisasi RELATIONSHIP



  Spesialisasi
Spesialisasi adalah Proses mendesain subgrup di dalam suatu entity . Suatu himpunan entitas bisa memiliki suatu subgrup yang berbeda diantara entitas-entitas lain dalam himpunan tersebut. Misalnya suatu sub himpunan entitasdalam suatu himpunan entity bisa memiliki atribut yang berbeda dari entity-entiti lain. Model E-R memiliki fasilitas untuk perbedaan ini.
Contoh : himpunan entitas account memiliki atribut account-number dan balance. Suatu account dapat diklasifikasikan lagi menjadi salah satu dari (gambar 4.5):

savings-account
checking-account
Setiap tipe account ini diterangkan dengan himpunan atribut yang termasuk dalam atribut-atribut dari entitas account ditambah dengan atribut tambahan. Contoh entity saving-account diterangkan dengan atribut interest-rate, danchecking-account diterangkan dengan overdraft-amount. Proses spesialisasi mengijinkan pembedaan account berdasarkan tipe account. Account juga dapat dibedakan dengan cara lain, misalkan berdasarkan tipe kepemilikkan menjadi commercial-account dan personal-account. Ketika dalam suatu entitas dibentuk lebih dari satu proses spesialisasi, maka suatu entitas menjadi milik dua spesialisasi tersebut. Misal suatu account bisa merupakan suatu personal account dan suatu checking account. Dalam diagram E-R, spesialisasi dilambangkan dengan komponen segitiga bertuliskan ISA. ISA juga melambangkan hubungan antara superclass-subclass. Entity yang dengan kedudukkan lebih rendah/tinggi memiliki lambang sama.


  Generalisasi
Generalisasi adalah proses  pendefinisian  subclass-subclass yang  disatukan  menjadi entitas  superclass  tunggal  berdasarkan karakteristik umum. Disamping proses desain top-down (dari inisial entitas ke level lebih rendah (subgrup)), desain juga dapat dilakukan dengan proses bottom-up, yaitu banyak entitas disintesiskan menjadi entity yang lebih tinggi berdasarkan kesamaan feature-nya.
Desainer basis data mungkin mengidentifikasi terlebih dulu entitas checking-account dengan atribut account-number, balance dan overdraftamount. Ditemukan juga entity set saving-account dengan atribut account-number, balance dan interest-rate. Terdapat kesamaan antara entitas checking-account dengan entitas saving-account, yaitu keduanya memiliki beberapa atribut yang sama. Persamaan ini dapat diekspresikan dengan generalisasi (lihat gambar 4.5).



   Manfaat Spesialisasi
♦  Mendefinisikan himpunan subclass- subclass dari suatu entity type
♦  Menggambarkan attribute spesifik untuk  tiap subclass
♦  Menggambarkan relationship spesifik  antara suatu subclass dengan entity  type lain atau dengan subclass lain

  Manfaat Generalisasi
♦   Kebalikan dari proses spesialisasi
♦   Dilakukan dengan mengidentifikasi attribute-attribute yang sama dan melakukan                                  generalisasi ke sebuah  superclass
♦   Contoh:
           TRUCK & CAR dapat digeneralisasi menjadi VEHICLE