Jumat, 13 Februari 2015

Mimpi indah

Diantara mimpi indah dan buruk, pasti kalian akan memilih mimpi indah kan? Aku juga. Semalem aku bermimpi indah, bahkan aku tak mau bangun atau dibangunkan. Ingin rasanya aku berada terus dalam mimpi indah itu. Jika aku boleh memilih, bolehkah dunia berhenti saat terasa indah? Aku ingin merasakan keindahan itu, kebahagiaan itu, senyum itu, tawa itu. Mimpi apakah aku semalam? Mimpi yang aku impikan selama ini, menikah. Menikah dengan orang yang aku cintai. Orang yang sampai saat ini belum aku ketahui perasaannya terhadapku, tiba-tiba melamarku dan menikahiku. Ini seperti di sinetron-sinetron TV kan? Yah aku kira aku sedang menjadi artis utamanya. Aku bahagia, aku tak mau bangun dari mimpi indah itu. Tapi aku tetap harus bangun. Tak boleh hanya bermimpi, tapi aku harus mewujudkanya.

read more

Selasa, 10 September 2013

TAK ADA BIRU DI HARI INI



Hari-hari semakin hampa terasa. Hanya awan gelap yang menyelimuti biruku. Entah apa yang kurasakan ini. Aku masih tak mengerti. Kosong, hampa, rasanya ingin menjerit sekeras-kerasnya. Ingin ku pergi, pergi sejauh-jauhnya sehingga tak ada lagi yang bisa menemukanku. Ada apa dengan diri ini Wahai Tuhanku, Ya Rabbi? Apakah diri ini semakin jauh akan perintah-Mu?

Teman, tak ada lagi yang bisa kusebut sahabat yang dekat dengan diriku saat ini. Aku tahu teori ini, bahwa jangan menunggu orang lain pengertian pada dirimu, tapi dirimu duluanlah yang mengerti mereka. Selalu ada saja alasan dalam diri ini. Aku tahu umur seseorang tak menjamin kedewasaan dalam dirinya. Aku anak ragil sehingga aku manja. Apkah alasan ini yang selalu menjadi mainset ku?
Menjadi anak ragil apkah salah?

read more

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

    By :
    Free Blog Templates