Kamis, 18 Oktober 2012

Presistance

read more

Rabu, 03 Oktober 2012

Percobaan 2: High Level User Interface

Pada kesempatan kali ini saya akan membuat sebuah aplikasi pengisian nama, jenis kelamin, alamat, no telepon, email, dan tanggal lahir.

Berikut langkah-langkahnya:
  1. Pastikan aplikasi eclipse telah terbuka
  2. Membuat project baru, caranya  pilih file > new > project > J2ME > J2ME middle suit > Next > silahkan ketik nama projectnya misal HighLevel > Next > Finish
  3. Buat class baru, caranya pada nama project di klik kanan pilih new > other > J2ME > J2ME Midlet > Next > silahkan ketikkan Name-nya misal HLI > Finish
  4. Setelah itu silahkan copy source code yang ada dibawah ini
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

import java.util.Date;


public class HLI extends MIDlet implements CommandListener {
    Display display;
    Form input;
    Alert warning;
    TextField nama, alamat, telp, email;
    DateField tgl;
    ChoiceGroup gender;
    StringItem text;
    Command exit = new Command("Exit", Command.EXIT, 1);
    Command view = new Command("View", Command.OK, 1);

    public HLI(){
        input = new Form("Masuk Data");
        input.addCommand(exit);
        input.addCommand(view);
        input.setCommandListener(this);
        Date now = new Date();
       
        nama = new TextField("Nama", "", 32, TextField.ANY);
       
        gender = new ChoiceGroup("Gender", Choice.POPUP);
        gender.append("Laki-Laki", null);
        gender.append("Perempuan", null);
       
        alamat = new TextField("Alamat", "", 32, TextField.ANY);
       
        telp = new TextField("No Hp/telp", "", 32, TextField.PHONENUMBER);
       
        email = new TextField("E-mail", "", 32, TextField.EMAILADDR);
       
        tgl = new DateField("HarLah", DateField.DATE);
        tgl.setDate(new Date());
       
        input.append(nama);
        input.append(gender);
        input.append(alamat);
        input.append(telp);
        input.append(email);
        input.append(tgl);
      
     }
    
     public void startApp(){
         if (display == null){
             display = Display.getDisplay(this);
             display.setCurrent(input);
         }
     }
    
     public void pauseApp(){
        
     }
    
     public void destroyApp(boolean unconditional){
        
     }

     public void commandAction(Command c, Displayable d) {
         if(c == view){
             input.deleteAll();
            
             /*text = new StringItem("", "nama : "+nama.getString()+"\n"
             +"gender : "+gender.getString(gender.getSelectedIndex())+"\n"
             +"alamat : "+alamat.getString()+"\n"
             +"nomer : "+telp.getString()+"\n"
             +"email : "+email.getString()+"\n"
             +"BDay : "+tgl.getDate());*/
            
             if(nama.getString()==""){
                 warning = new Alert("Warning","Harus diisi semua!",null, AlertType.WARNING);           
                 warning.setTimeout(warning.FOREVER);
                 display.setCurrent(warning);
             }else if("".equals(alamat.getString())){
                 warning = new Alert("Warning","Harus diisi semua!",null, AlertType.WARNING);           
                 warning.setTimeout(warning.FOREVER);
                 display.setCurrent(warning);
             }else if(telp.getString()==""){
                 warning = new Alert("Warning","Harus diisi semua!",null, AlertType.WARNING);           
                 warning.setTimeout(warning.FOREVER);
                 display.setCurrent(warning);
             }else if(email.getString()==""){
                 warning = new Alert("Warning","Harus diisi semua!",null, AlertType.WARNING);           
                 warning.setTimeout(warning.FOREVER);
                 display.setCurrent(warning);
             }else {
            
             text = new StringItem("", "nama   : "+nama.getString()+"\n"
                     +"gender : "+gender.getString(gender.getSelectedIndex())+"\n"
                     +"alamat : "+alamat.getString()+"\n"
                     +"nomer  : "+telp.getString()+"\n"
                     +"email   : "+email.getString()+"\n"
                     +"BDay   : "+tgl.getDate());
             input.append(text);           
             display = Display.getDisplay(this);     
             display.setCurrent(input);
             }
            
             input.removeCommand(view);
             input.addCommand(exit);
         }
        
         if (c == exit){
             destroyApp(true);
             notifyDestroyed();
         }
     }
    
 }


     6. Untuk menjalankannya, kilk kanan pada nama class-nya > Run As > Emulated J2ME Midlet.
     7. Maka akan tampil emulator seperti gambar berikut:
  
      8. Jika tidak diisi semua atau salah satu tidak diisi, maka akan muncul warning sebagai berikut:






       9. Jika diisi semua, maka hasil akhirnya adalah sebagai berikut:


read more

High Level User Interface

Tujuan mempelajari materi tentang High Level User Interface adalah:
- Mengetahui keuntungan dan kerugian dengan menggunakan high-level dan low-level UI classes
- Mengetahui desain MIDlets menggunakan komponen high-level UI
- Mengidentifikasi perbedaan sub-classes pada screen
- Mengetahui perbedaan item-item yang dapat dimasukkan kedalam sebuah object Form

Perbedaan High Level  vs Low Level


Kapan menggunakan High-Level UI
- Saat membangun aplikasi text-based yang mudah
- Saat Anda ingin aplikasi Anda dapat dengan mudah dipertukarkan dengan berbagai macam peralatan (Portabilitas)
- Saat Anda ingin aplikasi Anda memiliki tampilan yang sama dengan komponen UI yang lain dari berbagai peralatan
- Saat Anda ingin kode Anda dapat menjadi sesedikit mungkin, ketika sebuah interaksi ditangani oleh API


Kapan menggunakan Low-Level UI
- Saat Anda memerlukan sebuah high-level untuk mengkontrol tampilan dari suatu aplikasi
- Saat aplikasi Anda membutuhkan tempat yang tepat dari elemen-elemen yang ada pada screen
- Saat membuat game secara grafik; meskipun Anda tetap dapat menggunakan highlevel UI pada menu game, hal tersebut lebih disarankan untuk membuat menu UI Anda sendiri untuk menghindari seamless atmosphere bagi para user
- Saat sebuah aplikasi membutuhkan akses ke low-level yang memiliki inputan seperti key presses
-Jika aplikasi Anda akan diimplementasikan pada layar navigasi Anda sendiri


Display
- Satu-satunya object untuk menampilkan sesuatu ke layar pada tiap MIDlet
- MIDlet dapat meminta refrence kepada object Display dengan menggunakan static Display.getDisplay(), untuk memberikan refrence pada instance dari MIDlet
- MIDlet akan memastikan bahwa object Display tidak akan berubah selama object dari MIDlet tersebut tersedia


Displayable
- Hanya satu displayable yang ditampilkan pada satu waktu
- Secara langsung, displayable tidak ditampilkan pada layar
- Sebuah displayable dapat ditampilkan dengan memanggil method setCurrent() dari Display instance
- Method setCurrent() harus dipanggil pada saat memulai aplikasi, dengan kata lain sebuah screen kosong akan ditampilkan atau aplikasi tersebut tidak akan dijalankan


Sebuah  displayable  dapat  memiliki  nama (title),  beberapa  perintah(command), commandListener dan Ticker.

Title
- Posisi dan penampilan dari title tersebut merupakan piranti spesifik yang hanya dapat ditentukan oleh peralatan dari aplikasi yang sedang dijalankan
- Sebuah title ditampilkan pada Displayable dengan memanggil setTitle()

Command
-  Untuk menggantikan menu bar, MIDlet memiliki Commands
- Biasanya Command diimplementasikan sebagai soft key atau item dalam sebuah menu
- Object Command hanya berisi informasi tentang action yang harus dikerjakan pada saat Command diaktifkan

 CommandListener
- CommandListener merupakan interface dengan single method:
void commandAction(Command command, Displayable displayable) 
- Method commandAction()  akan dipanggil jika Command dipilih
- CommandAction() harus dikembalikan dengan seketika, jika tidak maka pengeksekusian aplikasi akan diblock

Ticker
- Ticker adalah sebuah baris dari text yang dapat discrolling secara terus-menerus pada display
- Method konstruktor dari ticker menerima text string untuk ditampilkan.
- Hanya memiliki dua method lain, yaitu getter dan setter untuk text ini: String getString() dan void setString(String text)


Screen
Screen merupakan inti abstrak class yang digunakan untuk high-level UI ketika canvas merupakan Displayable abstrak class untuk low-level UI.






Item
Items merupakan komponen yang dapat diletakan kedalam container, seperti Form atau Alert. Sebuah item dapat memiliki property seperti dibawah ini:



read more

Kamis, 27 September 2012

Percobaan 1: Membuat Hello Midlet

Tujuan dari percobaan kali ini antara lain:
- Membuat MIDlet sederhana
- Membuat sebuah project di eclipse
- Membuat sebuah MIDlet mengggunakan eclipse J2ME
- Menjalankan MIDlet di emulator

Adapun untuk membuat percobaan 1 tentang Membuat Helo MIDlet, berikut langkah-langkahnya:

  1. Pastikan aplikasi eclipse telah terbuka
  2. Membuat project baru, caranya  pilih file > new > project > J2ME > J2ME middle suit > Next > silahkan ketik nama projectnya misal pert3 > Next > Finish
  3. Buat class baru, caranya pada nama project di klik kanan pilih new > other > J2ME > J2ME Midlet > Next > silahkan ketikkan Name-nya misal HelloMidlet > Finish
  4. Setelah itu silahkan copy source code yang ada dibawah ini 
  5. Untuk menjalankannya, kilk kanan pada nama class-nya > Run As > Emulated J2ME Midlet.
  6. Maka akan muncul pesan "Hello World" pada emulator seperti gambar berikut:
read more

Pengenalan Terhadap Pembangunan Aplikasi Mobile

Pembangunan Aplikasi Mobile Mencangkup:
  1. Mobile Device
  2. Java 2 Micro Edition
  3. CLDC
  4. CDC 
  5.  MIDP
  6. MIDlets
Mobile Device
Karakteristik Mobile:
  1. Berukuran kecil
           - Terbatasnya display
           - Input Terbatas
           - Terbatasnya dukungan multimedia
 2. Keterbatasan Memori
 3. Keterbatasan sumber energi
 4. Rendahnya konsumsi energi
 5. Terbatasnya koneksi jaringan
 6. Terbatasnya waktu hidup


    Java 2 Micro Edition
    ·         Java Platform

    Arsitektur J2ME


    Configuration
    - Merupakan subset dari bahasa pemrograman Java
    - Memberikan fungsi-fungsi dari Java Virtual Machine (VM)
    - Sebuah library utama pada J2ME
    - Memberikan fitur- fitur untuk security dan jaringan

    Profile
    - Sebuah profile mendifinisikan API tambahan yang berjalan diatas configuration
    - Profile memberikan fitur-fitur bagi market tertentu, dan bagi kategori tertentu dari device
    - Configuration hanya mendifinisikan library dasar, sedangkan profile mendefinisikan library yang berguna untuk membuat sebuah aplikasi yang efektif. Library ini termasuk library untuk pembuatan user interface, networking, dan penyimpanan data.


    CLDC

    - Fitur-fitur Java dan Virtual Machine (VM)
    - Library dasar (java.lang.*, java.util.*)
    - Input/output (java.io)
    - Security
    - Networking
    - Internationalization

    Fitur-fitur yang hilang
    - Finalization
    - Asynchronous exception
    - Beberapa error class
    - User defined class loader
    - Reflection
    - Java Native Interface (JNI)
    - Thread groups dan daemon threads

    Karakteristik dari CLDC
    1. Minimal 192kb memori untuk Java Platform
        - 160kb non-volatile memori bagi VM
        - 32kb volatile memori bagi runtime VM
    2. 16 atau 32 bit processor
    3. Rendahnya konsumsi energi (baterai)
    4. Terbatasnya koneksi jaringan dan bandwith (biasanya digunakan wireless)

    Class Verification







    Generic Connection Framework






    CDC




    JTWI




    MIDP


    MIDP Device
    1. Display:
        - Ukuran Display : 96 x 54
        - Display depth    : 1 bit
        - Pixel ratio         : sekitar 1:1

    2. Input (menerima satu atau dua mekanisme input berikut ini):
        - Keyboard dengan satu tangan
        - Keyboard dengan dua tangan
        - Touch screen

    3. Memori:
        - 256 kb dari memori non-volatile bagi implementasi dari MIDP, melebihi apa yang sudah disyaratkan pada CLDC
        - 8 kb non-volatile memori untuk menyimpan data
        - 128 kb volatile memori untuk Java runtime (misal: java heap)

    4. Jaringan
        - Berjalan dua arah
        - Wireless
        - Dimungkinkan untuk disusupi pada saat koneksi
        - Terbatasnya bandwith

    5. Suara
        - Kemampuan untuk menjalankan ring tones, baik melalui software maupun hardware tertentu


    MIDlets

    - Sebuah aplikasi dari MIDP disebut sebagai MIDlet. Application Management Software (AMS) dari device ini akan bergerak mengikuti method create, start, pause, dan destroy dalam MIDlet.
    - MIDlet adalah bagian dari paket javax.microedition.midlet. Sebuah MIDlet harus menjadi turunan dari class MIDlet. Ia dapat meminta parameter-parameter yang dibutuhkan dari AMS seperti yang telah didefinisikan pada application descriptor (JAD)
    - Sebuah MIDlet tidak memiliki (dan harus tidak memiliki) method main. Ia secara otomatis akan dikenali oleh AMS dari starting point sebuah program.


    MIDlet Life Cycle



    j
    read more

    Rabu, 19 September 2012

    Pertemuan 2 Mobile Computing : OBJECT ORIENTED PROGRAMMING (Review)

            Berbicara tentang Object Oriented Programmig atau Pemrograman Berbasis Objek (kami sering menyebutnya OOP atau PBO) jadi teringat waktu semester 3. Baiklah sekarang saya akan membahas tentang OOP dan saudara-sadaranya. :D

    Object Oriented Programmig atau Pemrograman Berbasis Objek adalah suatau teknik pemrograman yang memisalkan segala sesuatu dalam kehidupan nyata.

    Class
    • Class adalah sekumpulan objek-objek yang sama. 
    • Semua objek dalam suatu kelas memiliki atribut dan operasi yang sama, tetapi nilai atribut dapat berbeda.
    • Suatu objek tertentu merupakan instance sebuah kelas.
    • Contoh: Sekumpulan bola merupakan suatu kelas 


    • Deklarasi Class





    Object  

    • Representasi sebuah item, unit atau entitas individu, dapat diidentifikasi 
    • real atau abstrak,  
    • Objek memiliki nama, misal : anjing  
    • Objek memiliki atribut yang mendefinisikan keadaan (states), misal. warna, berat, jenis kelamin. 
    • Objek memiliki operasi yang menyatakan apa yang dapat dilakukan oleh objek, misal: menggonggong, berlari, berbaring.
    •  Contoh     


    Method atau Behaviour
    • Method merupakan suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh suatu object. Method didefinisikan pada class akan tetapi dipanggil melalui object.
    • Contoh : pada object mangga : terdapat method ambilRasa , kupasKulit dan lain-lain.
    • Deklarasi Method 

    Attributes
    • Attributes merupakan nilai data yang terdapat pada suatu object yang berasal dari class. Attributes merepresentasikan karakteristik dari suatu object.
    • Contoh : pada Class Fruit terdapat attribute : warna, berat pada object mangga : warna berisi kuning dan berat misalkan 0.25 kg pada object apel : warna berisi merah dan berat misalkan 0.30 kg
    • Deklarasi Variabel 


    Constructor
    • Constructor merupakan method khusus yang digunakan untuk menginisialisasi objek, dan tiap class boleh memiliki lebih dari satu constructor.
    • Perbedaan method biasa dengan constructor adalah bahwa constructor harus  memiliki nama yang sama dengan nama class-nya dan tidak memiliki nilai  kembalian.

    • Constructor dijalankan pada saat sebuah objek diinisialisasi  (menggunakan kata new). Pada constructor juga berlaku overloading, artinya  boleh mendeklarasikan lebih dari satu constructor, asalkan memiliki parameter yang berbeda.

    • Deklarasi Constructor 

    Package
    • Package adalah sebuah kontainer atau kemasan yang dapat digunakan untuk mengelompokkan kelas-kelas sehingga memungkinkan beberapa kelas yang bernama sama disimpan dalam package yang berbeda.
    • Contoh 
     



    read more

    Mobile Computing (Review Pemrograman Berbasis Objek)

    Pada kesempatan kali ini saya akan me-review dari materi Pemrograman Berbasis Objek.
    Materi yang saya posting ini merupakan implementasi dari materi tentang class, object, method, atribut dalam class, constructor, pewarisan, enkapsulasi, overriding, dan overloading. Berikut saya tampilkan project yang berkaitan dengan materi tersebut.

    1. Langkah pertama yang harus kita lakukan adalah memastikan aplikasi eclipse telah terbuka.
    2. Membuat project baru, caranya pilih file > new > project > Java Project > Next > silahkan ketik nama projectnya pada kolom Project name, misal latihan > Finish.
    3. Membuat class baru, caranya pada nama project di klik kanan pilih new > class > silahkan ketik nama class-nya pada kolom Name dengan Bank> Finish.

    4. Lakukan seperti langkah 3, namun nama class-nya diganti dengan nama Budi, selanjutnya diganti dengan nama Nasabah.


    5. Pada class Bank silahkan tulis source code seperti yang di bawah ini:

    6. Pada class Nasabah silahkan tulis source code seperti yang di bawah ini:


    7. Membuat class Budi sebagai turunan dari class Nasabah




    8. Run class Budi, berikut hasil outputnya:


    9. Selanjutnya memodifikasi class Bank dengan mengoverloading constructornya

    10. Memodifikasi class Nasabah dengan membuat method baru yang akan dioverride di class Budi

    11. Memodifikasi class Budi dengan mengoverride method dari class Nasabah

    12. Run class Budi, berikut hasil outputnya:


    13. Menggunakan constructor lain ketika membuat objek dari class Bank

    14. Run class Budi, berikut hasil outputnya:



    Demikianlah yang dapat saya sampaikan tentang materi class, object, overloading, overriding, pewarisan, atribut, method, enkapsulasi, dan constructor. Semoga bermanfaat bagi kita semua.
    Salam SEMANGAT! ^.^
    read more

    Kamis, 13 September 2012

    INSTALASI ECLIPSE DAN PLUG-IN EclipseME

    Untuk kali ini saya akan membahas definisi eclipse, plug-in untuk pengembangan J2ME, instalasi Sun Java Wireless Toolkit, instalasi eclipse, instalasi plug-in EclipseME, dan cara membuat Hello World J2ME pada Eclipse.

    Sekarang kita mulai dari definisi eclipse. Apa sih eclipse itu?dan plugin apa yang digunakan untuk pengembangan J2ME? Menurut wikipedia Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent).

    Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development Tools), plug-in yang membuat Eclipse kompatibel untuk mengembangkan program Java, dan PDE (Plug-in Development Environment) untuk mengembangkan plug-in baru. Eclipse beserta plug-in-nya diimplementasikan dalam bahasa pemrograman Java.

    Adapun untuk pengembangan J2ME yang merupakan pengembangan yang didesain untuk meletakkan perangkat lunak Java pada barang elektronik beserta perangkat pendukungnya seperti halnya telepon seluler, pager, personal digital assistants (PDA) dan sejenisnya menggunakan plug-in EclipseME.

    Eclipse sendiri sebenarnya setara dengan Netbeans. Kedua IDE ini sama2 berupa aplikasi Java yang dijalankan dengan JRE. Perbedaan yang mendasar adalah: Eclipse memakai SWT toolkit untuk membangun GUI nya, sedangkan NetBeans memakai Swing.
    Sebenarnya antara Eclipse dan Netbeans mempunyai manfaat tersendiri.

    Eclipse adalah IDE universal.Pada distribusi standarnya, Eclipse menyertakan JDT (Java Development Tools) dan kompiler Java. Terdapat macam-macam plug-in untuk pengembangan lainnya mulai dari C/C++,PHP, Ruby, sampai ActionScript. Selain itu, Eclipse merupakan program portable, tidak perlu diinstall, tidak mengotori sistem, bisa ditaruh dimana saja, bisa dipindah-pindah.

    NetBeans-pun tak kalah manfaatnya, semua kebutuhan sudah tersedia. Tinggal install dapet semua deh, dengan mobility pack, gtidak perlu download+install Wireless Toolkit. Di NetBeans, sudah ada visual editor untuk membuat aplikasi ponsel yang mempermudah membuat aplikasinya tanpa coding.

    Untuk instalasi J2ME di Eclipse, berikut langkah-langkahnya:

    Sun Java Wireless Toolkit
    1. Download aplikasi Sun Java Wireless Toolkit.
    2. Instal aplikasinya. Pada awal instalasi, maka akan menemui window seperti berikut, lalu pilih Next.

    3. Click tombol accept, dan untuk window selanjutnya click tombol next sampai muncul window setup status.



    4. Tunggu sampai selesai dan click tombol Finish.

    5. Sekarang kita buka eclipse dan pilih window > preferences dan di kolom sebelah kiri ada menu J2ME silahkan di expand dan pilih device management.

    6. Setelah itu click tombol import dan silahkan cari lokasi instalasi dari Sun Java Wireless Toolkit. Defaultnya “C:\WTK2.5.2_01″ kemudian click tombol refresh dan akan muncul list-list yang akan di import, checklist semuanya dan click tombol finish > OK.




    Plugin EclipseME
    1. Download aplikasi Eclipse-SDK-3.2-win32 dan plugin EclipseME.
    2. Jalankan aplikasi Eclipse, cukup double click icon Eclipse.

    3. Setelah jendela Eclipse terbuka, click pada menu HELP > Software Updates > Find and Install.
    4. Pada window Install/Update, pilih yang Search for new features to install, lalu click tombol Next.

    5. Click tombol New Arcived Site.. jika plugin-nya masih berbentuk zip, tetapi jika sudah berbentuk folder pilih yang New Local Site... Carilah file aplikasi EclipseME yang anda letakkan. Click Open > Finish.

    6. Pada window Updates, click eclipsme.feature > Next > click accepet > Next > Finish.

    7. Selanjutnya akan muncul window Verification. Click Install All.

    8. Jika sudah selesai maka untuk mengeceknya silahkan lihat di menu help > about eclipse SDK, maka disitu akan terlihat plugin apa saja yang sudah terinstal di eclipse kita.



    Cara Membuat Pesan Hello World J2ME pada Eclipse

    1. Pertama silahkan buat project baru caranya pilih file > new > project > J2ME > J2ME middle suit > Next > silahkan ketik nama projectnya misal MobileComputing > Next > Finish.
    2. Buat class baru, caranya pada nama project di klik kanan pilih new > other > J2ME > J2ME Midlet > Next > silahkan ketik nama package-nya misal javamobile, dan ketikkan Name-nya misal HelloWorld > Finish.
    3. Setelah itu silahkan copy source code yang ada dibawah ini


    4. Untuk menjalankannya, kilk kanan pada HelloWorld > Run As > Emulated J2ME Midlet.

    5. Maka akan muncul pesan "Hello World" pada emulator seperti gambar berikut

    Demikian artikel tentang Ecipse dan plugin-nya. Semoga bermanfaat.
    SEMANGAT dan TERUS BERKARYA.
    ^^







    read more

    By :
    Free Blog Templates