1 – Pengenalan J2ME, Configuration, & Profile

Download Report

Transcript 1 – Pengenalan J2ME, Configuration, & Profile

Marsel Willem Aipassa, S.
Kom.
Pengenalan J2ME,
Configuration & Profile
Mobile Computing
Platform Java
J2SE – Java 2 Platform, Standard
Edition
Aplikasi Desktop
J2EE – Java 2 Platform, Enterprise
Edition
Aplikasi enterprise dengan fokus pada
pengembangan sisi webserver,
termasuk servlet, JSP, EJB, dan XML
J2ME – Java 2 Platform, Micro Edition
Perangkat Mobile
JavaCard
Smart Cards
Marsel Willem Aipassa, S. Kom.
…
Marsel Willem Aipassa, S. Kom.
Karakteristik Perangkat Mobile
 Ukuran yang kecil
 Memori yang terbatas
 Daya proses yang terbatas
 Mengkonsumsi daya yang rendah
 Konektivitas yang terbatas
 Masa hidup yang pendek
Marsel Willem Aipassa, S. Kom.
J2ME
 Set spesifikasi yang berfokus kepada perangkat konsumen
 Bekerja pada lingkungan yang terbatas
 Program J2ME diterjemahkan oleh VM
 Program J2ME tidak berhubungan langsung dengan perangkat
 Inti J2ME terletak pada Configuration & Profile
 Configuration menggambarkan library dasar yang minimal harus
ada untuk teknologi Java, sedangkan Profile menggambarkan setset/library API tambahan
Marsel Willem Aipassa, S. Kom.
…
Marsel Willem Aipassa, S. Kom.
Configuration
 Menggambarkan fitur minimal dari Java runtime
 Untuk menjamin portabilitas dan interopabilitas,
configuration tidak menggambarkan fitur tambahan
 Configuration menggambarkan subset bahasa pemrograman
Java, kemampuan JVM, core platform libraries, keamanan
dan jaringan
 CDC dan CLDC
Marsel Willem Aipassa, S. Kom.
CLDC
 Subset dari CDC dan Java SE
 Connection Limited Device Configuration (CLDC)
menggambarkan dan merujuk pada area:
 Fitur bahasa Java dan Virtual Machine (VM)
 Library dasar
 Input/Output
 Keamanan
 Jaringan
 Internationalization
Marsel Willem Aipassa, S. Kom.
…
 Package-package pada CLDC
 java.lang
 java.lang.ref (CLDC 1.1)
 java.util
 java.io
 javax.microedition.io
Marsel Willem Aipassa, S. Kom.
…
 Karakteristik perangkat dengan CLDC
 Memory minimal 192kb untuk platform Java
 Prosesor dengan 16 atau 32 bit
 Mengkonsumsi sedikit daya
 Koneksi jaringan yang sementara & pembatasan bandwidth
 CLDC tidak menggambarkan instalasi & daur hidup aplikasi,
UI, dan penanganan peristiwa (event handling)
Marsel Willem Aipassa, S. Kom.
GCF
 API dari CLDC untuk koneksi adalah Generic Connection
Framework (GCF)
 Sebagai dasar umum untuk koneksi seperti HTTP, Socket,
dan Datagram.
Marsel Willem Aipassa, S. Kom.
…
Marsel Willem Aipassa, S. Kom.
CDC
 Merupakan superset dari CLDC
 Menggambarkan lingkungan Java runtime yang lebih luas
daripada CLDC, lebih dekat ke lingkungan J2SE
 Berisi semua API dari CLDC
 Memasukkan GCF ke dalamnya
Marsel Willem Aipassa, S. Kom.
Profile
 Menggambarkan set-set API dan fitur tambahan untuk pasar,
perangkat dan industri tertentu
 Profile menggambarkan library penting untuk membuat
aplikasi-aplikasi yang efektif seperti UI, networking dan
storage
 Mobile Information Device Profile (MIDP)
Marsel Willem Aipassa, S. Kom.
MIDP
 MIDP (sekarang versi 2.0) berjalan diatas CLDC
 Membuat aplikasi mobile menggunakan CLDC dengan
memanfaatkan MIDP yang mendefenisikan UI
 MIDP menggambarkan model aplikasi, UI API, storage dan
networking, game dan media API, keamanan, penyebaran
aplikasi
 Didesain untuk perangkat mobile
 Ditujukan pada area limited screen
Marsel Willem Aipassa, S. Kom.
…
 Memiliki kelas-kelas yang menangani fungsi high-level dan
low-level UI
 High-level UI didesain fleksibel untuk berbagai spesifikasi dan
implementasi
 MIDP 2.0 menambahkan fasilitas-fasilitas yang telah ada dari
MIDP 1.0 seperti Game API, socket connection, datagram
connection, server socket, serial port
Marsel Willem Aipassa, S. Kom.
MIDP 1.0
 Mendukung persistant Storage (Record Management
System)
 Mendukung High Level dan Low Level User Interface
 Mendukung Networking
Marsel Willem Aipassa, S. Kom.
MIDP 2.0
 Media API
 Game API
 Networking (datagram dan socket)
 Push Technology
 OTA (Over The Air)
Marsel Willem Aipassa, S. Kom.
CLDC & MIDP
Marsel Willem Aipassa, S. Kom.
MIDlet
 Suatu aplikasi MIDP disebut MIDlet
 Pada perangkat terdapat Aplication Management Software
(AMS) yang akan mengatur jalannya aplikasi
 MIDlet berinteraksi langsung dengan AMS lewat method
created, start, pause dan destroy
 Suatu MIDlet tidak harus memiliki method public static void
main. Method tersebut tidak dikenal oleh AMS sebagai titik
awal berjalannya program
Marsel Willem Aipassa, S. Kom.
…
 Sebuah MIDlet harus diwarisi dari (extend) kelas MIDlet yang
berada pada package javax.microedition.midlet
 Kelas MIDlet menyediakan metode untuk siklus hidup dari
aplikasi
 MIDlet memiliki tiga status yaitu Active, Paused dan
Destroyed
Marsel Willem Aipassa, S. Kom.
…
 Metode-metode yang mengatur siklus hidup MIDlet antara
lain
 Public void startApp() throws
MIDletStateChangeException
 Public void pauseApp()
 Public void destoyApp(booleanuconditional) throws
MIDletStateChangeException
Marsel Willem Aipassa, S. Kom.
Contoh MIDlet
import javax.microedition.midlet.*;
public class <NamaClassMidlet> extends MIDlet {
public <NamaClassMidlet>(){
}
public void startApp(){
}
public void pauseApp(){
}
public void destroyApp(boolean unconditional){
}
}
Marsel Willem Aipassa, S. Kom.
SiklusMIDlet (1)
 MIDlet dimulai ketika diinstatiative oleh AMS dan
langsung masuk ke status
Pause
 AMS memanggil konstruktor
public tanpa parameter dari
MIDlet
 Jika ada eksepsi pada
konstruktor, MIDlet masuk ke
dalam status Destroyed dan
AMS segera membuangnya
Marsel Willem Aipassa, S. Kom.
SiklusMIDlet (2)
 MIDlet masuk ke status Active
atas pemanggilan method
startApp() oleh AMS
 MIDlet masuk ke status
Destroyed ketika AMS
memanggil method
destroyApp(). Status ini juga
terjadi jika pemanggilan
method notifyDestroyed
sukses
 MIDlet hanya bisa memasuki
status Destroyed sekali dalam
siklusnya
Marsel Willem Aipassa, S. Kom.
MIDlet
 Aplikasi MIDlet yang telah siap, dipaketkan dan
diimplementasi ke dalam perangkat dengan nama MIDlet
suite
 MIDlet suite terdiri dari dua file yaitu Java Archive (.jar) dan
tambahan Java Application Descriptor (.jad)
Marsel Willem Aipassa, S. Kom.
JTWI
 Java Technology Wireless Industry menetapkan set service
dan spesifikasi standar
 Memperkecil fragmentasi API dalam pasar mobile phone
 Mengirim spesifikasi yang dapat diprediksi dan jelas untuk
pabrik, operator dan pengembang aplikasi
 Aplikasi akan berjalan disuatu set yang lebih luas
Marsel Willem Aipassa, S. Kom.
Komponen JTWI
Marsel Willem Aipassa, S. Kom.
 Terima Kasih
Marsel Willem Aipassa, S. Kom.
Kuis
 Apa yang dapat anda simpulkan dari materi pertemuan kali
ini?
 Apa motivasi anda memilih matakuliah Mobile Computing?
Marsel Willem Aipassa, S. Kom.