Aplikasi Sistem Pembelajaran ilmu Nahwu untuk Mahasantri ...
Transcript of Aplikasi Sistem Pembelajaran ilmu Nahwu untuk Mahasantri ...
Buku Petunjuk Penggunaan Aplikasi (User Manual)
Aplikasi Sistem Pembelajaran ilmu Nahwu untuk Mahasantri Berbasis
Android
Versi 1.0
Khresna Murti
Omar Pahlevi
Agustiena Merdekawati
Luci Kanti Rahayu
Yuni Fitriani
Handini Widyastuti
Roida Pakpahan
Silvy Amelia
Andrie Kurniawan
Buku Petunjuk Penggunaan Aplikasi 1 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
Pendahuluan Aplikasi ini dipergunakan untuk membantu meringkas pembelajaran ilmu nahwu
yang di peruntukan untuk mahasantri dalam mengulang pelajaran diluar aktifitas asrama.
Dokumen ini merupakan dokumen petunjuk penggunaan aplikasi Sistem
Pembelajaran Ilmu Nahwu. Dokumen ini ditujukan untuk membantu pengguna dalam
menjalankan proses pada aplikasi sesuai dengan prosedur yang ada. Dokumen ini
diharapkan dapat dijadikan sebagai panduan untuk menyelesaikan masalah yang dihadapi
dalam penggunaan aplikasi.
Buku Petunjuk Penggunaan Aplikasi 2 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
Memulai Aplikasi
Halaman Awal Aplikasi (Home Screen) Cara Penggunaan :
1. Untuk menampilkan halam selanjutnya Kita tinggal klik tombol button “mulai belajar”, Maka menu Home utama akan muncul
Buku Petunjuk Penggunaan Aplikasi 3 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
Halaman Menu Utama
No. Nama Menu Keterangan
1 Pembelajaran Menu ini memiliki fungsi mengelompokan materi-materi pembelajaran yang terdapat pada ilmu nahwu
2 Kitab-Kitab Kitab-Kitab ini digunakan sebagai pengelompokan pelajaran berasarkan kitab-kitabnya
3 Contoh Soal
Contoh Soal ini terdiri dari : Kumpulan pertanyaan ilmu nahwu Melihat hasil score hasil pertanyaan Memilih jenis soal-soal yang di inginkan
4 Main Kata
Main kata ini terdiri dari : Kumpulan contoh soal ilmu nahwu Kotak yang berisikan huruf abjad untuk menjawab soal-soal
a.
5 Kalender Kalender ini beguna sebagai media pengigat jadwal
Buku Petunjuk Penggunaan Aplikasi 4 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
Petunjuk Penggunaan Aplikasi
1. Halaman Pencarian materi (Menu Pembelajaran)
Mencari materi :
a) Klik tombol icon “pelajaran” pada menu utama b) Maka akan di arahkan ke halaman pencarian materi c) Klik tombol pencarian di bagian atas untuk mencari materi d) Isi kolom pencarian sesuai materi yang di inginkan. e) Jika sudah tinggal klik icon gambar buku dengan tulisan sesuai materi yang dicari
untuk melanjutkan ke halaman materi
Materi amil Pencarian materi
Buku Petunjuk Penggunaan Aplikasi 5 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
2. Halaman Kitab (Menu Kitab)
Mencari Kitab
a) Klik tombol icon “kitab” pada menu utama
b) Maka akan diarahkan ke halaman kitab-kitab
c) Hanya digunakan untuk pengelompokan kitab-kitab menurut sarahnya saja
Buku Petunjuk Penggunaan Aplikasi 6 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
3. Halaman latihan soal (Menu soal)
Menjawab Soal-soal :
a) Klik Button “soal” pada menu utama b) Maka akan di arahkan ke halaman latihan soal c) Pilih salah satu jawaban yang benar d) Maka akan muncul notifikasi e) Jika jawaban benar maka akan muncul notif jawab benar dan sebaliknya
Buku Petunjuk Penggunaan Aplikasi 7 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
f) Setelah selesai menjawab soal maka kita akan diarahkan ke menu total score atau hasil dari jawab kita tadi
g) Jika kita ingin mengulang ke latihan soal kita tinggal klik tombol button “RETRUN”
Buku Petunjuk Penggunaan Aplikasi 8 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
4. Halaman Pilih kata (Menu main kata)
Memlih kata sesuai dengan jawaban :
a) Klik Button “main kata” pada menu utama b) Maka akan di arahkan ke halaman main kata c) Pilih salah satu huruf abjad untuk menjawab pertanyaan d) Isi semua kotak yang kosong dengan huruf yang sesui dengan jawaban e) Pertanyaan akan berubah otomatis apabila jawaban telah terisi dengan benar
Buku Petunjuk Penggunaan Aplikasi 9 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
5. Halaman Kalender
a) Klik Button “kalender” pada menu utama b) Maka akan di arahkan ke halaman kalender c) Jika kita ingin membuat jadwal kita tinggal klik tanggalnya a) Maka kolom tanggal tersebut akan berubah menjadi biru b) Akan muncul notifikasi di smartphone, pada tanggal yang telah ditentukan
Buku Petunjuk Penggunaan Aplikasi 10 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
6. Halaman Menu Keluar
a) Klik tombol kembali pada smartphone anda b) Maka akan muncul notifikasi seperti di gambar c) Jika kita ingin keluar tinggal tekan tombol ”iya” dan sebaliknya
Buku Petunjuk Penggunaan Aplikasi 11 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
List kodingan aplikasi
Source Kode : 1. Splash screen
Contoh coding
// Aplikasi ini dibuat oleh Khresna Murti
package com.geniyus.sistempembelajarannahwu;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
public class AwalanActivity extends AppCompatActivity {
ImageView maining;
TextView welcomeText, descText;
Button mulai;
Animation forimg, forbutton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_awalan);
maining = (ImageView) findViewById(R.id.mainmg);
welcomeText = (TextView) findViewById(R.id.welcomeText);
descText = (TextView) findViewById(R.id.descText);
mulai = (Button) findViewById(R.id.mulai);
forimg = AnimationUtils.loadAnimation(this,R.anim.forimg);
forbutton = AnimationUtils.loadAnimation(this,R.anim.frombutton);
maining.startAnimation(forimg);
welcomeText.startAnimation(forbutton);
descText.startAnimation(forbutton);
mulai.startAnimation(forbutton);
Buku Petunjuk Penggunaan Aplikasi 12 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
mulai.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(getApplicationContext(),HomeActivity.class);
startActivity(i);
}
});
}
}
2. Halaman Home
Contoh coding:
package com.geniyus.sistempembelajarannahwu;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.support.v7.app.AlertDialog;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.GridLayout;
public class HomeActivity extends Activity {
GridLayout mygrid;
Animation frombutton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
mygrid = findViewById(R.id.mygrid);
frombutton = AnimationUtils.loadAnimation(this,R.anim.frombutton);
mygrid.startAnimation(frombutton);
}
public void pembelajaranhome(View view) {
Intent i= new Intent(HomeActivity.this, PembelajaranActivity.class);
Buku Petunjuk Penggunaan Aplikasi 13 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
startActivity(i);
}
public void pertanyaan(View view) {
Intent i = new Intent(HomeActivity.this, KuisActivity.class);
startActivity(i);
}
public void administrator (View view) {
Intent i = new Intent(HomeActivity.this, ProfilActivity.class);
startActivity(i);
}
public void kalender (View view) {
Intent i = new Intent(HomeActivity.this, KalenderActivity.class);
startActivity(i);
}
public void asahotak(View view) {
Intent intent = new Intent( HomeActivity.this,TebakKataActivity.class);
startActivity(intent);
}
public void kitabkitabku(View view) {
Intent intent = new Intent( HomeActivity.this,KitabKitabActivity.class);
startActivity(intent);
}
@Override
public void onBackPressed() {
final AlertDialog.Builder builder = new AlertDialog.Builder(HomeActivity.this);
builder.setMessage("Apa kamu yakin ingin keluar dari aplikasi ini ? ");
builder.setCancelable(true);
builder.setNegativeButton("Tidak", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.setPositiveButton("YA", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
}
Buku Petunjuk Penggunaan Aplikasi 14 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
3. List view with search view
Contoh coding:
package com.geniyus.sistempembelajarannahwu;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ListView;
import android.widget.SearchView;
import com.geniyus.sistempembelajarannahwu.Adapter.ListViewAdapter;
import com.geniyus.sistempembelajarannahwu.Common.Model;
import java.util.ArrayList;
public class PembelajaranActivity extends AppCompatActivity {
ListView listView;
ListViewAdapter adapter;
String[] titel;
String[] description;
int [] icon;
ArrayList<Model> arrayList = new ArrayList<Model>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pembelajaran);
ActionBar actionBar = getSupportActionBar();
actionBar.setTitle("Pencarian");
titel = new String[]{"Amil","Makmul","Ikrob","1....","2....","3....","4....","5...."};
description = new String[]{"Penjelasana Amil...","Penjelasana Makmul...",
"Penjelasana Ikrob ","1....","2....","3....","4....","5...."};
icon = new
int[]{R.drawable.book1,R.drawable.book1,R.drawable.book1,R.drawable.book1,
R.drawable.book1,R.drawable.book1,R.drawable.book1,R.drawable.book1,};
Buku Petunjuk Penggunaan Aplikasi 15 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
listView = findViewById(R.id.listView);
for (int i =0; i<titel.length;i++){
Model model = new Model(titel[i], description[i], icon[i]);
arrayList.add(model);
}
adapter = new ListViewAdapter(this ,arrayList);
listView.setAdapter(adapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
MenuItem myActionMenuItem = menu.findItem(R.id.actionsearch);
SearchView searchView =(SearchView) myActionMenuItem.getActionView();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
return false;
}
@Override
public boolean onQueryTextChange(String s) {
if (TextUtils.isEmpty(s)) {
adapter.filter("");
listView.clearTextFilter();
} else {
adapter.filter(s);
}
return true;
}
});
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id==R.id.actionsetting){
return true;
}
return super.onOptionsItemSelected(item);
}
}
Buku Petunjuk Penggunaan Aplikasi 16 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
package com.geniyus.sistempembelajarannahwu.Adapter;
import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.geniyus.sistempembelajarannahwu.PembelajaranAmilActivity;
import com.geniyus.sistempembelajarannahwu.PembelajaranIkrobActivity;
import com.geniyus.sistempembelajarannahwu.PembelajaranMakmulActivity;
import com.geniyus.sistempembelajarannahwu.Common.Model;
import com.geniyus.sistempembelajarannahwu.R;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
public class ListViewAdapter extends BaseAdapter {
Context mContext;
LayoutInflater inflater;
List<Model> modelList;
ArrayList<Model> arrayList;
public ListViewAdapter(Context context, List<Model> modelList) {
mContext = context;
this.modelList = modelList;
inflater = LayoutInflater.from(context);
this.arrayList = new ArrayList<Model>();
this.arrayList.addAll(modelList);
}
public class ViewHolder{
TextView mTiteTv, mDescTv;
ImageView mIconTv;
}
@Override
Buku Petunjuk Penggunaan Aplikasi 17 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
public int getCount() {
return modelList.size();
}
@Override
public Object getItem(int position) {
return modelList.get( position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int postition, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView==null){
holder = new ViewHolder();
convertView = inflater.inflate(R.layout.row,null);
holder.mTiteTv = convertView.findViewById(R.id.mainTitel );
holder.mDescTv = convertView.findViewById(R.id.mainDesc );
holder.mIconTv = convertView.findViewById(R.id.mainIcon );
convertView.setTag(holder);
}
else {
holder = (ViewHolder) convertView.getTag();
}
holder.mTiteTv.setText(modelList.get(postition).getTitel());
holder.mDescTv.setText(modelList.get(postition).getDesc());
holder.mIconTv.setImageResource(modelList.get(postition).getIcon());
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (modelList.get(postition).getTitel().equals("Amil")){
Intent intent = new Intent(mContext, PembelajaranAmilActivity.class);
intent.putExtra("actionBarTitel", "Amil");
mContext.startActivity(intent);
}
if (modelList.get(postition).getTitel().equals("Makmul")){
Buku Petunjuk Penggunaan Aplikasi 18 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
Intent intent = new Intent(mContext, PembelajaranMakmulActivity.class);
intent.putExtra("actionBarTitel", "Makmul");
mContext.startActivity(intent);
}
if (modelList.get(postition).getTitel().equals("Ikrob")){
Intent intent = new Intent(mContext, PembelajaranIkrobActivity.class);
intent.putExtra("actionBarTitel", "Ikrob");
mContext.startActivity(intent);
}
}
});
return convertView ;
}
public void filter (String charText){
charText = charText.toLowerCase(Locale.getDefault());
modelList.clear();
if (charText.length()==0){
modelList.addAll(arrayList);
}
else {
for (Model model : arrayList){
if (model.getTitel().toLowerCase(Locale.getDefault()).contains(charText)){
modelList.add(model);
}
}
}
notifyDataSetChanged();
}
}
4. Isi pembelajaran ilmu nahwu
Contoh coding:
package com.geniyus.sistempembelajarannahwu;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
Buku Petunjuk Penggunaan Aplikasi 19 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
import android.widget.ImageView;
import com.github.aakira.expandablelayout.ExpandableRelativeLayout;
public class PembelajaranAmilActivity extends AppCompatActivity {
ImageView back, imageszoom;
ExpandableRelativeLayout
amillafdi,amilmaknawi,onamillafdi1,onamillafdi2,onamillafdi3,onamillafdi4,onamillafdi5,
isiamillafdikiasi;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pembelajaran_amil);
}
public void amillafdi (View view) {
amillafdi = (ExpandableRelativeLayout) findViewById(R.id.pembagianamillafdi);
amillafdi.toggle();
}
public void amillafdisamai (View view) {
amillafdi = (ExpandableRelativeLayout)
findViewById(R.id.pembagianamillafdisamai);
amillafdi.toggle();
}
public void onamilfaldi1 (View view){
onamillafdi1 = (ExpandableRelativeLayout) findViewById(R.id.isiamillafdisamai1);
onamillafdi1.toggle();
}
public void onamilfaldi2 (View view) {
onamillafdi2 = (ExpandableRelativeLayout) findViewById(R.id.isiamillafdisamai2);
onamillafdi2.toggle();
}
public void onamilfaldi3 (View view) {
onamillafdi3 = (ExpandableRelativeLayout) findViewById(R.id.isiamillafdisamai3);
onamillafdi3.toggle();
}
public void onamilfaldi4 (View view) {
onamillafdi4 = (ExpandableRelativeLayout) findViewById(R.id.isiamillafdisamai4);
onamillafdi4.toggle();
}
public void onamilfaldi5 (View view) {
onamillafdi5 = (ExpandableRelativeLayout) findViewById(R.id.isiamillafdisamai5);
onamillafdi5.toggle();
Buku Petunjuk Penggunaan Aplikasi 20 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
}
public void amillafdikiasi (View view) {
isiamillafdikiasi = (ExpandableRelativeLayout) findViewById(R.id.isiamillafdikiasi);
isiamillafdikiasi.toggle();
}
public void amilmaknawi (View view) {
amilmaknawi = (ExpandableRelativeLayout) findViewById(R.id.isiamillmaknawi);
amilmaknawi.toggle();
}
public void back (View view) {
Intent intent = new Intent(
PembelajaranAmilActivity.this,PembelajaranActivity.class);
startActivity(intent);
}
public void home (View view) {
Intent intent = new Intent( PembelajaranAmilActivity.this,HomeActivity.class);
startActivity(intent);
}
}
5. Halaman Soal
Contoh coding:
package com.geniyus.sistempembelajarannahwu;
import android.content.DialogInterface;
import android.content.Intent;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Random;
public class KuisActivity extends AppCompatActivity {
private TextView soal;
private TextView pertanyaan;
Buku Petunjuk Penggunaan Aplikasi 21 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
private Button jawaban1;
private Button jawaban2;
private Button jawaban3;
private Button jawaban4;
private String jawabanbenar;
private int jawabanbenarCount = 0 ;
private int quisCount = 1 ;
static final private int QUIZZ_QOUT = 5;
ArrayList<ArrayList<String>> quizArray = new ArrayList<>();
String quizData[][] = {
{"a1","a2","a3","a4","a5"},
{"b1","b2","b3","b4","b5"},
{"c1","c2","c3","c4","c5"},
{"d1","d2","d3","d4","d5"},
{"e1","e2","e3","e4","e5"},
{"f1","f2","f3","f4","f5"},
{"g1","g2","g3","g4","g5"},
{"h1","h2","h3","h4","h5"},
{"i1","i2","i3","i4","i5"},
{"j1","j2","j3","j4","j5"},
{"k1","k2","k3","k4","k5"},
{"l1","l2","l3","l4","l5"},
{"m1","m2","m3","m4","m5"},
{"n1","n2","n3","n4","n5"},
{"o1","o2","o3","o4","05"},
{"o1","o2","o3","o4","05"}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_kuis);
ActionBar actionBar = getSupportActionBar();
soal = (TextView)findViewById(R.id.soal);
pertanyaan = (TextView)findViewById(R.id.pertanyaan);
jawaban1 = (Button)findViewById(R.id.peratanyaanBtn1);
jawaban2 = (Button)findViewById(R.id.peratanyaanBtn2);
jawaban3 = (Button)findViewById(R.id.peratanyaanBtn3);
jawaban4 = (Button)findViewById(R.id.peratanyaanBtn4);
//menerima kategori
Buku Petunjuk Penggunaan Aplikasi 22 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
int quizkategori = getIntent().getIntExtra("QUIZ_KATEGORI",0);
Log.v("KATEGORI_TAG",quizkategori + "");
for (int i = 0;i<quizData.length;i++) {
//perisapan array
ArrayList<String> tmpArray = new ArrayList<>();
tmpArray.add(quizData[i][0]); //negara
tmpArray.add(quizData[i][1]); //jawaban benar
tmpArray.add(quizData[i][2]); //pilihan 1
tmpArray.add(quizData[i][3]); //pilihan 2
tmpArray.add(quizData[i][4]); //pilihan 3
//masukan kuis array
quizArray.add(tmpArray);
}
showNextKuis();
}
public void showNextKuis(){
//update pertanyaan
soal.setText("Pertanyaan : " + quisCount );
//random pertanyaan
Random random = new Random();
int randumNum = random.nextInt(quizArray.size());
//ambil pertanyaan
ArrayList<String> quis = quizArray.get(randumNum);
//set jawaban benar
pertanyaan.setText(quis.get(0));
jawabanbenar = quis.get(1);
//menghlangkan pertanyaan
quis.remove(0);
Collections.shuffle(quis);
//Buat pilihan
jawaban1.setText(quis.get(0));
jawaban2.setText(quis.get(1));
jawaban3.setText(quis.get(2));
jawaban4.setText(quis.get(3));
Buku Petunjuk Penggunaan Aplikasi 23 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
//menghilangkan pertanyaan di array
quizArray.remove(randumNum);
}
public void cekjawaban (View view){
Button jawabnBtn = (Button) findViewById(view.getId());
String btnText = jawabnBtn.getText().toString();
String LertTitel ;
if (btnText.equals(jawabanbenar)){
LertTitel = "Benar";
jawabanbenarCount++;
} else {
LertTitel = "Salah";
}
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(LertTitel);
builder.setMessage("Jawab : "+jawabanbenar);
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (quisCount == QUIZZ_QOUT){
Intent intent = new
Intent(getApplicationContext(),KuisLannjutanActivity.class);
intent.putExtra("JAWABAN_BENAR",jawabanbenarCount);
startActivity(intent);
}else {
quisCount++;
showNextKuis();
}
}
});
builder.setCancelable(false);
builder.show();
}
}
6. Halaman Main kata
Contoh coding:
Buku Petunjuk Penggunaan Aplikasi 24 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
package com.geniyus.sistempembelajarannahwu;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.Toast;
import com.geniyus.sistempembelajarannahwu.Adapter.GridViewAnswerAdapter;
import com.geniyus.sistempembelajarannahwu.Adapter.GridViewSuggestAdapter;
import com.geniyus.sistempembelajarannahwu.Common.Common;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class TebakKataActivity extends AppCompatActivity {
public List<String> suggestSource = new ArrayList<>();
public GridViewAnswerAdapter answerAdapter;
public GridViewSuggestAdapter suggestAdapter;
public Button btnSubmit;
public GridView gridViewAnswer,gridViewSuggest;
public ImageView imgViewQuestion;
int[] image_list={
R.drawable.settings,
R.drawable.search,
R.drawable.profil1,
R.drawable.books,
R.drawable.calendar,
R.drawable.question,
R.drawable.question,
R.drawable.mental,
R.drawable.profil1,
R.drawable.priviewkanan,
R.drawable.profil2,
R.drawable.profil3,
R.drawable.question,
R.drawable.question,
Buku Petunjuk Penggunaan Aplikasi 25 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
R.drawable.test_passed,
R.drawable.profil3,
};
public char[] answer;
String correct_answer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tebak_kata);
//Init View
initView();
}
private void initView() {
gridViewAnswer = (GridView)findViewById(R.id.gridViewAnswer);
gridViewSuggest = (GridView)findViewById(R.id.gridViewSuggest);
imgViewQuestion = (ImageView)findViewById(R.id.imgLogo);
//Add SetupList Here
setupList();
btnSubmit = (Button)findViewById(R.id.btnSubmit);
btnSubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String result="";
for(int i = 0; i< Common.user_submit_answer.length; i++)
result+= String.valueOf(Common.user_submit_answer[i]);
if(result.equals(correct_answer))
{
Toast.makeText(getApplicationContext(),"Finish ! This is "+result,
Toast.LENGTH_SHORT).show();
//Reset
Common.count = 0;
Common.user_submit_answer = new char[correct_answer.length()];
//Set Adapter
GridViewAnswerAdapter answerAdapter = new
GridViewAnswerAdapter(setupNullList(),getApplicationContext());
gridViewAnswer.setAdapter(answerAdapter);
answerAdapter.notifyDataSetChanged();
GridViewSuggestAdapter suggestAdapter = new
GridViewSuggestAdapter(suggestSource,getApplicationContext(),TebakKataActivity.this)
;
gridViewSuggest.setAdapter(suggestAdapter);
suggestAdapter.notifyDataSetChanged();
Buku Petunjuk Penggunaan Aplikasi 26 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
setupList();
}
else
{
Toast.makeText(TebakKataActivity.this, "Incorrect!!!",
Toast.LENGTH_SHORT).show();
}
}
});
}
private void setupList() {
//Random logo
Random random = new Random();
int imageSelected = image_list[random.nextInt(image_list.length)];
imgViewQuestion.setImageResource(imageSelected);
correct_answer = getResources().getResourceName(imageSelected);
correct_answer = correct_answer.substring(correct_answer.lastIndexOf("/")+1);
answer = correct_answer.toCharArray();
Common.user_submit_answer = new char[answer.length];
//Add Answer character to List
suggestSource.clear();
for(char item:answer)
{
//Add logo name to list
suggestSource.add(String.valueOf(item));
}
//Random add some character to list
for(int i = answer.length;i<answer.length*2;i++)
suggestSource.add(Common.alphabet_character[random.nextInt(Common.alphabet_char
acter.length)]);
//Sort random
Collections.shuffle(suggestSource);
//Set for GridView
answerAdapter = new GridViewAnswerAdapter(setupNullList(),this);
suggestAdapter = new GridViewSuggestAdapter(suggestSource,this,this);
answerAdapter.notifyDataSetChanged();
suggestAdapter.notifyDataSetChanged();
Buku Petunjuk Penggunaan Aplikasi 27 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
gridViewSuggest.setAdapter(suggestAdapter);
gridViewAnswer.setAdapter(answerAdapter);
}
private char[] setupNullList() {
char result[] = new char[answer.length];
for(int i=0;i<answer.length;i++)
result[i]=' ';
return result;
}
}
package com.geniyus.sistempembelajarannahwu.Adapter;
import android.content.Context;
import android.graphics.Color;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.GridView;
public class GridViewAnswerAdapter extends BaseAdapter {
private char[] answerCharacter;
private Context context;
public GridViewAnswerAdapter(char[] answerCharacter, Context context) {
this.answerCharacter = answerCharacter;
this.context = context;
}
@Override
public int getCount() {
return answerCharacter.length;
}
@Override
public Object getItem(int position) {
return answerCharacter[position];
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Button button;
if(convertView == null)
Buku Petunjuk Penggunaan Aplikasi 28 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
{
//Create new button
button = new Button(context);
button.setLayoutParams(new GridView.LayoutParams(85,85));
button.setPadding(8,8,8,8);
button.setBackgroundColor(Color.DKGRAY);
button.setTextColor(Color.YELLOW);
button.setText(String.valueOf(answerCharacter[position]));
}
else
button=(Button) convertView;
return button;
}
}
package com.geniyus.sistempembelajarannahwu.Adapter;
import android.content.Context;
import android.graphics.Color;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.GridView;
import com.geniyus.sistempembelajarannahwu.Common.Common;
import com.geniyus.sistempembelajarannahwu.TebakKataActivity;
import java.util.List;
public class GridViewSuggestAdapter extends BaseAdapter {
private List<String> suggestSource;
private Context context;
private TebakKataActivity tebakKataActivity;
public GridViewSuggestAdapter(List<String> suggestSource, Context context,
TebakKataActivity tebakKataActivity) {
this.suggestSource = suggestSource;
this.context = context;
this.tebakKataActivity = tebakKataActivity;
}
@Override
public int getCount() {
return suggestSource.size();
}
@Override
Buku Petunjuk Penggunaan Aplikasi 29 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
public Object getItem(int position) {
return suggestSource.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
Button button;
if(convertView == null)
{
if(suggestSource.get(position).equals("null"))
{
button = new Button(context);
button.setLayoutParams(new GridView.LayoutParams(85,85));
button.setPadding(8,8,8,8);
button.setBackgroundColor(Color.DKGRAY);
}
else
{
button = new Button(context);
button.setLayoutParams(new GridView.LayoutParams(85,85));
button.setPadding(8,8,8,8);
button.setBackgroundColor(Color.DKGRAY);
button.setTextColor(Color.YELLOW);
button.setText(suggestSource.get(position));
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//If correct answer contains character user selected
if(String.valueOf(tebakKataActivity.answer).contains(suggestSource.get(position)))
{
char compare = suggestSource.get(position).charAt(0); // Get char
for(int i =0;i<tebakKataActivity.answer.length;i++)
{
if(compare == tebakKataActivity.answer[i])
Common.user_submit_answer[i] = compare;
}
//Update UI
GridViewAnswerAdapter answerAdapter = new
GridViewAnswerAdapter(Common.user_submit_answer,context);
tebakKataActivity.gridViewAnswer.setAdapter(answerAdapter);
Buku Petunjuk Penggunaan Aplikasi 30 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
answerAdapter.notifyDataSetChanged();
//Remove from suggest source
tebakKataActivity.suggestSource.set(position,"null");
tebakKataActivity.suggestAdapter = new
GridViewSuggestAdapter(tebakKataActivity.suggestSource,context,tebakKataActivity);
tebakKataActivity.gridViewSuggest.setAdapter(tebakKataActivity.suggestAdapter);
tebakKataActivity.suggestAdapter.notifyDataSetChanged();
}
else // else
{
//Remove from suggest source
tebakKataActivity.suggestSource.set(position,"null");
tebakKataActivity.suggestAdapter = new
GridViewSuggestAdapter(tebakKataActivity.suggestSource,context,tebakKataActivity);
tebakKataActivity.gridViewSuggest.setAdapter(tebakKataActivity.suggestAdapter);
tebakKataActivity.suggestAdapter.notifyDataSetChanged();
}
}
});
}
}
else
button = (Button)convertView;
return button;
}
}
7. Halaman Profil
Contoh coding:
package com.geniyus.sistempembelajarannahwu;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.LinearLayout;
public class ProfilActivity extends AppCompatActivity {
private ViewPager sliderviewpager;
ProfilSlideradapter profilSlideradapter ;
@Override
Buku Petunjuk Penggunaan Aplikasi 31 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profil);
sliderviewpager = (ViewPager)findViewById(R.id.sliderviewpager);
profilSlideradapter = new ProfilSlideradapter(this);
sliderviewpager.setAdapter(profilSlideradapter);
}
}
package com.geniyus.sistempembelajarannahwu;
import android.content.Context;
import android.graphics.Color;
import android.support.annotation.NonNull;
import android.support.v4.view.PagerAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
public class ProfilSlideradapter extends PagerAdapter {
Context context ;
LayoutInflater inflater;
public int[] imagesaray= {
R.drawable.khresna,
R.drawable.nofal
};
public String[] titelaray = {"KHRESNA MURTI","RADEN NOFAL "};
public String[] descripsiArray = {"Ketika banyak permasalahan yang menghampiri
dirimu, janganlah meminta untuk lekas dihilangkan. Tapi mintalah agar bisa membuatmu
menjadi lebih dewasa.",
"Seseorang yang berani membuang satu jam waktunya tidak mengetahui nilai dari
kehidupan",};
public String[]kontakarray = {"082154041165","082154041165"};
public int[]imageskontak={R.drawable.profil1,R.drawable.profil2,R.drawable.profil3};
Buku Petunjuk Penggunaan Aplikasi 32 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
public int[]bagroundcolorarray = {Color.rgb(55,55,55 )
,Color.rgb(239,85,85)};
public ProfilSlideradapter(Context context){
this.context = context;
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
return (view==o);
}
@Override
public int getCount() {
return titelaray.length;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull
Object object) {
container.removeView((LinearLayout)object);
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
inflater =
(LayoutInflater)context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.slideprofil,container,false );
LinearLayout linearLayout =
(LinearLayout)view.findViewById(R.id.SlideLinerlayut);
ImageView imageView = (ImageView) view.findViewById(R.id.slideimg);
ImageView facebook = (ImageView) view.findViewById(R.id.facebook);
ImageView gmaill = (ImageView) view.findViewById(R.id.gmail);
ImageView ig = (ImageView) view.findViewById(R.id.instagram);
TextView t1_titel = (TextView)view.findViewById(R.id.slidetekstitel);
TextView t2_desc = (TextView)view.findViewById(R.id.sliddeskripsi);
TextView kontak = (TextView)view.findViewById(R.id.kontak) ;
linearLayout.setBackgroundColor(bagroundcolorarray[position]);
imageView.setImageResource(imagesaray[position]);
t1_titel.setText(titelaray[position]);
t2_desc.setText(descripsiArray[position]);
kontak.setText(kontakarray[position]);
Buku Petunjuk Penggunaan Aplikasi 33 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
facebook.setImageResource(imageskontak[position]);
gmaill.setImageResource(imageskontak[position]);
ig.setImageResource(imageskontak[position]);
container.addView(view);
return view;
}
8. Halaman Kalender
Contoh coding:
package com.geniyus.sistempembelajarannahwu;
import android.content.Context;
import android.graphics.Color;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.EventLog;
import android.widget.Toast;
import com.github.sundeepk.compactcalendarview.CompactCalendarView;
import com.github.sundeepk.compactcalendarview.domain.Event;
import com.squareup.timessquare.CalendarPickerView;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
public class KalenderActivity extends AppCompatActivity {
CompactCalendarView compactCalendarView ;
private SimpleDateFormat dateFormatMount =new SimpleDateFormat("MMMM
yyyy", Locale.getDefault());
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_kalender);
Buku Petunjuk Penggunaan Aplikasi 34 Sistem Pembelajaran Ilmu Nahwu Berbasis Android
Date today = new Date();
Calendar nextYear = Calendar.getInstance();
nextYear .add(Calendar.YEAR,1);
CalendarPickerView datepicker = findViewById(R.id.kalender);
datepicker.init(today,nextYear.getTime())
.inMode(CalendarPickerView.SelectionMode.RANGE)
.withSelectedDate(today );
datepicker.setOnDateSelectedListener(new
CalendarPickerView.OnDateSelectedListener() {
@Override
public void onDateSelected(Date date) {
//String selectdata = DateFormat.getDateInstance().format(date);
Calendar calseted = Calendar.getInstance();
calseted.setTime(date);
String selectdate = "" + calseted.get(Calendar.DAY_OF_MONTH)
+""+(calseted.get(Calendar.MONTH)+1)
+""+ calseted.get(Calendar.YEAR);
Toast.makeText( KalenderActivity.this,
selectdate,Toast.LENGTH_SHORT).show();
}
@Override
public void onDateUnselected(Date date) {