Kode JK FF Kode Uji Pengetahuan

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