289
android:background=00ffffff android:layout_centerVertical=true
android:layout_alignParentRight=true android:layout_alignParentEnd=true
RelativeLayout RelativeLayout
C. Kode Uji Kemampuan
public class
KuisKemampuan
extends
Activity { SharedPreferences
sharedPreferences
; Database
db ;
String level
, jawaban
, Nilai_sebelum
; Cursor
cursor
;
int Nilai
= ;
boolean check
= true
;
int nilai_sekarang
= ;
int NomorSoal
= ;
TextView
soal
; RadioGroup
radiogroup
; RadioButton
jawaban1 ,
jawaban2 ,
jawaban3 ,
jawaban4 ,
jawaban5 ;
MediaPlayer
mp
; Override
protected void onCreateBundle savedInstanceState {
super .onCreatesavedInstanceState;
setContentViewR.layout. activity_kuis_kemampuan
;
sharedPreferences
= getSharedPreferences
Configure
, Context.
MODE_PRIVATE ;
db
=
new
Database
this
;
mp
= MediaPlayer.create
this
, R.raw. suara_klik
;
level =
sharedPreferences .getString
level ,
null ;
Nilai_sebelum =
sharedPreferences .getString
Nilai ,
null ;
ImageView judul = ImageView findViewByIdR.id.
judul ;
switch level
{
case 1
: judul.setImageResourceR.drawable.
level1
;
break
;
case 2
: judul.setImageResourceR.drawable.
level2 ;
break
;
case 3
: judul.setImageResourceR.drawable.
level3
;
break
;
case 4
: judul.setImageResourceR.drawable.
level4 ;
break ;
case 5
: judul.setImageResourceR.drawable.
level5 ;
break
; }
290
soal
= TextView findViewByIdR.id. soal
;
radiogroup = RadioGroupfindViewByIdR.id.
radioGroup ;
jawaban1 = RadioButton findViewByIdR.id.
radio1 ;
jawaban2
= RadioButton findViewByIdR.id. radio2
;
jawaban3
= RadioButton findViewByIdR.id. radio3
;
jawaban4
= RadioButton findViewByIdR.id. radio4
;
jawaban5 = RadioButton findViewByIdR.id.
radio5 ;
cursor
=
db
.Kemampuan
level
;
if cursor
.moveToFirst { tampilSoal;
Next; }
else finish;
}
private void
tampilSoal{ TextView nomor = TextView findViewByIdR.id.
nomor ;
nomor.setTextString.valueOf
NomorSoal
+ 1
+
10
;
radiogroup
.clearCheck; ImageView imageView = ImageView findViewByIdR.id.
imageView ;
imageView.setVisibilityView. GONE
;
if cursor
.getString
cursor
.getColumnIndex
gambar
.isEmpty { imageView.setVisibilityView.
VISIBLE ;
int resID =
getResources.getIdentifier cursor
.getString cursor
.getColumnIndex gam
bar ,
drawable , getPackageName;
imageView.setImageResourceresID; }
soal
.setText
cursor
.getString
cursor
.getColumnIndex
soal
; set radio button jawaban
jawaban1
.setText
cursor
.getString
cursor
.getColumnIndex
jawab1
;
jawaban2 .setText
cursor .getString
cursor .getColumnIndex
jawab2 ;
jawaban3
.setText
cursor
.getString
cursor
.getColumnIndex
jawab3
;
jawaban4 .setText
cursor .getString
cursor .getColumnIndex
jawab4 ;
jawaban5
.setText
cursor
.getString
cursor
.getColumnIndex
jawab5
;
jawaban
=
cursor
.getString
cursor
.getColumnIndex
benar
; Log.d
jawaban
,
cursor .getString
cursor .getColumnIndex
benar ;
check
=
true
;
NomorSoal
=
NomorSoal
+ 1
; }
private void Next {
ImageView next = ImageView findViewByIdR.id.
next
; next.setOnClickListener
new
View.OnClickListener { Override
public void
onClickView v { Log.d
Nilai , String.valueOf
Nilai ;
mp
.start;
if cekJawaban {
291
if cursor
.moveToNext { tampilSoal;
}
else {
showJawaban; }
} }
}; }
private boolean
cekJawaban {
if check
{
if radiogroup
.getCheckedRadioButtonId == - 1
{ Toast.makeTextKuisKemampuan.
this
,
pilih jawaban
, Toast.
LENGTH_SHORT .show;
return false
; }
else {
int
selected =
radiogroup
.getCheckedRadioButtonId; RadioButton select = RadioButton
findViewByIdselected;
db .UpdateJawabanKemampuan
cursor .getString
cursor .getColumnIndex
_id
, select.getText.toString;
if jawaban
.equalsselect.getText.toString {
Nilai =
Nilai +
1 ;
}
check =
false ;
} }
return true
; }
private void
showJawaban { LayoutInflater inflater = getLayoutInflater;
View body = inflater.inflateR.layout.
list ,
null
;
final ListView listView = ListView
body.findViewByIdR.id. listView
;
cursor
=
db
.Kemampuan
level
; JawabanAdapter adapter =
new
JawabanAdapterKuisKemampuan.
this
,
cursor ,
; listView.setAdapteradapter;
nilai_sekarang
=
Nilai
2 + Integer.parseInt
Nilai_sebelum
;
new
AlertDialog.Builder
this
.setTitle Nilai Sebelumnya =
+ Nilai_sebelum
+ ,
Sekarang = + String.valueOf
nilai_sekarang
.setViewbody .setCancelable
true
.setPositiveButton
Simpan
,
new
DialogInterface.OnClickListener {
public void onClickDialogInterface dialog,
int id
{ String nilai1 =
sharedPreferences
.getString
Nilai1
,
null
; String nilai2 =
sharedPreferences .getString
Nilai2 ,
null ;
String nilai3 =
sharedPreferences
.getString
Nilai3
,
null
; String nilai4 =
sharedPreferences .getString
Nilai4 ,
null ;
292
String nilai5 =
sharedPreferences .getString
Nilai5 ,
null ;
SharedPreferences.Editor editor =
sharedPreferences
.edit; editor.putString
Nilai
, String.valueOf
nilai_sekarang ;
switch level
{
case 1
: editor.putString
level
,
2
;
break
;
case 2
: editor.putString
level ,
3 ;
break
;
case 3
: editor.putString
level
,
4
;
break ;
case 4
: editor.putString
level
,
5
;
break
;
case 5
: editor.putString
level ,
null ;
if nilai1 ==
null {
editor.putString
Nilai1
, String.valueOf
nilai_sekarang
; }
else if nilai2 ==
null {
editor.putString Nilai2
, String.valueOf
nilai_sekarang ;
}
else if
nilai3 ==
null
{ editor.putString
Nilai3
, String.valueOf
nilai_sekarang
; }
else if
nilai4 ==
null
{ editor.putString
Nilai4 ,
String.valueOf
nilai_sekarang
; }
else if
nilai5 ==
null
{ editor.putString
Nilai5
, String.valueOf
nilai_sekarang ;
}
break
; }
editor.apply;
if level
.equals
5
{
new
AlertDialog.BuilderKuisKemampuan.
this
.setMessage
Level selanjutnya?
.setPositiveButton
Mulai Kuis
,
new
DialogInterface.OnClickListener {
public void
onClickDialogInterface dialog,
int
whichButton { Intent intent = getIntent;
finish; startActivityintent;
} }
.setNegativeButton
Keluar
,
new
DialogInterface.OnClickListener {
public void
onClickDialogInterface dialog, int
whichButton { dialog.dismiss;
finish; }
} .show;
293
}
else
{
new AlertDialog.BuilderKuisKemampuan.
this
.setMessage Lihat Nilai?
.setPositiveButton
Lihat
,
new
DialogInterface.OnClickListener {
public void
onClickDialogInterface dialog, int
whichButton { dialog.dismiss;
Intent intent =
new
IntentKuisKemampuan.
this
, Progres.
class
; intent.addFlagsIntent.
FLAG_ACTIVITY_CLEAR_TOP ;
startActivityintent; finish;
} }
.setNegativeButton
Keluar ,
new
DialogInterface.OnClickListener {
public void
onClickDialogInterface dialog,
int
whichButton { dialog.dismiss;
finish; }
} .show;
} }
} .setNegativeButton
Keluar
,
new
DialogInterface.OnClickListener {
public void
onClickDialogInterface dialog,
int
whichButton { dialog.dismiss;
finish; }
} .show;
}
Override
protected void
onResume {
super .onResume;
Intent name =
new
IntentKuisKemampuan.
this
, MyService.
class
; stopServicename;
} }
D. Kode Data Flip-Flop