Anda di halaman 1dari 17

LAPORAN

MOBILE COMPUTING
TEST KOMPUTER MANDIRI
Oleh :
Nama : Rida Ikrar Prasetyo
Nim : 5302411237
Rombel : 1
PEND. TIK TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS NEGERI SEMARANG
2014
Penjelaan
Program ini pada renananya yait! did!nakan !nt!k sarana bela"ar omp!ter# Pada saat
pertama kali dig!nakan pengg!na diminta !nt!k memas!kkan Nama sebel!m aplikasi#
Pengg!na aplikasi ini akan diberikan 10 soal yang diberikan seara aak#$etiap soal
diberikan 4 "a%aban dimana salah sat! diantara keempatnya benar#
Pengg!na diberi kesempatan selama &5 detik !nt!k men"a%ab sem!a pertanyaan 'ika
tidak diselesaikan dalam %akt! terseb!t maka skor !nt!k %akt! akan men"adi 0#
$etiap "a%aban yang benar akan diberi nilai 10 sedangkan kala! salah ma!p!n tidak
di"a%ab tidak dilak!kan penalty dan tidak dilak!kan penambahan#
$etelah selesai menger"akan 10 pertanyaan maka seara otomatis akan berpindak ke
halaman hasil dimana:
(alam program ini ada 10 )ile yang perl! diperhatikan#
1# *!i+#"a,a
-elas ini dig!nakan !nt!k menamp!ng nilai dari 10 soal yang akan ditampilkan#
package rida.ip.androidtestdatabase.entity;
public class Quiz {
private int id;
private String soal;
private String jawaban_a;
private String jawaban_b;
private String jawaban_c;
private String jawaban_d;
private String jawaban_benar;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getSoal() {
return soal;
}
public void setSoal(String soal) {
this.soal = soal;
}
public String getawaban_a() {
return jawaban_a;
}
public void setawaban_a(String jawaban_a) {
this.jawaban_a = jawaban_a;
}
public String getawaban_b() {
return jawaban_b;
}
public void setawaban_b(String jawaban_b) {
this.jawaban_b = jawaban_b;
}
public String getawaban_c() {
return jawaban_c;
}
public void setawaban_c(String jawaban_c) {
this.jawaban_c = jawaban_c;
}
public String getawaban_d() {
return jawaban_d;
}
public void setawaban_d(String jawaban_d) {
this.jawaban_d = jawaban_d;
}
public String getawaban_benar() {
return jawaban_benar;
}
public void setawaban_benar(String jawaban_benar) {
this.jawaban_benar = jawaban_benar;
}
}
2# (./dapter#"a,a
0ebih tepatnya -elas inilah yang bertangg!ng"a%ab mengh!b!ngkan aplikasi dengan
database $*0ite
package rida.ip.androidtestdatabase.util;
import rida.ip.androidtestdatabase.entity.Quiz;
import ja!a.util."rray#ist;
import ja!a.util.#ist;
import co$.readystateso%tware.s&liteasset.SQ#ite"sset'elper;
import android.content.(onte)t;
import android.database.(ursor;
import android.database.s&lite.SQ#ite*atabase;
public class *+"dapter extends SQ#ite"sset'elper
{
private static final String DB_NAME
= ,db_test.db,;
private static final int DB_VER
= -;
public static final String TABLE_SOAL
= ,table_soal,;
public static final String COL_SOAL_ID
= ,id,;
public static final String COL_SOAL_SOAL
= ,soal,;
public static final String COL_SOAL_JAWABAN_A
= ,jawab_a,;
public static final String COL_SOAL_JAWABAN_B
= ,jawab_b,;
public static final String COL_SOAL_JAWABAN_C
= ,jawab_c,;
public static final String COL_SOAL_JAWABAN_D
= ,jawab_d,;
public static final String COL_SOAL_JAWABAN_BENAR =
,jawab_benar,;
private static *+"dapter dbInstance
= null;
private static SQ#ite*atabase db;
private *+"dapter((onte)t conte)t)
{
super(conte)t. DB_NAME. null. DB_VER);
}
public static *+"dapter getInstance((onte)t conte)t)
{
if (dbInstance == null)
{
dbInstance = new *+"dapter(conte)t);
db = dbInstance.get/ritable*atabase();
}
return dbInstance;
}
01!erride
public synchronized void close()
{
super.close();
if (dbInstance 2= null)
{
dbInstance.close();
}
}
public #ist3Quiz4 get"llSoal()
{
#ist3Quiz4 listSoal = new "rray#ist3Quiz4();
(ursor cursor = db.&uery(TABLE_SOAL. new String56
{
COL_SOAL_ID.
COL_SOAL_SOAL.
COL_SOAL_JAWABAN_A.
COL_SOAL_JAWABAN_B.
COL_SOAL_JAWABAN_C.
COL_SOAL_JAWABAN_D.
COL_SOAL_JAWABAN_BENAR
}. null. null. null. null. null.null);
if (cursor.$o!e7o8irst())
{
do
{
Quiz &uiz = new Quiz();
&uiz.setId(cursor.getInt(cursor.get(olu$nInde)1r79row(COL_SOAL_ID)));
&uiz.setSoal(cursor.getString(cursor.get(olu$nInde)1r79row(COL_SOAL_SOA
L)));
&uiz.setawaban_a(cursor.getString(cursor.get(olu$nInde)1r79row(COL_SOA
L_JAWABAN_A)));
&uiz.setawaban_b(cursor.getString(cursor.get(olu$nInde)1r79row(COL_SOA
L_JAWABAN_B)));
&uiz.setawaban_c(cursor.getString(cursor.get(olu$nInde)1r79row(COL_SOA
L_JAWABAN_C)));
&uiz.setawaban_d(cursor.getString(cursor.get(olu$nInde)1r79row(COL_SOA
L_JAWABAN_D)));
&uiz.setawaban_benar(cursor.getString(cursor.get(olu$nInde)1r79row(COL
_SOAL_JAWABAN_BENAR)));
listSoal.add(&uiz);
} while (cursor.$o!e7o:e)t());
}
return listSoal;
}
}
3# 1tils#"a,a
2ile ini dig!nakan !nt!k deb!g semata sehingga ,ariable dalam loghat %akt! aplikasi
di"alankan di em!lator
package rida.ip.androidtestdatabase.util;
import android.util.#og;
import rida.ip.s&litetestdatabase.+uild(on%ig;;;
public class ;tils
{
public static void 7<"(=(String 7">. String $essage)
{
if (+uild(on%ig.DEBUG)
{
#og.d(7">. $essage);
}
}
}
4# Inp!t1ser/ti,ity#"a,a
2ile ini lah yang bert!gas %akt! !ser melak!kan inp!t nama
package rida.ip.s&litetestdatabase;
import android.os.+undle;
import android.app."cti!ity;
import android.!iew.?enu;
public class Input;ser"cti!ity extends "cti!ity {
01!erride
protected void on(reate(+undle sa!edInstanceState) {
super.on(reate(sa!edInstanceState);
set(ontent@iew(<.layout.input_user);
}
01!erride
public boolean on(reate1ptions?enu(?enu $enu) {
AA In%late t9e $enu; t9is adds ite$s to t9e action bar i% it
is present.
get?enuIn%later().in%late(<.$enu.input_user. $enu);
return true;
}
}
5# 3ain/ti,ity#"a,a
2ile ini bertangg!ng"a%ab ketika test sedang melak!kan test
package rida.ip.s&litetestdatabase;
import ja!a.util.(ollections;
import ja!a.util.#ist;
import rida.ip.androidtestdatabase.entity.Quiz;
import rida.ip.androidtestdatabase.util.*+"dapter;
import rida.ip.androidtestdatabase.util.;tils;
import co$.actionbars9erlocB.app.S9erlocB"cti!ity;
import android.app."lert*ialog;
import android.content.Intent;
import android.os.+undle;
import android.os.(ount*own7i$er;
import android.!iew.#ayoutIn%later;
import android.!iew.@iew;
import android.!iew.@iew.1n(licB#istener;
import android.widget.+utton;
import android.widget.=dit7e)t;
import android.widget.<adio+utton;
import android.widget.<adio>roup;
import android.widget.7e)t@iew;
import android.widget.7oast;
public class ?ain"cti!ity extends S9erlocB"cti!ity implements
1n(licB#istener
{
private static final String TAG =
?ain"cti!ity.class.get:a$e();
private 7e)t@iew soal. user. t)tScore. soal(ounter.
ti$er;
private +utton btn:e)t;
private <adio>roup rg_answer;
private <adio+utton rb_". rb_+. rb_(.rb_*;
private *+"dapter $*b;
private #ist3Quiz4 $#istQuiz;
private Quiz $Quiz;
private (ount*own7i$er $(ount*own7i$er;
private int $Score;
private int $7i$e = C;
private int currentSoal = C;
private static final int i!isec"nd = -CCC;
private static final int sec"nd = DC;
private static final int deti# = sec"nd E i!isec"nd;
01!erride
protected void on(reate(+undle sa!edInstanceState)
{
super.on(reate(sa!edInstanceState);
set(ontent@iew(<.layout.acti$it%_ain);
AA instance db"dapter
$*b = *+"dapter.&etInstance(this);
AA get data soal
$#istQuiz = $*b.get"llSoal();
AA acaB list
(ollections.s'u((!e($#istQuiz);
setup@iew();
AA ta$pilBan input userna$e
s9owInput;ser();
}
AEE
E state awal &uiz..
EA
private void $ulaiQuiz()
{
setupSoal();
setup7i$er();
}
AEE
E input user na$e
EA
private void s9owInput;ser()
{
#ayoutIn%later $In%later = #ayoutIn%later.(r"(this);
@iew ! = $In%later.in%late(<.layout.input_user. null);
final "lert*ialog dialog = new
"lert*ialog.+uilder(this).create();
dialog.set@iew(!);
dialog.set7itle(,Input ;serna$e,);
final +utton btn1B = (+utton) !.%ind@iew+yId(<.id.btnO#);
final =dit7e)t input;ser = (=dit7e)t)
!.%ind@iew+yId(<.id.inputUser);
btn1B.set1n(licB#istener(new @iew.1n(licB#istener()
{
01!erride
public void on(licB(@iew !)
{
user.set7e)t(input;ser.get7e)t().toString());
$ulaiQuiz();
dialog.dis$iss();
}
});
dialog.s9ow();
}
AEE
E Set ti$er
EA
private void setup7i$er()
{
$(ount*own7i$er = new (ount*own7i$er(deti#. -CCC)
{
01!erride
public void on7icB(long $illis;ntil8inis9ed)
{
AA TODO "utoFgenerated $et9od stub
ti$er.set7e)t(,ti$eG , H $illis;ntil8inis9ed A
-CCC H, detiB,);
$7i$e = (int) ($illis;ntil8inis9ed A -CCC);
}
01!erride
public void on8inis9()
{
AA TODO "utoFgenerated $et9od stub
ti$er.set7e)t(,ti$eG C detiB,);
7oast.a#eTe)t(?ain"cti!ity.this. ,/aBtu 'abis,.
7oast.LENGT*_S*ORT).s9ow();
}
};
$(ount*own7i$er.start();
}
AEE
E setup soal
EA
private void setupSoal()
{
;tils.TRACE(TAG. ,Soal Be F , H currentSoal);
;tils.TRACE(TAG. ,Size F , H $#istQuiz.size());
AA clear c9ecBed radiobutton
rg_answer.clear(9ecB();
AA get soal berdasar inde)
$Quiz = $#istQuiz.get(currentSoal);
AA set counter soal
soal(ounter.set7e)t(,Soal Be F , H (currentSoal H -));
AA set soalnya
soal.set7e)t($Quiz.getSoal());
rb_".set7e)t(,". , H $Quiz.getawaban_a());
rb_+.set7e)t(,+. , H $Quiz.getawaban_b());
rb_(.set7e)t(,(. , H $Quiz.getawaban_c());
rb_*.set7e)t(,*. , H $Quiz.getawaban_d());
currentSoalHH;
}
AEE
E ;ntuB setup !iew
EA
private void setup@iew()
{
soal = (7e)t@iew) %ind@iew+yId(<.id.t)tS"a!);
soal(ounter = (7e)t@iew) %ind@iew+yId(<.id.t)tS"a!C"unt);
t)tScore = (7e)t@iew) %ind@iew+yId(<.id.t)tSc"re);
user = (7e)t@iew) %ind@iew+yId(<.id.t)tUser);
ti$er = (7e)t@iew) %ind@iew+yId(<.id.tier);
t)tScore.set7e)t(,Score G , H $Score);
rb_" = (<adio+utton) %ind@iew+yId(<.id.rb_A);
rb_+ = (<adio+utton) %ind@iew+yId(<.id.rb_B);
rb_( = (<adio+utton) %ind@iew+yId(<.id.rb_C);
rb_* = (<adio+utton) %ind@iew+yId(<.id.rb_D);
rg_answer = (<adio>roup) %ind@iew+yId(<.id.r&Ans+er);
btn:e)t = (+utton) %ind@iew+yId(<.id.btnNe)t);
btn:e)t.set1n(licB#istener(this);
}
01!erride
public void on(licB(@iew !)
{
if (! == btn:e)t)
{
if (get"nswer().e&uals($Quiz.getawaban_benar()))
{
$Score H= -C;
t)tScore.set7e)t(,Score G , H $Score);
AA setupSoal();
}
if (currentSoal 3 $#istQuiz.size())
{
setupSoal();
} else
{
$7i$e = sec"nd F $7i$e;
+undle bundle = new +undle();
bundle.putString(,user,.
user.get7e)t().toString());
bundle.putInt(,score,. $Score);
bundle.putInt(,ti$e,. $7i$e);
Intent i = new Intent(?ain"cti!ity.this.
<esult"cti!ity.class);
i.put=)tras(bundle);
start"cti!ity(i);
%inis9();
}
;tils.TRACE(TAG. ,Iour score , H $Score);
}
}
AEE
E ?et9od untuB $engeceB radio button yang dipili9
E
E @return nilai ". + atau (
EA
private String get"nswer()
{
if(rg_answer.get(9ecBed<adio+uttonId()==<.id.rb_A){
return ,",;
}else if(rg_answer.get(9ecBed<adio+uttonId()==<.id.rb_B){
return ,+,;
}else if(rg_answer.get(9ecBed<adio+uttonId()==<.id.rb_C){
return ,(,;
}else if(rg_answer.get(9ecBed<adio+uttonId()==<.id.rb_D){
return ,*,;
}
return ,,;
}
}
4# Res!lt/ti,ity#"a,a
2ile ini mer!pakan ati,ity yang terakhir di"alankan setelah tes selesai ma!p!n telah 10
kali men"a%ab pertanyaan#
pakage rida#ip#s5litetestdatabase6
import android#os#.!ndle6
import android#app#/ti,ity6
import android#ontent#Intent6
import android#,ie%#3en!6
import android#%idget#7e8t9ie%6
p!bli lass Res!lt/ti,ity e8tends /ti,ity
:
pri,ate 7e8t9ie% res!lt6
;O,erride
proteted ,oid on<reate=.!ndle sa,edInstane$tate>
:
s!per#on<reate=sa,edInstane$tate>6
set<ontent9ie%=R#layo!t#ati,ity?res!lt>6
res!lt @ =7e8t9ie%> )ind9ie%.yId=R#id#hasil>6
.!ndle b @ getIntent=>#getA8tras=>6
i) =b B@ n!ll>
:
res!lt#set7e8t=CNama : C D b#get$tring=C!serC>D CEn$ore: C D
b#getInt=CsoreC>
D CEn$isa : C D b#getInt=CtimeC>DC detikC>6
F
F
;O,erride
p!bli boolean on<reateOptions3en!=3en! men!>
:
GG In)late the men!6 this adds items to the ation bar i) it is present#
get3en!In)later=>#in)late=R#men!#res!ltH men!>6
ret!rn tr!e6
F
;O,erride
p!bli ,oid on.akPressed=>
:
s!per#on.akPressed=>6
start/ti,ity=ne% Intent=thisH 3ain/ti,ity#lass>>6
)inish=>6
F
p!bli ,oid kel!ar=>:
$ystem#e8it=0>6
F
F
7# ati,ity?main#8ml
2ile ini menamp!ng design dari soal tes yang diberikan
3<elati!e#ayout
)$lnsGandroid=,'ttp-..sc'eas/andr"id/c".ap#.res.andr"id,
)$lnsGtools=,'ttp-..sc'eas/andr"id/c".t""!s,
androidGlayout_widt9=,atc'_parent,
androidGlayout_9eig9t=,atc'_parent,
androidGbacBground=,0dra+ab!e.b&,
toolsGconte)t=,/MainActi$it%, 4
37e)t@iew
androidGid=,01id.t)tUser,
androidGlayout_widt9=,+rap_c"ntent,
androidGlayout_9eig9t=,+rap_c"ntent,
androidGlayout_alignJarent7op=,true,
androidGte)t=,, A4
37e)t@iew
androidGid=,01id.t)tS"a!C"unt,
androidGlayout_widt9=,+rap_c"ntent,
androidGlayout_9eig9t=,+rap_c"ntent,
androidGlayout_alignJarent7op=,true,
androidGlayout_center'orizontal=,true,
androidGte)t=,, A4
37e)t@iew
androidGid=,01id.tier,
androidGlayout_widt9=,+rap_c"ntent,
androidGlayout_9eig9t=,+rap_c"ntent,
androidGlayout_below=,0id.t)tS"a!C"unt,
androidGlayout_center'orizontal=,true,
androidGte)t=,, A4
37e)t@iew
androidGid=,01id.t)tSc"re,
androidGlayout_widt9=,+rap_c"ntent,
androidGlayout_9eig9t=,+rap_c"ntent,
androidGlayout_alignJarent<ig9t=,true,
androidGlayout_alignJarent7op=,true,
androidGte)t=,, A4
3#inear#ayout
androidGid=,01id.ainC"ntent,
androidGlayout_widt9=,atc'_parent,
androidGlayout_9eig9t=,atc'_parent,
androidGlayout_below=,0id.tier,
androidGorientation=,$ertica!,
androidGweig9tSu$=,2, 4
3#inear#ayout
androidGlayout_widt9=,atc'_parent,
androidGlayout_9eig9t=,3dp,
androidGlayout_weig9t=,4,
androidGgra!ity=,center_$ertica!5center_'"ri6"nta!, 4
37e)t@iew
androidGid=,01id.t)tS"a!,
androidGlayout_widt9=,+rap_c"ntent,
androidGlayout_9eig9t=,+rap_c"ntent,
androidGte)t=,Du% Tect, A4
3A#inear#ayout4
3#inear#ayout
androidGlayout_widt9=,atc'_parent,
androidGlayout_9eig9t=,3dp,
androidGlayout_weig9t=,4,
androidGgra!ity=,center_'"ri6"nta!,
androidGorientation=,$ertica!, 4
3<adio>roup
androidGid=,01id.r&Ans+er,
androidGlayout_widt9=,atc'_parent,
androidGlayout_9eig9t=,atc'_parent,
androidGorientation=,$ertica!, 4
3<adio+utton
androidGid=,01id.rb_A,
androidGlayout_widt9=,atc'_parent,
androidGlayout_9eig9t=,+rap_c"ntent,
androidGte)t=,, A4
3<adio+utton
androidGid=,01id.rb_B,
androidGlayout_widt9=,atc'_parent,
androidGlayout_9eig9t=,+rap_c"ntent,
androidGte)t=,, A4
3<adio+utton
androidGid=,01id.rb_C,
androidGlayout_widt9=,atc'_parent,
androidGlayout_9eig9t=,+rap_c"ntent,
androidGte)t=,, A4
3<adio+utton
androidGid=,01id.rb_D,
androidGlayout_widt9=,atc'_parent,
androidGlayout_9eig9t=,+rap_c"ntent,
androidGte)t=,, A4
3A<adio>roup4
3A#inear#ayout4
3+utton
androidGid=,01id.btnNe)t,
androidGlayout_widt9=,atc'_parent,
androidGlayout_9eig9t=,+rap_c"ntent,
androidGte)t=,0strin&.ne)t, A4
3A#inear#ayout4
3A<elati!e#ayout4
&# ati,ity?res!lt#8ml
2ile ini menamp!ng design setelah melak!kan tes
3<elati!e#ayout
)$lnsGandroid=,'ttp-..sc'eas/andr"id/c".ap#.res.andr"id,
)$lnsGtools=,'ttp-..sc'eas/andr"id/c".t""!s,
androidGlayout_widt9=,atc'_parent,
androidGlayout_9eig9t=,atc'_parent,
androidGpadding+otto$=,0dien.acti$it%_$ertica!_ar&in,
androidGpadding#e%t=,0dien.acti$it%_'"ri6"nta!_ar&in,
androidGpadding<ig9t=,0dien.acti$it%_'"ri6"nta!_ar&in,
androidGpadding7op=,0dien.acti$it%_$ertica!_ar&in,
androidGbacBground=,0dra+ab!e.b&,
toolsGconte)t=,/Resu!tActi$it%, 4
3#inear#ayout
androidGid=,01id.ainC"ntent,
androidGlayout_widt9=,atc'_parent,
androidGlayout_9eig9t=,atc'_parent,
androidGlayout_below=,0id.tier,
androidGorientation=,$ertica!,
androidGweig9tSu$=,2,
4
37e)t@iew
androidGid=,01id.'asi!,
androidGlayout_widt9=,atc'_parent,
androidGlayout_9eig9t=,+rap_c"ntent, A4
3+utton
androidGid=,01id.#eba!i,
androidGlayout_widt9=,atc'_parent,
androidGlayout_9eig9t=,+rap_c"ntent,
androidGte)t= ,8e!uar,
androidGon(licB=,#e!uar,
A4
3A#inear#ayout4
3A<elati!e#ayout4
I# inp!t?!ser#8ml
2ile ini menamp!ng design !nt!k inp!t nama
3K)$l !ersion=,4/3, encoding=,ut(9:,K4
3#inear#ayout
)$lnsGandroid=,'ttp-..sc'eas/andr"id/c".ap#.res.andr"id,
androidGid=,01id.LinearLa%"ut4,
androidGlayout_widt9=,atc'_parent,
androidGlayout_9eig9t=,atc'_parent,
androidGorientation=,$ertica!, 4
3=dit7e)t
androidGid=,01id.inputUser,
androidGlayout_widt9=,atc'_parent,
androidGlayout_9eig9t=,+rap_c"ntent,
androidG9int=,0strin&.usernae, A4
3+utton
androidGid=,01id.btnO#,
androidGlayout_widt9=,atc'_parent,
androidGlayout_9eig9t=,+rap_c"ntent,
androidGte)t=,0strin&."#, A4
3A#inear#ayout4
10# db?test#db
2ile yang terakhir adalah yang ber)!ngsi menyimpan data dalam database# 0ebih tepatnya
)ile ini adalah databasenya

Anda mungkin juga menyukai