LAMPIRAN
LIST PROGRAM
1.
QuizActivity.java
package com.example.adananaulia.rpul;
import android.content.Intent;
import android.speech.tts.TextToSpeech;
import android.support.v7.app.AppCompatActivity; import android.os.Bundle;
import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast;
import java.util.Random;
public class QuizActivity extends AppCompatActivity implements View.OnClickListener{
private TextView question;
private int[] images = {R.drawable.steve,
R.drawable.bill_gates, R.drawable.woz, R.drawable.mark, R.drawable.sergey,
R.drawable.ram, R.drawable.apple2, R.drawable.eniac, R.drawable.pc, R.drawable.iod, R.drawable.software, R.drawable.hardware,
R.drawable.virus, R.drawable.program, R.drawable.programmer};
private int[] soal = {R.string.no_satu, R.string.no_dua, R.string.no_tiga, R.string.no_empat, R.string.no_lima,
R.string.no_enam, R.string.no_tujuh, R.string.no_delapan, R.string.no_sembilan,
R.string.no_sepuluh,
R.string.no_sebelas, R.string.no_duabelas, R.string.no_tigabelas, R.string.no_empatbelas,
R.string.no_limabelas };
private String[] jawaban = {"Steve jobs", "Microsoft", "Apple", "Mark Zuckerberg", "Sergey Brin",
"RAM", "Apple II", "ENIAC", "PC", "I/O Device", "Software", "Hardware",
"Virus Komputer", "Program", "Programmer" };
private int[] hintContent = {R.string.hint_1, R.string.hint_2, R.string.hint_3, R.string.hint_4, R.string.hint_5,
R.string.hint_9, R.string.hint_10,
R.string.hint_11, R.string.hint_12, R.string.hint_13, R.string.hint_14, R.string.hint_15 };
private EditText answer;
private int number, poin, count; Random rand;
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_quiz);
getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setTitle("Quiz");
question = (TextView) findViewById(R.id.question); gambar = (ImageView) findViewById(R.id.imageKuis);
answer = (EditText) findViewById(R.id.answer); cek = (ImageView) findViewById(R.id.cek);
hint = (ImageView) findViewById(R.id.hint);
rand = new Random();
number = rand.nextInt(10);
question.setText(soal[number]);
poin = 0; count = 0;
cek.setOnClickListener(this);
hint.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), hintContent[number], Toast.LENGTH_LONG).show();
} });
}
@Override
public void onClick(View v) { String jawab =
answer.getText().toString().toLowerCase().trim();
count++; Intent i;
if(count > 10){
Intent intent = new
Intent(getApplicationContext(), ResultActivity.class); intent.putExtra("point", poin);
startActivity(intent); finish();
if(jawab.equals(jawaban[number].toLowerCase().trim())){ poin++;
Toast.makeText(getApplicationContext(), "Jawaban Benar", Toast.LENGTH_SHORT).show();
number = rand.nextInt(10); question.setText(soal[number]);
gambar.setImageResource(images[number]); answer.setText("");
} else {
Toast.makeText(getApplicationContext(), "Jawaban Salah", Toast.LENGTH_SHORT).show();
number = rand.nextInt(10); question.setText(soal[number]);
gambar.setImageResource(images[number]); answer.setText("");
}
} }
2.
CircleTransform.java
package com.example.adananaulia.rpul;
import android.graphics.Paint;
import
com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; import
com.bumptech.glide.load.resource.bitmap.BitmapTransformation ;
public class CircleTransform extends BitmapTransformation { public CircleTransform(Context context) {
super(context); }
@Override
protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {
return circleCrop(pool, toTransform); }
private static Bitmap circleCrop(BitmapPool pool, Bitmap source) {
if (source == null) return null;
int size = Math.min(source.getWidth(), source.getHeight());
// TODO this could be acquired from the pool too Bitmap squared = Bitmap.createBitmap(source, x, y, size, size);
Bitmap result = pool.get(size, size, Bitmap.Config.ARGB_8888);
if (result == null) {
result = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888);
}
Canvas canvas = new Canvas(result); Paint paint = new Paint();
paint.setShader(new BitmapShader(squared,
BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP)); paint.setAntiAlias(true);
float r = size / 2f;
canvas.drawCircle(r, r, r, paint); return result;
}
@Override
public String getId() {
return getClass().getName(); }
3.
Detail Activity.java
package com.example.adananaulia.rpul;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity; import android.os.Bundle;
import android.widget.ImageView; import android.widget.TextView;
public class DetailActivity extends AppCompatActivity {
private int[] images = {R.drawable.steve,
R.drawable.bill_gates, R.drawable.woz, R.drawable.mark, R.drawable.sergey,
R.drawable.ram, R.drawable.apple2, R.drawable.eniac, R.drawable.pc, R.drawable.iod, R.drawable.software, R.drawable.hardware,
R.drawable.virus, R.drawable.program, R.drawable.programmer};
private String[] item = {"Steve Jobs", "Bill Gates", "Steve Wozniak", "Mark Zuckerberg", "Sergey Brin",
"RAM", "Apple II", "ENIAC", "PC", "I/O Device", "Software", "Hardware", "Virus Komputer", "Program",
"Programmer"};
private int[] detailString = {R.string.detailSteve, R.string.detailBill, R.string.detailWoz,
R.string.detailMark, R.string.detailSergey,
R.string.iod, R.string.software, R.string.hardware, R.string.virus,
R.string.program, R.string.programmer};
private ImageView imageDetail; private TextView textDetail;
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
String title =
getIntent().getExtras().getString("detail"); int image =
getIntent().getExtras().getInt("detailImage"); int detail =
getIntent().getExtras().getInt("detailContent");
getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setTitle(title);
imageDetail = (ImageView) findViewById(R.id.imageDetail); textDetail = (TextView) findViewById(R.id.textDetail);
imageDetail.setImageResource(image); textDetail.setText(detail);
@Override
public void onBackPressed() { super.onBackPressed();
Intent i = new Intent(getApplicationContext(), EnsiklopediaActivity.class);
startActivity(i); finish();
}
}
4.
EnsiklopediaActivity.java
package com.example.adananaulia.rpul;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity; import android.os.Bundle;
import android.text.Editable; import android.text.TextWatcher; import android.view.View;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.List;
public class EnsiklopediaActivity extends AppCompatActivity {
private ListView listView;
private ArrayList<MyData> myDatas; private MyAdapter adapter;
private ImageView search; private EditText findItem;
private int[] images = {R.drawable.steve,
R.drawable.bill_gates, R.drawable.woz, R.drawable.mark, R.drawable.sergey,
R.drawable.ram, R.drawable.apple2, R.drawable.eniac, R.drawable.pc, R.drawable.iod, R.drawable.software, R.drawable.hardware,
R.drawable.virus, R.drawable.program, R.drawable.programmer};
private String[] items = {"Steve Jobs", "Bill Gates", "Steve Wozniak", "Mark Zuckerberg", "Sergey Brin",
"Software", "Hardware", "Virus Komputer", "Program", "Programmer"};
private int[] detailString = {R.string.detailSteve, R.string.detailBill, R.string.detailWoz,
R.string.detailMark, R.string.detailSergey,
R.string.ram, R.string.apple2, R.string.eniac, R.string.iod, R.string.pc, R.string.software,
R.string.hardware, R.string.virus,
R.string.program, R.string.programmer};
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ensiklopedia);
getSupportActionBar().setTitle("Ensiklopedia"); getSupportActionBar().setHomeButtonEnabled(true);
listView = (ListView) findViewById(R.id.data);
search = (ImageView) findViewById(R.id.cek); findItem = (EditText) findViewById(R.id.find);
initList();
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
Intent intent = new
Intent(getApplicationContext(), DetailActivity.class); MyData data = myDatas.get(position);
intent.putExtra("detail", data.getTitle()); intent.putExtra("detailImage",
data.getImage());
intent.putExtra("detailContent", data.getContent());
startActivity(intent); }
});
search.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String find =
findItem.getText().toString().toLowerCase();
myDatas.clear();
for(int i=0; i<items.length; i++){
if(find.equals(items[i].toLowerCase())){ myDatas.add(new MyData(items[i], images[i], detailString[i]));
break; }
adapter.notifyDataSetChanged();
} });
}
private void searchItem(String s) { List<MyData> thingsToBeAdd = new ArrayList<MyData>();
thingsToBeAdd = myDatas;
for(Iterator<MyData> it = myDatas.iterator(); it.hasNext();) {
MyData data = it.next();
if(!data.getTitle().contains(s)) { thingsToBeAdd.remove(data); }
}
myDatas.addAll(thingsToBeAdd); adapter.notifyDataSetChanged(); }
private void initList() {
myDatas = new ArrayList<>();
for(int i=0; i<items.length; i++){
myDatas.add(new MyData(items[i], images[i], detailString[i]));
}
getApplicationContext());
listView.setAdapter(adapter); }
@Override
protected void onPause() { super.onPause(); finish();
} }
5.
InfoActivity.java
package com.example.adananaulia.rpul;
import android.support.v7.app.AppCompatActivity; import android.os.Bundle;
public class InfoActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_info);
getSupportActionBar().setTitle("Info"); }
6.
MainActivity.java
package com.example.adananaulia.rpul;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity; import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;
public class MainActivity extends AppCompatActivity {
LinearLayout ensiklopedia, kuis, info;
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ensiklopedia = (LinearLayout) findViewById(R.id.ensiklopedia);
kuis = (LinearLayout) findViewById(R.id.kuis); info = (LinearLayout) findViewById(R.id.info);
ensiklopedia.setOnClickListener(new View.OnClickListener() {
@Override
Intent(getApplicationContext(), EnsiklopediaActivity.class); startActivity(intent);
} });
kuis.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) { Intent intent = new
Intent(getApplicationContext(), QuizActivity.class); startActivity(intent);
} });
info.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) { Intent intent = new
Intent(getApplicationContext(), InfoActivity.class); startActivity(intent);
} });
7.
MyAdapter.java
package com.example.adananaulia.rpul;
import android.content.Context; import android.view.LayoutInflater; import android.view.View;
import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import java.util.ArrayList; import java.util.Locale;
public class MyAdapter extends ArrayAdapter<MyData> { private ArrayList<MyData> dataSet;
Context mContext;
private int[] images = {R.drawable.steve,
R.drawable.bill_gates, R.drawable.woz, R.drawable.mark, R.drawable.sergey,
R.drawable.ram, R.drawable.apple2, R.drawable.eniac, R.drawable.pc, R.drawable.iod, R.drawable.software, R.drawable.hardware,
R.drawable.programmer};
private static class ViewHolder { ImageView image;
TextView title; }
public MyAdapter(ArrayList<MyData> data, Context context){
super(context, R.layout.row_item, data); this.dataSet = data;
this.mContext = context; }
public View getView(int position, View convertView, ViewGroup parent) {
MyData data = getItem(position); ViewHolder viewHolder;
final View result;
if(convertView == null){
viewHolder = new ViewHolder(); LayoutInflater inflater = LayoutInflater.from(getContext()); convertView =
inflater.inflate(R.layout.row_item, parent, false); viewHolder.title = (TextView)
convertView.findViewById(R.id.teks);
convertView.findViewById(R.id.imagePedia);
result = convertView;
convertView.setTag(viewHolder); } else {
viewHolder = (ViewHolder) convertView.getTag(); result=convertView;
}
viewHolder.title.setText(data.getTitle());
viewHolder.image.setImageResource(data.getImage());
Glide.with(mContext)
.load(data.getImage()) .crossFade()
.diskCacheStrategy(DiskCacheStrategy.ALL) .into(viewHolder.image);
return convertView; }
}
package com.example.adananaulia.rpul;
import android.media.Image;
public class MyData {
private String title; private int image; private int content;
public MyData(){}
public MyData(String title){ this.title = title; }
public MyData(String title, int image, int content){ this.title = title;
this.image = image; this.content = content; }
public int getContent() { return content;
}
public void setContent(int content) { this.content = content;
public String getTitle() {
return title; }
public void setTitle(String title) { this.title = title;
}
public int getImage() { return image;
}
public void setImage(int image) { this.image = image;
} }
9.
ResultActivity.java
package com.example.adananaulia.rpul;
import android.support.v7.app.AppCompatActivity; import android.os.Bundle;
import android.widget.Toast;
public class ResultActivity extends AppCompatActivity {
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_result);
int data = getIntent().getExtras().getInt("point") + 1;
textView = (TextView) findViewById(R.id.score);
textView.setText(""+data); }
}
10.
Activity_detail.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
<LinearLayout
android:orientation="vertical"
android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:layout_width="300dp"
android:layout_height="450dp">
<ImageView
android:id="@+id/imageDetail" android:layout_gravity="center" android:layout_width="200dp" android:layout_height="200dp" />
<TextView
android:id="@+id/textDetail" android:layout_marginTop="50dp" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
</RelativeLayout>
11.
Activity_ensiklopedia.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.adananaulia.rpul.EnsiklopediaActi vity">
<LinearLayout
android:orientation="vertical"
android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:layout_width="300dp"
android:layout_height="450dp">
<LinearLayout
android:orientation="horizontal" android:layout_marginTop="10dp" android:layout_width="match_parent" android:layout_height="wrap_content">
<EditText
android:id="@+id/find"
android:layout_width="250dp" android:layout_height="50dp" />
<ImageView
android:id="@+id/cek"
android:src="@drawable/ic_search_black_24dp"/> </LinearLayout>
<ListView
android:id="@+id/data"
android:layout_marginTop="10dp" android:layout_width="match_parent" android:layout_height="wrap_content">
</ListView>
</LinearLayout>
</RelativeLayout>
12.
Activity_info.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
tools:context="com.example.adananaulia.rpul.InfoActivity">
<LinearLayout
android:orientation="vertical"
android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:layout_width="300dp"
android:layout_height="450dp">
<ImageView
android:layout_width="200dp" android:layout_height="200dp" android:layout_gravity="center" android:layout_marginTop="20dp" android:src="@drawable/logo"/>
<LinearLayout
android:layout_marginTop="50dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal">
<TextView
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Nama : "
android:textSize="20dp"/>
android:id="@+id/name"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:text="Username"
android:textSize="20dp"/>
</LinearLayout>
<LinearLayout
android:layout_marginTop="50dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal">
<TextView
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Jurusan : "
android:textSize="20dp"/>
<TextView
android:id="@+id/program"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:text="Program"
android:textSize="20dp"/>
</LinearLayout>
</RelativeLayout>
13.
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_height="match_parent"
tools:context="com.example.adananaulia.rpul.MainActivity">
<LinearLayout
android:orientation="vertical" android:id="@+id/content" android:layout_width="300dp" android:layout_height="450dp"
android:layout_centerHorizontal="true" android:layout_centerVertical="true">
<ImageView
android:id="@+id/logo"
android:src="@drawable/logo" android:layout_marginTop="50dp" android:layout_gravity="center"/>
<LinearLayout
android:id="@+id/ensiklopedia" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_marginTop="50dp" android:layout_gravity="center" >
<ImageView
android:layout_width="50dp" android:layout_height="50dp" android:src="@drawable/ensi"/>
<TextView
android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginLeft="20dp" android:gravity="center"
android:textSize="20dp"
android:text="Ensiklopedia"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_marginTop="50dp" android:layout_gravity="center" >
<ImageView
android:layout_width="50dp" android:layout_height="50dp" android:src="@drawable/quiz"/>
<TextView
android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginLeft="20dp" android:gravity="center"
android:textSize="20dp" android:text="Quiz"/>
</LinearLayout>
<LinearLayout
android:id="@+id/info"
<ImageView
android:layout_width="50dp" android:layout_height="50dp"
android:src="@drawable/ic_info_black_24dp"/>
<TextView
android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginLeft="20dp" android:gravity="center"
android:textSize="20dp" android:text="Info"/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
14.
Activity_quiz.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout
android:layout_height="match_parent"
tools:context="com.example.adananaulia.rpul.QuizActivity">
<LinearLayout
android:orientation="vertical"
android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:layout_width="300dp"
android:layout_height="450dp">
<ImageView
android:id="@+id/imageKuis" android:layout_width="200dp" android:layout_height="200dp" android:layout_gravity="center" android:layout_marginTop="20dp" android:src="@drawable/steve"/>
<LinearLayout
android:layout_marginTop="30dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal">
<ImageView
android:id="@+id/hint" android:layout_width="20dp" android:layout_height="20dp"
</LinearLayout>
<TextView
android:id="@+id/question" android:layout_marginTop="30dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Pertanyaan"/>
<LinearLayout
android:orientation="horizontal" android:layout_marginTop="10dp" android:layout_width="match_parent" android:layout_height="wrap_content">
<EditText
android:id="@+id/answer" android:layout_width="250dp" android:layout_height="50dp" />
<ImageView
android:id="@+id/cek"
android:layout_width="50dp" android:layout_height="50dp"
android:src="@drawable/ic_send_black_24dp"/>
</LinearLayout>
</RelativeLayout>
15.
Activity_result.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.adananaulia.rpul.ResultActivity">
<LinearLayout
android:orientation="vertical"
android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:layout_width="300dp"
android:layout_height="450dp">
<LinearLayout
<TextView
android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center_horizontal" android:text="Score Anda: "
android:textSize="50dp" />
<TextView
android:id="@+id/score"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="20dp" android:textSize="50dp" /> </LinearLayout>
</LinearLayout>
</RelativeLayout>
16.
Row_item.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:orientation="vertical" android:padding="10dp">
<ImageView
android:id="@+id/imagePedia" android:layout_width="50dp" android:layout_height="50dp" android:src="@drawable/woz"/>
<TextView
android:id="@+id/teks"
android:layout_toRightOf="@id/imagePedia" android:layout_marginLeft="10dp"
android:layout_marginBottom="10dp" android:layout_width="match_parent" android:layout_height="50dp"
android:gravity="center" android:textSize="25dp" android:textColor="#000"
android:textAlignment="textStart" android:text="Text"/>