295
mp .start;
Intent intent = new
IntentFlipFlop. this
, DataFF. class
; startActivityintent;
} };
ImageView jk = ImageView findViewByIdR.id.
jk ;
jk.setOnClickListener
new
View.OnClickListener { Override
public void
onClickView v { mp
.start; Intent intent =
new IntentFlipFlop.
this , JKFF.
class ;
startActivityintent; }
}; }
}
F. Kode JK FF
int page
= 1
; Override
protected void
onCreateBundle savedInstanceState {
super
.onCreatesavedInstanceState; setContentViewR.layout.
activity_jkff ;
final MediaPlayer mp = MediaPlayer.create
this ,
R.raw. suara_klik
;
final ImageView materi = ImageView findViewByIdR.id.
materi ;
final ImageView kiri = ImageView findViewByIdR.id.
kiri ;
final
ImageView kanan = ImageView findViewByIdR.id.
kanan
; kiri.setOnClickListener
new
View.OnClickListener { Override
public void onClickView v {
mp .start;
switch page
{
case
3 :
materi .setImageResourceR.drawable.
materi_jk_ff2 ;
kanan .setVisibilityView.
VISIBLE ;
kiri .setVisibilityView.
VISIBLE ;
page
= 2
;
break
;
case 2
: materi
.setImageResourceR.drawable.
materi_jk_ff1
; kanan
.setVisibilityView. VISIBLE
; kiri
.setVisibilityView. GONE
;
page =
1 ;
break ;
} }
}; kanan.setOnClickListener
new
View.OnClickListener {
296
Override
public void onClickView v {
mp .start;
switch page
{
case
1 :
materi .setImageResourceR.drawable.
materi_jk_ff2 ;
kanan .setVisibilityView.
VISIBLE ;
kiri .setVisibilityView.
VISIBLE ;
page
= 2
;
break
;
case 2
: materi
.setImageResourceR.drawable. materi_jk_ff3
; kanan
.setVisibilityView. GONE
; kiri
.setVisibilityView. VISIBLE
;
page =
3 ;
break
; }
} };
} }
G. Kode Uji Pengetahuan
Database
db
; String
kompetensi
,
jawaban
,
Nilai_sebelum
; Cursor
cursor
;
boolean check
=
true
;
int NomorSoal
= ;
int Nilai
= ;
TextView
soal
; RadioGroup
radiogroup
; RadioButton
jawaban1 ,
jawaban2 ,
jawaban3 ,
jawaban4 ,
jawaban5 ;
MediaPlayer
mp
; Override
protected void onCreateBundle savedInstanceState {
super .onCreatesavedInstanceState;
setContentViewR.layout. activity_kuis_pengetahuan
;
db
=
new
Database
this
;
mp
= MediaPlayer.create
this
, R.raw.
suara_klik
; Intent intent = getIntent;
if
intent.getStringExtra
kompetensi
.isEmpty {
kompetensi
= intent.getStringExtra
kompetensi
; }
else finish;
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 nilai_sebelum =
db .NilaiPengetahuan
kompetensi ;
297
if
nilai_sebelum.moveToFirst {
Nilai_sebelum =
nilai_sebelum.getStringnilai_sebelum.getColumnIndex nilai
; }
mengambil database soal sesuai kompetensi
cursor =
db .Pengetahuan
kompetensi ;
cek data tersedia atau tidak
if cursor
.moveToFirst { tampilSoal;
Next; }
else finish;
}
private void
tampilSoal{ TextView nomor = TextView findViewByIdR.id.
nomor ;
nomor.setTextString.valueOf
NomorSoal
+ 1
+
10
; menghilangkan jawaban sebelumnya
radiogroup
.clearCheck; cek gambar per soal jika ada ditampilkan jika tidak skip
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 {
mp .start;
pengecekan jawaban
298
if
cekJawaban { pengecekan soal terahir atau belum
if cursor
.moveToNext { tampilSoal;
}
else
{ Log.d
Nilai
, String.valueOf
Nilai
; Menyimpan nilai pengetahuan ke database
db
.UpdateNilaiPengetahuan
kompetensi
, String.valueOf
Nilai
; showJawabanString.valueOf
Nilai ;
} }
} };
}
private boolean
cekJawaban {
if check
{
if radiogroup
.getCheckedRadioButtonId == - 1
{ Toast kotak dialog pemberitahuan
Toast.makeTextKuisPengetahuan.
this
,
pilih jawaban
, Toast.
LENGTH_SHORT .show;
return false ;
} else
{
int selected =
radiogroup .getCheckedRadioButtonId;
RadioButton select = RadioButton findViewByIdselected;
db
.UpdateJawaban
cursor
.getString
cursor
.getColumnIndex
_id
, select.getText.toString;
cek jawaban sesuai atau tidak dengan database
if jawaban
.equalsselect.getText.toString { Log.d
Jawaban ,
Benar ;
Nilai =
Nilai +
10 ;
}
else
Log.d
Jawaban
,
Salah
;
check
=
false
; }
}
return true
; }
private void
showJawabanString nilai { LayoutInflater inflater = getLayoutInflater;
View body = inflater.inflateR.layout.
list ,
null ;
final
ListView listView = ListView body.findViewByIdR.id.
listView ;
cursor =
db .Pengetahuan
kompetensi ;
JawabanAdapter berfungsi untuk generate data dan menampilkannya berupa list
JawabanAdapter adapter =
new
JawabanAdapterKuisPengetahuan.
this
,
cursor
, ;
listView.setAdapteradapter;
new AlertDialog.Builder
this
.setTitle
Nilai anda =
+ nilai .setViewbody
.setCancelable
true
.setPositiveButton Rekam Jejak
, new
299
DialogInterface.OnClickListener {
public void onClickDialogInterface dialog,
int id
{ dialog.dismiss;
Intent intent =
new
IntentKuisPengetahuan.
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;
}
Override
protected void
onResume {
super
.onResume; Intent name =
new IntentKuisPengetahuan.
this , MyService.
class ;
stopServicename; }
}
H. Kode tampilan mulai kuis