You are on page 1of 56

J2ME - MIDP

Yohanes Nugroho

IF-ITB/YN/2005/IF2281

Page 1

Overview
Device Non PC/Micro Device J2ME Konfigurasi dan Profi e J2ME MIDP !"# Menge$%ang&an a' i&asi MIDP !"# ( ang&ah deve o'$en) Me$'rogra$ device MIDP !"# ( *oo s +ang di'er u&an dan 'enggunaann+a ( ,e o -or d ( Pen.e asan /PI MID e)
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 2

Device Non PC/Micro Device


0e ain PC1 $asih ada device ain +ang $e$i i&i &o$'u)er 2$esin &o$'u)asi/'rosessor3 di da a$n+a
( Mainfra$e
Ko$'u)er +ang 4%esar5 2da+a &o$'u)asi1 $e$ori1 'en+i$'anan3 dan u$u$n+a )ida& %ergera&

( Micro device
/ a) +ang $e$i i&i 'rosessor dengan $e$ori dan 'en+i$'anan )er%a)as dan u$u$n+a %ersifa) $o%i e

Ki)a han+a a&an $e$%ahas $icro device


IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 3

Pe$rogra$an Micro Device


6$u$n+a di a&u&an da a$ %ahasa C a)au asse$% + ( )a'i &i)a a&an $e a&u&ann+a da a$ Java Per%edaan dengan PC7 ( &e)er%a)asan 'rosessor ( &e)er%a)asan in'u) $e)hod 2 e%ih su i) $engin'u) )e&s3 ( &e)er%a)asan $e$ori ( &e)er%asan 'ower 2%e))ere3 6n)u& e%ih .e as1 iha) 4Pe$rogra$an Device Non PC5 di &u iah Pe$rogra$an 0is)e$
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 4

J2ME
Java 2 Micro Edi)ion ada ah edisi Java un)u& device dengan &e$a$'uan &o$'u)asi )er%a)as ( Na$a J2ME diguna&an se%agai 4'a+ung5 un)u& ane&a )e&no ogi Java un)u& device $icro 2di an)aran+a ada ah Persona Java1 JavaCard1 MIDP1 d 3 Mengguna&an %ahasa Java +ang sa$a1 $inus fi)ur )er)en)u 2%ai& fi)ur %ahasa $au'un /PI3 ( fi)ur %ahasa dan /PI +ang ada dan )ida& ada )ergan)ung dari &onfigurasi 2&e$a$'uan3 dan 'rofi 2.enis3 device

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 5

8a$%aran arsi)e&)ur Java

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 6

Ca&u'an J2ME
Device yang bisa diprogram dengan J2ME mulai dari smart card sampai PDA Masing-masing jenis device memiliki kemampuan komputasi yang berbeda
( Smartcard memiliki memori <1Mb, dengan kecepatan prosessor yang rendah ( PDA saat ini memiliki memori >8Mb dengan kecepatan prosessor yang tinggi ( Device dengan kemampuan komputasi yang sama dibagi ke dalam Configuration
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 7

Configura)ion
Sebuah konfigurasi (configuration) mendefinisikan satu set library minimum dan kemampuan Virtual Machine minimum yang dimiliki sebuah device Device yang memiliki kemampuan pemrosesan yang sama dan batasan memori yang sama memiliki konfigurasi yang sama Contoh configuration ( CDC (Connected Device Configuration) ( CLDC (Connected Limited Device Configuration)

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 8

Contoh Configuration: CLDC


Pun+a &one&si )er%a)as 2 i$i)ed3 ( ar)in+a user %isa on ine .i&a di'er u&an *ida& $endu&ung )i'e da)a f oa)ing 'oin) dan dou% e Device $ung&in han+a $e$i i&i $e$ori non vo a)i e !29 K%1 $e$ori vo a)i e 9 &% un)u& da)a 'ersis)en1 dan :2 K% un)u& run)i$e Java Con)oh device C;DC7 Ponse J2ME1 PD/ dengan &one&si wire ess1 'ager dua arah
Page 9

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Contoh Configuration: CDC


Pun+a &one&si .aringan +ang se a u on ine 2connec)ed3 Mendu&ung se uruh fi)ur %ahasa Java 2JDK!":3 Device se)ida&n+a $e$i i&i <!2&% $e$ori non vo a)i e dan 2<= K% $e$ori vo a)i e Con)oh Device7 PD/ Phone

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 10

Profi e
Profi e ada ah /PI +ang dii$' e$en)asi&an di a)as 2on )o'

of3 se%uah &onfigurasi +ang di)u.u&an un)u& device dengan .enis/&egunaan +ang seru'a
( 0e%uah 'rofi e %erdiri di a)as se%uah configura)ion Con)oh device seru'a7 'onse ( Device se.enis a&an $e$i i&i /PI +ang seru'a1 $isa n+a un)u& $ena$'i &an )e&s1 $eneri$a in'u) dari I*6 Ke+'ad 2&e+'ad )e e'on3 ( 0ecara )eori %isa di%ua) 'rofi e un)u& .enis device a'a'un Profi e +ang 'a ing )er&ena ada ah MID 2Mo%i e Infor$a)ion Device3
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 11

MIDP !"#
Mo%i e Infor$a)ion Device Profi e versi !"# %erada di a)as C;DC
( ,a$'ir se$ua Ponse J2ME $endu&ung 'rofi e ini

MIDP $e$%eri&an %a)asan $ini$u$ %agi device dan sa)u 0e) /PI un)u& 'era a)an $o%i e
( /PI +ang sanga) generi& +ang 'as)i %isa didu&ung se$ua .enis device MIDP ( /' i&asi MIDP dise%u) dengan MID e)
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 12

>a)asan Mini$u$ Device MIDP !"#


Dis' a+ $ono&ro$ a)au %erwarna1 $ini$a ?= @ <A 'i&se In'u) )ouch screen1 &e+'ad I*61 a)au &e+%oard Kone&si wire ess %andwid)h )er%a)as +ang )ida& se a u on ine Me$i i&i %a)asan $e$ori $ini$u$ C;DC

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 13

/PI Non 0)andar


0e ain /PI 0)andar1 $ung&in ada /PI dari Bendor +ang )ersedia di device ( Con)oh7 /PI un)u& %ac& igh) a)au vi%ra)or 2nada ge)ar31 /PI ini )ida& $asu& s)andar &arena )ida& se$ua device 'un+a %ac& igh) a)au vi%ra)or ( Device +ang $e$a&ai /PI non s)andar )ida& di.a$in %isa %er.a an di device ain /PI MIDP !"# ada ah /PI 0)andar ( Progra$ +ang han+a $e$a&ai /PI ini 'as)i %er.a an di ane&a device MIDP !"#
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 14

Ke)er%a)asan /PI 0)andar MIDP !"# >e%era'a ha ini 'er u di'erha)i&an7 ( *ida& ada /PI un)u& $enga&ses address %oo& ( *ida& ada /PI un)u& $enga&ses 0M0 6ser )er$asu& .uga un)u& $engiri$ 0M0 ( *ida& ada /PI un)u& $encega) 'hone ca 1 a)au $e a&u&an 'hone ca ( *ida& ada /PI un)u& $enda'a)&an o&asi ce ID saa) ini ,a ini 'er u di)egas&an di awa &arena sering $engecewa&an 'rogra$$er +ang ingin $e$%ua) 'rogra$ J2ME MIDP !"#" Di MIDP !"#
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 15

0ecuri)+ MIDP !"#


0e ain a asan du&ungan hardware device 2 iha) 2 s ide se%e u$n+a $engenai /PI non s)andar3 ada $asa ah securi)+ Perha)i&an con)oh %eri&u)7 ( device %isa $enga&ses in)erne) 2han+a 'rogra$ MIDP1 0erver1 'rogra$$er1 dan *uhan +ang )ahu a'a isi da)a +ang di&iri$3 ( Ji&a device %isa $enga&ses 'hone %oo& a)au 0M0 $a&a isi 'hone %oo& a)au 0M0 %isa di&iri$ &e orang ain di In)erne) ( ,a ini %er a&u .uga un)u& %a)asan +ang ain 2$isa 7 0M0 %isa di&iri$ via In)erne)1 a)au 'rogra$ %isa $engha%is 'u sa dengan $engiri$ 0M03

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 16

0e&i as MIDP 2"#


0ecara sing&a) MIDP 2"# ada ah MIDP !"# C /PI un)u& $u )i$edia ( /&ses &e &a$era dan 'ere&a$an Bideo ( Mendu&ung ane&a for$a) /udio dan Bideo ( Me$i i&i %a)asan $ini$u$ hardware +ang e%ih )inggi Device MIDP 2"# saa) ini $asih re a)if $aha 2 e%ih $aha dari Device MIDP !"#3 ( MIDP 2"# Ko$'a)i%e /%isa $en.a an&an a' i&asi MIDP !"#
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 17

Menga'a $enga.ar&an MIDP !"#


Ma)eri +ang a&an di%ahas han+a ah $engenai MIDP !"# dengan a asan7 ( 0u'a+a e%ih $e$aha$i %a)asan device ( 0u'a+a %isa dico%a angsung o eh se%agian %esar 'eser)a &u iah di device +ang sesungguhn+a Device MIDP !"# sudah sanga) $urah 2D ! .u)a31 ra)a-ra)a ,P sudah $endu&ung MIDP1 .adi 'as)i ada ! )e$an +ang 'un+a ,P %er-MIDP ( MIDP 2"# %e u$ !##E $en.adi s)andar 2han+a ada di ,P $aha 1 dengan %an+a& %a)asan3 Con)oh %a)asan7 ada ,P MIDP 2"# )an'a &a$era
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 18

Menge$%ang&an a' i&asi MIDP !"#


;ang&ah 'e$%ua)an 'rogra$7
( F!G Menen)u&an 'rogra$ a'a +ang ingin di%ua) ( F2G Me$aha$i dan 4$enga&a i5 2wor& around3 %a)asan device
Ji&a )ern+a)a )ida& $ung&in di'rogra$1 'i&ir&an 'ende&a)an ain

( F:G Me$'rogra$ di e$u a)or ( FAG Mende' o+ 2$engins)a 3 di device +ang se%enarn+a
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 19

Menen)u&an 'rogra$ +ang a&an di%ua)


*an'a $e$i&ir&an %a)asan device1 'i&ir&an7 ( a'a&ah 'rogra$ cu&u' n+a$an di.a an&an di deviceH 2$e$a&ai s'readshee) di ,P )en)un+a )ida& n+a$an3 ( a'a&ah 'rogra$ %ergunaH ( )er a u $e$i&ir&an %a)asan device a&an $e$%a)asi &rea)ivi)as Menga'a )ida& $e$i&ir&an %a)asan device e%ih du uH ( %e%era'a %a)asan a&an da'a) 4dia&a i5 .i&a $e$ang 'rogra$ cu&u' %erguna
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 20

Me$aha$i dan $enga&a i %a)asan device F!G


Ji&a &onse' 'rogra$ sudah ada1 'i&ir&an a'a&ah device $a$'u $enangani 'rogra$ )erse%u)H ( /da&ah cara un)u& $enga&a in+a 2wor& around i)H3 Con)oh &asus7 e%oo& reader ( Masa ah7 e%oo& %u)uh da)a %esar 2con)oh7 ,arr+ Po))er ! da a$ for$a) ,*M;+ang )e ah di &o$'res %u)uh !9# K%31 $e$ori ,P )ida& cu&u' ( 0o usi7 %u&u didown oad secara 'arsia dari we%
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 21

Me$aha$i dan $enga&a i %a)asan device F2G


Con)oh &asus7 $essenger ( Masa ah7 'ro)o&o Yahoo dan M0N )er a u ru$i) 2%u)uh %an+a& $e$ori3 ( 0o usi7 >ua) 'ro)o&o +ang e%ih sederhana dan 'rogra$ 'ro@+ +ang $ener.e$ah&an 'ro)o&o Yahoo dan M0N +ang ru$i) &e +ang e%ih sederhana Con)oh &asus7 we% %rowser ( Masa ah7 'arsing we% )er a u ru$i) ( /da server +ang $e a&u&an 'arsing1 da)a +ang sudah da a$ %en)u& sederhana di%eri&an &e 'rogra$ J2ME
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 22

Me$'rogra$ di e$u a)or


E$u a)or ada ah 'rogra$ +ang $eniru &er.a a a) ain ( Da a$ &asus ini $eniru ,P +ang $endu&ung MIDP Me$'rogra$ di e$u a)or a&an $e$'er$udah 'roses deve o'$en)7 ( )ida& 'er u $e$indah 'rogra$ &e device 2$e e ah&an dan %u)uh wa&)u3 ( $udah dide%ug Ke e$ahan e$u a)or7 ( )ida& se$ua fi)ur device die$u asi&an dengan )e'a) ( &adang 'rogra$ %er.a an dengan ce'a) di e$u a)or )a'i sanga) a$%a) di device +ang sesungguhn+a
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 23

Mende' o+ &e device


*es) di device +ang sesungguhn+a harus di a&u&an &arena %a)asan e$u a)or Ins)a asi/de' o+$en) di a&u&an dengan7
( Ka%e da)a ( Infrared ( > ue)oo)h ( -III ( Kone&si In)erne) 2C0D/8PJ0 un)u& 80M1 PDN un)u& CDM/3
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 24

Me$'rogra$ MIDP !"#


6n)u& $e$'rogra$ device 2a'a'un3 u$u$n+a &i)a 'er u )ahu7
( a'a )oo s +ang di%u)uh&an ( con)oh 'rogra$ &eci %eri&u) 'en.e asann+a ( cara $en.a an&an 'rogra$ di e$u a)or ( cara $engins)a dan $en.a an&an 'rogra$ di device +ang sesungguhn+a ( 'en.e asan /PI ain 2un)u& $e$%ua) 'rogra$ +ang e%ih %esar/%erguna3
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 25

*oo s +ang di%u)uh&an


*oo s wa.i%7 ( Co$'i er Java ( 0a ah sa)u 2)ida& e&s& usif1 %isa di'a&ai %ersa$asa$a3 dari )oo s %eri&u)7 -*K 2-ire ess *oo &i)3 dari 0un 0DK device )er)en)u *oo s o'siona 7 ( IDE 2In)egra)ed Deve o'$en) Environ$en)3 un)u& $e$udah&an 'enu isan 'rogra$ ( O%fusca)or un)u& $e$'er&eci 'rogra$ dan $encegah de&o$'i asi
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 26

Con)oh Progra$ &eci 7 ,e o -or d


import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class Hello extends MIDlet { Form f = new Form("Hello World" ; public void !tart"##( { Di!#la$.%etDi!#la$(this .!et&urrent(f ; ' public void #au!e"##( { ' public void de!tro$"## (boolean unconditional ' {'

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 27

Pen.e asan ,e o -or d


Import package standar untuk MIDlet :
im#ort javax.microedition.midlet.*; im#ort javax.microedition.lcdui.*;

Sebuah Aplikasi Midlet harus diturunkan dari kelas javax.microedition.midlet.MIDlet dan harus mengimplementasikan 3 method abstrak !tart"##
( , #au!e"##( dan de!tro$"##( ;

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 28

Me)hod /%s)ra& Ke as MID;e)


!tart"##( di'anggi &e)i&a a' i&asi di$u ai #au!e"##( di'anggi &e)i&a a' i&asi dihen)i&an se$en)ara ( $isa n+a &e)i&a ada )e e'on a)au 0M0 da)ang ( Ca)a)an7 )ida& se$ua ,P $engi$' e$en)asi&an ini dengan %enar 2&adang #au!e"##( )ida& di'anggi 3 de!tro$"##(boolean uncoditional di'anggi &e)i&a a' i&asi a&an dihen)i&an ( .i&a uncodi)iona %erni ai )rue $id e) harus %erhen)i1 .i&a fa se1 $id e) %o eh $e$in)a agar )ida& dihen)i&an ( ,a +ang di a&u&an di des)ro+/''23 $isa n+a ada ah $en+i$'an da)a
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 29

0)a)e MID e)
8a$%aran s)a)e MID e) sesuai $e)hod +ang )e ah di.e as&an

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 30

86I Mid e) ,e o -or d


Da a$ sa)u saa) di a+ar %o eh ada sa)u o%.e& )urunan Di!#la$a(le
( Da a$ con)oh1 diguna&an o%.e& Ior$ 2dengan &ons)ru&)ur .udu Ior$3 +ang $eru'a&an sa ah sa)u o%.e& )urunan Dis' a+a% e

O%.e& +ang a&)if di a+ar dise) dengan7


Di!#la$.%etDi!#la$(o(je)Midlet . !et&urrent(o(je)*urunanDi!#la$a(le

Dalam contoh objek MIDlet adalah this


IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 31

Me$%ua) dan Men.a an&an MID e)


Ja an&an -*K 2-ire ess *oo &i)3 Pi ih new 'ro.ec) 2'i ih .enisn+a MIDP !"#3 ( >eri na$a Pro.ec)7 ,e o ( >eri na$a MID;e)7 ,e o >ua) fi e ,e o".ava 2dengan isi se'er)i con)oh3 di dire&)ori C7K-*K2"!Ka''sK,e oKsrc K i& Co$'i e Ji&a su&ses K i& Jun

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 32

Me$'ersia'&an fi e %iner un)u& ,P


Di ,P 2u$u$n+a3 )ida& ada &o$'i a)or1 .adi fi e 'er u di%ua)&an $en.adi 'ac&age Cara $e$%ua) 'ac&age
( 'i ih 'ro.ec) --L 'ac&age --L crea)e 'ac&age ( hasi n+a ada di C7K-*K2"!Ka''sK,e oK%in

/&an )er%en)u& 2 fi e
( Ii e Jar7 %erisi &u$'u an &e as dan resource ( Ii e Jad7 des&ri'si fi e .ar

Kiri$&an fi e ".ar dan ".ad &e ,P


IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 33

Mengins)a &e ,P F!G


/ )erna)if off ine7 ( Ka%e da)a7 'er u sof)ware &husus sesuai ,P ( Infrared/> ue)oo)h .i&a ,P %isa di&iri$i fi e dari -indows 2dengan O>EM/O%.ec) E@change Pro)oco 1 +ai)u dengan & i& &anan dan $e$i ih N0end *o Near%+ Co$'u)erN a)au N0end *o > ue)oo)hN 3 $a&a &edua fi e %isa angsung di&iri$ 2)a'i &adang han+a ".ar +ang di'er u&an3 Ji&a ,P )ida& $endu&ung O>EM1 $a&a di'er u&an sof)ware &husus

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 34

Mengins)a &e ,P F2G


/ )erna)if On ine ( Mengguna&an -III/80M/8PJ0/PDN 2*ergan)ung )e&no ogi ,P3 ( ;e)a&&an fi e .ad dan fi e .ar di se%uah dire&)ori +ang sa$a di )e$'a) +ang %isa dia&ses via we%1 $isa di /ho$e/if@@@@@/'u% icOh)$ di s)uden)s"if"i)%"ac"id ( /rah&an wa' %rowser &e a a$a) fi e J/D $isa h))'7//s)uden)s"if"i)%"ac"id/Pif@@@@@/,e o".ad
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 35

Me$aha$i /PI Mid e)

Pen.e asan 0e&i as /PI MID e)

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 36

/ne&a /PI MID e)


,an+a ada A &e o$'o& /PI 'en)ing MID e) ( /PI MID e) ( 86I ,igh eve / cdui 2un)u& a' i&asi %iasa3 ;ow eve /canvas 2un)u& ga$e3 ( Connec)ion ( JM0 2Jecord Manage$en) 0+s)e$3 *ida& a&an di %ahas eng&a' ( ;iha) con)oh di De$o Java ( ;iha) di %u&u +ang $e$%ahas MIDP !"#

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 37

/PI 86I
86I da'a) di%ua) dengan &o$'onen s)andar +ang sudah disedia&an 2da a$ 'ac&age cdui3 ( ;is)1 *e@)%o@1 d ( Java a&an secara o)o$a)is $enangani 'er%edaan an)ar device 2u&uran a+ar1 warna1 d 3 86I da'a) di%ua) dengan canvas ( Progra$$er $engga$%ar sendiri se$ua +ang di'er u&an dan $enangani 'er%edaan .enis a+ar 2)ida& a&an di.e as&an di sini3 ( 6$u$n+a di'a&ai o eh ga$e
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 38

;CD6I
Da a$ ;CD 6I diguna&an &onse' ;a+ar 2o%.e& )urunan Dis' a+a% e3 ( Da a$ sa)u saa) han+a ada %o eh ! o%.e& )urunan Dis' a+a% e +ang $uncu ( *ida& ada $u )iwindow 2 a+ar )er a u &eci 3 Con)oh )urunan Dis' a+a% e7 ( Ior$7 Di da a$ for$ %o eh ada &o$'onen-&o$'onen se'er)i )e@) %o@ ( ;is)7 han+a ada sa)u is) +ang $uncu 2$isa n+a un)u& $enu3 ( / er)7 'esan 'eringa)an &e user da a$ sa)u a+ar 'enuh
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 39

Con)oh 'e$a&aian ;CD6I


... Form f = new Form(+,ue!ioner- ; *extField tnama = new *extField(+.ama-/ +-/ 01/ *extField.".2 ; f.a##end(tnama ; Di!#la$a(le.%etDi!#la$(t3i! .!et&urrent (f ; ....

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 40

Co$$and se%agai 'enggan)i $enu


6n)u& $e$%ua) $enu diguna&an o%.e& Co$$and Java +ang a&an $enga)ur %agai$ana 'ena$'i an co$$and Con)oh7
&ommand c = new &ommand(+,eluar-/ &ommand.45I*/ 6 ;

Co$$and $e$i i&i )e&s1 Jenis a&si1 dan 'riori)as 2un)u& $enguru)&an $enu3
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 41

Menang&a' Even)
0e%uah even) di Ior$ a)au ;is) %isa di)ang&a' un)u& di'roses
( Misa .i&a isi is) di'i ih ( caran+a dengan $e$anggi se)Co$$and;is)ener23 dengan 'ara$e)er %eru'a ;is)ener

;is)ener ada ah O%.e& +ang $engi$' e$en)asi&an in)erface Co$$and;is)ener


( ;iha) agi &onse' 0wing
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 42

In)erface Co$$and;is)ener
,an+a %erisi sa)u $e)hod un)u& $e a&u&an a&si a'a &e)i&a co$$and )er.adi7
public interface &ommand7i!tener { public void command"ction(&ommand c/ Di!#la$a(le d ; '

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 43

Con)oh7 ,e o -or d dengan $enu F!G


import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class Hello extends MIDlet implements &ommand7i!tener { Form f = new Form("Hello World" ; &ommand exit = new &ommand(",eluar"/ &ommand.45I*/ 6 ; public void !tart"##( f.add&ommand(exit ; f.!et&ommand7i!tener(this ; Di!#la$.%etDi!#la$(this .!et&urrent(f ; ' {

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 44

Con)oh7 ,e o -or d dengan $enu F2G


public void command"ction(&ommand c/ Di!#la$a(le d if (c == exit { 8$!tem.out.#rintln("De!tro$ed" ; notif$De!tro$ed( ; ' ' public void #au!e"##( ' { ' {' {

public void de!tro$"##((oolean unconditional

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 45

Connec)ion
/PI un)u& &one&si &e In)erne)
( Ke as ada 'ada 'ac&age .ava@"$icroedi)ion"io ( /da %e%era'a .enis &one&si +ang da'a) di a&u&an 2,**P1 IP 0)rea$1 IP Da)agra$3 )a'i se%uah ,P han+a wa.i% $endu&ung ,**P

Ke)i&a di.a an&an 'er u dise) o eh user agar MID e) %o eh $enga&ses in)erne)
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 46

Pe$a&aian Connec)ion
Pe$a&aian ,**P Connec)ion un)u& $e$%u&a &one&si ,**P 2)an'a 'enanganan error3 ada ah s%%7
HttpConnection c = (HttpConnection) Connector.open(url); InputStream is = c.openInputStream();

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 47

JM0 2Jecord Manage$en) 0+s)e$3


0is)e$ 'ersis)ensi MIDP ada ah Jecord +ang di&e o a JM0 2)ida& $engguna&an fi es+s)e$/fi e3
( /da da a$ 'ac&age .ava@"$icroedi)ion"r$s

>e%era'a Jecord 2ana ogi7 isi fi e3 di&u$'u &an da a$ sa)u Jecord 0)ore 2ana ogi7 fi e3
( 0a)u MID e) %o eh $e$i i&i %e%era'a Jecord0)ore
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 48

Iden)ifi&asi Jecord
Jecord diiden)ifi&asi dengan ID
( ID ada ah se%uah in)eger ( ID o)o$a)is diassign o eh JM0 ( ID 0e a u $enai& 2record %eri&u) a&an $e$i i&i ID L ID record saa) ini31 )a'i $ung&in )ida& %eruru) 2.i&a ada record +ang diha'us3 ( Ji&a ada record +ang diha'us ID )ida& di'a&ai agi
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 49

O'erasi Jecord0)ore dan Jecord


O'erasi record s)ore7
( $e$%ua)/$e$%u&a/$enu)u'/$engha'us record s)ore

O'erasi Jecord7
( $enu is/$e$%aca/$engha'us record da a$ record s)ore

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 50

Me$%ua) Jecord0)ore
Me$%ua) a)au $e$%u&a record s)ore di a&u&an dengan7
9ecord8tore r! = 9ecord8tore.o#en9ecord8tore(+nama-/ +vendor-/ +nama!uite- ;

Ji&a record s)ore %e u$ ada $a&a a&an dici')a&an 6n)u& $enu)u' Jecord0)ore7 r!.clo!e9ecord8tore( ;
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 51

Men+i$'an Jecord
Jecord disi$'an dengan addJecord 2addJecord $enge$%a i&an ID record %aru3
int add9ecord(byte:; data/ int off!et/ int num<$te!

Da)a +ang disi$'an han+a %isa arra+ of %+)es


( 8una&an &e as .ava"io"Da)aOu)'u)0)rea$ un)u& $engu%ah )i'e da)a dasar a'a'un &e arra+ of >+)es
IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 52

Konversi )i'e da)a dasar &e arra+ of %+)es <$te"rra$=ut#ut8tream (ao! = new <$te"rra$=ut#ut8tream( ; Data=ut#ut8tream do! = new Data=ut#ut8tream((ao! ; do!.writeInt(0>? ; @*A*F adala3 !trin% unicode*@ do!.writeA*F(+Hello- ; do!.flu!3( ; ($te re!ult:; = (ao!.to<$te"rra$( ;
Page 53

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Me$%aca dan Mengha'us Jecord


Jecord di%aca %erdasar&an ID-n+a dengan hasi %eru'a arra+ of %+)e
public byte[] getRecord(int recordId)

/rra+ of %+)e %isa di&onversi &e )i'e ain dengan .ava"io"Da)aIn'u)0)rea$ Jecord diha'us %erdasar&an JecordID
public void deleteRecord(int recordId)
Page 54

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

@*3a!il adala3 arra$ of ($te*@ <$te"rra$In#ut8tream (ai! = new <$te"rra$In#ut8tream(3a!il ; DataIn#ut8tream di! = new DataIn#ut8tream((ai! ; int i = di!.readInt( ; @*A*F adala3 !trin% unicode*@ 8trin% ! = di!.readA*F( ;

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

Page 55

Penu)u'
Pe$rogra$an MID e) han+a ah sa ah sa)u cara $e$'rogra$ ,P Masih ada a )erna)if ain 2)ergan)ung .enis ,P3 ( CCC 7 0+$%ian1 -indows Mo%i e1 Pa $ ( C 7 Mo'hun1 -indows Mo%i e1 Pa $ ( P+)hon7 0+$%ian 0e%agai $ahasiswa infor$a)i&a1 co%a ah $e$'rogra$ %enda a'a'un +ang %isa di'rogra$ 73
Page 56

IF-ITB/YN/2005 IF2281Pemrograman Berorientasi Objek

You might also like