Anda di halaman 1dari 12

J.E.N.I.

Bab 1
Pengembangan Aplikasi Mobile
1.1 Tujuan
Dalam bab ini, kita akan mendiskusikan karateristik dari perangkat mobile, dan bagaimana hal
tersebut mempengaruhi pengembangan program untuk perangkat ini. Kita akan diperkenalkan
kepada Java 2 Mobile Edition (J2ME), termasuk pentingna !on"iguration dan pro"ilena.
#ada akhir bab ini, pela$ar diharapkan dapat menguasai %
Mengidenti"ikasi karakteristik dari perangkat mobile
Men$elaskan arsitektur J2ME
Mengetahui peran atau aturan !on"iguration dan pro"ile
Mengidenti"ikasi &#I ang disediakan oleh MID#
Men$elaskan daur hidup MIDlet
1.2 Perangkat Mobile
#erangkat mobile memiliki banak $enis dalam hal ukuran, desain dan laout, tetapi mereka
memiliki kesamaan karakteristik ang sangat berbeda dari sistem desktop.
'kuran ang ke!il
#erangkat mobile memiliki ukuran ang ke!il. Konsumen menginginkan perangkat ang
terke!il untuk kenamanan dan mobilitas mereka.
Memor ang terbatas
#erangkat mobile $uga memiliki memor ang ke!il, aitu primar ((&M) dan se!ondar
(disk). #embatasan ini adalah salah satu "aktor ang mempengaruhi penulisan program
untuk berbagai $enis dari perangkat ini. Dengan pembatasan $umlah dari memor,
pertimbangan)pertimbangan khusus harus diambil untuk memelihara pemakaian dari
sumber daa ang mahal ini.
Daa proses ang terbatas
*istem mobile tidaklah setangguh rekan mereka aitu desktop. 'kuran, teknologi dan
biaa adalah beberapa "aktor ang mempengaruhi status dari sumber daa ini. *eperti
harddisk dan (&M, &nda dapat menemukan mereka dalam ukuran ang pas dengan
sebuah kemasan ke!il.
Mengkonsumsi daa ang rendah
#engembangan #erangkat Mobile 1
J.E.N.I.
#erangkat mobile menghabiskan sedikit daa dibandingkan dengan mesin desktop.
#erangkat ini harus menghemat daa karena mereka ber$alan pada keadaan dimana
daa ang disediakan dibatasi oleh baterai)baterai.
Kuat dan dapat diandalkan
Karena perangkat mobile selalu diba+a kemana sa$a, mereka harus !ukup kuat untuk
menghadapi benturan)benturan, gerakan, dan sesekali tetesan)tetesan air.
Konektivitas ang terbatas
#erangkat mobile memiliki band+ith rendah, beberapa dari mereka bahkan tidak
tersambung. Kebanakan dari mereka menggunakan koneksi +ireless.
Masa hidup ang pendek
#erangkat)perangkat konsumen ini menala dalam hitungan detik kebanakan dari
mereka selalu menala. ,oba ambil kasus sebuah handphone, mereka booting dalam
hitungan detik dan kebanakan orang tidak mematikan handphone mereka bahkan
ketika malam hari. #D& akan menala $ika anda menekan tombol po+er mereka.
1.3 Gambaran J2ME
1.3.1 Platform JAVA
Java dibuat pada tahun -..- oleh James /osling. #ada a+alna diberi nama 0ak, dimana
untuk menghormati pohon ang ada di luar $endela /osling. Kemudian namana diubah ke
Java karena telah ada sebuah bahasa ang diberi nama 0ak.
Motivasi sesungguhna dari Java adalah kebutuhan akan sebuah bahasa ang bisa digunakan
pada berbagai plat"orm ang bisa dimasukkan ke dalam berbagai produk elektronik seperti
pemanggang roti dan lemari es. *alah satu dari proek pertama ang dikembangkan
menggunakan J&1& sebuah remote kontrol ang diberi nama *tar 2.
#ada saat ang sama, 3orld 3ide 3eb dan Internet berkembang sangat !epat. /osling
menadari bah+a Java dapat digunakan untuk pemrograman Internet.
Dengan keluarna versi -.2, plat"orm Java telah dipilah)pilah men$adi beberapa edisi %
4he *tandard Edition(J2*E), Enterprise Edition(J2EE), Mobile Edition(J2ME), dan Java,ard &#I.
J2*E 5 Java 2 #lat"orm, *tandard Edition &plikasi Desktop
J2EE 5 Java 2 #lat"orm, Enterprise Edition &plikasi enterprise dengan "okus pada
pengembangan sisi +ebserver, termasuk
servlet,J*#,EJ6, dan 7M8
J2ME 5 Java 2 #lat"orm, Mi!ro Edition #erangkat Mobile
Java,ard *mart ,ards
#engembangan #erangkat Mobile 2
J.E.N.I.
Gambar 1: Platform Java
1.3.2 Gambaran J2ME
J2ME adalah satu set spesi"ikasi dan teknologi ang "okus kepada perangkat konsumen.
#erangkat ini memiliki $umlah memori ang terbatas, menghabiskan sedikit daa dari baterei,
laar ang ke!il dan band+ith $aringan ang rendah.
Dengan perkembangbiakan perangkat mobile konsumer dari telepon, #D&, kotak permainan ke
peralatan)peralatan rumah, Java menediakan suatu lingkungan ang portable untuk
mengembangkan dan men$alankan aplikasi pada perangkat ini.
#rogram J2ME, seperti semua program J&1& adalah diter$emahkan oleh 1M. #rogram)program
tersebut dikompile ke dalam bte!ode dan diter$emahkan denga Java 1irtual Ma!hine(J1M).Ini
berarti bah+a program)program tersebut tidak berhubungan langsung dengan perangkat.
J2ME menediakan suatu inter"a!e ang sesuai dengan perangkat. &plikasi)aplikasi tersebut
tidak harus dikompile ulang supaa mampu di$alankan pada mesin ang berbeda.
Inti dari J2ME terletak pada !on"iguration dan pro"ile)pro"ile. *uatu !on"iguration
menggambarkan lingkungan runtime dasar dari suatu sistem J2ME. Ia menggambarkan !ore
librar, virtual ma!hine, "itur keamanan dan $aringan.
#engembangan #erangkat Mobile 3
Servers
Servers
Java 2 Miro E!ition "J2ME#
$esktop
ma%ines
&ig%'en!
onsumer
!evies
(o)'en!
onsumer
!evies
Smart
*ar!s
J2EE
J2SE
*$*
9oundation #ro"ile
#ersonal #ro"ile
*($*
MID#
0ptional
#a!kages
0ptional
#a!kages
Java
*ar!
Java +irtual Ma%ine ,+M *ar! +M
J.E.N.I.
Gambar 2: Arsitektur J2ME
*ebuah pro"ile memberikan librar tambahan untuk suatu kelas tertentu pada sebuah
perangkat. pro"ile)pro"ile menediakan user inter"a!e('I) &#I,persisten!e, messaging librar,
dan sebagaina.
*atu set librar tambahan atau pa!kage tambahan menediakan kemampuan program
tambahan. #emasukan pa!kage ini ke dalam perangkat J2ME dapat berubah)ubah karena
tergantung pada kemampuan sebuah perangkat. *ebagai !ontoh, beberapa perangkat MID#
tidak memiliki 6luetooth built)in, sehingga 6luetooth &#I tidak disediakan dalam perangkat ini.
1.3.3 Configuration
*uatu !on"iguration menggambarkan "itur minimal dari lingkungan lengkap Java runtime.
'ntuk men$amin kemampuan portabilitas dan interoperabilitas optimal diantara berbagai
ma!am perangkat ang dibatasi sumber daana(memor, prosesor, koneksi ang dibatasi),
!on"iguration tidak menggambarkan "itur tambahan. *uatu !on"iguration J2ME
menggambarkan suatu komplemen ang minimum dari teknologi J&1&. &dalah merupakan
tugas pro"ile)pro"ile untuk menggambarkan tambahan librar untuk suatu kategori perangkat
tertentu.
!on"iguration menggambarkan%
*ubset bahasa pemrograman J&1&
Kemampuan Java 1irtual Ma!hine(J1M)
,ore plat"orm libraries
9itur sekuriti dan $aringan
#engembangan #erangkat Mobile 4
Appliations
Pro-ile
.ptional
Pakages
.EM
AP/s
*on-iguration 0
$evie .perating S1stem
(ibraries
Java +irtual Ma%ine
J.E.N.I.
1.3.4 Profile
*uatu pro"ile menggambarkan set)set tambahan dari &#I dan "itur untuk pasar tertentu,
kategori perangkat atau industri. *ementara !on"iguration menggambarkan librar dasar,
pro"ile)pro"ile menggambarkan librar ang penting untuk membuat aplikasi)aplikasi e"ekti".
8ibrar ini memasukkan user inter"a!e, $aringan dan penimpanan &#I.
1.2 *($*
4he ,onne!ted 8imited Devi!e ,on"iguration (,8D,) menggambarkan dan menun$uk pada area
berikut ini%
9itur 6ahasa Java dan 1irtual Ma!hine(1M)
8ibrar dasar($ava.lang.:,$ava.util.:)
Input;0utput($ava.io.:)
Kemanan
Jaringan
Internationali<ation
1.4.1 Fitur yang hilang
9itur tertentu dari J2*E ang dipindahkan dari ,8D, adalah %
9inali<ation o" !lass instan!es
&sn!hronous e=!eptions
6eberapa error !lasses
'ser)de"ined !lass loaders
(e"le!tion
Java Native Inter"a!e (JNI)
4hread groups dan daemon threads
(e"le!tion, Java Native Inter"a!e (JNI) dan user)de"ined !lass loaders potensial men$adi lubang
keamanan. JNI $uga membutuhkan memor ang intensi" sehingga dimungkinkan untuk tidak
mendapat dukungan dari memor rendah sebuah perangkat mobile.
1.4.2 Karateri!ti "erangat C#$C
#erangkat ang diin!ar oleh ,8D, mempunai karateristik sebagai berikut%
Memor minimal -.2kb untuk plat"orm Java.
#rosesor dengan -> atau ?2 bit.
#engembangan #erangkat Mobile 5
J.E.N.I.
Mengkonsumsi sedikit daa.
4erbatas, koneksi $aringan ang sementara dengan pembatasan band+ith(biasana
+ireless).
,8D, tidak menggambarkan instalasi dan daur hidup sebuah aplikasi, antarmuka('I) dan
penanganan peristi+a(event handling). &dalah merupakan tugas pro"ile ang berada di ba+ah
,8D, untuk menggambarkan area ini. *e!ara khusus, spesi"ikasi MID# menggambarkan daur
hidup aplikasi MID# (MIDlet), librar 'I dan event handling($ava=.mi!roedition.l!dui.:).
1.4.3 Verifia!i Cla!!
*pesi"ikasi ,8D, memerlukan semua !lass untuk mele+ati proses veri"ikasi dua tingkat.
1eri"ikasi pertama dilaksanakan diluar perangkat sebelum instalasi pada perangkat. 1eri"ikasi
kedua ter$adi pada perangkat selama runtime dan dilaksanakan oleh K1M.
Gambar 3: Proses Verifikasi dua tingkat
#engembangan #erangkat Mobile 6
ompile "java#
preveri-1
veri-1
"runtime#
interpret
9ile.$ava
9ile.!lass
9ile.!lass
$evelopment Ma%ine Target $evie
/nstall
J.E.N.I.
1.4.4 Generi% Conne%tion Frame&or
4he /eneri! ,onne!tion 9rame+ork menediakan &#I dasar untuk koneksi dalam ,8D,.
9rame+ork ini menediakan suatu pondasi umum untuk koneksi seperti @44#, *o!ket, dan
Datagrams./,9 menediakan suatu set &#I ang umum dan biasa ang memisahkan semua
$enis koneksi. #erlu di!atat bah+a tidak semua $enis koneksi dibutuhkan untuk diterapkan oleh
perangkat MID#.
@irarki inter"a!e ang dapat diperluas dari /9, membuat proses penamarataan men$adi
mungkin. Jenis koneksi baru mungkin bisa ditambahkan ke dalam "rame+ork ini dengan
memperluas hirarki ini.
Gambar 4: Hirarki koneksi GCF
1.3 *$*
,onne!ted Devi!e ,on"iguration (,D,) adalah super set dari ,8D,. ,D, menediakan
lingkungan Java runtime ang lebih luas dibandingkan ,8D, dan lebih dekat kepada
lingkungan J2*E.
#engembangan #erangkat Mobile 7
StreamConnectionNotifier
Connection
DatagramConnection
InputConnection
OutputConnection
StreamConnection
ContentConnection
J.E.N.I.
,D, Java 1irtual Ma!hine (,1M) mendukung penuh Java 1irtual Ma!hine (J1M). ,D, berisi
semua &#I dari ,8D,. ,D, menediakan suatu subset ang lebih besar dari semua !lass
J2*E.
*eperti ,8D,, ,D, tidak menggambarkan setiap !lass 'I. 8ibrar 'I digambarkan oleh pro"ile)
pro"ile di ba+ah !on"iguration ini.
*emua !lass ang terdapat dalam ,D, datang dari pa!kage ini%
$ava.io
$ava.lang
$ava.lang.re"
$ava.lang.math
$ava.net
$ava.se!urit
$ava.se!urit.!ert
$ava.te=t
$ava.util
$ava.util.$ar
$ava.util.<ip
,D, $uga memasukkan di dalamna /,9. ,D, memerlukan $enis koneksi tambahan seperti "ile
dan dukungan datagram.
1.4 JT5/
4he Java 4e!hnolog "or the 3ireless Industr (J43I) menetapkan satu set $asa dan spesi"ikasi
standar. 6erdasar spesi"ikasi J43I, kata kun!ina adalah Auntuk memperke!il "ragmentasi &#I
di dalam pasar telepon mobile, dan untuk mengirim spesi"ikasi ang dapat
diprediksi,spesi"ikasi ang $elas untuk perangkat pabrik, operator, dan pengembang aplikasiB.
Dengan penesuaian kepada J43I, banak aplikasi akan ber$alan di suatu set ang lebih luas
pada perangkat. #erangkat pabrik $uga akan beruntung karena sebuah aplikasi ang besar
akan tersedia untuk perangkat mereka.
#engembangan #erangkat Mobile 8
J.E.N.I.
Gambar 5: Komponen J!"
1.6 M/$P
4he Mobile In"ormation Devi!e #ro"ile (MID#) berada di atas dari ,8D,. &nda tidak bisa
menulis aplikasi mobile hana dengan menggunakan ,8D, &#I. &nda harus tetap
meman"aatkan MID# ang mende"inisikan 'I.
*pesi"ikasi MID#, kebanakan seperti ,8D, dan &#I lainna sudah digambarkan melalui Java
,ommunit #ro!ess (J,#). J,# melibatkan sebuah kelompok ahli berasal dari lebih dari CD
perusahaan, ang terdiri atas pabrik perangkat mobile, pengembang so"t+are. MID# terus
berkembang, dengan versi)versi masa depan ang telah lulus dari proses ketat J,#.
*pesi"ikasi MID# menggambarkan suatu perangkat MID ang memiliki karakteristik)
karateristik ini sebagai batas minimum%
4ampilan%
'kuran 8aar% .>=CE
kedalaman tampilan% -)bit
Keta$aman pi=el% sekitar -%-
Masukan%
*atu atau lebih mekanisme user)input% satu kebboard, dua keboard, atau
tou!h s!reen
Memor%
2C> kilobtes o" non)volatile memor untuk implementasi MID#.
F kilobtes o" non)volatile memor "or appli!ation)!reated persistent data
-2F kilobtes o" volatile memor "or the Java runtime (e.g., the Java heap)
Jaringan%
dua $alur, +ireless, band+idth terbatas
*ound%
Kemampuan untuk memainkan nada)nada
#engembangan #erangkat Mobile 9
M/$lets
M/$P 2.7
.ptional
Pakages
.EM
AP/s
*($* 1.7 or 1.1
5MA
1.1
MMAP/
1.1
$evie .perating S1stem
J.E.N.I.
MID# menggambarkan model aplikasi, 'I &#I, penimpanan dan $aringan ang kuat,
permainan dan media &#I, kebi$akan keamanan, penebaran aplikasi dan ketetapan over)the)
air.
1.8 M/$let
*uatu aplikasi MID# disebut MIDlet. #erangkat appli!ation management so"t+are (&M*)
berinteraksi langsung dengan MIDlet dengan method MIDlet !reate, start, pause, dan destro.
MIDlet adalah bagian dari pa!kage $ava=.mi!roedition.midlet. *ebuah MIDlet harus di)e=tend
dengan !lass MIDlet. Dan dapat meminta parameter dari &M* seperti dirumuskan dalam
appli!ation des!riptor (J&D).
*uatu MIDlet tidak harus memiliki (dan memang harus tidak mempunai) sebuah method
publi! stati! void main(*tringGH argv).Method tersebut tidak akan dikenal lagi oleh &M*
sebagai titik a+al sebuah program.
1.'.1 (ilu! M)$let
kehidupan MIDlet dimulai ketika di)instantiate oleh &M*. MIDlet pada a+alna masuk status
A#auseB setelah perintah baru dibuat. &M* memanggil !onstru!tor publi! tanpa argumen dari
MIDlet. Jika sebuah e=!eption ter$adi dalam !onstru!tor, MIDlet memasuki status ADestroedB
dan membuangna segera.
MIDlet masuk ke dalam status A&!tiveB atas pemanggilan method start'p() oleh &M*.
MIDlet masuk ke dalam status ADestroedB ketika &M* memanggil method destro&pp().
*tatus ini $uga kembali diakses ketika method noti"Destroed() kembali dengan sukses
kepada aplikasi. Dengan !atatan bah+a MIDlet hana bisa memasuki status ADestroedB
sekali dalam masa hidupna.
#engembangan #erangkat Mobile 10
J.E.N.I.
Gambar 6: #aur $idup M"#let
1.'.2 M)$let !uite!
&plikasi)aplikasi MIDlet dibungkus dan dikirim kedalam perangkat sebagai MIDlet suites.
*ebuah MIDlet suite terdiri dari Java &r!hive (J&() dan sebuah tambahan Java &ppli!ation
Des!riptor (J&D).
9ile J&D adalah suatu "ile teks ang berisi satu set atribut)atribut, beberapa dibutuhkan.
1.9 (ati%an
1.*.1 A"a euntungan menggunaan +a,a !ebagai "engembangan -an
"latform runtime untu "erangat mobile.
&plikasi ang sangat portable
Kaa, tergambar dengan baik menghubungkan ke perangkat
#enggunaan memori ang rendah(K1M)
8ingkungan runtime ang aman
aplikasi ang dinamis
#engembangan #erangkat Mobile 11
Active
Paused
Destroyed
destroyApp()
destroyApp()
startApp()


pauseApp()
new
J.E.N.I.
1.*.2 A"a yang memoti,a!i an-a untu menuli! "rogram untu
"erangat mobile.
4antangan tentang penulisan mengoptimalkan aplikasi
#engalaman pela$aran baru
9aktor kesenangan
#engembangan #erangkat Mobile 12

Anda mungkin juga menyukai