KEMENTRIAN RISET TEKNOLOGI DAN PENDIDIKAN TINGGI UNIVERSITAS UDAYANA FAKULTAS TEKNIK JURUSAN TEKNOLOGI INFORMASI Gedung Teknologi Teknologi Infor!"i# K!$u" %uki& Ji'!r!n ( Ji'!r!n ( %!li Tel$on) *+,-./0,-.1.11 *+,-./ 0,-.1.11 e!il) i&2i&3unud3 i&2i&3unud3!43 !43iid l!!n) l!!n) 5&&$)667773i&3unud3 5&&$)6 67773i&3unud3 !43id !43i d
LEM6AR PENGEA7AN PRAKTIKUM PEMROGRAMAN PEMROGRAMAN MO6ILE
JUDUL
)
KELOMPOK JURUSAN FAKULTAS TANGGAL
) ) ) )
LAPORAN PRAKTIKUM PEMROGRAMAN MO%ILE IV TEKNOLOGI INFORMASI TEKNIK 8 JANUARI ,0/+
Men9e&u:ui# Ke&u! A"i"&en Do"en#
I Gede Agu" M!5!"!d5u NIM3 /,0;.0.0/8
A"i"&en Do"en#
Agu" Se&i!7!n NIM3 /,0;.0.0//
Menge&!5ui# Do"en Peng!$u#
A3 A3 K&3 Agung 81/,/1,00-0//00;
KEMENTRIAN RISET TEKNOLOGI DAN PENDIDIKAN TINGGI UNIVERSITAS UDAYANA FAKULTAS TEKNIK JURUSAN TEKNOLOGI INFORMASI Gedung Teknologi Teknologi Infor!"i# K!$u" %uki& Ji'!r!n ( Ji'!r!n ( %!li Tel$on) *+,-./0,-.1.11 *+,-./ 0,-.1.11 e!il) i&2i&3unud3 i&2i&3unud3!43 !43iid l!!n) l!!n) 5&&$)667773i&3unud3 5&&$)6 67773i&3unud3 !43id !43i d
LEM6AR PENGEA7AN PRAKTIKUM PEMROGRAMAN PEMROGRAMAN MO6ILE
JUDUL
)
KELOMPOK JURUSAN FAKULTAS TANGGAL
) ) ) )
LAPORAN PRAKTIKUM PEMROGRAMAN MO%ILE IV TEKNOLOGI INFORMASI TEKNIK 8 JANUARI ,0/+
Men9e&u:ui# Ke&u! A"i"&en Do"en#
I Gede Agu" M!5!"!d5u NIM3 /,0;.0.0/8
A"i"&en Do"en#
Agu" Se&i!7!n NIM3 /,0;.0.0//
Menge&!5ui# Do"en Peng!$u#
A3 A3 K&3 Agung 81/,/1,00-0//00;
A6TRAK
Perke Perke'!ng '!ng!n !n &eknolo &eknologi gi 9!ng 9!ng "e!kin "e!kin $e"!& $e"!& "!!& ini &el!5 &el!5 e'u!& e'u!& '!n9!k $eru'!5!n $ eru'!5!n d!l! g!9! 5idu$ !"9!r!k!&3 !"9!r!k !&3 S!l!5 "!&u $eru'!5!nn9! $er u'!5!nn9! !d!l!5 '!n9!kn9! $enggun!!n smartphone# &eru& &eru&! !!! 9!ng 9!ng 'er'! 'er'!"i" "i" Androi ndroid d un&uk un&uk ke5idu$!n "e5!ri?5!ri3 "e5!ri?5!ri3 P!r! $enggun! smartphone 'er!"!l d!ri 'er'!g!i k!l!ng!n d!n d!n u uur ur33 A$lik $lik!" !"ii 9!ng 9!ng di"e di"edi di!k !k!n !n Andro ndroid id :ug! :ug! 'er 'er!4 !4! !? ?!4 !4! !33 Penggun Penggun!!nn !!nn9! 9! 'i"! 'eru$! 'eru$! browsing # e-mail # 'er! 'er!in in game# d!n "e'!g!in9!3 Pengg Penggun! un!!n !n Androi ndroid d un&uk un&uk game "!ng!& "!ng!&l! l!5 5 dige dige!r !ri3 i3 %er'! %er'!g!i g!i game d!$!& di!ink!n $!d! $er!ngk!& Android3 A$lik!"i 9!ng !k!n di'u!& eru$!k!n !$lik!"i 'er'!"i" Android3 game &e'!k g!'!r 'er'!"i" Kata Kun8# ) Smartphone# Android# Game
KATA PENGANTAR
Pu:i "9ukur $enuli" $!n:!&k!n ke5!dir!& Tu5!n Y!ng M!5! E"! 9!ng &el!5 e'erik!n r!5!& "er&! k!runi!?N9! ke$!d! $enuli" "e5ingg! $enuli" 'er5!"il en9ele"!ik!n L!$or!n Ak5ir Pr!k&iku Perogr!!n Mobile ini deng!n &e$!& $!d! 7!k&un9!3 L!$or!n ini eru$!k!n "9!r!& un&uk d!$!& engiku&i u:i!n $r!k&iku d!n eru$!k!n "!l!5 "!&u "9!r!& d!l! !&! kuli!5 Pr!k&iku Perogr!!n Mobile3 Penuli" :ug! &id!k lu$! u4!$k!n &eri!k!"i5 ke$!d! do"en $eng!$u# !"i"&en do"en !&! kuli!5 Pr!k&iku Perogr!!n Mobile "er&! &e!n?&e!n !5!"i"7! 9!ng e'!n&u d!n e$erl!n4!r :!l!nn9! !&! kuli!5 Pr!k&iku Perogr!!n Mo'ile "er&! "el!lu e'i'ing d!n e'eri !"uk!n ke$!d! $enuli" :ik! eng!l!i ke"uli&!n d!l! el!k"!n!k!n $r!k&iku d!n $en9u"un l!$or!n ini !u$un "eu! $i5!k 9!ng e'!n&u $enuli" d!l! 5!l $en9u"un!n l!$or!n ini3 L!$or!n ini !"i5 "!ng!& :!u5 d!ri ke"e$urn!!n ole5 k!ren! i&u kri&ik "er&! "!r!n 9!ng e'!ngun !"i5 $enuli" 5!r!$k!n un&uk $en9e$urn!!n l!$or!n !k5ir ini3 Se'!g!i !nu"i! 'i!"! $enuli" er!"! eiliki '!n9!k ke"!l!5!n# ole5 k!ren! i&u ke'e"!r!n 5!&i un&uk d!$!& e!!fk!n $enuli" dei kel!n4!r!n $en9ele"!i!n l!$or!n ini3 A&!" $er5!&i!n d!ri "eu! $i5!k 9!ng e'!n&u $enuli"!n ini $enuli" u4!$k!n &eri!k!"i53 Seog! l!$or!n ini d!$!& di$ergun!k!n "e$erlun9!3
%uki& Ji'!r!n# /> De"e'er ,0/.
Penuli"
ATAR II
Le'!r Penge"!5!n Pr!k&iku Perogr!!n Mo'ile 33333333333333333333333333333333333 A'"&r!k 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 K!&! Peng!n&!r 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 D!f&!r I"i 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 D!f&!r Kode Progr! 333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 D!f&!r G!'!r 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 D!f&!r T!'el 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 %A% I Pend!5ulu!n 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 /3/ /3, /31 /3; /3. /3+
L!&!r %el!k!ng 33333333333333333333333333333333333333333333333333333333333333333333333333333333 Ruu"!n M!"!l!5 333333333333333333333333333333333333333333333333333333333333333333333333333 Tu:u!n 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 M!nf!!& 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 %!&!"!n M!"!l!5 333333333333333333333333333333333333333333333333333333333333333333333333333333 Si"&e!&ik! Penuli"!n 3333333333333333333333333333333333333333333333333333333333333333333333
%A% II Tin:!u!n Pu"&!k! ,3/ S&!&e of T5e Ar& 3333333333333333333333333333333333333333333333333333333333333333333333333333333 ,3, =idge& Te@&Vie7# Edi&Te@ d!n %u&&on 33333333333333333333333333333333333333333 ,3,3/ Te@&Vie7 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 ,3,3, Edi&Te@& 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 ,3,31 %u&&on 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 ,31 Seek%!r# <5e4k%o@# d!n R!dio%u&&on 3333333333333333333333333333333333333333333 ,313/ Seek%!r 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 ,313, <5e4k%o@ 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 ,3131 R!dio%u&&on 333333333333333333333333333333333333333333333333333333333333333333333333333333333333 ,313; To!"& 333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 ,3; In&en& d!n A4&ii&9 Life494le 33333333333333333333333333333333333333333333333333333333333 ,3;3/ In&en& 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 ,3;3, A4&ii&9 Life494le 3333333333333333333333333333333333333333333333333333333333333333333333333333 ,3;31 M!nf!!& Mengi$leen&!"ik!n Android Life494le 333333333333333333333333 ,3;3; F!"e ( F!"e Android Life494le 33333333333333333333333333333333333333333333333333333333 ,3;3;3/ S&!r& !n A4&ii&9 3333333333333333333333333333333333333333333333333333333333333333333333333333333 ,3;3;3, P!u"ing B Re"uing !n A4&ii&9 3333333333333333333333333333333333333333333333333333 ,3;3;31 S&o$ing !nd Re"&!r&ing !n A4&ii&9 3333333333333333333333333333333333333333333333333 ,3;3;3; Re4re!&ing A4&ii&9 33333333333333333333333333333333333333333333333333333333333333333333333333 ,3. Li"&Vie7 333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 ,3.3/ =idge& Li"&ie7 333333333333333333333333333333333333333333333333333333333333333333333333333333 ,3.3, Li"&A4&ii&9 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333 ,3.31 Arr!9Ad!$&er 33333333333333333333333333333333333333333333333333333333333333333333333333333333333 ,3+ Tin:!u!n Pu"&!k! Pendukung 3333333333333333333333333333333333333333333333333333333333
,3+3/ Android 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 ,3+3/3/ Android %e&! 33333333333333333333333333333333333333333333333333333333333333333333333333333333333 ,3+3/3, Android er"i /3@ 33333333333333333333333333333333333333333333333333333333333333333333333333333 ,3+3/31 Android er"i ,3@ 33333333333333333333333333333333333333333333333333333333333333333333333333333 ,3+3/3; Android er"i 13@ 33333333333333333333333333333333333333333333333333333333333333333333333333333 ,3+3/3. Android er"i ;3@ 33333333333333333333333333333333333333333333333333333333333333333333333333333 ,3+3/3+ Android er"i .3@ 33333333333333333333333333333333333333333333333333333333333333333333333333333 ,3+3, Android S&udio 33333333333333333333333333333333333333333333333333333333333333333333333333333333 ,3+31 E4li$"e 333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 ,3+313/ Mul&i?$l!&for 333333333333333333333333333333333333333333333333333333333333333333333333333333333 ,3+313, Muli&?l!ngu!ge 33333333333333333333333333333333333333333333333333333333333333333333333333333333 ,3+3131 Mul&i?role 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 ,3+3; Android SDK 3333333333333333333333333333333333333333333333333333333333333333333333333333333333 ,3+3. Android ADT 33333333333333333333333333333333333333333333333333333333333333333333333333333333333 ,3+3+ JDK 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 ,3+38 CML 333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 %A% III Me&odologi Peneli&i!n 13/ 13, 131
Me&odologi Peneli&i!n 333333333333333333333333333333333333333333333333333333333333333333333 G!'!r!n Uu A$lik!"i 33333333333333333333333333333333333333333333333333333333333333 Alur A$lik!"i 33333333333333333333333333333333333333333333333333333333333333333333333333333333333
%A% IV Pe'!5!"!n d!n An!li"i" !"il ;3/ ;3, ;31 ;3; ;3. ;3+ ;3+3/ ;3+3,
Pen:el!"!n d!n !n!li"i" Modul Perogr!!n Mo'ile 33333333333333333333 Pe'!5!"!n d!n An!li"i" Modul / 3333333333333333333333333333333333333333333333333 Pe'!5!"!n d!n An!li"i" Modul , 3333333333333333333333333333333333333333333333333 Pe'!5!"!n d!n An!li"i" Modul 1 3333333333333333333333333333333333333333333333333 Pe'!5!"!n d!n An!li"i" Modul ; 3333333333333333333333333333333333333333333333333 Pe'!5!"!n d!n An!li"i" A$lik!"i Te'!k G!'!r 3333333333333333333333333 Kode Progr! A$lik!"i Te'!k G!'!r 3333333333333333333333333333333333333333333 U:i
%A% V Penu&u$ .3/ .3,
Si$ul!n 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 S!r!n 333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
D!f&!r Pu"&!k! 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
ATAR KOE PROGRAM
K%*e P'%'a& ".1 Sin&!k" Widget TextView 33333333333333333333333333333333333333333333333333 K%*e P'%'a& "." Sin&!k" Layout Button 33333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4.1 !4&ii&9!in3@l 333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4." M!inA4&ii&93:!! 333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4.3 Modul S!&u3@l 333333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4.4 Modul S!&u3:!! 333333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4.5 Modul Du!3@l 333333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4.) Modul Du!3:!! 333333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4.- Modul Tig!!3@l 33333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4./ Modul Tig!'3@l 33333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4. Modul Tig!3:!! 333333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4.10 Modul E$!&3@l 3333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4.11 Simple ListView3@l 333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4.1" Custom ListView3@l 33333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4.13 Custom ListView13@l 333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4.14 Class Loading 3333333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4.15 Class Main 333333333333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4.1) Class M!in A4&ii&9 333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4.1- Class K!&!gori 333333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4.1/ Class So!l/ 33333333333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4.1 Class So!l, 33333333333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4."0 Class So!l1 33333333333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4."1 Class !"il/ 3333333333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4."" Class !"il, 3333333333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4."3 Class !"il1 3333333333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4."4 Class %!n&u!n 3333333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4."5 Class D%Ad!$&er 333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4.") Class Li5!& 333333333333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4."- Loading 3@l 333333333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4."/ Main3@l 33333333333333333333333333333333333333333333333333333333333333333333333
K%*e P'%'a& 4." K!&!gori3@l 333333333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4.30 So!l3@l 3333333333333333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4.31 !"il3@l 33333333333333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4.3" T!$il3@l 333333333333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4.33 I"i T!$il3@l 3333333333333333333333333333333333333333333333333333333333333333 K%*e P'%'a& 4.34 %!n&u!n3@l 333333333333333333333333333333333333333333333333333333333333333333
ATAR GAM6AR
Ga&9a' ".1 %er'!g!i Jeni" !ditText $!d! "allete Ga&9a' "." Layout Button Ga&9a' ".3 Siklu" idu$ Android Ga&9a' ".4 #rray#dapter 3 Ga&9a' 3.1 G!'!r!n Uu A$lik!"i D!&! M!5!"i"7! Ga&9a' 3." G!'!r!n Uu A$lik!"i Te'!k G!'!r333 Ga&9a' 3.3 $low%hart Modul S!&u 33 Ga&9a' 3.4 $low%hart Modul Du! Ga&9a' 3.5 $low%hart Modul Tig! 33 Ga&9a' 3.) $low%hart Modul E$!& 333 Ga&9a' 3.- $low%hart Te'!k G!'!r33 Ga&9a' 4.1 T!$il!n !l!!n U&!! Por&!i&/ Ga&9a' 4." T!$il!n !l!!n U&!! Por&!i&, 333 Ga&9a' 4.3 T!$il!n !l!!n U&!! Lands%ape1 &&&&&&&&&&&' Ga&9a' 4.4 T!$il!n !l!!n U&!! Lands%ape( &&&&&&&&&&&' Ga&9a' 4.4 T!$il!n !l!!n U&!! Lands%ape( &&&&&&&&&&& Ga&9a' 4.) T!$il!n Modul S!&u ENG "ortait &&&&&&&&&&&&& Ga&9a' 4.- T!$il!n Modul S!&u IND Lands%ape &&&&&&&&&3 Ga&9a' 4./ T!$il!n Modul S!&u ENG Lands%ape Ga&9a' 4. U:i
Ga&9a' 4."0 U:i
6A6 I PENA7ULUAN
%!' $end!5ulu!n ini !k!n e'!5!" engen!i $end!5ulu!n# di!n! $end!5ulu!n !k!n e'!5!" engen!i l!&!r 'el!k!ng# ruu"!n !"!l!5# &u:u!n $r!k&iku# !nf!!& $r!k&iku# '!&!"!n !"!l!5 d!n "i"&e!&ik! $enuli"!n3
1.1
Lata' 6ela+an
Perke'!ng!n &eknologi 9!ng "e!kin $e"!& "!!& ini &el!5 e'u!& '!n9!k $eru'!5!n d!l! g!9! 5idu$ !"9!r!k!&3 S!l!5 "!&u $eru'!5!nn9! !d!l!5 '!n9!kn9! $enggun!!n smartphone# &eru&!! 9!ng 'er'!"i" Android un&uk ke5idu$!n "e5!ri?5!ri3 Penggun! smartphone 'er!"!l d!ri 'er'!g!i k!l!ng!n d!n uur3 Penggun!!nn9! 'i"! 'eru$! browsing # e-mail # 'er!in game# d!n "e'!g!in9!# un&uk eenu5i ke'u&u5!n &er"e'u& &erd!$!& *endor 9!ng !$u en:!di $en9edi! OS d!ri smartphone 9!ng !d! ul!i d!ri Mi4ro"of& deng!n OS =indo7" P5one# A$$le deng!n IOS?n9!# d!n 9!ng $!ling '!n9!k digun!k!n Google deng!n Android OS?n9!3 Penge'!ng 4enderung eili5 un&uk enge'!ngk!n "e'u!5 !$lik!"i 9!ng eiliki kri&eri! '!5!"! $erogr!!n 9!ng ud!5 di$el!:!ri# eiliki dukung!n kouni&!" 9!ng &inggi# d!n &en&un9! 'er"if!& open sour%e3 Seluru5 kri&eri! &er"e'u& &erd!$!& $!d! Android 9!ng enggun!k!n %!5!"! Perogr!!n J!!# eiliki '!n9!k dukung!n kouni&!"# open sour%e# d!n didukung ole5 $eru"!5!!n Google 9!ng "ud!5 e'erik!n IDE?n9! 9!i&u Android S&udio3 Seor!ng programmer mobile di&un&u& engu!"!i &ekni" $erogr!!n mobile 9!ng d!l! k!"u" ini !d!l!5 $erogr!!n mobile 'er'!"i" Android un&uk eng5!d!$i $er"!ing!n d!n eenu5i ke'u&u5!n indiidu '!ik 9!ng 'erorien&!"i 'i"ni" d!n 'er"if!& eng5i'ur3 Meng5!d!$i 'er'!g!i $erke'!ng!n &er"e'u& + Pr!k&iku Perogr!!n Mobile ini !k!n e'!5!" engen!i Android 'e"er&! deng!n $e'u!&!n
!$lik!"in9!3 A$lik!"i 9!ng di'u!& i!l!5 A$lik!"i D!&! M!5!"i"7! di!n! !$lik!"i
ini 'er&u:u!n un&uk enge&!5ui d!&! !5!"i"7! d!n A$lik!"i Kui" G!'!r 9!ng eru$!k!n "e'u!5 !$lik!"i game &e'!k g!'!r3
1."
Ru&uan Maalah
%erd!"!rk!n l!&!r 'el!k!ng di !&!"# d!$!& diruu"k!n 'e'er!$! ruu"!n !"!l!5 9!ng en:!di d!"!r $e'u!&!n l!$or!n Pr!k&iku Perogr!!n Mobile 9!i&u "e'!g!i 'eriku&) /3 %!g!i!n! $enggun!!n widget d!"!r "e$er&i TextView# !ditText # d!n ,3
Button $!d! "u!&u !$lik!"i Android %!g!i!n! $enggun!!n widget "e$er&i
13
,adioButton deng!n &!'!5!n Toast $!d! "u!&u !$lik!"i Android %!g!i!n! $enggun!!n ntent d!n #%ti*ity li.e%y%le $!d! "u!&u !$lik!"i
;3
Android %!g!i!n! $e'u!&!n !$lik!"i &e'!k g!'!r
1.3
Tuuan
See)bar #
Che%)Box#
d!n
Tu:u!n d!ri dil!k"!n!k!nn9! Pr!k&iku Perogr!!n Mobile !d!l!5 "e'!g!i 'eriku&) /3
Menge&!5ui d!n d!$!& engi$leen&!"ik!n widget d!"!r "e$er&i
,3
TextView# !ditText # d!n Button $!d! "u!&u !$lik!"i Android3 Menge&!5ui d!n d!$!& engi$leen&!"ik!n widget "e$er&i See)bar # Che%)Box# d!n ,adioButton deng!n &!'!5!n Toast $!d! "u!&u !$lik!"i
13
Android3 Menge&!5ui d!n d!$!& engi$leen&!"ik!n ntent d!n #%ti*ity li.e%y%le
;3
$!d! "u!&u !$lik!"i Android3 M!$u e'u!& "u!&u !$lik!"i &e'!k g!'!r Android3
1.4
Man;aat
M!nf!!& 9!ng di5!r!$k!n d!$!& di$erole5 d!ri 5!"il dil!k"!n!k!nn9! Pr!k&iku Perogr!!n Mobile !d!l!5 "e'!g!i 'eriku&) /3
M!5!"i"7!
!$u
e!5!i
d!n
d!$!&
engi$leen&!"ik!n
$enggun!!n widget d!"!r "e$er&i TextView# !ditText # d !n Button $!d! "u!&u !$lik!"i Android3
,3
M!5!"i"7!
!$u
e!5!i
d!n
d!$!&
engi$leen&!"ik!n
$enggun!!n widget "e$er&i See)bar # Che%)Box# d!n ,adioButton deng!n 13
&!'!5!n Toast $!d! "u!&u !$lik!"i Android3 M!5!"i"7! !$u e!5!i d!n d!$!&
;3
$enggun!!n ntent d!n #%ti*ity li.e%y%le $!d! "u!&u !$lik!"i Android3 M!5!"i"7! !$u engi$leen&!"ik!n deng!n e'u!& "u!&u
engi$leen&!"ik!n
!$lik!"i Android deng!n &e! !$lik!"i &e'!k g!'!r3
1.5
6ataan Maalah
%!&!"!n !"!l!5 9!ng &erd!$!& $!d! l!$or!n $r!k&iku $erogr!!n mobile !n&!r! l!in)
/3
Peili5!n IDE 9!ng &e$!& un&uk ke$en&ing!n &ekni" %oding d!l!
,3
$e'u!&!n "e'u!5 !$lik!"i mobile 'er'!"i" android 3 Pe'u!&!n user inter.a%e d!ri "e'u!5 !$lik!"i 9!ng ini!l 5!ru"
13
eli$u&i "eluru5 odul 9!ng !d!3 Penggun!!n array "e'!g!i $engg!n&i database 9!ng digun!k!n "e'!g!i o'9ek $en9i$!n!n d!&!3
1.)
#te&at#+a Penul#an
Si"&e!&ik! $enuli"!n 9!ng di&er!$k!n un&uk en9!:ik!n g!'!r!n "ingk!& engen!i $er!"!l!5!n 9!ng !k!n di'!5!" d!l! $enuli"!n l!$or!n !k5ir Pr!k&iku Perogr!!n Mobile "e5ingg! !k!n e$erole5 g!'!r!n 9!ng :el!" &en&!ng i"i d!ri $enuli"!n ini &erdiri d!ri li! '!' di!n&!r!n9! !d!l!5 "e'!g!i 'eriku&) %A% I PENDAULUAN %!' ini# $en9u"un !k!n e'!5!" engen!i l!&!r 'el!k!ng# ruu"!n !"!l!5# &u:u!n# !nf!!& d!n '!&!"!n !"!l!5 "er&! lingku$ $e'!5!"!n 9!ng !k!n dil!kuk!n $!d! Pr!k&iku Perogr!!n Mobile ini3 %A% II TINJAUAN PUSTAKA %!' ini# $en9u"un !k!n engur!ik!n defini"i d!n e'!5!" 'e'er!$! 5!l d!ri "e&i!$ odul 9!ng &el!5 dil!kuk!n d!l! Pr!k&iku Perogr!!n Mobile ini3
%A% III METODOLOGI PENELITIAN
%!' ini# $en9u"un !k!n engur!ik!n e&odologi $eneli&i!n 9!ng digun!k!n# g!'!r!n uu !$lik!"i 9!ng digun!k!n# d!n !lur !$lik!"i 9!ng di'u!& "e"u!i deng!n &e!3 %A% IV PEM%AASAN DAN ANALISIS ASIL %!' ini# $en9u"un !k!n engur!ik!n engen!i $en:el!"!n d!n !n!li"i" engen!i ke"eluru5!n odul# $e'!5!"!n d!n !n!li"i" odul "!&u# $e'!5!"!n d!n !n!li"i" odul du!# $e'!5!"!n d!n !n!li"i" odul &ig!# $e'!5!"!n d!n !n!li"i" odul e$! "er&! $e'!5!"!n d!n !n!li"i" !$lik!"i 9!ng di'u!& "e"u!i deng!n &e!3 %A% V PENUTUP %!' ini# $en9u"un !k!n en9i$ulk!n !$! 9!ng &el!5 di'!5!" $!d! '!'? '!' "e'elun9! "er&! e'erik!n "!r!n un&uk $enge'!ng!n le'i5 l!n:u&3
6A6 II TIN2AUAN PUTAKA
%!' &in:!u!n $u"&!k! !k!n e'!5!" engen!i &in:!u!n $u"&!k! 9!ng digun!k!n d!l! l!$oror!n !k5ir Pr!k&iku Perogr!!n Mobile+ 9!ng !k!n diur!ik!n "e4!r! "!&u $er"!&u &in:!u!n $u"&!k! 9!ng digun!k!n $!d! "e&i!$ "u'"i"&e d!l! Pr!k&iku Perogr!!n Mobile'
".1
State of The Art
Game eru$!k!n i"&il!5 d!l! %!5!"! Inggri" 9!ng 'er!r&i $er!in!n3
Menuru& O@ford Le!rnerH" Po4ke& Di4&ion!r9# game !d!l!5 .orm o. play or sport with rules 'en&uk $er!in!n !&!u ol!5 r!g! deng!n !&ur!n?!&ur!n3 Game !d!l!5
"e&i!$ kon&e" !n&!r! $e!in 9!ng 'erin&er!k"i "!&u "!! l!in deng!n engiku&i !&ur!n?!&ur!n &er&en&u un&uk en4!$!i &u:u!n?&u:u!n &er&en&u $ul! S!di!n# ,0//)8.3 Al!& $er!in!n eduk!"i !d!l!5 !l!& $er!in!n 9!ng dir!n4!ng k5u"u" un&uk ke$en&ing!n $endidik!n Ted:!"!$u&r!# ,00/) -/?-,3 S!l!5 "!&u game Android 9!ng !k!n di'u!& i!l!5 !$lik!"i &e'!k g!'!r# di!n! !$lik!"i ini eru$!k!n "e'u!5 game 9!ng !k!n eng!"!5 o&!k $enggun!n9! deng!n ene'!k ku$ul!n g!'!r 9!ng di"u"un "edeiki!n ru$! "e5ingg! !k!n eng5!"ilk!n :!7!'!n 9!ng 'eru$! i"&il!5 "e5!ri?5!ri# $eri"&i7!# '!5k!n ungk!$!n 9!ng en!rik3 A$lik!"i Te'!k G!'!r N!! Ar&i" Rid7!n# ,0/;# eru$!k!n 9!ng eu!& g!'!r?g!'!r !r&i" !u$un !k&or Indone"i! deng!n g!'!r 9!ng di"!!rk!n enggun!k!n $endukung 9!ng !d! &!n$! 'er!k"ud !&!u &u:u!n !$!$un 9!ng 'er"if!& neg!&if3 A$lik!"i ini eru$!k!n "e'u!5 $er!in!n &e'!k!n 9!ng d!$!& di!ink!n ole5 "i!$! "!:!3 Alur d!ri $er!in!n ini 9!i&u eli5!& g!'!r 7!:!5 !r&i" 9!ng &er"!!r# keudi!n klik 5uruf?5uruf 9!ng !d! d!n "e4!r! o&o!&i" 5uruf 9!ng diklik !k!n 'er$ind!5 ke ko&!k?ko&!k 9!ng &el!5 &er"edi!3 A$lik!"i Te'!k G!'!r N!! Ar&i" 'er'erd! deng!n !$lik!"i $!d! :urn!l M!7!n Eko Su7i&o# ,0/1 deng!n :udul A$lik!"i Per!in!n Te'!k G!'!r
%er'!"i" Android Menggun!k!n E4li$"e Juno e'!5!" &en&!ng !$lik!"i &e'!k g!'!r di!n! !$lik!"i ini eiliki &ig! ku$ul!n g!'!r deng!n "e&i!$ ku$ul!n &erdiri d!ri 1+ g!'!r3 M!"ing?!"ing d!ri ku$ul!n g!!'!r eiliki &e! 9!ng 'er'ed!3 %er'ed! deng!n :urn!l Nugro5o Arif Ak'!r# ,0/. 9!ng 'er:udul G!e Eduk!"i Te'!k G!'!r %!5!"! J!7! Menggun!k!n Ado'e Fl!"5
k!&!gori 9!i&u re$&il# !!li!# d!n ungg!"3 A$lik!"i !k!n en!$ilk!n "e'u!5 g!'!r d!ri 'in!&!ng "e"u!i deng!n enu 9!ng di$ili5# keudi!n user eili5 "e"u!i $ili5!n 9!ng &el!5 di"edi!k!n3 Se&el!5 "ele"!i 'er!in !k! !k!n di&!$ilk!n "kor 9!ng di$erole53 Skor &er"e'u& d!$!& di"i$!n !u$un &id!k3 "."
Widget TextView EditText *an B!tto"
Widget eru$!k!n ko$onen *iew Android 9!ng digun!k!n un&uk
eud!5k!n end user enggun!k!n !$lik!"i3 Widget "endiri eiliki widget $ro$er&i 9!ng digun!k!n un&uk eodifik!"i widget Android "e"u!i keingin!n 9!ng di$!"!ng di !"ing?!"ing layout Android3 %e'er!$! widget d!"!r !d!l!5 TextView# Button# mage# !ditText # Che%)Box+ ,adioButton+ d!n ListView3 Se&i!$
7idge& eiliki property !&!u !&ri'u& 9!ng eng!&ur '!g!i!n! widget i&u di&!$ilk!n# "e$er&i &inggi d!n le'!r widget 3 "roperty ini d!$!& di"e& el!lui @l layout # property editor !&!u el!lui $rogr!3 %e'er!$! widget eiliki 'e'er!$! e*ent 9!ng &er?trigger 'erd!"!rk!n !k"i d!ri $enggun!# i"!ln9! e*ent %li%) $!d! button3 ".".1
TextView
TextView digun!k!n un&uk en!$ilk!n l!'el &ek"3 %e'er!$! 4on&o5 property d!ri TextView !d!l!5 !ndroid)&e@&Sie un&uk eng!&ur ukur!n#
!ndroid)&e@&S&9le un&uk eng!&ur !$!k!5 .ont bold !&!u itali%# !ndroid)&e@&
Kode Progr! ,3/ eru$!k!n "in&!k" layout un&uk widget TextView 9!ng digun!k!n un&uk en!$ilk!n &ek"3
"."."
EditText
!ditText digun!k!n un&uk eneri! input d!ri $enggun!3 !ditText $!d! palette &el!5 di"edi!k!n 'er'!g!i :eni" 9!ng d!$!& di$!k!i "e"u!i ke$erlu!n3
Ga&9a' ".3 %er'!g!i Jeni" !ditText $!d! "allete
G!'!r ,3/ enun:ukk!n 'er'!g!i :eni" !ditText # "e$er&i !ditText un&uk input !n &i$e 5uruf# noor# password+ email+ d!n l!in?l!in3
".".3
B!tto"
Button eru$!k!n &urun!n d!ri TextView "e5ingg! 9!ng 'erl!ku $!d! textView :ug! !k!n 'erl!ku $!d! button3 T!'!5!n property 9!ng $en&ing $!d! button !d!l!5 on
<utton android:id="@+id/#utton1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_align$arent%eft="true" android:layout_align$arentTop="true" android:layout_&arginTop="'(dp"
android:text)tyle="italic" android:on*lic="#)apa*lic" android:text=",li )aya" /! K%*e P'%'a& "." Sin&!k" L!9ou& Button
Kode Progr! ,3, eru$!k!n "in&!k" un&uk de"!in layout button deng!n output text 'eru$! Klik S!9! 9!ng !k!n &!$il "e$er&i $!d! G!'!r ,3,3
Ga&9a' ".4 Layout Button
G!'!r ,3, eru$!k!n &!$il!n 5!"il d!ri "in&!k" $!d! Kode Progr! ,3,3 Button d!$!& di!&ur d!l! "in&!k" $!d! Kode Progr! ,3, "e$er&i &e@&S&9le# text 9!ng !k!n di&!$ilk!n i"!ln9! Klik S!9!# d!n "e'!g!in9!3
".3
ee+6a'< =he8+6%>< *an #adioB!tto"
Sel!in TextView+ !ditText+ d!n Button &erd!$!& widget l!in di!n&!r!n9! !d!l!5 "e'!g!i 'eriku&) ".3.1
See$Bar
See)bar !d!l!5 ko$onen Android 9!ng di$!k!i un&uk engge"er nil!i
d!ri nil!i !7!l 'i!"!n9! 0 "!$!i nil!i !k5ir 'i!"!n9! /003 See)bar "ering di$!k!i un&uk eng!&ur *olume "u!r!# ke4er!5!n 7!rn!# /uota bandwidth # ukur!n g!'!r d!n "e'!g!in9!3
2.3.2
%he&$Box
Che%)Box !d!l!5 :eni" &o'ol $ili5!n ke!d!!n 9!ng d!$!& di 4en&!ng
!&!u &id!k di4en&!ng3 Se'u!5 Che%)Box !d!l!5 eleen kon&rol gr!fi" 9!ng eungkink!n $enggun! un&uk e'u!& $ili5!n biner # 9!i&u $ili5!n !n&!r! "!l!5 "!&u o$"i 9!ng eungkink!n "!ling ek"lu"if3 Mi"!ln9!# $enggun! ungkin 5!ru" en:!7!' 9! di4en&!ng !&!u &id!k &id!k di4en&!ng $!d! $er&!n9!!n "eder5!n! 9! !&!u &id!k3 Che%)Box "ering di&!$ilk!n $!d! l!9!r $er"egi 9!ng d!$!& 'eri"i "$!"i
un&uk .alse !&!u &!nd! 4en&!ng !&!u @ un&uk true# "e$er&i 9!ng di&un:ukk!n ☐ !&!u
☑#
!"ing?!"ing3 Se'u!5 ke&er!ng!n 9!ng en:el!"!k!n !r&i d!ri
Che%)Box 'i!"!n9! di&!$ilk!n 'erdek!&!n deng!n ko&!k 4en&!ng3 Me'!lik
ke!d!!n Che%)Box deng!n engklik mouse $!d! ko&!k# !&!u ke&er!ng!n# !&!u deng!n enggun!k!n short%ut )eyboard # "e$er&i "$!"i3 M!k! $enggun! d!$!& eili5 'e'er!$! $ili5!n di'!ndingk!n deng!n &o'ol ,adioBox# di!n! 5!n9! "!&u $ili5!n 9!ng d!$!& di$ili5 'e'er!$! $ili5!n 9!ng &erk!i&3
2.3.3
#adioB!tto"
,adioButton !d!l!5 "!l!5 "!&u widget 9!ng 4o4ok digun!k!n "u!&u
ku$ul!n $ili5!n d!&! !&!u i&e 9!ng &id!k '!n9!k3 Jik! $ili5!n "!ng!& '!n9!k !k! le'i5 '!ik enggun!k!n spinner' #ndroid eiliki .ramewor) data adapter 9!ng e'erik!n inter.a%e uu un&uk $ili5!n '!ik 'eru$! stati% array !u$un i"i database3
".3.4 Toa't Toast !d!l!5 $e"!n text 9!ng di&!$ilk!n $!d! !ndroid3 Toast eiliki
fung"i un&uk e'erik!n infor!"i d!l! 'en&uk text 3 Toast eru$!k!n "e'u!5 u$!n '!lik "eder5!n! d!ri "e'u!5 o$er!"i d!l! "e'u!5 pop-up3 Toast 5!n9! engi"i "e'!gi!n ru!ng d!ri !$lik!"i3
".4
I"te"t *an A&ti(it) Life&)&*e
A$lik!"i odul &ig! Android !k!n e'!5!" &en&!ng ntent d!n #%ti*ity Li.e%y%le' 2.4.+
I"te"t
ntent eru$!k!n "u!&u $e"!n 9!ng digun!k!n un&uk eng!k&ifk!n &ig!
ko$onen d!"!r $!d! !$lik!"i Android 9!i&u #%ti*ity+ Ser*i%e+ d!n Broad%ast ,e%ei*er 3 Ak&i!"i $!d! ko$onen?ko$onen &er"e'u& 'i"! &er:!di $!d! !$lik!"i
9!ng "!! !&!u 'er'ed!# "e$er&i en:!l!nk!n #%ti*ity# ini"i!"i Ser*i%e# !&!u $engiri!n $e"!n ke$!d! Broad%ast ,e%ei*er 3 S!!& &er:!di kounik!"i !n&!r
ko$onen# ntent en9i$!n $!ke& infor!"i 9!ng digun!k!n $!d! $ro"e" &er"e'u&3 %eriku& ini !d!l!5 'e'er!$! 4on&o5 ek!ni"e $engiri!n ntent $!d! !"ing?!"ing :eni" ko$onen ) /3
0be%t ntent un&uk en:!l!nk!n #%ti*ity '!ru !&!u eerin&!5k!n #%ti*ity el!kuk!n "e"u!&u deng!n e$!""ing obe%t ntent $!d! fung"i
0be%t ntent un&uk engini"i!"i "e'u!5 Ser*i%e '!ru !&!u el!kuk!n
"e"u!&u $!d! Ser*i%e 9!ng "ed!ng 'er:!l!n deng!n e$!""ing obe%t ntent $!d! fung"i
13
0be%t ntent un&uk engirik!n $e"!n ke$!d! "eluru5 Broad%ast ,e%ei*er
deng!n
e$!""ing
obe%t
ntent
$!d!
fung"i
2.4.2
A&ti(it) Life&)&*e
Android eiliki "iklu" 5idu$ #%ti*ity3 Siklu" 5idu$ &er"e'u& diul!i $!d! "!!& !$lik!"i 'er:!l!n $!d! "i"&e# Android eiliki "e'u!5 #%ti*ity $rogr! 9!ng &er:!di d!l! 'e'er!$! $ern9!&!!n $rogr! !&!u &!5!$!n state3 "rogrammer &id!k d!$!& el!kuk!n kon&rol &er5!d!$ &!5!$!n &er"e'u& k!ren!
"eu! "ud!5 di!&ur ole5 "i"&e3 Tu:u!n d!ri "iklu" 5idu$ ini !d!l!5 un&uk engelol! eori !&!u #%ti*ity pro%essor "e4!r! !ndiri3 Se:!u5 ini "ering en:u$!i method onCreate 3 Method &er"e'u& eru$!k!n "!l!5 "!&u d!ri "iklu" 5idu$ d!ri Android3 %eriku& !d!l!5 "iklu" 5idu$ d!ri Android )
Ga&9a' ".3 #+lu 7#*u An*'%#*
G!'!r ,31 eru$!k!n g!'!r!n "iklu" 5idu$ !$lik!"i Android3 Siklu" 5idu$ Android &erdiri d!ri 'e'er!$! '!gi!n di!n&!r!n9! 9!i&u ) /3
onCreate !d!l!5 e&ode 9!ng di$!nggil ke&ik! #%ti*ity $er&!! di'u!&3
,3
Me&ode ini d!$!& di dekl!r!"ik!n 'er'!g!i *ariable 9!ng !k!n digun!k!n3 onStart !d!l!5 e&ode 9!ng di$!ngil ke&ik! #%ti*ity di &!$ilk!n ke user
13
$enggun!3 on,esume !d!l!5 e&ode 9!ng di$!nggil ke&ik! #%ti*ity di?resume ke'!li !&!u di&!$ilk!n ke'!li $!d! "!!& $o"i"i #%ti*ity on"ause3 Method ini di$!nggil ke&ik! #%ti*ity din9!&!k!n "i!$ 'erin&er!k"i deng!n
;3
user 3 on"ause !d!l!5 e&ode 9!ng di$!nggil ke&ik! #%ti*ity d!l! ke!d!!n pause &id!k el!kuk!n kegi!&!n !$!?!$! "e5ingg! $ro"e" d!ri #%ti*ity
.3
&er"e'u& d!$!& di:!l!nk!n di ba%)ground $ro"e"3 onStop !d!l!5 e&ode 9!ng di$!nggil ke&ik! #%ti*ity d!l! ke!d!!n stop
+3
!&!u d!l! ke!d!!n l!! &id!k di&!$ilk!n ke user 3 on,estart !d!l!5 e&ode ini di$!nggil ke&ik! #%ti*ity 9!ng &el!5 di? pause
83
di:!l!nk!n ke'!li3 Method ini di:!l!nk!n "e'elu method onStart 3 on2estroy !d!l!5 e&ode 9!ng di$!nggil "e'elu #%ti*ity di?destroy3
2.4.3
Man;aat Men#&le&enta#+an An*'%#* Life&)&*e
Android "e'en!rn9! "e4!r! de.ault "ud!5 el!kuk!n management &er5!d!$ "iklu" 5idu$n9! "endiri# n!un un&uk eningk!&k!n $erfor! d!ri
!$lik!"i# !k! d!$!& dii$leen&!"ik!n method-method li.e%y%le Android3 %e'er!$! !nf!!& d!ri i$leen&!"i method-method li.e%y%le' A$lik!"i &id!k %rash :ik! eneri! $!nggil!n &ele$on !&!u 'er$ind!5 ke 1' ('
!$lik!"i l!in3 Tid!k engkon"u"i d!9! 'erle'i5 :ik! user "ed!ng &id!k enggun!k!n
3' 4'
!$lik!"i3 Tid!k ke5il!ng!n progress d!ri !$lik!"i 'i!"!n9! di&er!$k!n $!d! game3 Tid!k %rash "!!& l!9!r d!l! ode rotated'
2.4.4
ae ? ae An*'%#* Life&)&*e
Android Li.e%y%le d!l! $ener!$!nn9! eiliki &!5!$!n?&!5!$!n !&!u f!"e?f!"e 9!i&u ) ,3;3;3/ Start an #%ti*ity F!"e ini diul!i $!d! "!!& #%ti*ity ul!i running 3 #%ti*ity !k!n en:!l!nk!n 'e'er!$! method li.e%y%le 9!i&u onCreate # onStart # d!n on,esume3 ,3;3;3, "ausing 5 ,esuming an #%ti*ity F!"e ini diul!i $!d! "!!& #%ti*ity d!l! ke!d!!n pause !&!u #%ti*ity &id!k el!kuk!n kegi!&!n !$!?!$! d!n resume !&!u #%ti*ity el!n:u&k!n #%ti*ity 9!ng "e'elun9! d!l! ke!d!!n pause3 #%ti*ity !k!n en:!l!nk!n method on"ause d!n on,esume3
,3;3;31 Stoping and ,estarting an #%ti*ity F!"e Stoping and ,estarting an #%ti*ity di"!!& !$lik!"i "ed!ng d!l! ke!d!!n) /3 Penggun! e'uk! ,e%ent#pps d!n 'er!li5 ke !$lik!"i l!in3 Kegi!&!n ,3
!$lik!"i !k!n di5en&ik!n "!$!i !$lik!"i di'uk! ke'!li3 Penggun! e'uk! #%ti*ity l!in d!n !k!n ke'!li ke #%ti*ity
13
"e'elun9! deng!n enek!n &o'ol ba%) 3 Penggun! eneri! &ele$on ke&ik! !$lik!"i "ed!ng digun!k!n d!n $enggun! enggun!k!n &ele$on "een&!r! 7!k&u d!n !$lik!"i !k!n ke'!li di:!l!nk!n "e&el!5 "ele"!i eneri! &ele$on3
;3
F!"e ini !$lik!"i !k!n en:!l!nk!n method onStop# on,estart # onStart # on,esume3
,3;3;3; ,e%reating #%ti*ity F!"e ini digun!k!n ke&ik! !$lik!"i di?destroy "e4!r! nor!l "e$er&i enggun!k!n &o'ol ba%) 3 A$lik!"i !k!n eng5!$u" "eu! memory 9!ng
&er$!k!i di !$lik!"i3 A$lik!"i !k!n re%reating #%ti*ity ke&ik! !$lik!"i di 'uk! ke'!li3 Android en9edi!k!n method onSa*enstan%eState Bundle outState d!n on,estorenstan%eState Bundle sa*ednstan%eState un&uk en9i$!n d!&! "een&!r!3 Tu:u!nn9! !g!r d!&! 9!ng "e'elun9! 9!ng &id!k &er"i$!n di !$lik!"i d!$!& di'uk! ke'!li3
Li'tView
ListView !d!l!5 sub%lass d!ri #dapterView 9!ng en!$ilk!n d!f&!r item s%roll 3 D!f&!r item o&o!&i" di!"ukk!n ke d!l! d!f&!r enggun!k!n #dapter 9!ng en!rik kon&en d!ri "u'er "e$er&i array !&!u database /uery d!n
engu'!5 "e&i!$ item eng!ki'!&k!n en:!di *iew 9!ng di&e$!&k!n ke d!l! d!f&!r3 ListView eru$!k!n "!l!5 "!&u widget &er$en&ing d!n $!ling "ering digun!k!n un&uk en!$ilk!n kelo$ok infor!"i k!ren! ukur!n l!9!r smartphone &er'!&!"3 ".5.1
Widget Li't(iew ListView !d!l!5 *iew group 9!ng digun!k!n un&uk en!$ilk!n item
deng!n &!$il!n "e4!r! *erti%al list 3 List*iew eiliki property 7!:i' 9!i&u layoutheight+ layoutwidth+ d!n ID3 List*iew uga memili)i %lass List#%ti*ity
9!ng k5u"u" en!ng!ni ListView3 List*iew e$un9!i a%tion listener 9!ng digun!k!n ke&ik! user eili5 "!l!5 "!&u item 9!ng !d! di ListView3 Ad!$un 'e'er!$! !4! a%tion listener 9!ng &erd!$!& $!d! ListView !n&!r! l!in) /3 set0ntemCli%)Listener eru$!k!n a%tion ke&ik! user enek!n !&!u tap ,3
"!l!5 "!&u item3 set0ntemLongCli%)Listener eru$!k!n a%tion ke&ik! user enek!n !&!u
13
tap "!l!5 "!&u item d!l! 7!k&u 9!ng l!!3 set0ntemSele%tedListener eru$!k!n a%tion ke&ik! user eili5 item3
".5."
Li'tA&ti(it)
List#%ti*ity !d!l!5 %lass #%ti*ity 9!ng dik5u"u"k!n un&uk ListView3 S!!
"e$er&i %lass #%ti*ity+ List#%ti*ity :ug! eiliki li.e%y%le3 Per'ed!!n d!ri kedu! %lass ini &er&er! $!d! $enggun!!n List#%ti*ity 9!ng le'i5 "$e"ifik un&uk ListView
di'!nding #%ti*ity 9!ng eiliki lingku$ glo'!l3
".5.3
Arra)Ada,ter
Se&i!$ k!li ingin en!$ilk!n d!f&!r *erti%al item digulir !k! !k!n enggun!k!n ListView 9!ng eiliki d!&! 9!ng $endudukn9! enggun!k!n #dapter 3 #daptor "eder5!n! un&uk enggun!k!nn9! di"e'u& #rray#dapter k!ren! adaptor engu'!5 #rrayList o':ek ke View item diu!& ke d!l! %ontainer ListView3
Ga&9a' ".4 #rray#dapter
#rray#dapter 9!ng 4o4ok !n&!r! #rrayList sour%e d!n ListView
re$re"en&!"i *isual d!n engkonfigur!"i du! !"$ek) /3 ,3
#rray 9!ng digun!k!n "e'!g!i "u'er d!&! un&uk d!f&!r3
"e"u!i3
".)
T#nauan Puta+a Pen*u+un
Tin:!u!n $u"&!k! d!n referen"i "e4!r! uu 9!ng digun!k!n d!l! en9ele"!ik!n &ug!" &!'!5!n Pr!k&iku Perogr!!n Mobile !d!l!5 "e'!g!i 'eriku&) ".).1 An*'%#* Android !d!l!5 "e'u!5 "i"&e o$er!"i un&uk $er!ngk!& mobile 'er'!"i" Linu@ 9!ng en4!ku$ "i"&e o$er!"i# middleware d!n !$lik!"i3 Android eru$!k!n gener!"i '!ru $l!&for mobile 9!ng e'erik!n ke"e$!&!n ke$!d! $enge'!ng un&uk el!kuk!n $enge'!ng!n "e"u!i deng!n 9!ng di5!r!$k!n3 Si"&e o$er!"i 9!ng end!"!ri Android eru$!k!n li"en"i di'!7!5 n!ung!n General "ubli% Li%ense Ver"i , GPL,# 9!ng 'i!"! diken!l deng!n i"&il!5
ke&ig! 5!ru" &eru" :!&u5 di'!7!5 terms3 Di"&ri'u"i Android 'er!d! di'!7!5 li"en"i A$!45e Sof&7!re ASL6A$!45e,# 9!ng eungkin un&uk di"&ri'u"i kedu! !&!u "e&eru"n9!3 Penge'!ng !$lik!"i Android di$er'ole5k!n un&uk endi"&ri'u"ik!n !$lik!"i erek! di '!7!5 "ke! li"en"i !$!$un 9!ng erek! ingink!n3 Penge'!ng eiliki 'e'er!$! $ili5!n d!l! e'u!& !$lik!"i 9!ng 'er'!"i" Android3 N!un# ke'!n9!k!n $enge'!ng enggun!k!n E4li$"e "e'!g!i IDE un&uk er!n4!ng !$lik!"i erek!3 !l ini diik!ren!k!n E4li$"e end!$!& dukung!n l!ng"ung d!ri Google un&uk en:!di IDE $enge'!ng!n !$lik!"i Android3 A$lik!"i Android d!$!& dike'!ngk!n $!d! 'er'!g!i "i"&e o$er!"i# di!n&!r!n9! !d!l!5) =indo7" CP6Vi"&!68# M!4 OS C M!4 OS C /03;!&!u 9!ng le'i5 '!ru# d!n Linu@3 Si"&e o$er!"i deng!n '!"i" "i"&e o$er!"i Linu@ ini $er&!! k!li dike'!ngk!n ole5 Android# In4 deng!n dukung!n d!ri $i5!k Google3 Google keudi!n e'eli "i"&e o$er!"i &er"e'u& $!d! &!5un ,00. d!n &eru" enge'!ngk!nn9! 5ingg! re"i dirili" $!d! &!5un ,0083 Si"&e o$er!"i Android &er"e'u& dirili" 'er"!!!n deng!n $endiri!n 0pen 6andset #llian%e 9!ng eru$!k!n "e'u!5 kon"or"iu d!ri 'e'er!$! $eru"!5!!n 9!ng 'erger!k di 'id!ng &elekounik!"i# $er!ngk!& ker!" d!n $er!ngk!& lun!k un&uk 'er"!!?"!! enge'!ngk!n $er!ngk!& "eluler3 Tele$on "eluler $er&!! 9!ng enggun!k!n "i"&e o$er!"i Android 9!ng $er&!! dirili" "e4!r! re"i ke $!"!r $!d! Ok&o'er ,00- !d!l!5 T< Dre! 9!ng diiku&i ole5 $enge'!ng &ele$on "eluler l!in 9!ng enggun!k!n "i"&e o$er!"i o$en "our4e Android /30 A"&ro &er"e'u&3 %eriku& ini "e:!r!5 $erke'!ng!n "i"&e o$er!"i Android "e:!k di$erken!lk!n ke $u'lik $!d! &!ngg!l . Noe'er ,0083 ,3+3/3/ Android %e&! Android %e&! eru$!k!n er"i $er&!! "i"&e o$er!"i Android 9!ng dirili" ole5 Google $!d! &!ngg!l . Noe'er ,0083 Ini eru$!k!n er"i re"i 9!ng di$erken!lk!n ke $u'lik "e&el!5 Google eng!ukui"i"i Android# In4 $!d! &!5un ,00.3 Se"!!& "e&el!5 di$erken!lk!nn9! "i"&e o$er!"i Android %e&!# Google erili" So.tware 2e*elopment 7it !&!u SDK d!ri "i"&e o$er!"i Android $!d! /, Noe'er3 Se'!g!i "i"&e o$er!"i open sour%e# $i5!k Google erili" kode $erogr!!n "i"&e o$er!"i Android di '!7!5 li"en"i A$!45e d!n d!$!&
digun!k!n ole5 "i!$!$un un&uk enge'!ngk!n "i"&e o$er!"i "er&! !$lik!"i 9!ng di:!l!nk!n $!d! "i"&e o$er!"i &er"e'u&3 ,3+3/3, Android er"i /3@ Si"&e o$er!"i Android re"i 9!ng digun!k!n $!d! $er!ngk!& &ele$on "eluler 'er'!"i" Android $er&!! !d!l!5 Android /30 A"&ro3 Android /30 A"&ro $er&!! k!li di$!"!ng $!d! &ele$on "eluler T< Dre!3 Si"&e o$er!"i ini $er&!! k!li di$erken!lk!n $!d! ,1 Se$&e'er ,00-3 N!! A"&ro keudi!n di5il!ngk!n k!ren! !"!l!5 5!k 4i$&!3 Android /3/ %ender eru$!k!n er"i update 9!ng dirili" $!d! > M!re& ,00>3 N!! %ender keudi!n :ug! di5il!ngk!n
k!ren! !"!l!5 5!k 4i$&!3 Pon"el T?Mo'ile G/ eru$!k!n $er!ngk!& 9!ng enggun!k!n "i"&e o$er!"i ini3 Android /3.
3 Terd!$!& 'e'er!$! fi&ur '!ru &er!"uk 7idge& 9!ng d!$!& diu'!5 ukur!nn9! "er&! ke!$u!n engungg!5 ideo d!n g!'!r ke You&u'e d!n Pi4!"!3 Android /3+ Donu& dirili" $!d! /. Se$&e'er ,00>3 Fi&ur $en4!ri!n di&!'!5k!n $!d! update "i"&e o$er!"i ini "er&! de"!in inter.a%e 9!ng le'i5 ud!5 di$!5!i3 Ver"i ini :ug! eru$!k!n "i"&e o$er!"i Android $er&!! 9!ng d!$!& diko'in!"ik!n deng!n &eknologi De"e'er ,00> &erd!$!& $eningk!&!n $!d! o$&i!"i $er!ngk!& ker!" "er&! !d!n9! Google M!$" 13/3, "er&! $en!'!5!n browser deng!n '!"i" TML.3 Fi&ur l!$u kil!& un&uk k!er! 5ingg! 1#, MP "er&! digi&!l 8oom d!n :ug! konek"i %lue&oo&5 ,3/ &el!5 di&!'!5k!n $!d! er"i ini3 Android ,3, Fro9o !&!u Froen Yog5ur& dirili" $!d! &!ngg!l ,0 Mei ,0/, d!n &er$!"!ng $!d! smartphone Google Ne@u" One3 Ver"i ini d!$!& en:!l!nk!n !$lik!"i Ado'e Fl!"5 Pl!9er /03/ "er&! en9er&!k!n ke!$u!n enggun!k!n k!r&u eori SD un&uk en9i$!n !$lik!"i3 Ver"i ini "e$!& eng!l!i du! k!li update deng!n dirili"n9! Android er"i ,3,3/ 5ingg!
er"i ,3,313 Android ,31 Ginger're!d $er&!! k!li dirili" $!d! + De"e'er ,0/03 Perke'!ng!n $e"!& &er:!di $!d! update k!li ini deng!n o$&i!"i ke!$u!n !$lik!"i "er&! game "er&! di"er&!k!nn9! Ne!r Field Ok&o'er ,0// d!n S!"ung G!l!@9 Ne@u" en:!di smartphone $er&!! 9!ng enggun!k!n "i"&e o$er!"i ini3 Si"&e o$er!"i ini dike'!ngk!n un&uk en:!di er"i update d!ri "i"&e o$er!"i Android "e'elun9!3 Se4!r! &eori "eu! $er!ngk!& &ele$on "eluler 9!ng enggun!k!n Android Ginger're!d d!$!& di? upgrade en:!di enggun!k!n "i"&e o$er!"i Android I4e
Si"&e o$er!"i Android ;3/ Jell9 %e!n eru$!k!n l!n:u&!n d!ri $enge'!ng!n "i"&e o$er!"i Android "e'elun9! "i"&e o$er!"i ini eiliki 'e'er!$! keunggul!n 9!ng &id!k diiliki ole5 "i"&e o$er!"i er"i "e'elun9! "er&! en!7!rk!n 'e'er!$! fi&ur '!ru3 Pe'!ru!n $!d! "i"&e input )eyboard # &!$il!n '!ru $!d! fi&ur $en4!ri!n d!n Voi%e Sear%h "er&! &!$il!n inter.a%e 9!ng le'i5 ud!5 di$!5!i d!n digun!k!n3 Pen!'!5!n fi&ur Google No7 en:!di "e'u!5 lo$!&!n 'e"!r $!d! "i"&e o$er!"i Android ;3/ Jell9 %e!n ini3 Google No7 d!$!& e'erik!n 'er'!g!i !4! infor!"i &erkini "e$er&i kondi"i 4u!4!# ke$!d!&!n l!lu lin&!" 5ingg! infor!"i $o$uler "e$er&i 5!"il $er&!nding!n 'ol! '!"ke& d!n "e$!k 'ol!3 Si"&e o$er!"i ini $er&!! k!li digun!k!n $!d! &!'le& 'u!&!n A"u" 9!i&u Google Ne@u"83 Android ;3, Jell9 %e!n eru$!k!n er"i update d!ri er"i ;3/# &erd!$!& 'e'er!$! $er'!ik!n d!n $en!'!5!n fi&ur "e$er&i !d!n9! fi&ur photosphere un&uk
en!ngk!$ g!'!r $!nor!! "er&! s%reensa*er 2aydream3 %e'er!$! fi&ur fung"ion!l "e$er&i power %ontrol # engun4i l!9!r widget "er&! en:!l!nk!n 'e'er!$! user $!d! P< &!'le& en:!di 'e'er!$! $en!'!5!n $!d! update "i"&e o$er!"i Android ini3 Android ;3, Jell9 %e!n $er&!! k!li di$!"!ng $!d! LG Google Ne@u" ;3 Android ;31 Jell9 %e!n $er&!! k!li dirili" $!d! ,; Juli ,0/1 d!n $er&!! k!li di$!"!ng $!d! &!'le& Ne@u" 83 Ver"i update deng!n $er'!ik!n $!d! 'e'er!$! bug keudi!n dirili" $!d! ,, Agu"&u"3 Android ;3; Ki&K!& $er&!! k!li dirili" $!d! 1 Se$&e'er ,0/13 Se'elun9! "i"&e o$er!"i Android ini di'eri n!! Ke9 Lie Pie d!n keudi!n diu'!5 k!ren! n!! &er"e'u& kur!ng $o$uler3 Si"&e o$er!"i ini "e$!& dik!'!rk!n en:!di Android er"i .30 n!un &ern9!&! 5!n9! enggun!k!n n!! '!ru Ki&K!&3 "i"&e o$er!"i Android ini $er&!! k!li digun!k!n $!d! Ne@u" .3 ,3+3/3+ Android er"i .3@ Si"&e o$er!"i Android .30 Lolli$o$ $er&!! k!li dirili" $!d! ,. Juni ,0/;3 Se'elun9!# "i"&e o$er!"i ini di$erken!lk!n deng!n kode Android L3 9pdate $enggun!!n "i"&e o$er!"i Android d!ri er"i "e'elun9! ke er"i .30
$er&!! k!li di'uk! $!d! /, Noe'er ,0/;3 nter.a%e '!ru digun!k!n "er&! 'e'er!$! $er'!ik!n $!d! !k"e" no&ifik!"i 9!ng le'i5 ud!53 Peru'!5!n palt.orm deng!n #ndroid ,untime engg!n&ik!n D!lik dil!kuk!n gun! eningk!&k!n $erfor! !$lik!"i d!n :ug! engo$&i!lk!n kon"u"i energi d!ri '!&er!i3 ".)."
An*'%#* tu*#% Android S&udio eru$!k!n "e'u!5 ntegrated 2e*elopment !n*ironment
IDE un&uk plat.orm Android3 Android S&udio ini diuuk!n $!d! &!ngg!l /+ Mei ,0/1 $!d! Konferen"i Google I6O ole5 Produk M!n!:er Google# Ellie Po7er"3 Android "&udio 'er"if!& .ree di'!7!5 A$!45e Li4en"e ,303 Android S&udio !7!ln9! diul!i deng!n er"i 03/ $!d! 'ul!n Mei ,0/1# keudi!n di'u!& er"i 'e&! 03- 9!ng dirili" $!d! 'ul!n :uni ,0/;3 Ver"i $!ling "&!'il dirili" $!d! 'ul!n De"e'er ,0/;# diul!i d!ri er"i /303 'er'!"i"k!n Je&%r!inn"H In&elliJ IDEA# Android S&udio dide"!in k5u"u" un&uk Android Deelo$en&3 ".).3
E8l#e
E4li$"e !d!l!5 "e'u!5 IDE ntegrated 2e*elopment !n*ironment un&uk enge'!ngk!n $er!ngk!& lun!k d!n d!$!& di:!l!nk!n di "eu! plat.orm
plat.orm-independent 3 E4li$"e !7!ln9! dike'!ngk!n
ole5 I%M un&uk
engg!n&ik!n $er!ngk!& lun!k $enge'!ng!n I%M Vi"u!l Age for J!! ;303 Produk E4li$"e ini dilun4urk!n ole5 I%M $!d! &!ngg!l . Noe'er ,00/3 I%M engine"&!"ik!n US ;0 :u&! un&uk $enge'!ng!nn9!3 Se:!k . Noe'er ,00/# kon"or"iu E4li$"e Found!&ion eng!'il !li5 $enge'!ng!n E4li$"e le'i5 l!n:u&3 Sif!& d!ri E4li$"e !d!l!5 "e'!g!i 'eriku&) ,3+313/ Multi-plat.orm T!rge& "i"&e o$er!"i E4li$"e !d!l!5 Mi4ro"of& =indo7"# Linu@# Sol!ri"# AIC# P?UC d!n M!4 OS C3
,3+313, Mulit-language E4li$"e dike'!ngk!n deng!n '!5!"! $erogr!!n J!!# !k!n &e&!$i E4li$"e endukung $enge'!ng!n !$lik!"i 'er'!"i" '!5!"! $erogr!!n l!in "e$er&i <6<**#
,3+3131 Multi-role Sel!in "e'!g!i IDE un&uk $enge'!ng!n !$lik!"i3 E4li$"e $un 'i"! digun!k!n un&uk !k&ii&!" d!l! "iklu" $enge'!ng!n $er!ngk!& lun!k "e$er&i dokuen&!"i# $engu:i!n $er!ngk!& lun!k# $enge'!ng!n 7e'# d!n l!in "e'!g!in9!3 S!!& ini# E4li$"e eru$!k!n "!l!5 "!&u IDE f!ori& k!ren! gr!&i" d!n open sour%e3 0pen sour%e 'er!r&i "e&i!$ or!ng 'ole5 eli5!& kode $erogr!!n
$er!ngk!& lun!k ini3 Sel!in i&u# kele'i5!n d!ri E4li$"e 9!ng e'u!&n9! $o$uler !d!l!5 ke!$u!nn9! un&uk d!$!& dike'!ngk!n ole5 $enggun! deng!n e'u!& ko$onen 9!ng di"e'u& plug-in3 ".).4
An*'%#* K Android?SDK eru$!k!n tools '!gi $!r! programmer 9!ng ingin
enge'!ngk!n !$lik!"i 'er'!"i" Google Android3 Android SDK en4!ku$ "e$er!ngk!& !l!& $enge'!ng!n 9!ng ko$re5en"if3 Android SDK &erdiri d!ri debugger+ libraries+ handset emulator # dokuen&!"i# 4on&o5 kode# d!n &u&ori!l3
S!!& ini Android "ud!5 endukung !r"i&ek&ur @-+ $!d! Linu@ di"&ri'u"i Linu@ !$!$un un&uk des)top odern# M!4 OS C /03;3- !&!u le'i5# =indo7" CP !&!u
Vi"&!3 Per"9!r!&!n en4!ku$ JDK# A$!45e An& d!n P9&5on ,3, !&!u 9!ng le'i5 '!ru3 IDE 9!ng didukung "e4!r! re"i !d!l!5 E4li$"e 13, !&!u le'i5 deng!n enggun!k!n plugin Android Deelo$en& Tool" ADT# deng!n ini $enge'!ng d!$!& enggun!k!n &ek" edi&or un&uk engedi& .ile J!! d!n CML "er&! enggun!k!n $er!l!&!n %ommand line un&uk en4i$&!k!n# e'!ngun# el!kuk!n debug !$lik!"i Android d!n $engend!li!n $er!ngk!& Android i"!ln9!# reboot # engin"&!l $!ke& $er!ngk!& lun!k deng!n :!r!k :!u53 Android SDK &el!5 dirili" $!d! &!ngg!l /, Noe'er ,0083 T!ngg!l /Agu"&u" ,00-# Android SDK 03> 'e&! dirili"3 Rili" ini en9edi!k!n API 9!ng di$er'!rui d!n di$erlu!"# $er'!ik!n $!d! !l!&?!l!& $enge'!ng!n d!n de"!in &er'!ru un&uk l!9!r !7!l3 Pe&un:uk un&uk eng?upgrade SDK "ud!5 &er"edi! $!d! rili" "e'elun9!3 P!d! &!ngg!l ,1 Se$&e'er ,00-# Android /30 SDK &el!5 dirili"3 P!d! &!ngg!l > M!re& ,00># Google erili" er"i /3/ un&uk &ele$on "eluler Android3 Rili" &er'!ru &er"e'u& &er!"uk dukung!n un&uk $en4!ri!n deng!n "u!r!# 5!rg! !$lik!"i# $er'!ik!n :! !l!r# $er'!ik!n $engiri!n g!il# $er'!ik!n "ur!& $e'eri&!5u!n d!n $e&!3 Per&eng!5!n Mei ,00># Google erili" er"i /3. er"i /3+ Donu& dirili" 9!ng en!$ilk!n 5!"il $en4!ri!n 9!ng le'i5 '!ik d!n $enggun!!n indik!&or '!&er!i3 A$lik!"i Android di$!ke&k!n ke d!l! for!& 3!$k d!n di"i$!n $!d! folder 6d!&!6!$$3 Penggun! d!$!& en:!l!nk!n $erin&!5 adb root un&uk eng!k"e" folder &er"e'u& k!ren! root eiliki iin un&uk eng!k"e" folder &er"e'u&3 ".).5
An*'%#* AT Android Deelo$en& Tool" ADT !d!l!5 plugin 9!ng dide"!in un&uk
IDE E4li$"e 9!ng e'erik!n keud!5!n d!l! enge'!ngk!n !$lik!"i Android deng!n enggun!k!n IDE E4li$"e3 Menggun!k!n ADT un&uk E4li$"e !k!n eud!5k!n d!l! e'u!& !$lik!"i proe%t Android# e'u!& GUI !$lik!"i# d!n en!'!k!n ko$onen?ko$enen 9!ng l!inn9!# 'egi&u :ug! d!$!& el!kuk!n running !$lik!"i enggun!k!n Android SDK el!lui E4li$"e3 ADT
d!$!& el!kuk!n $e'u!&!n pa%)age Android 3!$k 9!ng digun!k!n un&uk di"&ri'u"i !$lik!"i Android 9!ng dir!n4!ng3 Menge'!ngk!n !$lik!"i Android deng!n enggun!k!n ADT di E4li$"e "!ng!& di!n:urk!n d!n "!ng!& ud!5 un&uk eul!i enge'!ngk!n !$lik!"i Android3 ".).)
2K JDK !d!l!5 $er!ngk!& lun!k 9!ng digun!k!n un&uk el!kuk!n $ro"e"
ko$il!"i d!ri kode a*a ke byte%ode 9!ng d!$!& dienger&i d!n d!$!& di:!l!nk!n ole5 JRE J!! Run&ie Eniro&en&3 JDK 7!:i' &er?install $!d! ko$u&er 9!ng !k!n el!kuk!n $ro"e" $e'u!&!n !$lik!"i 'er'!"i" a*a# n!un &id!k 7!:i' &er? install di ko$u&er 9!ng !k!n en:!l!nk!n !$lik!"i 9!ng di'!ngun deng!n a*a3 ".).-
@ML CML "ingk!&!n d!ri eC&ended M!rku$ L!ngu!ge !d!l!5 '!5!"! Mar)up
9!ng digun!k!n un&uk en9i$!n d!&! &id!k !d! $rogr! d!n &id!k &erg!n&ung deng!n tools &er&en&u "e$er&i editor # D%MS# d!n %ompiler 3 CML eru$!k!n "u!&u '!5!"! Mar)up3 Mar)up 9!i&u '!5!"! 9!ng 'eri"ik!n kode?kode 'eru$! &!nd!?&!nd! &er&en&u deng!n !&ur!n &er&en&u un&uk efor!& dokuen &ek" deng!n tag "endiri !g!r d!$!& dienger&i3 Android CML digun!k!n un&uk er!n4!ng inter.a%e $!d! "e'u!5 $rogr! 9!ng !k!n di'u!&3
6A6 III METOOLOGI PENELITIAN
%!' e&odologi $eneli&i!n !k!n e'!5!" e&odologi $eneli&i!n 9!ng digun!k!n# g!'!r!n uu !$lik!"i 9!ng digun!k!n# d!n !lur !$lik!"i 9!ng di'u!& "e"u!i deng!n &e!3 3.1
Met%*%l%# Penel#t#an
L!ngk!5?l!ngk!5 9!ng di&e$u5 d!l! $e'u!&!n d!n $enuli"!n l!$or!n !k5ir Pr!k&iku Perogr!!n Mobile !d!l!5 ) /3
Mendefini"ik!n !"!l!5 d!n enen&uk!n "olu"i 9!ng diingink!n# l!lu
,3
en9u"un 5ier!rki d!ri $er!"!l!5!n 9!ng di5!d!$i3 An!li"! ke'u&u5!n di!n! $!d! &!5!$ ini eng!n!li"! ke'u&u5!n uu
13
9!ng di$erluk!n ole5 "i"&e 9!ng !k!n dike'!ngk!n3 Pengu$ul!n d!&! di!n! $engu$ul!n d!&! dil!kuk!n deng!n engu$ulk!n "eu! infor!"i d!n d!&! 9!ng 'er5u'ung!n deng!n "i"&e 9!ng dike'!ngk!n# :ug! &eknologi $er&uk!r!n d!&! '!ik el!lui "&udi
,3
$u"&!k!#
in&erne&
!u$un
el!kuk!n
7!7!n4!r!
deng!n
n!r!"u'er 9!ng &erk!i& deng!n "i"&e 9!ng di'!ngun3 Per!n4!ng!n "i"&e di!n! $!d! &!5!$ ini dil!kuk!n $er!n4!ng!n "i"&e 9!ng
eli$u&i
$er!n4!ng!n
!lir!n
d!&!
!n&!r
!k&ii&!"
deng!n
i$leen&!"i $er&uk!r!n d!&! deng!n API# $er!n4!ng!n "&ruk&ur '!"i" 13
d!&!# $engkode!n# "&ruk&ur enu d!n &!$il!n3 I$leen&!"i di!n! $!d! &!5!$ ini dil!kuk!n $enge'!ng!n !$lik!"i
;3
$!d! du! "i"&e 9!ng 'er'ed! ser*er 3 Pengu:i!n d!n eng!n!li"! 5!"il $engu:i!n di!n! $!d! &!5!$ ini dil!kuk!n $engu:i!n $rogr! "er&! el!kuk!n e!lu!"i &er5!d!$ kiner:! d!n kegun!!n $rogr! 9!ng &el!5 di'!ngun d!n el!kuk!n $er'!ik!n?
.3
$er'!ik!n 9!ng di$erluk!n3 Ke"i$ul!n di!n! $!d! &!5!$ !k5ir d!$!& di&!rik ke"i$ul!n &en&!ng ke"e"u!i!n &eori d!n !$lik!"i $r!k&i"n9!3
3."
Ga&9a'an U&u& Al#+a#
A$lik!"i Android 9!ng di'u!& eru$!k!n !$lik!"i 'eru$! for input !5!"i"7! d!n !$lik!"i &e'!k g!'!r3
Ga&9a' 3.1 G!'!r!n Uu A$lik!"i D!&! M!5!"i"7!
G!'!r 13/ G!'!r!n Uu A$lik!"i D!&! M!5!"i"7! eru$!k!n g!'!r!n uu d!ri !$lik!"i di!n! user 9!ng !d!l!5 !5!"i"7! d!$!& eng? input ?k!n d!&! $!d! !$lik!"i d!n d!ri !$lik!"i !k!n en!$ilk!n d!&! 9!ng &el!5
di?input ?k!n &er"e'u& un&uk dili5!& user 3 A$lik!"i D!&! M!5!"i"7! ini &erdiri d!ri e$!& odul 9!i&u odul "!&u# odul du!# odul &ig!# d!n odul e$!&3 A$lik!"i $!d! odul "!&u i!l!5 'eru$! .orm di!n! user d!$!& eng? input ?k!n ni# n!!# d!n !l!!&3 Se&el!5 enek!n &o'ol Go $!d! !$lik!"i
!k! !k!n un4ul ni# n!!# !l!!& user &er"e'u&3 A$lik!"i $!d! odul du! 'eru$! for di!n! user d!$!& eng?input-k!n n!!# :eni" kel!in# "er&! !&! kuli!53 $ield :eni" kel!in &erd!$!& $ili5!n 'eru$! ,adioButton# d!n un&uk eili5 !&! kuli!5 9!ng di"uk!i digun!k!n Che%)Box k!ren! !d! keungkin!n $ili5!n user le'i5 d!ri "!&u3 A$lik!"i $!d! odul &ig! 'eru$! for di!n! user d!$!& eng?input-k!n ni# n!!# !l!! :eni" kel!in# "er&! !&! kuli!5 "e$er&i $!d! odul "!&u d!n du!3 Jeni" kel!in &erd!$!& $ili5!n 'eru$! ,adioButton# d!n un&uk eili5 !&! kuli!5 9!ng di"uk!i digun!k!n Che%)Box k!ren! !d! keungkin!n $ili5!n user le'i5 d!ri "!&u3 Per'ed!!n odul du! d!n odul &ig! i!l!5 5!"il d!ri ni# n!!# :eni" kel!in# "er&! !&! kuli!5 !k!n di&!$ilk!n $!d! 5!l!!n '!ru3 A$lik!"i $!d! odul e$!& &erdiri d!ri ListView+ di!n! &erd!$!& du! $ili5!n ListView 9!i&u Simple ListView d!n Custom ListView3
A$lik!"i &e'!k g!'!r eru$!k!n !$lik!"i 'eru$! game deng!n $ili5!n g!'!r 'eru$! 'in!&!ng deng!n &ig! "u' enu 9!i&u !!li!# re$&il# d!n ungg!"3
Ga&9a' 3." G!'!r!n Uu A$lik!"i Te'!k G!'!r
G!'!r 13, G!'!r!n Uu A$lik!"i Te'!k G!'!r eru$!k!n di!gr! kon&ek" d!ri !$lik!"i &e'!k g!'!r di!n! !$lik!"i !k!n en!$ilk!n g!'!r keudi!n user d!$!& eili5 g!'!r $!d! !$lik!"i3 Se&el!5 'er!in !k! !$lik!"i !k!n en!$ilk!n "kor keudi!n d!ri user d!$!& en9i$!n "kor &er"e'u&3
3.3
Alu' Al#+a#
Alur !$lik!"i d!ri !$lik!"i Android d!&! !5!"i"7! d!n !$lik!"i &e'!k g!'!r !d!l!5 "e'!g!i 'eriku& )
Ga&9a' 3.3 $low%hart Modul S!&u
G!'!r 131 $low%hart A$lik!"i D!&! M!5!"i"7! Modul S!&u eru$!k!n '!g!n !lir d!ri !$lik!"i d!&! !5!"i"7! $!d! odul "!&u# di!n! user d!$!& el!kuk!n input 'eru$! NIM# n!!# d!n !l!!&3 Keudi!n# !k!n dil!kuk!n $ro"e" un&uk eng!'il input ?!n &er"e'u& d!n keudi!n di&!$ilk!n ke'!li3
Ga&9a' 3.4 $low%hart Modul Du!
G!'!r 13; $low%hart Modul Du! eru$!k!n '!g!n !lir !$lik!"i d!&! !5!"i"7! $!d! odul du!# di!n! user d!$!& el!kuk!n input 'eru$! NIM# n!!# :eni" kel!in d!n !&! kuli!53 Keudi!n# dil!kuk!n $ro"e" un&uk eng!'il input ?!n &er"e'u& d!n !k5irn9! d!&! &er"e'u& di&!$ilk!n $!d! 5!l!!n 9!ng "!!3
Ga&9a' 3.5 $low%hart Modul Tig!
G!'!r 13. $low%hart Modul Tig! eru$!k!n '!g!n !lir !$lik!"i d!&! !5!"i"7! $!d! odul &ig!# di!n! user d!$!& el!kuk!n input 'eru$! NIM# n!!# :eni" kel!in# !l!!& d!n !&! kuli!53 Keudi!n# dil!kuk!n $ro"e" un&uk eng!'il input ?!n &er"e'u& d!n !k5irn9! d!&! &er"e'u& di&!$ilk!n $!d! 5!l!!n 9!ng 'er'ed!3
Modul E$!& Ga&9a' 3.) $low%hart Modul
G!'!r G!'!r 13+ $low%hart Modul Modul E$!& eru$!k!n eru$!k!n '!g!n !lir !$lik!"i d!&! !5!" !5!"i" i"7! 7! $!d! $!d! o odul dul e$!& e$!# di!n! di!n! user d!$!& d!$!& el!kuk el!kuk!n !n $ili5!n $ili5!n un&uk eli5!& Simple ListView !&!u Custom ListView'
Te'!k G!'!r Ga&9a' 3.- $low%hart Te'!k
G!' G!'!r !r 138 138 $low%hart Te'!k e'!k G!'!r G!'!r eru$!k eru$!k!n !n '!g!n '!g!n !lir !lir !$lik!"i !$lik!"i &e'!k g!'!r di!n! user d!$!& d!$!& eili5 enu $er!in 9!ng !k!n di$ili5 di!n! &erd! &erd!$!& $!& enu enu !! !!li li!# !# re$&i re$&il# l# d!n ung ungg!" g!"33 Keu Keudi di!n# !n# ke&ik! ke&ik! 'er 'er!i !in n user el!kuk!n input 'eru$! eili5 :!7!'!n d!ri g!'!r 9!ng di&!$ilk!n3 A$lik!"i !k!n e$ e$ro"e ro"e"" input-!n &er"e'u& !$!k!5 "e"u!i !&!u &id!k keudi!n !$lik!"i !k!n eng5i&ung "kor d!n en!$ilk!nn9!3
6A6 IV PEM6A7AAN AN ANALII 7AIL
%!' $e'!5!"!n d!n !n!li"i" 5!"il !k!n e'!5!" e'!5!" engen!i $en:el!"!n $en:el!"!n d!n !n!li"i" engen!i ke"eluru5!n odul# $e'!5!"!n d!n !n!li"i" odul "!&u# $e'!5!"!n d!n !n!li"i" odul du!# $e'!5!"!n d!n !n!li"i" odul &ig!# $e'!5!"!n d!n !n!li"i" odul e$! "er&! $e'!5!"!n d!n !n!li"i" !$lik!"i 9!ng di'u!& "e"u!i deng!n &e!3 4.1 4.1
Pen Penel ela aan an *an *an ana anal# l## # M%* M%*ul ul Pe&' Pe&'% %'a 'a&a &an n M%9# M%9#le le
A$li A$lik!" k!"ii D!&! D!&! M!5!" M!5!"i" i"7! 7! ini eru$ eru$!k! !k!n n !$lik !$lik!"i !"i 'eru$ 'eru$!! for for input di!n! user 9!ng eru$!k!n !5!"i"7! di7!:i'k!n eng?input d!&! d!&! 9!ng &el!5 di"edi!k!n !$lik!"i3 A$lik!"i ini &erdiri d!ri e$!& odul# 9!i&u odul "!&u# odul du!# odul &ig!# d!n odul e$!&3 M!"ing?!"ing odul eiliki $er'ed!!n $!d! fi&urn9!# fi&urn 9!# di!n! !k!n &erd!$!& &erd! $!& &!'!5!n fi&ur d!ri odul "!&u 5ingg! odul odu l e$!&3 A$lik!" A$lik!"ii $!d! odul "!&u e'!5! e'!5!"" engen! engen!ii TextView# !ditText !ditText d!n $lik!" !"ii odul odul du! du! iri$ iri$ deng deng!n !n !$li !$lik! k!"i "i odul odul "!&u "!&u di! di!n! n! Button3 A$lik di&!' di&!'!5k! !5k!n n widget See)Bar # Che%)Box# ,adioButton ke d!l! d!l! !$lik!" !$lik!"ii 9!ng 9!ng &el!5 di'u!& $!d! odul "!&u3 !"il !"uk!n user di&!$ilk!n di&!$ilk!n $!d! TextView d!n en!$ilk!n en!$ilk!n Toast Toast $!d! e*ent onStartTra%)ingTou%h onStartTra%)ingTou%h d!n onStopTra%)ingTou%h $!d! See)Bar 3 A$lik!"i odul &ig! iri$ "e$er&i !$lik!"i odul du! 5!n9! "!:! 5!"il !"uk !"uk!n !n user di&!$ilk! ilk!n n ke d!l! #%ti*ity '!ru deng!n enggun!k!n ntent user di&!$ 'er$!r!e&er3 A$lik!"i ini engi$leen&!"ik!n e$!& meth metho od d!ri #%ti*ity Li.e%y%le ke d!l! #%ti*ity '!ru &er"e'u&3 A$lik!"i $!d! odul e$!&
engi$leen&! engi$leen&!"ik!n "ik!n Simple Simple ListView ListView d!n Custom ListVi ListView ew ke d!l! !$lik!"i 9!ng di'u!&3
4."
Pe&9a &9ahaan *a *an An Anal## M% M%*ul 1
A$lik!" A$lik!"ii 'e'en&uk 'e'en&uk .orm $end!f&!r!n deng!n widget TextView# !ditText !ditText # d!n Button3 !ditText digun!k!n n un&uk un&uk inpu ole5 user # Button digun!k!n un&uk !ditText digun!k! inputt ole5
submit d!&! deng!n enggun!k!n method onCli%)Listener d!n en!$ilk!n
!"uk!n user $!d! TextView3
<)crollView x&lns:android="http://schemas.android.com/apk/res/android" x&lns:tools="http://schemas.android.com/tools" android:id="@+id/ScrollView1" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingotto&="@dimen/Activity_vertical_margin" android:padding%eft="@dimen/Activity_horizontal_margin" android:padding-ight="@dimen/Activity_horizontal_margin" android:paddingTop="@dimen/Activity_vertical_margin" tools:context=".ainActivity" !
<-elative%ayout android:layout_width="match_parent" android:layout_height="!1dp" !
<utton android:id="@+id/*$tton1" android:layout_width="!dp" android:layout_height="!dp" android:layout_#elow="@+id/te#tView"
android:layout_center.oriontal="tr$e" android:layout_&arginTop="dp" android:#acground=",*c(!(!" android:on*lic="od$l1" android:text="@string/m1" android:text*olor=",------" /!
<utton android:id="@+id/*$tton" android:layout_width="!dp" android:layout_height="!dp" android:layout_align%eft="@+id/*$tton1" android:layout_#elow="@+id/*$tton1" android:layout_&arginTop="(dp" android:#acground=",*c(!(!" android:on*lic="od$l" android:text="@string/m" android:text*olor=",------" /!
<utton android:id="@+id/*$tton(" android:layout_width="!dp" android:layout_height="!dp" android:layout_align%eft="@+id/*$tton" android:layout_#elow="@+id/*$tton" android:layout_&arginTop="0dp" android:#acground=",*c(!(!" android:on*lic="od$l(" android:text="@string/m(" android:text*olor=",------" /!
<utton android:id="@+id/*$tton" android:layout_width="!dp" android:layout_height="!dp" android:layout_align%eft="@+id/*$tton(" android:layout_#elow="@+id/*$tton(" android:layout_&arginTop="(dp" android:#acground=",*c(!(!" android:on*lic="od$l" android:text="@string/m" android:text*olor=",------" /!
-elative%ayout!
)crollView! K%*e P'%'a& 4.1 !4&ii&9!in3@l
Kode Progr! ;3/ !4&ii&9!in3@l eru$!k!n kode $rogr! un&uk &!$il!n u&!! d!ri !$lik!"i d!&! !5!"i"7! di!n! enggun!k!n widget TextView d!n Button3
pacage co&exa&pleprapro&o#2
i&port i&port i&port i&port
androidapp0ctivity2 androidcontentntent2 androidosundle2 androidviewView2
pu#lic class 3ain0ctivity extends 0ctivity 4 @5verride protected void on*reate6undle saved7nstance)tate8 4 superon*reate6saved7nstance)tate82 set*ontentView6-layoutactivity_&ain82 9
pu#lic void 3odul16View v84 ntent next = new ntent 6this3odul1class82 start0ctivity6next82
9 pu#lic void 3odul;6View v84 ntent next = new ntent 6this3odul;class82 start0ctivity6next82
9 pu#lic void 3odul6View v84 ntent next = new ntent 6this3odulclass82 start0ctivity6next82
9 pu#lic void 3odul6View v84 ntent next = new ntent 6this3odulclass82 start0ctivity6next82
9 9pacage co&exa&pleprapro&o#2 K%*e P'%'a& 4." M!inA4&ii&93:!!
Kode Progr! ;3, M!inA4&ii&93:!! eru$!k!n kode $rogr! :!! d!ri 5!l!!n u&!!# di!n! $!d! kode $rogr! ini &erd!$!& ntent 9!ng !k!n eng5u'ungk!n 5!l!!n u&!! enu:u !$lik!"i odul "!&u# odul du!# odul &ig!# d!n odul e$!&3
Ga&9a' 4.1 T!$il!n !l!!n U&!! Por&!i&/
G!'!r ;3/ T!$il!n !l!!n U&!! "ortait1 eru$!k!n &!$il!n !7!l d!ri !$lik!"i d!&! !5!"i"7! di!n! &erd!$!& e$!& $ili5!n odul d!l! $o"i"i portrait d!l! %!5!"! Indone"i!3
Ga&9a' 4." T!$il!n !l!!n U&!! Por&!i&,
G!'!r ;3, T!$il!n !l!!n U&!! "ortait( eru$!k!n &!$il!n !7!l d!ri !$lik!"i d!&! !5!"i"7! di!n! &erd!$!& e$!& $ili5!n odul d!l! $o"i"i portrait d!l! %!5!"! Inggri"3
Ga&9a' 4.3 T!$il!n !l!!n U&!! Lands%ape1
G!'!r ;31 T!$il!n !l!!n U&!! Lands%ape1 eru$!k!n &!$il!n !7!l d!ri !$lik!"i d!&! !5!"i"7! di!n! &erd!$!& e$!& $ili5!n odul d!l! $o"i"i lands%ape d!l! %!5!"! Indone"i!3
Ga&9a' 4.4 T!$il!n !l!!n U&!! Lands%ape(
G!'!r ;3; T!$il!n !l!!n U&!! Lands%ape( eru$!k!n &!$il!n !7!l d!ri !$lik!"i d!&! !5!"i"7! di!n! &erd!$!& e$!& $ili5!n odul d!l! $o"i"i lands%ape d!l! %!5!"! Indone"i!3
<>x&l version="1." encoding="$t-2">!
<)crollView x&lns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" !
<-elative%ayout android:layout_width="match_parent" android:layout_height="!dp" !
<utton android:id="@+id/*$tton1" android:layout_width="dp" android:layout_height="wrap_content" android:layout_#elow="@+id/edit3e#t" android:layout_center.oriontal="tr$e" android:#acground=",*c(!(!" android:text*olor= ",------" android:layout_&arginTop="6dp" android:on*lic="enter" android:text="@string/enter" /!
android:layout_#elow="@+id/*$tton1" android:layout_center.oriontal="tr$e" android:layout_&arginTop="dp" !
)crollView! K%*e P'%'a& 4.3 Modul S!&u3@l
Kode Progr! ;31 Modul S!&u3@l eru$!k!n kode $rogr! un&uk &!$il!n !$lik!"i odul "!&u3 Widget !$lik!"i odul "!&u &erdiri d!ri TextView+ !dit Text # d!n Button3
pacage co&exa&pleprapro&o#2 i&port i&port i&port i&port i&port i&port i&port
androidapp0ctivity2 androidosundle2 androidtext.t&l2 androidviewView2 androidwidget?ditText2 androidwidgetTextView2 androidwidgetToast2
pu#lic class 3odul1 extends 0ctivity 4 TextView .Bi& .Ba&a .0la&at io2 ?ditText Bi& Ba&a 0la&at2 protected void on*reate6undle saved7nstance)tate8 4 superon*reate6saved7nstance)tate82 set*ontentView6-layout&odul182 .Bi& = 6TextView8 findViewy7d6-idtextView;82 .Ba&a = 6TextView8 findViewy7d6-idtextView82 .0la&at = 6TextView8 findViewy7d6-idtextView82 Bi& = 6?ditText8 findViewy7d6-ideditText182 Ba&a = 6?ditText8 findViewy7d6-ideditText;82 0la&at = 6?ditText8 findViewy7d6-ideditText82 io = 6TextView8 findViewy7d6-idtextView82 9 pu#lic #oolean enter6View v84 )tring h1 = Bi&getText68to)tring682 )tring h; = Ba&agetText68to)tring682 )tring h = 0la&atgetText68to)tring682 if 6Bi&length68 ==(84 Toast t = Toast&aeText6getase*ontext68-string$n1Toast%?BCT._).5-T82 tshow682 Bi&set?rror6.t&lfro&.t&l6"
Toast&aeText6getase*ontext68-string$aToast%?BCT._).5-T82 tshow682 0la&atset?rror6.t&lfro&.t&l6"
9 else 4 iosetText6-string#io82 .Bi&setText6"B73 :"+h1+""82 .Ba&asetText6"B030 :"+h;+""82 .0la&atsetText6"0la&at :"+h+""82 9 return true2 9
9 K%*e P'%'a& 4.4 Modul S!&u3:!!
Kode Progr! ;3; Modul S!&u3:!! eru$!k!n kode $rogr! :!! d!ri Kode Progr! ;31 Modul S!&u3@l3 Kode $rogr! ini 'erfung"i un&uk el!kuk!n d!n en!$ilk!n input ?!n3
Ga&9a' 4.5 T!$il!n Modul S!&u IND "ortait
G!'!r ;3. T!$il!n Modul S!&u IND "ortait eru$!k!n &!$il!n d!ri odul "!&u di!n! user d!$!& eng?input ?k!n NIM# N!!# d!n Al!!& d!l! er"i %!5!"! Indone"i! d!l! l!9!r portait 3
Ga&9a' 4.) T!$il!n Modul S!&u ENG "ortait
G!'!r ;3+ T!$il!n Modul S!&u ENG "ortait eru$!k!n &!$il!n d!ri odul "!&u di!n! user d!$!& eng?input ?k!n NIM# N!!# d!n Al!!& d!l! er"i %!5!"! Inggri" d!l! l!9!r portait 3
Ga&9a' 4.- T!$il!n Modul S!&u IND Lands%ape
G!'!r ;38 T!$il!n Modul S!&u IND Lands%ape eru$!k!n &!$il!n d!ri odul "!&u di!n! user d!$!& eng?input ?k!n NIM# N!!# d!n Al!!& d!l! er"i %!5!"! Indone"i! d!l! l!9!r lands%ape3
Ga&9a' 4./ T!$il!n Modul S!&u ENG Lands%ape
G!'!r ;3- T!$il!n Modul S!&u ENG Lands%ape eru$!k!n &!$il!n d!ri odul "!&u di!n! user d!$!& eng?input ?k!n NIM# N!!# d!n Al!!& d!l! er"i %!5!"! Inggri" d!l! l!9!r lands%ape3
Ga&9a' 4. U:i
G!'!r ;3> U:i
Ga&9a' 4.10 U:i
G!'!r ;3/0 U:i
Ga&9a' 4.11 U:i
G!'!r ;3// U:i
Ga&9a' 4.1" U:i
G!'!r ;3/, U:i
deng!n N!! =!9!n# d!n Al!!& %!li3 !"il input &er"e'u& keudi!n di&!$ilk!n $!d! 5!l!!n 9!ng "!!3 T!$il!n ini eru$!k!n er"i %!5!"! Inggri" d!l! l!9!r Lands%ape3
4.3
Pe&9ahaan *an Anal## M%*ul "
A$lik!"i odul du! eru$!k!n &!'!5!n d!ri !$lik!"i odul "!&u di!n! di&!'!5k!n widget See)Bar # Che%)Box# ,adioButton ke d!l! !$lik!"i 9!ng &el!5 di'u!& $!d! odul "!&u3 !"il !"uk!n user di&!$ilk!n $!d! TextView d!n en!$ilk!n Toast $!d! e*ent onStartTra%)ingTou%h d!n onStopTra%)ingTou%h $!d! See)Bar 3
<>x&l version="1." encoding="$t-2">! <)crollView x&lns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" !
<-elative%ayout android:layout_width="match_parent" android:layout_height="!)dp" !
<*hecox android:id="@+id/check8o#(" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_align%eft="@+id/te#tView" android:layout_#elow="@+id/check8o#1" android:text="329ornesic" /!
<*hecox android:id="@+id/check8o#" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignaseline="@+id/check8o#(" android:layout_alignotto&="@+id/check8o#(" android:layout_to-ight5f="@+id/check8o#("
android:text="%S" /! <-adioCroup android:id="@+id/radio" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_align%eft="@+id/check8o#(" android:layout_#elow="@+id/te#tView1" !
<-adioutton android:id="@+id/radio8$tton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/'" /!
<-adioutton android:id="@+id/radio8$tton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/4" /!
-adioCroup!
<*hecox android:id="@+id/check8o#1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_align%eft="@+id/te#tView" android:layout_#elow="@+id/te#tView" android:text=";<=" /!
<)eear android:id="@+id/Seek8ar1" android:layout_width="(dp" android:layout_height="wrap_content" android:layout_align$arentotto&="tr$e" android:layout_center.oriontal="tr$e" /!
<utton android:id="@+id/*$tton1" android:layout_width="1dp" android:layout_height="wrap_content" android:layout_#elow="@+id/check8o#(" android:layout_center.oriontal="tr$e" android:#acground=",*c(!(!" android:text*olor=",------" android:on*lic="mod$l" android:text="@string/enter" /!
<*hecox android:id="@+id/check8o#" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_a#ove="@+id/check8o#" android:layout_align%eft="@+id/check8o#" android:text=">2App" /!
android:text="@string/kosong" android:text0ppearance="& android:attr/te#tAppearanceedi$m" /!
)crollView! K%*e P'%'a& 4.5 Modul Du!3@l
Kode Progr! ;3. Modul Du!3@l eru$!k!n kode $rogr! un&uk &!$il!n !$lik!"i odul du!3 Widget !$lik!"i odul du! &erdiri d!ri TextView# !ditText+ Che%)Box+ ,adioButton# d!n Button3
pacage co&exa&pleprapro&o#2
i&port i&port i&port i&port i&port i&port i&port i&port i&port i&port i&port i&port
androidapp0ctivity2 androidcontentntent2 androidosundle2 androidtext.t&l2 androidviewView2 androidwidget*hecox2 androidwidget?ditText2 androidwidget-adioCroup2 androidwidget)eear2 androidwidgetTextView2 androidwidgetToast2 androidwidget)eear5n)eear*hange%istener2
pu#lic class 3odul; extends 0ctivity 4 TextView .Bi& .Ba&a .chec .#utton io2 ?ditText Bi& Ba&a2 *hecox *hec1 *hec; *hec *hec2 float discrete=( start=( end=1(( start_pos=(2 int start_position=(2
protected void on*reate6undle saved7nstance)tate8 4 superon*reate6saved7nstance)tate82 set*ontentView6-layout&odul;82 io = 6TextView8findViewy7d6-idtextView82 .Bi&=6TextView8findViewy7d6-idtextView82 .Ba&a=6TextView8findViewy7d6-idtextViewF82 .chec=6TextView8findViewy7d6-idtextView'82 .#utton=6TextView8findViewy7d6-idtextViewG82 //?ditText Bi&= 6?ditText8findViewy7d6-ideditText182
Ba&a= 6?ditText8findViewy7d6-ideditText;82 //chec#ox *hec1=6*hecox8findViewy7d6-idchecox182 *hec;=6*hecox8findViewy7d6-idchecox82 *hec=6*hecox8findViewy7d6-idchecox;82 *hec=6*hecox8findViewy7d6-idchecox82 //-adio#utton
9 pu#lic void Hta&a6View v84 ntent H = new ntent 6this3ain0ctivityclass82 start0ctivity6H82 9 pu#lic #oolean &odul;6View v84 )tring h1 = Bi&getText68to)tring682 )tring h; = Ba&agetText68to)tring682 -adioCroup I, = 6-adioCroup8 findViewy7d6-idradioC82 int id = I,get*heced-adioutton7d682
//,ode untu ?ditText B73 dan Ba&a if 6Bi&length68 ==(84 Toast t = Toast&aeText6getase*ontext68-string$n1Toast%?BCT._).5-T82 tshow682 Bi&set?rror6.t&lfro&.t&l6"
4
"KL."2 9 if 6*hec;is*heced688 c# = ""+c#+" " + "?J0pp"2 9
4
if 6*hecis*heced688 4 c# = ""+c#+" " + "7TJAorensic"2 9 if 6*hecis*heced688 4 c# = ""+c#+" " + "3I)"2 9 //ta&pilan di textview .checsetText6"Aavorite :"+c#+" "82
//,oding )eear final )eear s#1=6)eear8 findViewy7d6-id)eear182 s#1set$rogress6start_position82 s#1set5n)eear*hange%istener6new 5n)eear*hange%istener68 4 int s=(2 @5verride pu#lic void on)topTracingTouch6)eear seear8 4 // T5K5 0utoJgenerated ðod stu# Toast&aeText6getase*ontext68 ")ie ="+)tringvalue5f6discrete8+"M" Toast%?BCT._).5-T8show682 9 @5verride pu#lic void on)tartTracingTouch6)eear seear8 4 // T5K5 0utoJgenerated ðod stu# 9 @5verride pu#lic void on$rogress*hanged6)eear seear int progress#oolean fro&?ser 8 4 // T5K5 0utoJgenerated ðod stu# s=progress2 iosetText)ie6s82 .Bi&setText)ie6s82 .Ba&asetText)ie6s82 .checsetText)ie6s82 .#uttonsetText)ie6s82 // To convert it as discrete value float te&p=progress2 float dis=endJstart2 discrete=6start+66te&p/1((8Ndis882 9 982
return true2 9 9 K%*e P'%'a& 4.) Modul Du!3:!!
Kode Progr! ;3+ Modul Du!3:!! eru$!k!n kode $rogr! :!! d!ri !$lik!"i odul du!3 Kode $rogr! ini 'erfung"i un&uk el!kuk!n d!n en!$ilk!n input ?!n3
Ga&9a' 4.13 T!$il!n Modul Du! IND "ortait
G!'!r ;3/1 T!$il!n Modul Du! IND "ortait eru$!k!n &!$il!n d!ri odul du! di!n! user d!$!& eng?input ?k!n NIM# N!!# Jeni" Kel!in# d!n M!&! Kuli!5 d!l! er"i %!5!"! Indone"i! d!l! l!9!r portait 3
Ga&9a' 4.14 T!$il!n Modul Du! ENG "ortait
G!'!r ;3/1 T!$il!n Modul Du! ENG "ortait eru$!k!n &!$il!n d!ri odul du! di!n! user d!$!& eng?input ?k!n NIM# N!!# Jeni" Kel!in# d!n M!&! Kuli!5 d!l! er"i %!5!"! Inggri" d!l! l!9!r portait 3
Ga&9a' 4.15 T!$il!n Modul Du! IND Lands%ape
G!'!r ;3/. T!$il!n Modul Du! IND Lands%ape eru$!k!n &!$il!n d!ri odul du! di!n! user d!$!& eng?input ?k!n NIM# N!!# Jeni" Kel!in# d!n M!&! Kuli!5 d!l! er"i %!5!"! Indone"i! d!l! l!9!r lands%ape3
Ga&9a' 4.1) T!$il!n Modul Du! ENG Lands%ape
G!'!r ;3/+ T!$il!n Modul Du! ENG Lands%ape eru$!k!n &!$il!n d!ri odul du! di!n! user d!$!& eng?input ?k!n NIM# N!!# Jeni" Kel!in# d!n M!&! Kuli!5 d!l! er"i %!5!"! Inggri" d!l! l!9!r lands%ape3
Ga&9a' 4.1- U:i
G!'!r ;3/8 U:i
"er&! D= d!n E?APP "e'!g!i $ili5!n !&! kuli!53 !"il input ?!n &er"e'u& keudi!n di&!$ilk!n $!d! 5!l!!n 9!ng "!!3 T!$il!n ini eru$!k!n er"i %!5!"! Indone"i! d!l! l!9!r portait 3
Ga&9a' 4.1/ U:i
G!'!r ;3/- U:i
"er&! D= d!n E?APP "e'!g!i $ili5!n !&! kuli!53 !"il input ?!n &er"e'u& keudi!n di&!$ilk!n $!d! 5!l!!n 9!ng "!!3 T!$il!n ini eru$!k!n er"i %!5!"! Inggri" d!l! l!9!r portait 3
Ga&9a' 4.1 U:i
G!'!r ;3/> U:i
"er&! D= d!n E?APP "e'!g!i $ili5!n !&! kuli!53 !"il input ?!n &er"e'u& keudi!n di&!$ilk!n $!d! 5!l!!n 9!ng "!!3 T!$il!n ini eru$!k!n er"i %!5!"! Indone"i! d!l! l!9!r lands%ape3
Ga&9a' 4."0 U:i
G!'!r ;3,0 U:i
input 'eru$! NIM /10;.0.00/# N!! =!9!n deng!n :eni" kel!in l!ki?l!ki#
"er&! D= d!n E?APP "e'!g!i $ili5!n !&! kuli!53 !"il input ?!n &er"e'u& keudi!n di&!$ilk!n $!d! 5!l!!n 9!ng "!!3 T!$il!n ini eru$!k!n er"i %!5!"! Inggri" d!l! l!9!r lands%ape3
4.4
Pe&9ahaan *an Anal## M%*ul 3
A$lik!"i odul &ig! !k!n en!$ilk!n 5!"il !"uk!n user d!ri &ug!" $!d! odul du! ke d!l! #%ti*ity '!ru deng!n enggun!k!n ntent 'er$!r!e&er3 A$lik!"i ini engi$leen&!"ik!n e$!& method d!ri #%ti*ity Li.e%y%le ke d!l! #%ti*ity '!ru &er"e'u&3
<>x&l version="1." encoding="$t-2">! <)crollView x&lns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" !
<-elative%ayout android:layout_width="match_parent" android:layout_height="0dp" !
android:layout_center.oriontal="tr$e" android:e&s="1" android:hint="@string/alamat" android:inp$tType="te#t4erson5ame" /!
<-adioutton android:id="@+id/radio8$tton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/'" /!
<-adioutton android:id="@+id/radio8$tton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/4" /! -adioCroup!
android:text=">2App" /!
<*hecox android:id="@+id/check8o#(" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignaseline="@+id/check8o#1" android:layout_alignotto&="@+id/check8o#1" android:layout_&argin%eft="1dp" android:layout_to-ight5f="@+id/radio" android:text="329orensic" /! <*hecox android:id="@+id/check8o#" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignaseline="@+id/check8o#" android:layout_alignotto&="@+id/check8o#" android:layout_align%eft="@+id/check8o#(" android:text="%S" /! <utton android:id="@+id/*$tton1" android:layout_width="1dp" android:layout_height="wrap_content" android:layout_#elow="@+id/check8o#" android:layout_center.oriontal="tr$e" android:layout_&arginTop="6dp" android:#acground=",*c(!(!" android:text*olor=",------" android:on*lic="go" android:text="@string/enter" /! -elative%ayout! )crollView! K%*e P'%'a& 4.- Modul Tig!!3@l
Kode Progr! ;38 Modul Tig!!3@l eru$!k!n kode $rogr! d!ri &!$il!n !$lik!"i d!&! !5!"i"7! odul &ig! $!d! 5!l!!n input'
<>x&l version="1." encoding="$t-2">! <)crollView x&lns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" !
<-elative%ayout android:layout_width="match_parent" android:layout_height="!dp" !
android:layout_align%eft="@+id/te#tView1" android:layout_#elow="@+id/te#tView1" android:layout_&arginTop="1!dp" android:text="@string/kosong" android:text0ppearance="& android:attr/te#tAppearanceedi$m" /!
<utton android:id="@+id/*$tton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_#elow="@+id/te#tView" android:layout_center.oriontal="tr$e" android:layout_&arginTop="!0dp" android:#acground=",*c(!(!" android:on*lic="*ack" android:text="@string/8" /!
android:text="@string/kosong" android:text0ppearance="& android:attr/te#tAppearanceedi$m" /!
-elative%ayout!
)crollView! K%*e P'%'a& 4./ Modul Tig!'3@l
Kode Progr! ;3- Modul Tig!'3@l eru$!k!n &!$il!n !$lik!"i d!&! !5!"i"7! odul &ig! $!d! 5!l!!n 5!"il input 3
pacage co&exa&pleprapro&o#2 i&port i&port i&port i&port i&port i&port i&port i&port i&port
androidapp0ctivity2 androidcontentntent2 androidosundle2 androidtext.t&l2 androidviewView2 androidwidget*hecox2 androidwidget?ditText2i&port androidwidget-adioCroup2 androidwidgetTextView2 androidwidgetToast2
pu#lic class 3odul extends 0ctivity 4 ?ditText Bi& Ba&a 0la&at2 *hecox *hec1 *hec *hec; *hec2
@5verride protected void on*reate6undle saved7nstance)tate8 4 superon*reate6saved7nstance)tate82 set*ontentView6-layout&odul82 //?ditText Bi&= 6?ditText8findViewy7d6-ideditText182 Ba&a= 6?ditText8findViewy7d6-ideditText;82 0la&at=6?ditText8findViewy7d6-ideditText82 //chec#ox *hec1=6*hecox8findViewy7d6-idchecox182 *hec;=6*hecox8findViewy7d6-idchecox;82 *hec=6*hecox8findViewy7d6-idchecox82 *hec=6*hecox8findViewy7d6-idchecox82 //-adio#utton 9 pu#lic void Hta&a6View v84 ntent H = new ntent 6this3ain0ctivityclass82 start0ctivity6H82 9 pu#lic #oolean go6View v84 )tring h1 = Bi&getText68to)tring682 )tring h; = Ba&agetText68to)tring682 )tring h = 0la&atgetText68to)tring682 -adioCroup I, = 6-adioCroup8 findViewy7d6-idradioC82 int id = I,get*heced-adioutton7d682
//,ode untu ?ditText B73 dan Ba&a if 6Bi&length68 ==(84 Toast t = Toast&aeText6getase*ontext68-string$n1Toast%?BCT._).5-T82 tshow682 Bi&set?rror6.t&lfro&.t&l6"
9
ntent ,iri& = new ntent 6this%an3odulclass82 ,iri&put?xtra6",iri&B73"h182 ,iri&put?xtra6",iri&Ba&a"h;82 ,iri&put?xtra6",iri&0la&at"h82 ,iri&put?xtra6"-adioutton")82 ,iri&put?xtra6"*hecox"c#82 start0ctivity6,iri&82
return true2 9 9 K%*e P'%'a& 4. Modul Tig!3:!!
Kode Progr! ;3> Modul Tig!3:!! eru$!k!n kode $rogr! :!! d!ri !$lik!"i odul &ig!3 Kode $rogr! ini 'erfung"i un&uk el!kuk!n input d!n en!$ilk!n input ?!n &er"e'u& $!d! 5!l!!n '!ru3
Ga&9a' 4."1 T!$il!n Modul Tig! IND "ortait
G!'!r ;3,/ T!$il!n Modul Tig! IND "ortait eru$!k!n &!$il!n d!ri odul &ig! di!n! user d!$!& eng?input ? k!n NIM# N!!# Al!! Jeni" Kel!in# d!n M!&! Kuli!5 d!l! er"i %!5!"! Indone"i! d!l! l!9!r portait 3
Ga&9a' 4."" T!$il!n Modul Tig! ENG "ortait
G!'!r ;3,, T!$il!n Modul Tig! ENG "ortait eru$!k!n &!$il!n d!ri odul &ig! di!n! user d!$!& eng?input ?k!n NIM# N!!# Al!! Jeni" Kel!in# d!n M!&! Kuli!5 d!l! er"i %!5!"! Inggri" d!l! l!9!r portait 3
Ga&9a' 4."3 T!$il!n Modul Tig! IND Lands%ape
G!'!r ;3,1 T!$il!n Modul Tig! IND Lands%ape eru$!k!n &!$il!n d!ri odul &ig! di!n! user d!$!& eng?input ?k!n NIM# N!!# Al!! Jeni" Kel!in# d!n M!&! Kuli!5 d!l! er"i %!5!"! Indone"i! d!l! l!9!r lands%ape3
Ga&9a' 4."4 T!$il!n Modul Tig! ENG Lands%ape
G!'!r ;3,; T!$il!n Modul Tig! ENG Lands%ape eru$!k!n &!$il!n d!ri odul &ig! di!n! user d!$!& eng?input ?k!n NIM# N!!# Jeni" Kel!in# Al!! d!n M!&! Kuli!5 d!l! er"i %!5!"! Inggri" d!l! l!9!r lands%ape3
Ga&9a' 4."5 U:i
G!'!r ;3,. U:i
Al!!& %!li "er&! D= d!n E?APP "e'!g!i $ili5!n !&! kuli!53 T!$il!n ini eru$!k!n er"i %!5!"! Indone"i! d!l! l!9!r portait 3
Ga&9a' 4.") U:i
G!'!r ;3,+ U:i
Al!!& %!li "er&! D= d!n E?APP "e'!g!i $ili5!n !&! kuli!53 T!$il!n ini eru$!k!n er"i %!5!"! Inggri" d!l! l!9!r portait 3
Ga&9a' 4."- U:i
G!'!r ;3,8 U:i
Al!!& %!li "er&! D= d!n E?APP "e'!g!i $ili5!n !&! kuli!53 T!$il!n ini eru$!k!n er"i %!5!"! Indone"i! d!l! l!9!r lands%ape3
Ga&9a' 4."/ U:i
G!'!r ;3,- U:i
Al!!& %!li "er&! D= d!n E?APP "e'!g!i $ili5!n !&! kuli!53 T!$il!n ini eru$!k!n er"i %!5!"! Inggri" d!l! l!9!r lands%ape3
Ga&9a' 4." !"il U:i
G!'!r ;3,> !"il U:i
Ga&9a' 4.30 !"il U:i
G!'!r ;310 !"il U:i
Ga&9a' 4.31 !"il U:i
G!'!r ;31/ !"il U:i
Ga&9a' 4.3" !"il U:i
G!'!r ;31, !"il U:i
4.5
Pe&9ahaan *an Anal## M%*ul 4
A$lik!"i $!d! odul e$!& engi$leen&!"ik!n Simple ListView d!n Custom ListView ke d!l! !$lik!"i 9!ng di'u!&3
<>x&l version="1." encoding="$t-2">! <)crollView x&lns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" !
<-elative%ayout android:layout_width="match_parent" android:layout_height="0dp" !
<utton android:id="@+id/*$tton" android:layout_width="dp" android:layout_height="wrap_content" android:layout_align%eft="@+id/*$tton1" android:layout_#elow="@+id/*$tton1" android:text*olor=",------" android:#acground=",*c(!(!" android:layout_&arginTop="10dp" android:on*lic="$stome" android:text="'S3V>< ?S3B>" /!
<utton android:id="@+id/*$tton1" android:layout_width="dp" android:layout_height="wrap_content" android:layout_align$arentTop="tr$e" android:layout_center.oriontal="tr$e" android:layout_&arginTop="1dp" android:#acground=",*c(!(!" android:text="'S3V><" android:on*lic="list" android:text*olor=",------" /!
-elative%ayout!
)crollView! K%*e P'%'a& 4.10 Modul E$!&3@l
Kode Progr! ;3/0 Modul E$!&3@l eru$!k!n kode $rogr! un&uk &!$il!n odul e$! di!n! $!d! odul ini &erd!$!& du! button $ili5!n3
<>x&l version="1." encoding="$t-2">! <-elative%ayout x&lns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent" !
<%istView android:id="@+id/listView1" android:layout_width="(!dp" android:layout_height="0dp" android:layout_align$arentTop="tr$e" android:layout_center.oriontal="tr$e" android:#acground=",c*(!(!" ! %istView!
-elative%ayout! K%*e P'%'a& 4.11 Simple ListView 3@l
Kode Progr! ;3// Simple ListView3@l eru$!k!n kode $rogr! un&uk &!$il!n Simple ListView'
<>x&l version="1." encoding="$t-2">! <-elative%ayout x&lns:android="http://schemas.android.com/apk/res/android" android:id="@+id/7elative'ayo$t1" android:layout_width="match_parent" android:layout_height="match_parent" !
<%istView android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_align$arent%eft="tr$e" android:layout_align$arentTop="tr$e" ! %istView!
-elative%ayout! K%*e P'%'a& 4.1" Custom ListView3@l
Kode Progr! ;3/, Custom ListView3@l eru$!k!n kode $rogr! un&uk &!$il!n Custom ListView'
<>x&l version="1." encoding="$t-2">! <%inear%ayout x&lns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" !
<7&ageView android:id="@+id/icon" android:layout_width="0dp" android:layout_height="0dp" android:padding= "!dp" /! <%inear%ayout android:layout_width="wrap_content"
android:layout_height="wrap_content" android:orientation="vertical"!
K%*e P'%'a& 4.13 Custom ListView13@l
Kode Progr! ;3/1 Custom ListView13@l eru$!k!n kode $rogr! un&uk &!$il!n Custom ListView un&uk i"i d!ri ListView &er"e'u&'
Ga&9a' 4.33 T!$il!n A$lik!"i Modul E$!& "ortait
G!'!r ;311 T!$il!n A$lik!"i Modul E$!& "ortait eru$!k!n &!$il!n d!ri !$lik!"i d!&! !5!"i"7! $!d! odul e$!&3 !l!!n ini 'eri"i du! $ili5!n button 9!i&u ListView un&uk Simple ListView d!n ListView Custome un&uk Custom ListView3 !l!!n ini eru$!k!n &!$il!n l!9!r d!l! er"i portrait 3
Ga&9a' 4.34 T!$il!n A$lik!"i Modul E$!& Lands%ape
G!'!r ;31; T!$il!n A$lik!"i Modul E$!& Lands%ape eru$!k!n &!$il!n d!ri !$lik!"i d!&! !5!"i"7! $!d! odul e$!&3 !l!!n ini 'eri"i du! $ili5!n button 9!i&u ListView un&uk Simple ListView d!n ListView Custome un&uk Custom ListView3 !l!!n ini eru$!k!n &!$il!n l!9!r d!l! er"i lands%ape3
Ga&9a' 4.35 T!$il!n Simple ListView "ortait
G!'!r ;31. T!$il!n Simple ListView "ortait eru$!k!n &!$il!n d!ri !$lik!"i d!&! !5!"i"7! $!d! odul e$!& $!d! enu Simple ListView3 !l!!n ini eru$!k!n &!$il!n l!9!r d!l! er"i portrait 3
Ga&9a' 4.3) T!$il!n Simple ListView Lands%ape
G!'!r ;31+ T!$il!n Simple ListView Lands%ape eru$!k!n &!$il!n d!ri !$lik!"i d!&! !5!"i"7! $!d! odul e$!& $!d! enu Simple ListView3 !l!!n ini eru$!k!n &!$il!n l!9!r d!l! er"i lands%ape3
Ga&9a' 4.3- T!$il!n Custom ListView "ortait
G!'!r ;318 T!$il!n Custom ListView "ortait eru$!k!n &!$il!n d!ri !$lik!"i d!&! !5!"i"7! $!d! odul e$!& $!d! enu ListView Custome3 !l!!n ini eru$!k!n &!$il!n l!9!r d!l! er"i portait 3
Ga&9a' 4.3/ T!$il!n Custom ListView Lands%ape
G!'!r ;31- T!$il!n Custom ListView Lands%ape eru$!k!n &!$il!n d!ri !$lik!"i d!&! !5!"i"7! $!d! odul e$!& $!d! enu ListView Custome3 !l!!n ini eru$!k!n &!$il!n l!9!r d!l! er"i lands%ape3
4.)
Pe&9ahaan *an Anal## Al#+a# Te9a+ Ga&9a'
A$lik!"i &e'!k g!'!r 9!ng !k!n di'u!& $!d! Pr!k&iku Perogr!!n Mobile ini "endiri eru$!k!n g!e &e'!k g!'!r 'in!&!ng 9!ng &erdiri d!ri &ig!
k!&!gori 9!i&u re$&il# !!li!# d!n ungg!"3 A$lik!"i !k!n en!$ilk!n "e'u!5 g!'!r d!ri 'in!&!ng "e"u!i deng!n enu 9!ng di$ili5# keudi!n user eili5 "e"u!i $ili5!n 9!ng &el!5 di"edi!k!n3 Se&el!5 "ele"!i 'er!in !k! !k!n di&!$ilk!n "kor 9!ng di$erole53 Skor &er"e'u& d!$!& di"i$!n !u$un &id!k3 4.).1
K%*e P'%'a& Al#+a# Te9a+ Ga&9a'
%eriku& eru$!k!n kode $rogr! d!ri $e'u!&!n !$lik!"i &e'!k g!'!r '!ik kode $rogr! @l !u$un kode $rogr! J!!3
pacage co&exa&plega&eg2 i&port androidos0syncTas2 i&port androidutil%og2 i&port androidwidget$rogressar2 pu#lic class %oading extends 0syncTas<)tring 7nteger 7nteger! 4 pu#lic interface %oadingTasAinished%istener 4 void onTasAinished682 9
private final $rogressar progressar2 private final %oadingTasAinished%istener finished%istener2 pu#lic %oading6$rogressar progressar %oadingTasAinished%istener finished%istener8 4 thisprogressar = progressar2 thisfinished%istener = finished%istener2 9
@5verride protected 7nteger do7nacground6)tring para&s8 4 %ogi6"Tutorial" ")tarting tas with url: " + para&sO(P82 if 6resourcesKont0lready?xist688 4 download-esources682 9 return 1;2 9 private #oolean resourcesKont0lready?xist68 4 return true2 9 private void download-esources68 4 int count = F(2 for 6int i = (2 i < count2 i++8 4 int progress = 6int8 66i / 6float8 count8 N 1((82 pu#lish$rogress6progress82
try 4 Threadsleep61((82 9 catch 67nterrupted?xception ignore8 4 9
9 9
@5verride protected void on$rogressHpdate67nteger values8 4 superon$rogressHpdate6values82 progressarset$rogress6valuesO(P82 9 @5verride protected void on$ost?xecute67nteger result8 4 superon$ost?xecute6result82 finished%isteneronTasAinished682 9
9 K%*e P'%'a& 4.14 Class Loading
Kode Progr! ;3/; Class Loading eru$!k!n kode $rogr! 9!ng 'erfung"i un&uk e'u!& widget progress loading "!!& $rogr! ul!i di:!l!nk!n3
pacage co&exa&plega&eg2 i&port i&port i&port i&port i&port
co&exa&plega&eg%oading%oadingTasAinished%istener2 androidapp0ctivity2 androidcontent7ntent2 androidosundle2 androidwidget$rogressar2
pu#lic class 3ain extends 0ctivity i&ple&ents %oadingTasAinished%istener 4
@5verride protected void on*reate6undle saved7nstance)tate8 4 superon*reate6saved7nstance)tate82 set*ontentView6-layout&ain82
$rogressar progressar = 6$rogressar8 findViewy7d6-idprogressar;82 new %oading6progressar this8execute6""82 9
@5verride pu#lic void onTasAinished68 4 co&plete)plash682 9 private void co&plete)plash684 start0pp682 finish682 9 private void start0pp68 4 7ntent intent = new 7ntent63ainthis 3ain0ctivityclass82 start0ctivity6intent82 9
9 K%*e P'%'a& 4.15 Class Main
Kode Progr! ;3/. Class Main eru$!k!n kode $rogr! 9!ng 'erfung"i "e'!g!i #%ti*ity
9!ng digun!k!n un&uk e!nggil %lass loading d!n
eind!5k!n #%ti*ity ke Class Main #%ti*ity 3
pacage co&exa&plega&eg2 i&port i&port i&port i&port i&port i&port
androidnetHri2 androidosundle2 androidapp0ctivity2 androidapp0lertKialog2 androidcontent*ontext2 androidcontentKialog7nterface2
i&port androidcontent7ntent2 i&port androidview3enu2 i&port androidviewView2 pu#lic class 3ain0ctivity extends 0ctivity 4 final *ontext context = this2 @5verride protected void on*reate6undle saved7nstance)tate8 4 superon*reate6saved7nstance)tate82 set*ontentView6-layoutactivity_&ain82 9 @5verride pu#lic #oolean on*reate5ptions3enu63enu &enu8 4 // 7nflate the &enu2 this adds ite&s to the action #ar if it is present get3enu7nflater68inflate6-&enu&ain &enu82 return true2 9 pu#lic void #antuan6View v84 7ntent &1 = new 7ntent 6thisantuanclass82 start0ctivity6&182 finish682 9 pu#lic void 3ain6View v84 7ntent &1 = new 7ntent 6this,ategoryclass82 start0ctivity6&182 finish682 9 pu#lic void )or6View v84 7ntent &1 = new 7ntent 6this%ihatclass82 start0ctivity6&182 finish682 9 pu#lic void f#6View arg(84 7ntent view7ntent = new 7ntent6"androidintentactionV7?L" Hriparse6"http://wwwface#ooco&/"882 start0ctivity6view7ntent82 9 pu#lic void ig6View arg(84 7ntent view7ntent = new 7ntent6"androidintentactionV7?L" Hriparse6"http://wwwinstagra&co&/"882 start0ctivity6view7ntent82 9 pu#lic void tw6View arg(84 7ntent view7ntent = new 7ntent6"androidintentactionV7?L" Hriparse6"http://wwwtwitterco&/"882
start0ctivity6view7ntent82 9
@5verride pu#lic void
onac$ressed68 4
0lertKialoguilder alertKialoguilder = new 0lertKialoguilder6context82 alertKialoguildersetTitle6"uis Te#a Caar"82 alertKialoguilder set3essage6"0nda yain aan &enutup 0pliasi>"8 set*ancela#le6false8 set$ositiveutton6"Qes"new Kialog7nterface5n*lic%istener68 4 pu#lic void on*lic6Kialog7nterface dialogint id8 4 finish682 9 98 setBegativeutton6"Bo"new Kialog7nterface5n*lic%istener68 4 pu#lic void on*lic6Kialog7nterface dialogint id8 4 dialogcancel682 // Iia &e&ilih no hanya aan &enutup dialog saRa 9 982 // 3euat alert dialog 0lertKialog alertKialog = alertKialoguildercreate682 alertKialogshow682 9 pu#lic void eluar6View v84 0lertKialoguilder alertKialoguilder = new 0lertKialoguilder6context82 alertKialoguildersetTitle6"uis Te#a Caar"82 alertKialoguilder set3essage6"0nda yain aan &enutup 0pliasi>"8 set*ancela#le6false8 set$ositiveutton6"Qes"new Kialog7nterface5n*lic%istener68 4 pu#lic void on*lic6Kialog7nterface dialogint id8 4 finish682 9 98 setBegativeutton6"Bo"new Kialog7nterface5n*lic%istener68 4 pu#lic void on*lic6Kialog7nterface dialogint id8 4
dialogcancel682 // Iia &e&ilih no hanya aan &enutup dialog saRa 9 982 // 3euat alert dialog 0lertKialog alertKialog = alertKialoguildercreate682 alertKialogshow682 9 9 K%*e P'%'a& 4.1) Class Main#%ti*ity
Kode Progr! ;3/+ Class Main#%ti*ity eru$!k!n kode $rogr! 9!ng 'erfung"i "e'!g!i Main #%ti*ity di!n! &erd!$!& fung"i?fung"i enu:u ke 5!l!!n l!inn9!3
pacage co&exa&plega&eg2 i&port i&port i&port i&port
androidapp0ctivity2 androidcontent7ntent2 androidosundle2 androidviewView2
pu#lic class ,ategory extends 0ctivity 4
protected void on*reate6undle saved7nstance)tate8 4 superon*reate6saved7nstance)tate82 set*ontentView6-layout kategory 82 9 pu#lic void reptil6View v84 7ntent &1 = new 7ntent 6this)oalclass82 start0ctivity6&182 finish682 9 pu#lic void &a&alia6View v84 7ntent &1 = new 7ntent 6this)oal;class82 start0ctivity6&182 finish682 9 pu#lic void Hnggas6View v84 7ntent &1 = new 7ntent 6this)oalclass82 start0ctivity6&182 finish682 9 pu#lic void onac$ressed68 4
7ntent &1 = new 7ntent 6this3ain0ctivityclass82 start0ctivity6&182 finish682 9 9 K%*e P'%'a& 4.1- Class K!&!gori
Kode Progr! ;3/8 Class K!&!gori eru$!k!n kode $rogr! 9!ng 'erfung"i un&uk enun:ukk!n k!&!gori 9!ng !k!n di!ink!n '!ik re$&il# !!li!# !u$un ungg!"3
pacage co&exa&plega&eg2 i&port i&port i&port i&port i&port i&port i&port i&port i&port i&port i&port i&port
androidapp0ctivity2 androidapp0lertKialog2 androidcontent*ontext2 androidcontentKialog7nterface2 androidcontent7ntent2 androidgraphics*olor2 android&edia3edia$layer2 androidosundle2 androidviewView2 androidviewView5n*lic%istener2 androidwidgetutton2 androidwidget7&ageView2
i&port androidwidgetTextView2 pu#lic class )oal extends 0ctivity i&ple&ents 5n*lic%istener 4 final *ontext context = this2 utton 7&g_0 7&g_ 7&g_* 7&g_K2 7&ageView layer2 TextView soal2 3edia$layer &p = new 3edia$layer682 int OP Caar =4-drawa#lecica-drawa#lederi-drawa#le#uaya-drawa#le#u nglon-drawa#leiguana -drawa#leo#ra -drawa#leura-drawa#lepiton-drawa#lesala&ander-drawa#le toe 92 )tring OP pertanyaan =4"1 Kari gaar Caar &erupaan gaar>" "; Hlar Ienis 0paah yang 0da digaar diatas>" " .ewan 0paah ini>" " .ewan reptil apaah ini>" "F .ewan reptil apaah ini>" "' .ewan reptil apaah ini>" "G .ewan reptil apaah ini>" "S .ewan reptil apaah ini>" " .ewan reptil apaah ini>" "1( .ewan reptil apaah ini>" 92
)tring OP pilihan_a =4"0 *ica""0 *o#ra""0 uaya""0 *ica""0 Ceco""0 *o#ra""0 $enyu""0 *o#ra""0 Ceco""0Toe"92 )tring OP pilihan_# =4" Toe"" Keri"" ,api#ara"" Toe"" )ala&ender""Keri"" ,uraJ,ura"" Keri"")ala&ender""*ica"92 )tring OP pilihan_c =4"* 7guana""* $iton""* $iton""* 7guana""* 7guana""* $iton""* ,o&odo""* $iton""*7guana""*unglon"92 )tring OP pilihan_d =4"K unglon""KHlar .iRau""K 7an""K unglon""K unglon""KHlar.iRau""K iawa""KHlar .iRau""Kunglon""Kiawa"92 )tring OP Rawa#an = 4"0""""0""K""*""0""""*""""0"92 int indes=(2 static int
#enar = ( sor = (2
@5verride protected void on*reate6undle saved7nstance)tate8 4 superon*reate6saved7nstance)tate82 set*ontentView6-layoutsoal82 layer=67&ageView8findViewy7d6-idlayar82 layerset7&age-esource6 CaarO(P82
soal=6TextView8findViewy7d6-idsoal82 soalsetText6pertanyaanO(P82
7&g_0=6 utton8findViewy7d6-id082 7&g_0setText6pilihan_aO(P82 7&g_0setText*olor6*olorparse*olor6"Uffffff"882 7&g_0set5n*lic%istener6this82
7&g_=6 utton8findViewy7d6-id82 7&g_setText6pilihan_#O(P82 7&g_setText*olor6*olorparse*olor6"Uffffff"882 7&g_set5n*lic%istener6this82
7&g_*=6 utton8findViewy7d6-id*82 7&g_*setText6pilihan_cO(P82 7&g_*setText*olor6*olorparse*olor6"Uffffff"882 7&g_*set5n*lic%istener6this82
7&g_K=6 utton8findViewy7d6-idK82 7&g_KsetText6pilihan_dO(P82 7&g_KsetText*olor6*olorparse*olor6"Uffffff"882 7&g_Kset5n*lic%istener6this82
9 @5verride pu#lic void
onac$ressed68 4
0lertKialoguilder alertKialoguilder = new 0lertKialoguilder6context82 alertKialoguildersetTitle6"uis Te#a Caar"82 alertKialoguilder set3essage6"0nda #elu& &enyelesaian soal apaah anda yain aan &enutupnya>"8 set*ancela#le6false8 set$ositiveutton6"Qes"new Kialog7nterface5n*lic%istener68 4 pu#lic void on*lic6Kialog7nterface dialogint id8 4 7ntent i = new 7ntent 6)oalthis 3ain0ctivityclass82 start0ctivity6i82 finish682 9 98 setBegativeutton6"Bo"new Kialog7nterface5n*lic%istener68 4 pu#lic void on*lic6Kialog7nterface dialogint id8 4 dialogcancel682 // Iia &e&ilih no hanya aan &enutup dialog saRa 9 982 // 3euat alert dialog 0lertKialog alertKialog = alertKialoguildercreate682 alertKialogshow682 9 @5verride pu#lic void on*lic6View v8 4 if 6v==7&g_08//ce parsing 4 if 6Rawa#anOindesPeuals6"0"884 #enar += 12 9
if 6indes
7&g_*setText6pilihan_cOindesP82 7&g_KsetText6pilihan_dOindesP82 9 else 4 7ntent i = new 7ntent 6this .asil1class82 start0ctivity6i82 finish682
9
9 else if 6v==7&g_8 4 if 6Rawa#anOindesPeuals6""884 #enar += 12 9 if 6indes
4 7ntent i = new 7ntent 6this .asil1class82 start0ctivity6i82 finish682
9
9 else if 6v==7&g_K8 4 if 6Rawa#anOindesPeuals6"K"884 #enar += 12 9 if 6indes
Kode Progr! ;3/- Class So!l/ eru$!k!n kode $rogr! 9!ng 'erfung"i un&uk e'u!& "o!l re$&il3
pacage co&exa&plega&eg2 i&port i&port i&port i&port i&port i&port i&port i&port i&port i&port i&port
androidapp0ctivity2 androidapp0lertKialog2 androidcontent*ontext2 androidcontentKialog7nterface2 androidcontent7ntent2 androidgraphics*olor2 android&edia3edia$layer2 androidosundle2 androidviewView2 androidviewView5n*lic%istener2 androidwidgetutton2
i&port androidwidget7&ageView2 i&port androidwidgetTextView2 pu#lic class )oal; extends 0ctivity i&ple&ents 5n*lic%istener 4 final *ontext context = this2 utton 7&g_0 7&g_ 7&g_* 7&g_K2 7&ageView layer2 TextView soal2 3edia$layer &p = new 3edia$layer682 int OP Caar =4-drawa#lellua-drawa#ledoa-drawa#leangguru-drawa#l eucing-drawa#le&onyet -drawa#leorangutan -drawa#lepanda-drawa#leplatypus-drawa#lesinga-drawa#le elinci 92 )tring OP pertanyaan =4"1 Kari gaar Kiatas &erupaan gaar>" "; Kari gaar Kiatas &erupaan gaar>" " .ewan 0paah ini>" " .ewan 3a&alia apaah ini>" "F .ewan 3a&alia apaah ini>" "' .ewan 3a&alia apaah ini>" "G .ewan 3a&alia apaah ini>" "S .ewan 3a&alia apaah ini>" " .ewan 3a&alia apaah ini>" "1( .ewan 3a&alia apaah ini>" 92 )tring OP pilihan_a =4"0$aus""0anRing""0,angguru""00nRing""03onyet""03onyet ""03onyet""0e#e""0heina""0,elinci"92 )tring OP pilihan_# =4"uaya""ucing"" ,api#ara"",ucing""Corila""Corila""Corila""$latypus" ")inga""0nRing"92 )tring OP pilihan_c =4"*%uaJ %ua""*aing""*)inga""*,aing""*iawa""*$anda""*$ anda""*angsa""*a#i""*-usa"92 )tring OP pilihan_d =4"Kudanil""Ksapi""K%e&ur""K)api""K5rangutan""K5ranghu tan""K5rangutan""K7an""K0nRing""K,odo"92 )tring OP Rawa#an = 4"*""*""0""""0""K""*""""""0"92 int indes=(2 static int
#enar = ( sor = (2
@5verride protected void on*reate6undle saved7nstance)tate8 4
superon*reate6saved7nstance)tate82 set*ontentView6-layoutsoal82 layer=67&ageView8findViewy7d6-idlayar82 layerset7&age-esource6 CaarO(P82
soal=6TextView8findViewy7d6-idsoal82 soalsetText6pertanyaanO(P82
7&g_0=6 utton8findViewy7d6-id082 7&g_0setText6pilihan_aO(P82 7&g_0setText*olor6*olorparse*olor6"Uffffff"882 7&g_0set5n*lic%istener6this82
7&g_=6 utton8findViewy7d6-id82 7&g_setText6pilihan_#O(P82 7&g_setText*olor6*olorparse*olor6"Uffffff"882 7&g_set5n*lic%istener6this82
7&g_*=6 utton8findViewy7d6-id*82 7&g_*setText6pilihan_cO(P82 7&g_*setText*olor6*olorparse*olor6"Uffffff"882 7&g_*set5n*lic%istener6this82
7&g_K=6 utton8findViewy7d6-idK82 7&g_KsetText6pilihan_dO(P82 7&g_KsetText*olor6*olorparse*olor6"Uffffff"882 7&g_Kset5n*lic%istener6this82
9 @5verride pu#lic void
onac$ressed68 4
0lertKialoguilder alertKialoguilder = new 0lertKialoguilder6context82 alertKialoguildersetTitle6"uis Te#a Caar"82 alertKialoguilder set3essage6"0nda #elu& &enyelesaian soal apaah anda yain aan &enutupnya>"8 set*ancela#le6false8 set$ositiveutton6"Qes"new Kialog7nterface5n*lic%istener68 4 pu#lic void on*lic6Kialog7nterface dialogint id8 4 7ntent i = new 7ntent 6)oal;this 3ain0ctivityclass82 start0ctivity6i82 finish682 9
98 setBegativeutton6"Bo"new Kialog7nterface5n*lic%istener68 4 pu#lic void on*lic6Kialog7nterface dialogint id8 4 dialogcancel682 // Iia &e&ilih no hanya aan &enutup dialog saRa 9 982 // 3euat alert dialog 0lertKialog alertKialog = alertKialoguildercreate682 alertKialogshow682 9 @5verride pu#lic void on*lic6View v8 4 if 6v==7&g_08//ce parsing 4 if 6Rawa#anOindesPeuals6"0"884 #enar += 12 9
if 6indes
9 else if 6v==7&g_8 4 if 6Rawa#anOindesPeuals6""884 #enar += 12 9 if 6indes
7&g_0setText6pilihan_aOindesP82 7&g_setText6pilihan_#OindesP82 7&g_*setText6pilihan_cOindesP82 7&g_KsetText6pilihan_dOindesP82 9 else 4 7ntent i = new 7ntent 6this .asil;class82 start0ctivity6i82 finish682
9
9 else if 6v==7&g_*8 4 if 6Rawa#anOindesPeuals6"*"884 #enar += 12 9 if 6indes
9 else 4
7ntent i = new 7ntent 6this .asil;class82 start0ctivity6i82 finish682
9 9 9 9
K%*e P'%'a& 4.1 Class So!l,
Kode Progr! ;3/> Class So!l, eru$!k!n kode $rogr! 9!ng 'erfung"i un&uk e'u!& "o!l !!li!3
pacage co&exa&plega&eg2 i&port i&port i&port i&port i&port i&port i&port i&port i&port i&port i&port i&port i&port
androidapp0ctivity2 androidapp0lertKialog2 androidcontent*ontext2 androidcontentKialog7nterface2 androidcontent7ntent2 androidgraphics*olor2 android&edia3edia$layer2 androidosundle2 androidviewView2 androidviewView5n*lic%istener2 androidwidgetutton2 androidwidget7&ageView2 androidwidgetTextView2
pu#lic class )oal extends 0ctivity i&ple&ents 5n*lic%istener 4 final *ontext context = this2 utton 7&g_0 7&g_ 7&g_* 7&g_K2 7&ageView layer2 TextView soal2 3edia$layer &p = new 3edia$layer682 int OP Caar =4-drawa#leangsa-drawa#leaya&hutan-drawa#le#e#e-drawa#l eca&ar-drawa#leelang -drawa#lefla&ingo -drawa#lealun-drawa#le&era-drawa#lepelian-drawa#leu nta 92 )tring OP pertanyaan =4"1 Kari gaar Kiatas &erupaan gaar>" "; Kari gaar Kiatas &erupaan gaar>"
" .ewan 0paah ini>" " .ewan Hnggas apaah ini>" "F .ewan Hnggas apaah ini>" "' .ewan Hnggas apaah ini>" "G .ewan Hnggas apaah ini>" "S .ewan Hnggas apaah ini>" " .ewan Hnggas apaah ini>" "1( .ewan Hnggas apaah ini>" 92 )tring OP pilihan_a =4"00ya&""0aya&""00ngsa""00ngsa""00ngsa""0Ala&inggo""0 Ala&inggo""0$elian""00ngsa""0,alun"92 )tring OP pilihan_# =4"?lang""ca&ar"" *a&ar""*a&ar""*a&ar""$elian""3era""3era""$eli an""$elian"92 )tring OP pilihan_c =4"*e#e""*#e#e""*#e#e""*0ya&""*0ya&""*0ngsa""*0ng sa""*angsa""*Ala&inggo""*&era"92 )tring OP pilihan_d =4"K0ngsa""K0ngsa""K?lang""K?lang""K?lang""K,alun""K ,alun""K,alun""Ke#e""Kurung Hnta"92 )tring OP Rawa#an = 4"K""0""*""""K""0""K""""""K"92 int indes=(2 static int
#enar = ( sor = (2
@5verride protected void on*reate6undle saved7nstance)tate8 4 superon*reate6saved7nstance)tate82 set*ontentView6-layoutsoal82 layer=67&ageView8findViewy7d6-idlayar82 layerset7&age-esource6 CaarO(P82
soal=6TextView8findViewy7d6-idsoal82 soalsetText6pertanyaanO(P82
7&g_0=6 utton8findViewy7d6-id082 7&g_0setText6pilihan_aO(P82 7&g_0setText*olor6*olorparse*olor6"Uffffff"882 7&g_0set5n*lic%istener6this82
7&g_=6 utton8findViewy7d6-id82 7&g_setText6pilihan_#O(P82 7&g_setText*olor6*olorparse*olor6"Uffffff"882 7&g_set5n*lic%istener6this82
7&g_*=6 utton8findViewy7d6-id*82 7&g_*setText6pilihan_cO(P82
7&g_*setText*olor6*olorparse*olor6"Uffffff"882 7&g_*set5n*lic%istener6this82
7&g_K=6 utton8findViewy7d6-idK82 7&g_KsetText6pilihan_dO(P82 7&g_KsetText*olor6*olorparse*olor6"Uffffff"882 7&g_Kset5n*lic%istener6this82
9 @5verride pu#lic void
onac$ressed68 4
0lertKialoguilder alertKialoguilder = new 0lertKialoguilder6context82 alertKialoguildersetTitle6"uis Te#a Caar"82 alertKialoguilder set3essage6"0nda #elu& &enyelesaian soal apaah anda yain aan &enutupnya>"8 set*ancela#le6false8 set$ositiveutton6"Qes"new Kialog7nterface5n*lic%istener68 4 pu#lic void on*lic6Kialog7nterface dialogint id8 4 7ntent i = new 7ntent 6)oalthis 3ain0ctivityclass82 start0ctivity6i82 finish682 9 98 setBegativeutton6"Bo"new Kialog7nterface5n*lic%istener68 4 pu#lic void on*lic6Kialog7nterface dialogint id8 4 dialogcancel682 // Iia &e&ilih no hanya aan &enutup dialog saRa 9 982 // 3euat alert dialog 0lertKialog alertKialog = alertKialoguildercreate682 alertKialogshow682 9 @5verride pu#lic void on*lic6View v8 4 if 6v==7&g_08//ce parsing 4 if 6Rawa#anOindesPeuals6"0"884 #enar += 12
9
if 6indes
9 else if 6v==7&g_8 4 if 6Rawa#anOindesPeuals6""884 #enar += 12 9 if 6indes
soalsetText6pertanyaanOindesP82 layerset7&age-esource6CaarOindesP82 soalsetText6pertanyaanOindesP82 7&g_0setText6pilihan_aOindesP82 7&g_setText6pilihan_#OindesP82 7&g_*setText6pilihan_cOindesP82 7&g_KsetText6pilihan_dOindesP82 9 else 4
7ntent i = new 7ntent 6this .asilclass82 start0ctivity6i82 finish682
9
9 else if 6v==7&g_K8 4 if 6Rawa#anOindesPeuals6"K"884 #enar += 12 9 if 6indes
Kode Progr! ;3,0 Class So!l1 eru$!k!n kode $rogr! 9!ng 'erfung"i un&uk e'u!& "o!l ungg!"3
pacage co&exa&plega&eg2 i&port androidapp0ctivity2 i&port androidcontent*ontext2
i&port androidcontent7ntent2 i&port androidgraphics*olor2 i&port androidosundle2 i&port androidtext.t&l2 i&port androidviewView2 //i&port androidtext.t&l2 i&port androidwidget?ditText2 i&port androidwidgetTextView2 //i&port androidwidgetToast2 i&port androidwidgetToast2 pu#lic class .asil1 extends 0ctivity4 K0dapter d# = new K0dapter6this82 final *ontext context = this2 TextView hasil2 ?ditText na&a2 @5verride protected void on*reate6undle saved7nstance)tate8 4 superon*reate6saved7nstance)tate82 set*ontentView6-layouthasil82 hasil =6TextView8 findViewy7d6-idtextView182 na&a = 6?ditText8 findViewy7d6-ideditText182 int #enar = )oal#enar2 )oal#enar = (2 hasilsetText6"Iawa#an #enar : "+#enar 82 if 6#enar <=8 4 hasilsetText*olor6*olorparse*olor6"Uff(F(F"882 9else if6#enar !=F #enar
hasilgetText68to)tring6882 Toast&aeText6get0pplication*ontext68 "Kata disi&panE" Toast%?BCT._).5-T8show682 d#close682 7ntent &1 = new 7ntent 6this%ihatclass82 start0ctivity6&182 finish682 9 9 pu#lic void tida6View V84 7ntent &1 = new 7ntent 6this3ain0ctivityclass82 start0ctivity6&182 finish682 9 pu#lic void onac$ressed68 4 7ntent &1 = new 7ntent 6this3ain0ctivityclass82 start0ctivity6&182 finish682 finish682 9 9 K%*e P'%'a& 4."1 Class !"il/
Kode Progr! ;3,/ Class !"il/ eru$!k!n kode $rogr! 9!ng 'erfung"i un&uk en!$ilk!n 5!"il "kor "er&! en9i$!nn9! ke d!l! database3
pacage co&exa&plega&eg2 i&port androidapp0ctivity2 i&port androidcontent*ontext2 i&port androidcontent7ntent2 i&port androidgraphics*olor2 i&port androidosundle2 i&port androidtext.t&l2 i&port androidviewView2 //i&port androidtext.t&l2 i&port androidwidget?ditText2 i&port androidwidgetTextView2 //i&port androidwidgetToast2 i&port androidwidgetToast2 pu#lic class .asil1 extends 0ctivity4 K0dapter d# = new K0dapter6this82 final *ontext context = this2 TextView hasil2
?ditText na&a2 @5verride protected void on*reate6undle saved7nstance)tate8 4 superon*reate6saved7nstance)tate82 set*ontentView6-layouthasil82 hasil =6TextView8 findViewy7d6-idtextView182 na&a = 6?ditText8 findViewy7d6-ideditText182 int #enar = )oal;#enar2 )oal#enar = (2 hasilsetText6"Iawa#an #enar : "+#enar 82 if 6#enar <=8 4 hasilsetText*olor6*olorparse*olor6"Uff(F(F"882 9else if6#enar !=F #enar
7ntent &1 = new 7ntent 6this3ain0ctivityclass82 start0ctivity6&182 finish682 finish682 9 9 K%*e P'%'a& 4."" Class !"il,
Kode Progr! ;3,, Class !"il, eru$!k!n kode $rogr! 9!ng 'erfung"i un&uk en9i$!n "kor ke d!l! database3
pacage co&exa&plega&eg2 i&port androidapp0ctivity2 i&port androidcontent*ontext2 i&port androidcontent7ntent2 i&port androidgraphics*olor2 i&port androidosundle2 i&port androidtext.t&l2 i&port androidviewView2 //i&port androidtext.t&l2 i&port androidwidget?ditText2 i&port androidwidgetTextView2 //i&port androidwidgetToast2 i&port androidwidgetToast2 pu#lic class .asil1 extends 0ctivity4 K0dapter d# = new K0dapter6this82 final *ontext context = this2 TextView hasil2 ?ditText na&a2 @5verride protected void on*reate6undle saved7nstance)tate8 4 superon*reate6saved7nstance)tate82 set*ontentView6-layouthasil82 hasil =6TextView8 findViewy7d6-idtextView182 na&a = 6?ditText8 findViewy7d6-ideditText182 int #enar = )oal#enar2 )oal#enar = (2 hasilsetText6"Iawa#an #enar : "+#enar 82 if 6#enar <=8 4 hasilsetText*olor6*olorparse*olor6"Uff(F(F"882 9else if6#enar !=F #enar
9else if 6#enar!=S84 hasilsetText*olor6*olorparse*olor6"U1(ff("882 9 hasilsetText6"" +#enarN1(82 9 pu#lic void si&pan6View V84 if 6na&alength68 ==(84 Toast t = Toast&aeText6getase*ontext68"3asuan na&a"Toast%?BCT._).5-T82 tshow682 na&aset?rror6.t&lfro&.t&l6"
Kode Progr! ;3,1 Class !"il1 eru$!k!n kode $rogr! 9!ng 'erfung"i un&uk en9i$!n "kor ke d!l! database "e"u!i deng!n n!! 9!ng diingink!n3
pacage co&exa&plega&eg2 i&port i&port i&port i&port
androidapp0ctivity2 androidcontent7ntent2 androidosundle2 androidviewView2
pu#lic class antuan extends 0ctivity 4 protected void on*reate6undle saved7nstance)tate8 4 superon*reate6saved7nstance)tate82 set*ontentView6-layout#antuan82 9 pu#lic void eali6View V84 7ntent &1 = new 7ntent 6this3ain0ctivityclass82 start0ctivity6&182 finish682 9 pu#lic void onac$ressed68 4 7ntent &1 = new 7ntent 6this3ain0ctivityclass82 start0ctivity6&182 finish682 9 9 K%*e P'%'a& 4."4 Class %!n&u!n
Kode Progr! ;3,1 Class %!n&u!n eru$!k!n kode $rogr! 9!ng 'erfung"i un&uk e'u!& '!n&u!n3
pacage co&exa&plega&eg2 i&port i&port i&port i&port i&port i&port i&port i&port
androidannotation)uppress%int2 androidcontent*ontentValues2 androiddata#ase*ursor2 androidcontent*ontext2 androiddata#ase)W%?xception2 androiddata#aseslite)W%iteKata#ase2 androiddata#aseslite)W%ite5pen.elper2 androidutil%og2
@)uppress%int6"Bew0pi"8 pu#lic class K0dapter 4 private static final )tring K_B03? = "pratiu&"2 private static final int K_V?-)75B = 12 private static final )tring T0%? = "elo&po"2 pu#lic static final )tring B7%07 = "nilai"2 pu#lic static final )tring B030 = "na&a"2
private static final )tring T0%?_*-?0T? = "create ta#le " + T0%? + " 6" + B7%07 + " int pri&ary ey " + B030 + " char8"2 private final *ontext context2 private Kata#ase.elper K.elper2 private )W%iteKata#ase d#2 pu#lic K0dapter6*ontext ctx8 4 thiscontext = ctx2 K.elper = new Kata#ase.elper6context82 9 pu#lic K0dapter open68 throws )W%?xception 4 d# = K.elpergetLrita#leKata#ase682 return this2 9
pu#lic void close68 4 K.elperclose682 9 private static class Kata#ase.elper extends )W%ite5pen.elper 4 Kata#ase.elper6*ontext context8 4 super6context K_B03? null K_V?-)75B82 9
@5verride pu#lic void on*reate6)W%iteKata#ase d#8 4 try 4 d#exec)W%6T0%?_*-?0T?82 9 catch 6)W%?xception e8 4 eprint)tacTrace682 9
9
@5verride pu#lic void onHpgrade6)W%iteKata#ase d# int oldVersion int newVersion8 4 %ogw6"Hpgrade" "$roses aan drop dan #uat ulang ta#el"82 d#exec)W%6"K-5$ T0%? 7A ?X7)T) " + T0%?82 on*reate6d#82 9 9 pu#lic long insertKata6)tring nilai )tring na&a8 4 *ontentValues initialValues = new *ontentValues682
initialValuesput6B7%07 nilai82 initialValuesput6B030 na&a82 return d#insert6T0%? null initialValues82 9 pu#lic int deleteKata6)tring title8 4 return d#delete6T0%? B7%07 + "=>" new )tringOP 4 title 982 9
@)uppress%int6"Bew0pi"8 pu#lic *ursor selectKata6)tring title8 4 return d#uery6false T0%? new )tringOP 4 B7%07 B0309 B7%07 + "=>" new )tringOP 4 title 9 null null null null null82 9 pu#lic *ursor select0llKata68 4 return d#uery6false T0%? new )tringOP 4 B7%07 B0309 null null null null "B7%07 0)*" null null82 9 9 K%*e P'%'a& 4."5 Class D%Ad!$&er
Kode Progr! ;3,; Class D%Ad!$&er eru$!k!n kode $rogr! 9!ng 'erfung"i un&uk e'u!& database d!n e'u!& &!'el3
pacage co&exa&plega&eg2 i&port i&port i&port i&port i&port i&port i&port i&port i&port
Ravautil0rray%ist2 Ravautil.ash3ap2 androidapp0ctivity2 androidcontent7ntent2 androiddata#ase*ursor2 androidosundle2 androidviewView2 androidwidget%istView2 androidwidget)i&ple0dapter2
pu#lic class %ihat extends 0ctivity 4 K0dapter d# = new K0dapter6this82
pu#lic void on*reate6undle saved7nstance)tate8 4 superon*reate6saved7nstance)tate82 set*ontentView6-layoutta&pil82
%istView lv = 6%istView8 findViewy7d6-idlistView82 0rray%ist<.ash3ap<)tring )tring!! list = new 0rray%ist<.ash3ap<)tring )tring!!682
d#open682 *ursor cursor = d#select0llKata682 while 6cursor&oveToBext688 4 .ash3ap<)tring )tring! ite& = new .ash3ap<)tring )tring!682 ite&put6"na&a" cursorget)tring6(882 ite&put6"sor" cursorget)tring61882 listadd6ite&82 d#close682 9 )i&ple0dapter notes = new )i&ple0dapter6this list -layoutfile new )tringOP4"na&a" "sor"9 new intOP4-idna&a; -idsor;982 lvset0dapter6notes82 9 pu#lic void #ac6View V84 7ntent &1 = new 7ntent 6this3ain0ctivityclass82 start0ctivity6&182 finish682 9 pu#lic void onac$ressed68 4 7ntent &1 = new 7ntent 6this3ain0ctivityclass82 start0ctivity6&182 finish682 9 9 K%*e P'%'a& 4.") Class Li5!&
Kode Progr! ;3,. Class Li5!& eru$!k!n kode $rogr! 9!ng 'erfung"i un&uk en!$ilk!n "kor 9!ng di"i$!n d!l! 'en&uk ListView3
<>x&l version="1." encoding="$t-2">! <-elative%ayout x&lns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" !
<7&ageView android:id="@+id/imageView1" android:layout_width="1!dp" android:layout_height="1!dp" android:layout_a#ove="@+id/imageView" android:src="@drawa*le/ic_la$ncher" android:layout_center.oriontal="tr$e" /!
<$rogressar
android:id="@+id/progress8ar" android:id="@+id/progress8ar" style="&android:attr/progress8arStyle'arge" style="&android:attr/progress8arStyle'arge" android:layout_width="wrap_content" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_height="wrap_content" android:layout_align$arentotto&="tr$e" android:layout_align$arentotto&="tr$e" android:layout_center.oriontal="tr$e" android:layout_center.oriontal="tr$e" android:layout_&arginotto&="1((dp" /! android:layout_&arginotto&="1((dp" /!
<7&ageView android:id="@+id/imageView" android:id="@+id/imageView" android:layout_width="!dp" android:layout_width="!dp" android:layout_height="dp" android:layout_height="dp" android:layout_center.oriontal="tr$e" android:layout_center.oriontal="tr$e" android:layout_centerVertical="tr$e" android:layout_centerVertical="tr$e" android:src="@drawa*le/k$is1" android:src="@drawa*le/k$is1" /! /!
-elative%ayout! 3@l K%*e P'%'a& 4."- Loading 3@l
Kode Progr! gr! ;3,+ ;3,+ Loading'@ @ll eru eru$! $!k! k!n n kode kode $rog $rogr! r! 9!ng !ng 'erfung"i un&uk e'u!& &!$il!n 5!l!!n loading d!ri d!ri !$lik!"i &e'!k g!'!r3
<-elative%ayout x&lns:android="http://schemas.android.com/apk/res/android" x&lns:android="http://schemas.android.com/apk/res/android" x&lns:tools="http://schemas.android.com/tools" x&lns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_height="match_parent" android:paddingotto&="@dimen/activity_vertical_margin" android:paddingotto&="@dimen/activity_vertical_margin" android:padding%eft="@dimen/activity_horizontal_margin" android:padding%eft="@dimen/activity_horizontal_margin" android:padding-ight="@dimen/activity_horizo android:padding-ight="@dimen/acti vity_horizontal_margin" ntal_margin" android:paddingTop="@dimen/activity_vertic android:paddingTop="@dimen/acti vity_vertical_margin" al_margin" tools:context=".ainActivity" tools:context=".ainActivity" android:#acground="@drawa*le/*ack" ! android:#acground="@drawa*le/*ack"
<utton android:id="@+id/*$tton" android:id="@+id/*$tton" android:layout_width="wrap_content" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_height="wrap_content" android:layout_alignaseline="@+id/*$tton1" android:layout_alignaseline="@+id/*$tton1" android:layout_alignotto&="@+id/*$tton1" android:layout_alignotto&="@+id/*$tton1" android:layout_to-ight5f="@+id/*$tton1" android:layout_to-ight5f="@+id/*$tton1" android:#acground="@drawa*le/*$tton1" android:#acground="@drawa*le/*$tton1" android:text*olor=",------" android:text*olor=",------" android:on*lic="Skor" android:on*lic="Skor" android:text="Skor" android:text="Skor" /! /!
<utton
android:id="@+id/*$tton(" android:id="@+id/*$tton(" android:layout_width="wrap_content" android:layout_width= "wrap_content" android:layout_height="wrap_content" android:layout_height="wrap_content" android:layout_align%eft="@+id/*$tton1" android:layout_align%eft="@+id/*$tton1" android:layout_#elow="@+id/*$tton1" android:layout_#elow="@+id/*$tton1" android:#acground="@drawa*le/*$tton1" android:#acground="@drawa*le/*$tton1" android:on*lic="*ant$an" android:on*lic="*ant$an" android:text*olor= ",------" android:text="8ant$an" android:text="8ant$an" /! /!
<utton android:id="@+id/*$tton" android:id="@+id/*$tton" android:layout_width="wrap_content" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_height="wrap_content" android:layout_align%eft="@+id/*$tton" android:layout_align%eft="@+id/*$tton" android:layout_#elow="@+id/*$tton" android:layout_#elow="@+id/*$tton" android:#acground="@drawa*le/*$tton1" android:#acground="@drawa*le/*$tton1" android:text*olor=",------" android:text*olor=",------" android:on*lic="kel$ar" android:on*lic="kel$ar" android:text="Cel$ar" android:text="Cel$ar" /! /!
<utton android:id="@+id/*$tton!" android:id="@+id/*$tton!" android:layout_width="0dp" android:layout_width="0dp" android:layout_height="!dp" android:layout_height="!dp" android:layout_#elow="@+id/*$tton(" android:layout_#elow="@+id/*$tton(" android:layout_&arginTop="1dp" android:layout_&arginTop="1dp" android:layout_to%eft5f="@+id/imageView1" android:layout_to%eft5f="@+id/imageView1" android:on*lic="-*" android:on*lic="-*" android:#acground="@drawa*le/-ace*ook" /! android:#acground="@drawa*le/-ace*ook"
<utton android:id="@+id/*$tton0" android:id="@+id/*$tton0" android:layout_width="!dp" android:layout_width="!dp" android:layout_height="!dp" android:layout_height="!dp" android:layout_alignaseline="@+id/*$tton!" android:layout_alignaseline="@+id/*$tton!" android:layout_alignotto&="@+id/*$tton!" android:layout_alignotto&="@+id/*$tton!" android:layout_center.oriontal="tr$e" android:layout_center.oriontal="tr$e" android:on*lic="ig" android:on*lic="ig" android:#acground="@drawa*le/twitter" /! android:#acground="@drawa*le/twitter" /!
<utton android:id="@+id/*$tton)" android:id="@+id/*$tton)" android:layout_width="!dp" android:layout_width="!dp" android:layout_height="!dp" android:layout_height="!dp" android:layout_alignaseline="@+id/*$tton0" android:layout_alignaseline="@+id/*$tton0" android:layout_alignotto&="@+id/*$tton0" android:layout_alignotto&="@+id/*$tton0" android:layout_&argin%eft="1dp" android:layout_&argin%eft="1dp" android:layout_to-ight5f="@+id/imageView1" android:layout_to-ight5f="@+id/imageView1" android:on*lic="tw" android:on*lic="tw" android:#acground="@drawa*le/ig" /! android:#acground="@drawa*le/ig"
<utton android:id="@+id/*$tton1" android:id="@+id/*$tton1" android:layout_width="wrap_content" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_height="wrap_content" android:layout_align%eft="@+id/imageView" android:layout_align%eft="@+id/imageView" android:layout_#elow="@+id/imageView" android:layout_#elow="@+id/imageView" android:layout_&argin%eft="1!dp" android:layout_&argin%eft="1!dp"
android:#acground="@drawa*le/*$tton1" android:#acground= "@drawa*le/*$tton1" android:on*lic="ain" android:on*lic="ain" android:text*olor=",------" android:text*olor=",------" android:text="ain" android:text="ain" /! /!
<7&ageView android:id="@+id/imageView" android:id="@+id/imageView" android:layout_width="(!dp" android:layout_width="(!dp" android:layout_height=")dp" android:layout_height=")dp" android:layout_#elow="@+id/imageView1" android:layout_#elow="@+id/imageView1" android:layout_center.oriontal="tr$e" android:layout_center.oriontal="tr$e" android:src="@drawa*le/k$is1" android:src="@drawa*le/k$is1" /! /!
<7&ageView android:id="@+id/imageView1" android:id="@+id/imageView1" android:layout_width="dp" android:layout_width="dp" android:layout_height="dp" android:layout_height="dp" android:layout_align$arentTop="tr$e" android:layout_align$arentTop="tr$e" android:layout_center.oriontal="tr$e" android:layout_center.oriontal="tr$e" android:layout_&arginTop=")dp" android:layout_&arginTop=")dp" android:src="@drawa*le/ic_la$ncher" android:src="@drawa*le/ic_la$ncher" /!
-elative%ayout! K%*e P'%'a& 4."/ Main3@l
Kode Progr! ;3,8 Main'@l eru$!k!n kode $rogr! 9!ng 'erfung"i un&uk e'u!& &!$il!n 5!l!!n u&!! d!ri !$lik!"i &e'!k g!'!r3
<>x&l version="1." version="1." encoding= encoding="$t-2" "$t-2">! >! <-elative%ayout x&lns:android="http://schemas.android.com/apk/res/android" x&lns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_height="match_parent" android:#acground="@drawa*le/*ack" ! android:#acground="@drawa*le/*ack"
<7&ageutton android:id="@+id/image8$tton(" android:id="@+id/image8$tton(" android:layout_width="wrap_content" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_height="wrap_content" android:layout_#elow="@+id/image8$tton" android:layout_#elow="@+id/image8$tton" android:layout_center.oriontal="tr$e" android:layout_center.oriontal="tr$e" android:on*lic="?nggas" android:on*lic="?nggas" android:layout_&arginTop="0dp" android:layout_&arginTop="0dp" android:#acground="@drawa*le/$nggass" /! android:#acground="@drawa*le/$nggass" /!
<7&ageutton android:id="@+id/image8$tton" android:id="@+id/image8$tton" android:layout_width="wrap_content" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_height="wrap_content" android:layout_align%eft="@+id/image8$tton(" android:layout_align%eft="@+id/image8$tton(" android:layout_#elow="@+id/image8$tton1" android:layout_#elow="@+id/image8$tton1" android:layout_&arginTop="dp" android:layout_&arginTop="dp" android:on*lic="mamalia" android:on*lic="mamalia" android:#acground="@drawa*le/mamalia" /! android:#acground="@drawa*le/mamalia" /!
<7&ageutton
android:id="@+id/image8$tton1" android:id="@+id/image8$tton1" android:layout_width="wrap_content" android:layout_width= "wrap_content" android:layout_height="wrap_content" android:layout_height="wrap_content" android:layout_align%eft="@+id/image8$tton" android:layout_align%eft="@+id/image8$tton" android:layout_#elow="@+id/imageView1" android:layout_#elow="@+id/imageView1" android:layout_&arginTop="1!dp" android:layout_&arginTop="1!dp" android:#acground="@drawa*le/rep" android:#acground="@drawa*le/rep" android:on*lic="reptil" /! android:on*lic="reptil" /!
<7&ageView android:id="@+id/imageView" android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_height="wrap_content" android:layout_align$arent%eft="tr$e" android:layout_align$arent%eft="tr$e" android:layout_align$arentTop="tr$e" android:layout_align$arentTop="tr$e" android:layout_&argin%eft="01dp" android:layout_&argin%eft="01dp" android:layout_&arginTop="1(dp" android:layout_&arginTop="1(dp" android:src="@drawa*le/ic_la$ncher" android:src="@drawa*le/ic_la$ncher" /!
<7&ageView android:id="@+id/imageView1" android:id="@+id/imageView1" android:layout_width="dp" android:layout_width="dp" android:layout_height="!dp" android:layout_height="!dp" android:layout_alignTop="@+id/imageView" android:layout_alignTop="@+id/imageView" android:layout_to-ight5f="@+id/imageView" android:layout_to-ight5f="@+id/imageView" android:src="@drawa*le/k$is1" android:src="@drawa*le/k$is1" /! /!
-elative%ayout! K%*e P'%'a& 4." K!&!gori3@l
Kode Kode Progr Progr! ! ;3,;3,- K!&! K!&!gor gorii'@ @ll eru$ eru$!k !k!n !n kode kode $rog $rogr! r! 9!ng !ng 'erfung"i un&uk e'u!& &!$il!n k!&!gori d!ri !$lik!"i ! $lik!"i &e'!k g!'!r 9!ng 'eri"i &ig! 'u!5 mageButton 9!ng en!$ilk!n k!&!gori re$&il# !!li!# d!n ungg!"3
<>x&l version="1." version="1." encoding= encoding="$t-2" "$t-2">! >! <-elative%ayout x&lns:android="http://schemas.android.com/apk/res/android" x&lns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_height="match_parent" android:#acground="@drawa*le/*ack" ! android:#acground="@drawa*le/*ack"
<7&ageView android:id="@+id/imageView" android:id="@+id/imageView" android:layout_width="dp" android:layout_width="dp" android:layout_height="!dp" android:layout_height="!dp" android:layout_alignotto&="@+id/imageView1" android:layout_alignotto&="@+id/imageView1" android:layout_to-ight5f="@+id/imageView1" android:layout_to-ight5f="@+id/imageView1" android:src="@drawa*le/k$is1" android:src="@drawa*le/k$is1" /! /!
android:text)ie="1!dp" android:#acground="," android:text*olor=",------" android:text="3e#tView" /!
<utton android:id="@+id/8" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignaseline="@+id/A" android:layout_alignotto&="@+id/A" android:layout_to-ight5f="@+id/A" android:#acground="@drawa*le/*$tton1" android:text="8$tton" /!
<utton android:id="@+id/" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_align-ight="@+id/A" android:layout_#elow="@+id/A" android:#acground="@drawa*le/*$tton1" android:text="8$tton" /!
<utton android:id="@+id/;" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_align-ight="@+id/8" android:layout_#elow="@+id/8" android:#acground="@drawa*le/*$tton1" android:text="8$tton" /!
<7&ageView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_align%eft="@+id/layar" android:layout_align$arentTop="tr$e" android:layout_&arginTop=")dp" android:src="@drawa*le/ic_la$ncher" /!
<utton android:id="@+id/A" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_align$arent%eft="tr$e" android:layout_#elow="@+id/soal" android:layout_&argin%eft="1dp" android:layout_&arginTop="1dp" android:#acground="@drawa*le/*$tton1" android:text="8$tton" /!
<7&ageView android:id="@+id/layar" android:layout_width="!dp" android:layout_height="dp" android:layout_#elow="@+id/imageView" android:layout_center.oriontal="tr$e"
android:layout_&arginTop="(dp" android:#acground="@drawa*le/layar" /!
-elative%ayout! K%*e P'%'a& 4.30 So!l3@l
Kode Progr! ;3,> So!l'@l eru$!k!n kode $rogr! 9!ng 'erfung"i un&uk e'u!& &!$il!n 5!l!!n "o!l 9!ng en!$ilk!n g!'!r deng!n enggun!k!n mageView "er&! $ili5!n :!7!'!n deng!n e$!& 'u!5 Button3
<>x&l version="1." encoding="$t-2">! <-elative%ayout x&lns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:#acground="@drawa*le/*ack" !
<7&ageView android:id="@+id/imageView" android:layout_width="!dp" android:layout_height="!dp" android:layout_alignTop="@+id/imageView1" android:layout_to-ight5f="@+id/imageView1" android:src="@drawa*le/k$is1" /!
<7&ageView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_align$arent%eft="tr$e" android:layout_align$arentTop="tr$e" android:layout_&argin%eft="1)dp" android:layout_&arginTop="()dp" android:src="@drawa*le/ic_la$ncher" /!
/!
/!
<utton android:id="@+id/*$tton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_align%eft="@+id/te#tView(" android:layout_#elow="@+id/edit3e#t1" android:layout_&arginTop="(dp" android:on*lic="simpan" android:#acground="@drawa*le/*$tton1" android:text*olor=",------" android:text="Simpan" /!
<utton android:id="@+id/*$tton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignaseline="@+id/*$tton1" android:layout_alignotto&="@+id/*$tton1" android:layout_to-ight5f="@+id/*$tton1" android:on*lic="tidak" android:text*olor=",------" android:#acground="@drawa*le/*$tton1" android:text="3idak" /!
Kode Progr! ;310 !"il'@l eru$!k!n kode $rogr! 9!ng 'erfung"i un&uk e'u!& &!$il!n 5!l!!n 5!"il d!ri "kor 9!ng di$erole53 Sel!in i&u# $!d! 5!l!!n ini :ug! &erd!$!& !ditText un&uk eng?input-k!n n!! :ik! "kor ingin di"i$!n3 <>x&l version="1." encoding="$t-2">! <-elative%ayout
x&lns:android="http://schemas.android.com/apk/res/android" android:id="@+id/7elative'ayo$t1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:#acground="@drawa*le/*ack" !
<7&ageView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_align$arent%eft="tr$e" android:layout_align$arentTop="tr$e" android:layout_&argin%eft="1!dp" android:layout_&arginTop="1dp" android:src="@drawa*le/ic_la$ncher" /!
<7&ageView android:id="@+id/imageView" android:layout_width="!dp" android:layout_height="!dp" android:layout_alignTop="@+id/imageView1" android:layout_to-ight5f="@+id/imageView1" android:src="@drawa*le/k$is1" /!
/!
<%istView android:id="@+id/listView" android:layout_width="(dp" android:layout_height="dp" android:layout_#elow="@+id/te#tView1" android:layout_center.oriontal="tr$e" android:layout_&arginTop="1(dp" android:#acground="@drawa*le/*ack" ! %istView!
<utton android:id="@+id/*$tton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_#elow="@+id/listView" android:layout_center.oriontal="tr$e" android:layout_&arginTop="11dp" android:#acground="@drawa*le/*$tton1" android:on*lic="*ack" android:text*olor= ",------" android:text="kem*ali" /!
-elative%ayout!
K%*e P'%'a& 4.3" T!$il3@l
Kode Progr! ;31/ T!$il'@l eru$!k!n kode $rogr! 9!ng 'erfung"i un&uk e'u!& &!$il!n 5!l!!n "kor 9!ng en!$ilk!n "kor 9!ng &el!5 di"i$!n d!l! 'en&uk ListView3
<>x&l version="1." encoding="$t-2">! <-elative%ayout x&lns:android="http://schemas.android.com/apk/res/android" android:id="@+id/7elative'ayo$t1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" !
<7&ageView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_align$arent%eft="tr$e" android:layout_align$arentTop="tr$e" android:layout_&argin%eft="(dp" android:src="@android:drawa*le/ic_men$_my_calendar" /!
Kode Progr! ;31, I"i T!$il'@l eru$!k!n kode $rogr! 9!ng 'erfung"i un&uk e'u!& i"i &!$il!n 5!l!!n "kor 9!ng en!$ilk!n "kor 9!ng &el!5 di"i$!n d!l! 'en&uk ListView3
<>x&l version="1." encoding="$t-2">! <-elative%ayout x&lns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent" android:#acground="@drawa*le/*ack" !
/!
<utton android:id="@+id/*$tton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_#elow="@+id/te#tView!" android:layout_center.oriontal="tr$e" android:layout_&arginTop="(dp" android:on*lic="kem*ali" android:#acground="@drawa*le/*$tton1" android:text*olor=",------" android:text="Cem*ali" /!
-elative%ayout! K%*e P'%'a& 4.34 %!n&u!n3@l
Kode Progr! ;311 %!n&u!n'@l eru$!k!n kode $rogr! 9!ng 'erfung"i un&uk e'u!& &!$il!n 5!l!!n '!n&u!n 9!ng 'eru$! TextView3
4.)."
U# =%9a Al#+a# Te9a+ Ga&9a'
T!$il!n $er&!! "e&el!5 e'uk! !$lik!"i Kui" G!'!r d!$!& dili5!& $!d! G!'!r ;31>3
Ga&9a' 4.3 Loading
!l!!n $e'uk! ini !k!n un4ul g!'!r "e$er&i g!'!& ;31> d!n enunggu "e'en&!r progres bar "ed!ng 'erl!ng"ung :ik! "ud!5 "ele"!i !k! !k!n l!ng"ung en!$ilk!n &!$il!n 5!l!!n enu u&!!3
Ga&9a' 4.40 Menu U&!!
G!'!r ;3;0 Menu u&!! eru$!k!n &!$il!n u&!! d!ri !$lik!"i Ku"i G!'!r &erd!$!& 'e'er!$! $ili5!n Button 9!i&u M!in un&uk e!ink!n !$lik!"i# Skor un&uk eli5!& "kor 9!ng did!$! %!n&u!n un&uk e!ndu $eul! un&uk eul!i game# d!n Kelu!r un&uk enu&u$ !$lik!"i3 Jik! eili5 enu M!in !k! !k!n di !r!5k!n ke enu k!&egor3
Ga&9a' 4.40 Menu K!&!gori
G!'!r ;3;0 Menu k!&!gori eru$!k!n enu "el!n:u&n9! "e&el!5 eili5 enu M!in3 Menu un&uk eili5 k!&!gori game 9!ng ingin di!ink!n# d!l! enu ini &erd!$!& &ig! k!&egori 9!i&u re$&il# !!li!# d!n ungg!"3 Se&el!5 eili5 k!&!gori !k! !k!n di!r!5k!n enu:u 5!l!!n "o!l3
Ga&9a' 4.41 Menu So!l
G!'!r ;3;/ Menu So!l eru$!k!n 5!l!!n d!ri "o!l $!d! enu Ungg!"H 9!ng &erdiri d!ri "e$ulu5 "o!l3
Ga&9a' 4.4" Menu Skor
G!'!r ;3;, Menu Skor eru$!k!n &!$il!n "e&el!5 "ele"!i 'er!in di!n! !k!n di&!$ilk!n !kuul!"i "kor 9!ng did!$!&k!n3 Terd!$!& fi&ur en9i$!n "kor deng!n 4!r! el!kuk!n input n!! $!d! !ditText 9!ng &el!5 di'eri hint M!"uk!n N!!3 Jik! &id!k e!"uk!n n!! !k! &id!k d!$!& en9i$!n "kor d!n !k!n un4ul $e"!n !nd! 5!ru" e!"uk!n n!!3 Jik! "ud!5 engi"i n!! d!n eili5 &o'ol Si$!n !k! !k!n di !r!5k!n ke &!$il!n "kor $!d! G!'!r ;3;1 T!$il!n Skor3
Ga&9a' 4.43 T!$il!n Skor
G!'!r ;3;1 T!$il!n Skor eru$!k!n &!$il!n d!ri "kor 9!ng &el!5 di"i$!n di!n! d!&! 9!ng di&!$ilk!n 'er!"!l d!ri d!&! d!l! database 9!i&u 9!ng &erd!$!& d!l!
6A6 V PENUTUP
%!' $enu&u$ 'eri"i "i$ul!n &en&!ng 5!l 9!ng &el!5 di'!5!" $!d! '!'?'!' "e'elun9! "er&! e'erik!n "!r!n un&uk $enge'!ng!n le'i5 l!n:u&3 5.1
#&ulan
Si$ul!n
9!ng
d!$!&
di!'il
d!l!
l!$or!n
!k5ir
Pr!k&iku
Perogr!!n Mo'ile ini i!l!5) 1'
Pengu!"!!n d!l! $enggun!!n widget "!ng!& 'ergun! d!l! $e'u!&!n
('
"e'u!5 forulir !&!u .orm d!l! "e'u!5 !$lik!"i android 3 Seluru5 widget d!$!& di"i"i$i listener un&uk e'erik!n a%tion &er&en&u "e"u!i deng!n keingin!n programmer 3
3'
Android Li.e%y%le !&!u "iklu" 5idu$ #%ti*ity !ndroid eiliki methodmethod 9!ng !k!n 'er:!l!n "e"u!i deng!n fung"in9! !"ing?!"ing
4'
ke&ik! $rogr! Android di:!l!nk!n3 Siklu" idu$ #%ti*ity $!d! Android di:!l!nk!n "e4!r! 'er&!5!$ 9!ng di'!gi d!l! e$!& f!"e 9!i&u f!"e Start an #%ti*ity+ "ausing and ,esuming an #%ti*ity+ Stopping and ,estarting an #%ti*ity+ d!n
:'
2estroying an #%ti*ity' List*iew !d!l!5 *iew group 9!ng digun!k!n un&uk en!$ilk!n item
deng!n &!$il!n "e4!r! *erti%al list 3 List*iew eiliki property 7!:i' 9!i&u layoutheight+ layoutwidth+ d!n ID3 List*iew :ug! eiliki %lass List#%ti*ity 9!ng k5u"u" en!ng!ni ListView3
5."
a'an
S!r!n 9!ng d!$!& di'erik!n d!l! l!$or!n !k5ir Pr!k&iku Perogr!!n Mo'ile ini i!l!5 $rogr! 9!ng d!&! !5!"i"7! 9!ng di'u!& ini $erlu di"e$urn!k!n &eru&!! d!l! $enggun!!n %!5!"! Indone"i! d!n %!5!"! Inggri" d!l! !$lik!"i3