Aug 12, 2014

Register Costum Component ZK in zk.xml

In my previous post, i Have example custom Button with Confirmation Dialog. But now i'll register my customer Component in zk, so I don't need register in .zul when i use custom component.
my previous index.zul


 

    

Now i Will register Component in zk.xml. step by step. 1.Create file lang-addon.xml in WEB-INF folder. lang-addon.xml

    ExtComponent
    xul/html
    
        extbutton
        button
        id.co.sm.ExtBtnConfirm
    

2. Call lang-addon.xml in zk.xml

 
  ajax
  /timeout.zul
 
 
    /WEB-INF/lang-addon.xml


Ok Finish, so simple guy.. Now we can call the Component everywhere page *.zul. example



    

Custom Button ZK With Confirmation Dialog

In this Post we will she how to Custom Button framework ZK, and we will minimalizir boiler plate in code. When we processing data usually as the confirmation user like this "Are you Sure to Save?", if user click "Yes" Button, we will processing the data (SAVE,DELETE,APPROVAL or Submit). in my application i will put the the same code like this everywhere process .
Messagebox.show("Are you sure to save?", "Confirm Dialog", Messagebox.OK | Messagebox.IGNORE  | Messagebox.CANCEL, Messagebox.QUESTION, new org.zkoss.zk.ui.event.EventListener() {
    public void onEvent(Event evt) throws InterruptedException {
        if (evt.getName().equals("onOK")) {
            alert("Data Saved !");
        } else if (evt.getName().equals("onIgnore")) {
            Messagebox.show("Ignore Save", "Warning", Messagebox.OK, Messagebox.EXCLAMATION);
        } else {
            alert("Save Canceled !");
        }
    }
});
i don't like put code everywhere process data like that. in ZK Forums i see example good idea to minimalizir boiler plate like that. check this link But, I Have a simple idea to extends component button put message box there. check this out.
package id.co.sm;
import org.zkoss.zk.ui.IdSpace;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.ext.AfterCompose;
import org.zkoss.zk.ui.select.annotation.VariableResolver;
import org.zkoss.zul.Button;
import org.zkoss.zul.Messagebox;


@VariableResolver(org.zkoss.zkplus.spring.DelegatingVariableResolver.class)
public class ExtBtnConfirm extends Button implements IdSpace,AfterCompose{

 private static final long serialVersionUID = 1272856633449159555L;
 public static final String ON_SAVE_STR="onProcess";
 
 String messageConfirm;
 public ExtBtnConfirm() {
  super();
 }
 
 @Override
 public void afterCompose() {
  addEvent();
  
 }
 public void addEvent(){
  addEventListener(Events.ON_CLICK, new EventListener() {
   public void onEvent(Event arg0) throws Exception {
    Messagebox.show(messageConfirm, "Confirmation", Messagebox.YES|Messagebox.NO, Messagebox.QUESTION, new EventListener() {
     public void onEvent(Event e) throws Exception {
      if(e.getName().equals(Messagebox.ON_YES)) 
      Events.postEvent(new EventOnProcess());
     }
    });
   }
   
  });
 }
 
 
 public class EventOnProcess extends Event{
  private static final long serialVersionUID = 1L;
  public EventOnProcess() {
   super(ON_SAVE_STR, ExtBtnConfirm.this);
   // TODO Auto-generated constructor stub
  }
 }


 public String getMessageConfirm() {
  return messageConfirm;
 }

 public void setMessageConfirm(String messageConfirm) {
  this.messageConfirm = messageConfirm;
 }
 
}
this is my Zul

index.zul





    

View Model

package id.co.sm;

import org.zkoss.bind.annotation.Command;
import org.zkoss.zul.Messagebox;

public class VM_TestButton {

 @Command
 public void doProcess()
 {
  Messagebox.show("Test Confirm Button Processing.....!");
 }
}

and The final result





that's it. :D my English level elementary. sorry! if you want to read my code all. check this link.. I hope you understand when you reading my code. hahahaha...

see yaa

Aug 8, 2014

String JavaScript Method .toUpperCase() dan .toLowerCase() (Belajar)


UpperCase dan Lower Case String JavaScript

Konversi Object String pada JavaScript untuk mengubah huruf menjadi huruf kapital(.toUpperCase()) dan mengubah huruf pada String menjadi huruf kecil (.toLowerCase()).
var _ObjectString=new String("Srigala Militan Sedang Belajar");
document.write(_ObjectString.toUpperCase());
document.write(_ObjectString.toLowerCase());
//HASIL
//SRIGALA MILITAN SEDANG BELAJAR
//srigala militan sedang belajar

Semoga Dapat Membantu
Salam
Srigala Militan

Jan 23, 2014

String JavaScript Method .trim() (Belajar)


string.trim() JavaScript

JavaScript String.trim() merupakan method untuk menghapus spasi pada string,pada sisi depan dan belakang dari string.

Contoh Script
var _ObjectString=new String(" Srigala Militan Sedang Belajar ");
document.write("|"+_ObjectString+"|");
document.write("|"+_ObjectString.trim()+"|");
//HASIL
//| Srigala Militan Sedang Belajar |
//|Srigala Militan Sedang Belajar|

Semoga Dapat Membantu
Salam
Srigala Militan

String JavaScript substring (Belajar)


JavaScript String.substring merupakan method yang digunakan untuk memecah string berdasarkan paramater/ criterianya. Method substring akan mengembalikan string setelah di pecah.

Terdapat 2 method variasi string substring bawaan dari JavaScript
  1. string.substring(int p_startIndek)
  2. string.substring(int p_startIndek,int p_panjangKarakter)
Parameter :
  1. p_startIndek : indek dimulainya untuk pemecahan String.
  2. p_panjangKarakter : panjang karakter yang akan di potong.

Jan 21, 2014

String JavaScript Split (Belajar)


string.split JavaScript

Kegunaan method split adalah memecah String menjadi array berdasarkan paramater-paramater. kita akan kupas method split lebih jauh.

Terdapat 3 method string split bawaan dari JavaScript
  1. string.split()
  2. string.split(string p_separator)
  3. string.split(string p_separator ,int p_limit)
Parameter :
  1. p_separator : spesifik karakter untuk memecah string menjadi array
  2. p_limit : jumlah array dari hasil split, jika hasil split melebihi limit maka tidak akan didampung

Jan 17, 2014

Object String di JavaScript

Object String digunakan untuk menyimpan, manipulasi dan memformat text. String dalam javascript bisa menjadi tipe data primitive ataupun object.
var _ObjectString = new String("Srigala Militan Sedang Belajar");
var _stringTipeData = "Srigala Militan Sedang Belajar";
document.write( typeof(_ObjectString));
document.write( typeof(_stringTipeData));
//HASIL
// object
// string

JavaScript Objects

Object suatu entitas dari permasalahan, dimana terdiri dari kumpulan properti dan method.Properti merupakan nilai yang bersasosiai dengan object, berupa variabel yang dimliki object. Method adalah fungsi yang mendukug kinerja object.

Object dalam JavaScript
1. String
2. Array
3. Date

Pembuatan variable Object String dalam JavaScript

var _ObjectString     = new String("Srigala Militan"); //deklarasi object String
var _PropertiString   = _ObjectString.length;//properti dari object String
var _MethodString    = _ObjectString.indexOf("Militan");//Method dari object String

Dari contoh diatas ,Cara membedakan antara properti dan method dalam object di javascript ialah dari segi akses ke properti dan method.
Properti diakes dengan tanpa buka tutup kurung (object.length), sedangkan Method dengan tutup kurung (Object.indexOf())

Jan 15, 2014

Perbedaan Null Dan Undefined JavaScript


Undefined Adalah variable yang tidak memiliki nilai hanya deklarasi saja ataupun variable yang tidak terdefinisikan,
Sedangkan null merupakan object kosong, nilai null pada variable merupakan assigment.
:) agak bingung yaa? Mari kita lihat dalam source code

Jan 13, 2014

Tipe Data JavaScript

Javascript miliki tipe data
1. Boolean
2. Number
3. String
4. Array
5. Object
Keyword var dalam javasript merupakan code untuk
mendeklarasikan variable dan bisa di isi dengan berbagai tipe data(dinamik).
contoh :

Jan 10, 2014

JavaScript Variable

Syarat Syarat Variable Javascript
1. Diawali dengan huruf(a-z, A-Z).
2. Bisa Diawali dengan Karekter _ dan $ .
3. Case Sensitif ( variable "total" tidak sama dengan "TOTAL").

ada banyak tipe data javascript tapi dalam contoh berikut hanya variable numeric dan string.

Hello World JavaScript

JavaScript (JS) adalah bahasa pemrograman client side. Sebagai bagian dari web browser, implementasi memungkinkan code untuk berinteraksi dengan pengguna, mengontrol browser, berkomunikasi asynchronous, dan mengubah isi dokumen yang akan ditampilkan.

Jan 7, 2014

Java BigDecimal, Beware!!!

Java BigDecimal Merupakan Object java yang memiliki presisi yang tinggi bahkan lebih besar dari object Double, BigDecimal biasanya digunakan untuk melakukan perhitungan dengan sangat memperhatikan presisi(koma). Sepengalaman saya sebagai programmer BigDecimal saya gunakan untuk melakukan perhitungan financial (dalam artian uang). Namun kita hati hati menggunakan BigDecimal karane BigDecimal mempunyai karakter yang sedikit berbeda dengan object java lain nya. Berikut saya lampirkan dalam Contoh

Java DAYS360 Excel

Fungsi DAYS360 merupakan salah satu fungsi dari microsoft excel dimana fungsi DAYS360 mengembalikan jumlah hari antara dua tanggal berdasarkan tahun dengan 360 hari per tahun (dua belas bulan dengan 30 hari per bulan), yang digunakan dalam beberapa perhitungan akuntansi. Gunakan fungsi ini untuk membantu menghitung pembayaran jika sistem akuntansi Anda berdasarkan pada dua belas bulan dengan 30 hari per bulan. Saya Coba Menerapkan fungsi DAYS360 Excel ke Dalam Java, Karena Dalam Pekerjaan Saya, saya membutuhkan fungsi ini.. Oke Kawan.. Mari kita coba

Oct 3, 2012

Tutorial MVVM dengan Framework ZK


Sekapur Sirih tentang Framework ZK

Apa itu zk framework ?
ZK adalah sebuah library yang sangat bagus dan mudah untuk membuat aplikasi web berbasis java. ZK konsen terhadap user interface sehingga user ketika membangun aplikasi web sudah tidak lagi berususan dengan html, css dan javascript. Semua sudah ditangani oleh ZK. Kita bisa menggabungkan ZK dengan framework lain seperti spring, ejb, hibernate, jpa dan sebagainya.
Aku menggunakan zk mulai dari tahun 2010, waktu itu zk sudah mencapai versi 5. Ketinggalan memang, tetapi dengan aku menggunakan zk, sekarang proses pembuatan aplikasi menjadi cepat. Itu salah satu kelebihannya. Berikut ini kekuarangan dan kelebihan yang aku temukan. Ini berdasarkan temuanku sendiri.
 "Untuk Selengkapnya bisa di lihat di blog berikut "
http://ahsanfiles.wordpress.com/2010/11/18/sharing-kekurangan-dan-kelebihan-zk-framework/

Oke To the Point
MVVM

    Model View ViewModel (MVVM) adalah pola arsitektur yang digunakan dalam rekayasa perangkat lunak yang berasal dari Microsoft sebagai spesialisasi dari pola presentasi desain model yang diperkenalkan oleh Martin Fowler. Dengan didasarkan sebagian besar pada pola model-view-controller (MVC), MVVM ditargetkan pada platform pengembangan UI modern yang mendukung Event-driven programming (HTML5, Windows Presentation Foundation or WPF, ZK (framework), dan Silverlight).
Pola desain merupakan desain struktur utama yang membuat desain  object-oriented yang reusable (Gamma et al 1995). Pola desain berfokus pada permasalahan desain  objectoriented.

Model-View-Controller

Menurut Gamma et al (1995), Model-ViewController (MVC) digunakan untuk membangun antarmuka pengguna pada Smalltalk-80. Menurut Potel (1996), MVC adalah fundamental dari pola desain yang digunakan pada Smalltalk untuk mengimplementasikan objek graphical user interface (GUI), dan MVC digunakan lagi dan diadopsi ke dalam kelas pustaka GUI lainnya dan beberapa framework aplikasi. Model-View-Controller (MVC) adalah suatu rancangan aplikasi yang terbagi atas tiga bagian yaitu:  Model,  View, dan  Controller. MVC digunakan untuk memetakan input, proses, dan output ke dalam Antarmuka pengguna (Marston 2004 dalam Mamluati 2006). Hubungan di antara MVC dapat dilihat  pada gambar dibawah.
Elemen-elemen dari pola MVVM adalah:
•    Model
Model merupakan representasi dari proses bisnis di dalam aplikasi perangkat lunak. Lebih mudahnya, dapat juga disebutkan bahwa Model adalah bagian yang bertugas untuk mengolah data mentah menjadi data yang mengandung arti yang diinginkan oleh pengguna.
•    View
View mengatur antarmuka dari sistem mengatur  output  baik grafis maupun teks, merupakan hasil akhir yang dikirimkan ke pengguna aplikasi. Format HTML merupakan contoh  umum hasil akhir yang dikirimkan dalam aplikasi web.
•    Controller
Controller merepresentasikan permintaan yang datang dari pengguna berupa  input  dari keyboard  atau  mouse, memerintahkan  Model untuk memproses aksi berdasarkan  input, kemudian menampilkan hasil dari aksi tersebut ke View.

Model-View-ViewModel

        Model-View-ViewModel adalah variasi dari Model-View-Controller (MVC) yang dirancang sebagai  platform pengembangan antarmuka pengguna modern.
Menurut Horn (2010), pola  Model-ViewViewModel merupakan pola pengembangan terbaru turunan dari pola  Model-ViewController  (MVC). Pada MVC,  Controller berisi logika yang menangani  event dari antarmuka pengguna dan menangani penampilan data di  View. Pola desain MVVM memiliki kemampuan baru dalam  data-binding (pengikatan data) yang terdapat pada ViewModel.  Controller  pada pola desain MVVM diganti  ViewModel  yang tugasnya mengontrol penampilan dari View.

Model-View-Presenter

Model-View-Presenter (MVP) merupakan turunan  dari model pemrograman pada Smalltalk MVC  (Potel  et al 1996). Perbedaan dengan MVC ialah  Controller pada MVC diganti degan  Presenter. Presenter  pada MVP merupakan interpretasi kejadian dan pergerakan yang diinisiasi oleh pengguna dan menyediakan logika bisnis yang cocok dengan perintah untuk memanipulasi  Model. MVP  merupakan jenis pola desain antarmuka pengguna yang memasangkan  logika antarmuka pengguna.
Berdasarkan MSDN  Library (2009), varian dari MVP yaitu  Passive View dan  Supervising.
Controller.  Presenter pada  Passive View memperbaharui  View untuk memberi tahu perubahan kepada  Model. Interaksi dengan Model ditangani secara eksklusif oleh Presenter. View tidak mengetahui perubahan-perubahan di dalam Model.
View pada  Supervising Controller berinteraksi dengan  Model untuk melakukan pengikatan data sederhana yang dapat didefinisikan secara deklaratif, tanpa campur tangan  Presenter. Ilustrasi  Passive View dapat dilihat pada Gambar 2.




Gambar 2. Ilustrasi Passive View

Ilustrasi Supervising Controller dapat dilihat pada Gambar 3.

Gambar 3. Ilustrasi Supervising Controller

Menurut Rozzaq (2007), keuntungan dalam implementasi aplikasi menggunakan pola desain MVP adalah :
a.     Logika domain tidak tersebar di seluruh kode program antarmuka. Sehingga mengurangi duplikasi penulisan kode program dan lebih memudahkan dalam proses  debugging,  pemeliharaan, penambahan, dan penggunaan ulang kode.
b.     Antarmuka pengguna dapat diubah secara bebas dari  Model dalam kasus yang tidak merubah kebutuhan aplikasi yang mendasar.
c.     Pemisahan domain logika dengan dari kode program antarmuka pengguna sangat memudahkan pengujian unit (unit testing). Kekurangan MVP adalah adanya penambahan kode program yang terlibat dalam pemisahan antara Model, View,  dan  Presenter.
Namun, kekurangan ini bisa tertutupi dengan adanya manfaat yang muncul dari pemisahan kode program ini.

Untuk Tutorial MVVM bisa di download disini..

Sep 25, 2011

Design Patterns (GoF)



Design Pattern adalah suatu solusi yang umum dilakukan untuk menangani masalah perancangan software.Design Pattern yang cukup populer diperkenalkan oleh GOF(Gang Of Four). Dewanya Design diantaranya adalah Erich Gamma, Richard Helm, Ralph Johnson dan John Vlissides.
Dalam penjelasan dari Gang Of Four(GoF) terdapat 23 Pattern yang di bagi menjadi 3 kelompok besar.
yakni diantaranya
1. Creation Patterns(cara Class/object di inisialisasi)
2. Structural Patterns (Struktur/ relasi antar object/class)
3. Behavior Patterns (Tingkah laku atau fungsi dari class/object)

Penjelasan secara singkat bagian-bagian Design Pattern :
1.Creation Pattern, yaitu pattern yang menyangkut dengan pembuatan object.Pattern akan menangani pembuatan suatu object, daripada kita menangani pembuatan objcet
secara langsung dan mungkin akan tersebar di dalam code kita. Dengan cara ini program akan lebih fleksibel dalam
memutuskan pemakaian object yang dibutuhkan.
2.Structural Pattern. yaitu pattern yang menyangkut dengan struktur program. dimana dalam Pattern ini akan lebih konsen ke class
objcet composite. akan banyak penggunaan pewarisan to menggabungkan interface dan menjelaskan cara untuk menggabungkan object
tujuan membuat fungsionalitas baru.
3.Behavioural Pattern. yaitu pattern yang menyangkut tentang kelakuan program. Dimana pada pattern ini akan menjelaskan spesifik tentang
komunikasi antar objcet.

Dari ketiga kelompok besar design pattern tersebut memiliki bagian2 seperti berikut
* Creational Pattern
1. Abstract Factory (Pembuatan Instance Object dari keluarga object (Children Object))
2. Builder (Kontruksi Object yang kompleks dengan memisahkan kontruksinya dan penjabaran object tersebut)
3. Factory Method (Pembuatan Objet tanpa spesifikasi penjabaran class yang akan di buat)
4. Prototype ( Pembuatan object dengan mengkloning dari object yang telah ada)
5. Singleton ( Pembatasan pembuatan object dari suatu class)

* Structural Pattern
1. Adapter (Pattern ini Membolehkan class yang interfacenya tidak compatible untuk bekerja bersama, dengan cara membungkusnya menjadi interface dari class yang telah ada)
2. Bridge ( Pattern ini Memisahkan abstraksi dari implementasinya sehingga dapat memberikan variasi class secara independent)
3. Composite (Pattern ini Menggabungkan satu atau lebih object yang serupa sehingga dapat dijadikan satu object)
4. Decorator (Pattern yang memberikan cara yang dinamis untuk menambahkan dan meng-override prilaku dari method yang ada dalam sebuah object)
5. Facade (Pattern yang menyediakan interface sederhana yang akan di implementasikan dengan coding yang besar)
6. Flyweight ( Pattern ini berupaya untuk mengurangi pembuatan dan manipulasi dari sejumlah object besar yang serupa)
7. Proxy (Pattern yang menyediakan tempat untuk objek-object mengakases controll dari aplikasi, dimana dapat mengurangi biaya dan mengurangi kompleksitas)

* Behavior Patterns
1. Chain of responsibility ( Pattern yang mendelegasikan perintah untuk rantai pengolahan objek )
2. Command ( Menciptakan objects yang dikemas dengan beberapa pilihan/action dan parameter )
3. Interpreter ( Pattern yang digunakan untuk spesifik bahasa )
4. Iterator ( Mengakses element dari object secara berurutan tanpa memaparkan representasinya )
5. Mediator ( Memberikan pola untuk 'loose coupling' antara class dengan cara menjadikanya satu kelas yang mempaparkan detail dari method).
6. Memento ( Tanpa melanggar konsep enkapsulasi. Merekam dan mengektrasi keadaaan internal object dimana memungkinkan mengembalikan keadaannya ke semula nanti.)
7. Observer ( Mendefinisikan dependency one-to-many antara object, dimana perubahan terjadi pada satu object yang nantinya akan mengenai object turunannya secara otomatis )
8. State ( Memungkinkan object untuk mengubah prilaku ketika terjadi perubahan internal. )
9. Strategy (Menentukan sebuah keluarga algoritma, merangkumnya dan membuat mereka bisa saling di pertukarkan. Pattern ini memberikan algoritma yang bervariasi secara independent bisa digunakan)
10. Template Method ( Mendefinisikan kerangka operasi algoritma dalam sebuah abstract class. Metode template ini memungkinkan subclass mendefinisikan langkah tertentu dari sebuah algoritma tanpa mengubah struktur algoritma)
11. Visitor ( Memisahkan algoritma dari struktur object dengan memindahkan hirarki dari methods ke dalam satu object)

Keuntungan dari Design Pattern adalah
1. Design yang berulang, lebih effisien dari hanya penggunaan code yang berulang.
2. Menangani permasalahan yang umum dihadapi oleh system designer.
3. Dengan menggunakan Design Pattern akan lebih mudah bagi orang lain memahami apa yang anda lakukan dan mengapa.
4. Design Patter membantu anda untuk refactoring code anda dengan mudah

Untuk Penjelasan Design Pattern di Gof akan dijelaskan Nanti..
Bersambung / to be continued

Sep 12, 2011

Spliter File Text Java


Iseng2 Lagi.. (*_*)
Ide membuat SpliterFile Text ini terbesit ketika teman2 sekantor
yang sedang melototin ratusan ribu data di file text dengan wajah yang suram.
Dan semua Sumpah Serapah di keluar dari rongga mulutnya.
terbesit niat membantu teman2 untuk mempermudah pekerjaanya..
dengan nyambi ngoding ADF saya membuat Aplikasi ini..
adapun sedikit Penjelasannya seperti Berikut..


Spliter File Text merupakan software untuk membagi file text(CSV dan TXT).
Dimana tujuannya untuk membagi file text yang berukuran besar.
Adapun file yang dipecah pecah dapat berdasarkan maximal Row yang akan di pecah
dan dapat juga dipecah menjadi beberapa bagian

Spliter File Text ini di buat menggunakan Bahasa Pemrograman Java sehinnga dapat
berjalan di Semua Platform yang terpadat Java Virtual Machine nya.

Selamat Menikmati..(Kaya Makanan Aja..)

Anda Puas Saya Lemas

aplikasi dapat di dowload disini

kalo mau Souce Code nya dapat di download disini : download

Aug 11, 2011

Apllikasi Translator Blakcberry



Mencoba Membuat Aplikasi Blackberry

Hanya ditemani Kopi+Internet+Mp3+Rokok

Malam Minggu merupakan hari saya untuk bersenang2 ria. Namun Saking Malasnya pergi dan akhirnya benggong sendiri di depan laptop(Nasib Jomblo) (~_~). Saat saya menabung di kamar mandi timbul lah ide untuk membuat aplikasi di Blackberry. Saya ingin membuat aplikasi yang translator multilanguage. Alibi belum fasih dalam berbasa inggris maupun yang lainnya.(sedih S1 belum bisa Bahasa Inggris). Hanya bermodal pernah membuat aplikasi J2ME untuk skripsi dulu. Terjunlah saya ke mulut IDE Eclipse plugin Blackberry... Huaaa..(Coding Never Ending).

Artsitektur dari aplikasi ini cukup Sederhana. Dimana Aplikasi TranslatorBB yang saya buat hanya menggakses WebService dari www.bing.com yang telah menyediakan API Translator berbagai bahasa.

Arsitektur dari TranslatorBB


Aplikasi ini masih terdapat beberapa kekurangan dimana keterbatasan Blackberry dalam menyediakan Font untuk berbagai negara. tapi sayangnya untuk mendaptar Signature key butuh process 2 hari dari Blackberry. jika Ada yang berminat untuk SourceCodenya. comment alamat email.

Apr 22, 2010

Aplikasi Path Finding dengan Google Maps API Berbasis GPS dan J2ME





Dewasa ini telepon seluler mengalami perkembangan yang sangat pesat. Telepon seluler saat ini tidak hanya dapat digunakan untuk melakukan komunikasi seperti telepon dan SMS saja tetapi dapat juga digunakan untuk mengakses internet. Dengan fungsi mengakses internet ini, penggunaan telepon seluler dapat dikembangkan menjadi sangat luas, tidak hanya untuk menelpon, sms, akan tetapi juga dapat digunakan untuk membaca email,chating, membaca iklan, melihat peta online seperti pada Google Maps. Atas dasar itu ”Aplikasi Path Finder dengan Peta Online Berbasis GPS dan J2ME” ini dibangun, untuk memudahkan pengguna untuk mencari jalur dari device menuju ke lokasi-lokasi tertentu.
Aplikasi ini dibuat untuk memudahkan pengguna mencari jalur dan membimbing pengguna menuju ke lokasi tersebut,seperti Tempat Wisata, Rumah Sakit, Kantor Polisi, Pom Bensin, Hotel, Bank, Universitas, Mall dan Tempat Pariwisata. Dimana pengguna dapat melakukan pencarian lokasi dengan filter tertentu seperti tipe, harga, dsb. Selain itu pengguna juga dapat langsung melihat lokasi pada peta online sehingga memudahkan pengguna untuk mencari lokasi properti tsb.
Dalam pembangunan aplikasi ini digunakan beberapa metode penelitian antara lain : studi pustaka, observasi, dan analisis. Melalui metode-metode tersebut data kebutuhan pengguna dikumpulkan untuk selanjutnya diolah dan diimplementasikan pada aplikasi ini.
Aplikasi ini diimplementasikan dengan bahasa pemrograman J2ME pada klien, bahasa pemrograman PHP pada server, MySQL sebagai database manajemen pada server serta Google Maps sebagai layanan penyedia peta online.
Dengan dikembangkannya aplikasi ini diharapkan dapat membantu pengguna dalam mencari lokasi terdekat dan dapat menuntun pengguna menuju lokasi tersebut dengan tersebut dengan bantaun peta online.

Apr 13, 2010

Sekilas Tentang J2ME


Java 2 Micro Edition (J2ME) merupakan sebuah kombinasi yang terbentuk antara sekumpulan interface Java yang sering disebut dengan JAVA API (Application Programming Interface) dengan JVM (Java Virtual Machine) yang didesain khusus untuk alat, yaitu JVM dengan ruang yang terbatas. Kombinasi tersebut kemudian digunakan untuk membangun aplikasi-aplikasi yang dapat berjalan di atas alat (dalam hal ini mobile device) (Raharjo, Hermantyo, Haryono, 2007).

Komponen-komponen J2ME terdiri dari Java Virtual Machine (JVM) yang digunakan untuk menjalankan aplikasi Java pada emulator atau handheld device, Java API (Aplication Programming Interface) dan tools lain untuk pengembangan aplikasi Java semacam emulator Java Phone, emulator Motorolla dari J2ME Wireless Toolkit. Dalam pengembangan aplikasi wireless dengan Java, J2ME dibagi menjadi dua buah bagian, yaitu:

1. Lapisan Konfigurasi (Configuration Layer)

Virtual machine yang berupa konfigurasi yang menyediakan fungsi dasar dengan karakteristik yang sama. Contohnya: fungsi koneksi jaringan dan manajemen memori. J2ME mempunyai dua konfigurasi utama yaitu:

a. Connected Limited Device Configuration (CLDC)

CLDC diperlukan untuk pengembangan aplikasi wireless dengan MIDP. Implementasinya CLDC digunakan untuk program Java pada perangkat keras dengan ukuran memori yang terbatas, pada 160 sampai dengan 512 Kilobyte.

b. Connected Device Configuration (CDC)

CDC mampu menggunakan seluruh fitur Java 2 Virtual Machine. CDC juga mampu menggunakan hampir seluruh fitur J2SE. Besarnya permintaan CDC akan sumber daya, membuat CDC tidak bisa digunakan di banyak piranti mobile.

2. Lapisan Profile (Profile Layer)

Menyediakan lingkungan pustaka-pustaka API untuk membangun aplikasi mobile (Mardiono, 2006). J2ME mempunyai beberapa profil (Agung, 2005) antara lain:

a. Mobile Information Device Profile (MIDP)

b. Foundation Profile (FP)

c. Personal Profile

d. Personal Digital Assistance (PDA) Profile