Anda di halaman 1dari 11

Nama : Fajrie Dwi Oktofri

Nim : D1042151008

Mata Kuliah : Pemrograman Perangkat Bergerak

A. Aplikasi yang saya buat merupakan hasil implementasi dari pembalajaran PPB selama satu
semester, dengan meggunakan GridView dan RecycleView. Aplikasi sederhana yang
menampilkan informasi tentang Bidang hiburan, dengan judul “7 Klub Sepakbola dengan fanbase
terbesar” Aplikasi menampilkan daftar-daftar klub yang bisa di-klik untuk melihat deskripsi
keterangan-keterangan dari setiap klub. Keterangan deskripsi berupa logo, nama club, sebutan
penggemar, dan berapa jumlah pendukung klub tersebut di dunia.

B. Sreenshot view dan source code.xml

1. Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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=".MainActivity"
android:background="@color/latarDeskripsi">

<!--Nama : Fajrie Dwi Oktofri-->


<!--Nim : D1042151008-->
<!--Tugas : UAS PPB-->

<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="@drawable/atas"
android:paddingTop="20dp"
android:textAlignment="center"
android:text="7 KLUB SEPAKBOLA DENGAN FANBASE TERBESAR"
android:textSize="25sp"
android:textColor="@color/atas"
/>

<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerview"
android:layout_width="match_parent"
android:layout_height="match_parent">

</android.support.v7.widget.RecyclerView>

</LinearLayout>
</ScrollView>
</LinearLayout>
2. Cardview_club.xml

<?xml version="1.0" encoding="utf-8"?>


<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/cardview"
android:clickable="true"
android:focusable="true"
android:foreground="?attr/selectableItemBackground"
android:layout_width="170dp"
android:layout_height="200dp"
xmlns:cardview="http://schemas.android.com/apk/res-auto"
android:layout_margin="5dp"
cardview:cardCornerRadius="4dp">

<!--Nama : Fajrie Dwi Oktofri-->


<!--Nim : D1042151008-->
<!--Tugas : UAS PPB-->

<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/IVmu"
android:layout_width="match_parent"
android:layout_height="170dp"
android:layout_gravity="center"
android:background="@color/tempatLogo"
android:padding="25dp"/>
<TextView
android:id="@+id/TVmu"
android:textSize="12sp"
android:gravity="center"
android:textColor="@color/warnaPutih"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Manchester United"
android:background="@color/bawahLogo"/>
</LinearLayout>
</android.support.v7.widget.CardView>

3. Activity_club_.xml

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout 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=".Club_Activity"
android:background="@drawable/latar">

<!--Nama : Fajrie Dwi Oktofri-->


<!--Nim : D1042151008-->
<!--Tugas : UAS PPB-->

<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:padding="10dp">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">

<ImageView
android:layout_width="180dp"
android:layout_height="180dp"
android:id="@+id/IVthumbnail" />

<TextView
android:id="@+id/TVnamaclub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nama Club"
android:layout_marginTop="10dp"
android:textSize="18sp"
android:textStyle="bold"
android:textColor="@color/warnaPutih"/>

<TextView
android:id="@+id/TVjulukanpenggemar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Julukan Penggemar"
android:padding="8dp"
android:layout_marginTop="10dp"
android:background="@color/warnaMantul"/>

<TextView
android:id="@+id/TVdeskripsi"
android:textSize="18sp"
android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Deskripsi"
android:textColor="@color/warnaPutih"
android:background="@color/latarDeskripsi"
android:gravity="center"/>

</LinearLayout>

</android.support.v4.widget.NestedScrollView>

</LinearLayout>
C. Source code.java

1. MainActivity.java
package com.fajriedwioktofri.ujianakhirsemester_ppb;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

List<Club> club1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

club1 = new ArrayList<>();


club1.add(new Club("Manchester United","Mancunian","Inilah klub dengan basis
fans terbanyak di dunia. Ya, Manchester United sepertinya masih memiliki pendukung
fanatik yang terus tumbuh di setiap dekade. Dan sekalipun prestasi United semenjak
ditinggalkan oleh Sir Alex Ferguson belum bisa dikatakan baik, namun sepertinya para
fans di seluruh dunia tak ingin berpaling ke klub lain.\n" +
"Pada 2016, tercatat sebanyak 99,7 juta pengikut di media sosial
United. Di antaranya Twitter sebanyak 10 juta, Instagram sebanyak 16,8 juta dan
Facebook sebanyak 72,9 juta.\n" +
"Hebatnya lagi, United memiliki jumlah pemirsa televisi yang tergolong
besar, yakni sekitar 2 miliar penonton di tahun 2016. Bahkan angka tersebut mencakup
52% dari total keseluruhan pemirsa global EPL.\n" +
"Dan untuk penjualan jersey United rupanya mampu mengungguli Real
Madrid yang sudah memiliki Ronaldo dan Bale. Di tahun 2016 tercatat United mampu
menjual sebanyak 2.850.000 jersey.\n" +
"\n",R.drawable.mu));
club1.add(new Club("FC Barcelona","Barcelonistas","Barcelona bisa dibilang
sebagai klub tersukses dalam 10 tahun terakhir. Berhasil melahirkan ikon sepak bola
baru, Lionel Messi menjadi kunci keberhasilan Barcelona dalam meraih banyak gelar.\n"
+
"Untuk urusan jumlah fans nyatanya Barcelona masih unggul dibandingkan
seteru abadinya, Real Madrid. Pada 2016 media sosial Twitter Barcelona memiliki 20,5
juta pengikut, Instagram sebanyak 48,1 juta dan Facebook sebanyak 97,8 juta. Jika
ditotal jumlahnya sekitar 166 juta.\n" +
"Namun untuk penjualan jersey sepanjang 2016, Barcelona masih berada
di bawah Real Madrid dengan hanya mampu menjual 1.980.000.\n",R.drawable.barca));
club1.add(new Club("Real Madrid CF","Madridistas","Pengoleksi gelar juara Liga
Champion sepuluh kali, Real Madrid nyatanya hanya mampu berada di posisi ketiga
sebagai klub dengan basis fans terbanyak di dunia. Bahkan kalah unggul dari rival
abadinya, Barcelona yang berada di peringkat kedua.\n" +
"Dilihat dari pengikut media sosial di 2016, Real Madrid mencatatkan
di Twitter sebanyak 22,7 juta, Instagram sebanyak 46,8 juta dan Facebook sebanyak 96,1
juta. Total ada sekitar 165 juta lebih pengikut di media sosial.\n" +
"Jangan tanya soal penjualan jersey yang sudah pasti disokong oleh
nama Ronaldo. Di 2016 Madrid tercatat mampu menjual 2.290.000 jersey.\n" +
"\n",R.drawable.rm));
club1.add(new Club("Chelsea FC","True Blues","Prestasi Chelsea bisa dibilang
kian mentereng semenjak dimiliki oleh miliarder asal Rusia, Abrahamovic. Pernah
menjuarai Liga Champion pada 2012 kian menambah daftar prestasi Chelsea yang
mentereng. Tak heran bila basis fans di seluruh dunia pun makin melonjak.\n" +
"Seperti yang lain, dilihat dari basis pengikut di media sosialnya,
Chelsea mencatatkan memiliki total 64,7 juta pengikut. Twitter sebanyak 8,2 juta,
Instagram sebanyak 8,8 juta, dan Facebook sebanyak 47,7 juta. Dan penjualan jersey
sepanjang tahun 2016 tercatat sebanyak 1.650.000.\n" +
"\n",R.drawable.cl));
club1.add(new Club("Arsenal","The Gooners","Meski minim prestasi, namun
Arsenal mampu menjadi klub dengan basis fans terbanyak yang mengungguli Liverpool dan
Munich. Tim berjuluk Meriam London ini sepertinya memiliki fans loyalis yang terus
bertambah setiap tahunnya.\n" +
"Di tahun 2016, Arsenal memiliki pengikut Twitter sebanyak 9,5 juta,
Instagram sebanyak 9,1 juta dan Facebook sebanyak 37,8 juta. Total ada 56,4 juta
pengikut di media sosial. Tapi kendati demikian Arsenal hanya mampu menjual 1.125.000
jersey di seluruh dunia. Angka yang berada di bawah penjualan Munich.\n" +
"Namun Arsenal mampu mencatat jumlah pemirsa TV di Inggris setiap kali
Arsenal bertanding sebanyak 38 juta di sepanjang tahun 2016.\n" +
"Dengan basis fans sebanyak itu, semoga saja bisa menjadi penyemangat
Arsenal dalam meraih titel juara EPL dan Liga Champion.\n" +
"\n",R.drawable.arsenal));
club1.add(new Club("FC Bayern Munich","FC Bayern Fans","Bayer Munich merupakan
klub terkuat di Bundesliga dan salah satu klub yang ditakuti di Liga Champion. Tak
heran bila Munich berada di posisi 6 sebagai klub dengan fans terbanyak di dunia.\n" +
"Melalui catatan di tahun 2016, media sosial Bayer Munich memiliki
total 54,2 juta pengikut yang terbagi di antaranya: Twitter sebanyak 3,4 juta,
Instagram sebanyak 9,4 juta dan Facebook sebanyak 41,4 juta. Dan lebih dari itu,
sepanjang tahun 2016 Bayer Munich berhasil menjual 1,5 juta jersey di seluruh
dunia.\n" +
"\n",R.drawable.bm));
club1.add(new Club("Liverpool FC","Kopites","Di tahun 2016, berbagai media
sosial Liverpool tercatat memiliki jumlah pengikut yang besar. Mulai dari Twitter
dengan 7 juta pengikut, Instagram dengan 3,9 juta pengikut dan Facebook dengan 29 juta
pengikut. Total ada 39,9 juta pengikut di media sosial.\n" +
"Selain itu, sepanjang 2016 tercatat telah terjual 805ribu jersey
Liverpool di seluruh dunia. Bukti lain banyaknya jumlah fans Liverpool yang tersebar
di dunia adalah saat tur pra-musim 2014. Saat itu lebih dari 200 ribu orang hadir di
stadion.\n" +
"Apa kamu termasuk fans klub yang sudah 5 kali juara Liga Champion
ini?\n" +
"\n",R.drawable.lp));

RecyclerView myrv = (RecyclerView) findViewById(R.id.recyclerview);


RecyclerViewAdapter myadapter = new RecyclerViewAdapter(this,club1);
myrv.setLayoutManager(new GridLayoutManager(this,2));
myrv.setAdapter(myadapter);
}
}

2. RecylerViewAdapter.java

package com.fajriedwioktofri.ujianakhirsemester_ppb;

import android.content.Context;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v7.widget.CardView;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import java.util.List;

public class RecyclerViewAdapter extends


RecyclerView.Adapter<RecyclerViewAdapter.MyViewHolder> {

private Context mContext;


private List<Club> mdata;

public RecyclerViewAdapter(Context mContext, List<Club> mdata) {


this.mContext = mContext;
this.mdata = mdata;
}

@Override
public MyViewHolder onCreateViewHolder( ViewGroup parent, int viewType) {

View view;
LayoutInflater mInfalter = LayoutInflater.from(mContext);
view = mInfalter.inflate(R.layout.cardview_club ,parent,false);

return new MyViewHolder(view);


}

@Override
public void onBindViewHolder(MyViewHolder holder, final int position) {

holder.tv_club_nama.setText(mdata.get(position).getNamaKlub());
holder.im_club_thumbnail.setImageResource(mdata.get(position).getThumbnail());
holder.cardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

Intent intent = new Intent(mContext,Club_Activity.class);

//mengirim data ke Club_Activity


intent.putExtra("NamaKlub",mdata.get(position).getNamaKlub());

intent.putExtra("JulukanPenggemar",mdata.get(position).getJulukanPenggemar());
intent.putExtra("Deskripsi",mdata.get(position).getDeskripsi());
intent.putExtra("Thumbnail",mdata.get(position).getThumbnail());

//Memulai activity
mContext.startActivity(intent);

}
});

@Override
public int getItemCount() {
return mdata.size();
}

public static class MyViewHolder extends RecyclerView.ViewHolder {


TextView tv_club_nama;
ImageView im_club_thumbnail;
CardView cardView;

public MyViewHolder(@NonNull View itemView) {


super(itemView);

tv_club_nama = (TextView) itemView.findViewById(R.id.TVmu);


im_club_thumbnail = (ImageView) itemView.findViewById(R.id.IVmu);
cardView = (CardView) itemView.findViewById(R.id.cardview);

}
}

3. Club_Activity.java
package com.fajriedwioktofri.ujianakhirsemester_ppb;

import android.content.Intent;
import android.media.Image;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;

public class Club_Activity extends AppCompatActivity {

private TextView tvNamaKlub, tvJulukanPenggemar, tvDeskripsi;


private ImageView img;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_club_);

tvNamaKlub = (TextView) findViewById(R.id.TVnamaclub);


tvJulukanPenggemar = (TextView) findViewById(R.id.TVjulukanpenggemar);
tvDeskripsi = (TextView) findViewById(R.id.TVdeskripsi);
img = (ImageView) findViewById(R.id.IVthumbnail);

// Menerima data
Intent intent = getIntent();
String NamaKlub = intent.getExtras().getString("NamaKlub");
String JulukanPenggemar = intent.getExtras().getString("JulukanPenggemar");
String Deskripsi = intent.getExtras().getString("Deskripsi");
int image = intent.getExtras().getInt("Thumbnail");

//Setting values

tvNamaKlub.setText(NamaKlub);
tvJulukanPenggemar.setText(JulukanPenggemar);
tvDeskripsi.setText(Deskripsi);
img.setImageResource(image);

}
}
4. Club.java
package com.fajriedwioktofri.ujianakhirsemester_ppb;

public class Club {

private String NamaKlub;


private String JulukanPenggemar;
private String Deskripsi;
private int Thumbnail;

public Club() {
}

public Club(String namaKlub, String julukanPenggemar, String deskripsi, int


thumbnail) {
NamaKlub = namaKlub;
JulukanPenggemar = julukanPenggemar;
Deskripsi = deskripsi;
Thumbnail = thumbnail;
}

public String getNamaKlub() {


return NamaKlub;
}

public String getJulukanPenggemar() {


return JulukanPenggemar;
}

public String getDeskripsi() {


return Deskripsi;
}

public int getThumbnail() {


return Thumbnail;
}

public void setNamaKlub(String namaKlub) {


NamaKlub = namaKlub;
}

public void setJulukanPenggemar(String julukanPenggemar) {


JulukanPenggemar = julukanPenggemar;
}

public void setDeskripsi(String deskripsi) {


Deskripsi = deskripsi;
}

public void setThumbnail(int thumbnail) {


Thumbnail = thumbnail;
}

}
D. Saran
Saya berharap semoga kedepanya Pak Rudy Tandra, semakin baik dalam mengajar. Agar dapat
memaksimalkan materi-materi yang harus di berikan kepada Mahasiswa.

Anda mungkin juga menyukai