Professional Documents
Culture Documents
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
( 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
Page 3
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
Page 5
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)
Page 8
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
Page 13
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
Page 16
Page 17
Page 18
( 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
Page 20
Page 21
Page 22
Page 23
Page 24
Page 25
Page 26
Page 27
Sebuah Aplikasi Midlet harus diturunkan dari kelas javax.microedition.midlet.MIDlet dan harus mengimplementasikan 3 method abstrak !tart"##
( , #au!e"##( dan de!tro$"##( ;
Page 28
Page 29
0)a)e MID e)
8a$%aran s)a)e MID e) sesuai $e)hod +ang )e ah di.e as&an
Page 30
Page 31
Page 32
/&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
Page 33
Page 34
Page 35
Page 36
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
Page 40
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
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 ; '
Page 43
Page 44
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();
Page 47
>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 Jecord7
( $enu is/$e$%aca/$engha'us record da a$ record s)ore
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!
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
/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
@*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( ;
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