Senin, 23 Januari 2017

Pembuatan Aplikasi Mobile dengan J2ME - Mobile Computing







Foto oleh Markus Spiske dari Pexels - 

Introduction
  • 1990-an Sun Microsystem menyusun sebuah tim yang dipimpin oleh James Gosling untuk membuat program sistem kontrol.
Mulanya James Gosling kesulitan menggunakan C++ sehingga memutuskan untuk membuat bahasa baru yang diberi nama Oak.

Bahasa Oak dikembangkan lagi sehingga menjadi bahasa Java yang digunakan hingga sekarang.
    • Java 2 Micro Edition (J2ME) dibuat pertama kali oleh Sun Microsystems pada tahun 1998. 
    Tujuan awalnya adalah untuk menyelidiki kemungkinan‐kemungkinan dijalankannya Java pada perangkat dengan sumber daya terbatas.
      • J2ME meningkatkan kapabilitas perangkat mobile dari yang hanya berkemampuan melakukan komunikasi suara menjadi perangkat yang mampu mengakses internet dan memiliki fungsionalitas lebih dinamis.
      • Kebutuhan terhadap platform bahasa yang bersifat free, yang dapat diimplementasikan pada produk elektronik untuk konsumen.
            Platform JAVA

            J2SE – Java 2 Platform, Standard Edition
            Aplikasi Desktop
            J2EE – Java 2 Platform, Enterprise Edition
            Aplikasi enterprise dengan fokus pada pengembangan sisi webserver
            J2ME – Java 2 Platform, Micro Edition
            Perangkat Mobile
            JavaCard
            JavaCard

             Apa itu Teknologi JAVA ?
            • Sebuah Bahasa Pemrograman. Sebagai sebuah bahasa pemrograman, Java dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya.
            • Sebuah Development Environment. Sebagai sebuah peralatan pembangun, teknologi Java menyediakan banyak tools : Compiler, interpreter, penyusun dokumentasi, paket kelas dan sebagainya.
            • Sebuah Aplikasi. Aplikasi dengan teknologi Java secara umum adalah aplikasi serba guna yang dapat dijalankan pada seluruh mesin yang memiliki Java Runtime Environment (JRE).
              • Sebuah Deployment Environment. JRE, yang terdapat pada paket J2SDK, mengandung kelas - kelas untuk semua paket teknologi Java yang meliputi kelas dasar dari Java, komponen GUI dan sebagainya. Komponen yang lain terdapat pada Web Browser.
              Kegunaan Java

              Bahasa Java dapat digunakan untuk membuat program berupa :
              • Aplikasi berbasis teks maupun windows
              • Aplikasi yang dapat berjalan di halaman web (applet)
              • Aplikasi untuk perangkat mobile (MIDlet)
              Karakteristik JAVA

              1. Sederhana
              • Sintaknya mirip C++
              • Menghilangkan pointer yang rumit
              • Menghilangkan multiple inheritance
              • Menggunakan automatic memory allocation dan memory garbage collection 
              2. Berorientasi Objek. Murni berorientasi objek (program yang reusable)

              3. Terdistribusi. Aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi.

              4. Interpreted. Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM) sehingga hasil terjemahan source code JAVA yang berupa bytecodes dapat dijalankan pada platform yang berbeda-beda

              5. Robust. Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain serta mempunyai runtime-Exception handling untuk membantu mengatasi error pada pemrograman.

              6. Secure. Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi.

              7. Architecture Neutral. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform berbeda dengan Java Virtual Machine. 

              8. Portable. Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.

              9. Performance. Performance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft ataupun Symantec yang menggunakan Just In Time Compilers (JIT).

              10. Multithreaded. Fasilitas pemrograman paralel (dapat melakukan beberapa pekerjaan sekaligus)

              11. Dynamic. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa menggangu program yang menggunakan class tersebut.

              Compiler & Interpreter
              • Compiler dan interpreter adalah program yang digunakan untuk merubah (menerjemahkan) kode program yang mirip bahasa manusia menjadi bahasa yang dimengerti oleh mesin (prosesor) agar dapat diproses
              • Compiler menerjemahkan per blok kode program, sedangkan interpreter per baris.
              • Contoh compiler :
              1. Turbo Pascal (produksi Borland) untuk bahasa Pascal
              2. Gcc yang berjalan di Linux untuk bahasa C/C++
              3. Visual Basic (produksi Microsoft) untuk bahasa Basic berbasis windows
              • Contoh interpreter :
              1. Command.com adalah interpreter DOS produksi Microsoft
              2. MySQL adalah salah satu interpreter SQL
              J2ME Configuration

              J2ME Configuration mendefinisikan lingkungan kerja J2ME runtime.

              Oleh karena setiap handheld device memiliki fitur-fitur yang berbeda-beda, J2ME Configuration ini dirancang yaitu menyediakan library standar yang mengimplementasikan fitur standar dari sebuah Handled device.

              Kategori J2ME Configuration
              • CLDC (Connected Limited Device Configuration) digunakan untuk aplikasi java pada perangkat-perangkat keras dengan ukuran memori yang sangat terbatas, yaitu pada kisaran 160 samapi 512 KiloBytes, seperti handphone, organizer atau PDA seperti PALM, Poket PC dan two way pagers.
              • CDC (Connected Device Configuration) digunakan untuk aplikasi Java pada Handheld devices dengan ukuran memori paling tidak 2 Megabytes, seperti : Internet TV, Nokia, Communicator dan car television.
              J2ME Profile
              • Mobile Information Devise Profile, MIDP menyediakan librari-librari java untuk implementasi dasar antarmuka (GUI), imp-lementasi jaringan (networking), database dan timer. MIDP dirancang khususnya untuk wireless phone dan pager.
              • Foundation Profile, Profile dasar untuk non-GUI network device pada CDC
              • Personal Profil, RMI Profile, Personal Digital Assistant Profile
              MIDlet

              MIDlet merupakan aplikasi yang dijalankan pada sebuah perangkat handheld.

              MIDlet tidak berinteraksi langsung dengan hardware dari handheld devices, melainkan berinteraksi melalui AMS (Application Management Software).

              AMS inilah yang akan menerima sinyal dari MIDlet bahwa MIDlet akan dijalankan atau berhenti.

              Siklus Hidup MIDlet

              (Maav, gambar telah terhapus silahkan cari di Google Image)

              Keterangan :
              • Paused, Status ini terjadi ketika MIDlet selesai disosialisasikan dan tidak melakukan aksi apapun.
              • Active, Status ini terjadi ketika MIDlet sedang berjalan dengan normal, yakni setelah memanggil fungsi MIDlet.startApp()
              • Destroyed, Status ini terjadi ketika MIDlet berhenti berjalan (exit), sehingga seluruh sumber daya yang digunakan akan dibebaskan. Status ini terjadi ketika berhasil dilakukan pemanggilan fungsi MIDlet.destroyApp() atau MIDlet.notifyDestroyed().
              Jenis-jenis aplikasi J2ME
              • Walled garden application yaitu aplikasi yang berdiri sendiri atau stand alone yang berjalan pada handphone tanpa perlu mengakses sumber data eksternal melalui jaringan pembawa atau carier network. Contoh dari aplikasi ini adalah kalkulator atau single player games.
              • Network aware application yaitu aplikasi yang berinteraksi dengan jaringan. Tidak seperti aplikasi pertama, aplikasi ini memiliki kemampuan untuk mengakses sumber daya eksternal. Contoh dari aplikasi jenis ini adalah aplikasi email yang berada pada handphone, aplikasi untuk mendapatkan kembali data alamat-alamat yang tersimpan melalui jaringan, dan pengiriman email berbagai alamat melalui jaringan data.
              Yang Diperlukan Untuk Membuat Program Java
              1. Sun Microsystem telah mengeluarkan beberapa buah paket yang disebarkan gratis lewat internet
              • JDK (Java Development Kit), berisi compiler maupun interpreter Java
              • JRE (Java Runtime Environment), hanya berisi interpreter Java
              • JME (Java Micro Edition), compiler untuk pemrograman mobile
              • Netbeans, yaitu editor dengan lingkungan visual untuk membuat project Java.
              Kelebihan & Kekurangan Java

              Kelebihan
              • Multi-platform. Java dapat dijalankan di sistem operasi manapun pada mesin apapun, selama memiliki interpreter yang sesuai, tanpa perlu dilakukan porting.
              Kekurangan
              • Lambat eksekusi. Proses eksekusi program lambat karena file class yang berformat byte-code tidak dalam format biner sehingga perlu interpreter untuk menerjemahkan perintah dalam byte-code menjadi bahasa mesin.
              Tool Pengembangan Aplikasi J2ME di Windows
              1. Install JDK dan Sun Wireless Toolkit (Optional)
              2. Install Netbeans
              3. Aktifkan Plugin J2ME
              Selain Tool dari Sun Microsystems terdapat juga perangkat pengembangan yang lain untuk J2ME.

              Kebanyakan perangkat pengembangan ini dikeluarkan oleh vendor perangkat mobile.

              Dengan menggunakan perangkat pengembangan dari suatu vendor perangkat mobile diharapkan nantinya aplikasi akan berjalan dengan baik pada perangkat mobile vendor tersebut tanpa penyesuaian lagi. 

              Perangkat‐perangkat pengembangan itu antara lain : 
              1. Nokia developer Suite for J2ME
              2. Motorola J2ME SDK
              3. Sony Ericsson J2ME SDK
              4. BenQ‐Siemens Mobility Toolkit
              Baca Juga :

              Artikel Terkait