Anda di halaman 1dari 6

YAYASAN SASMITA JAYA

UNIVERSITAS PAMULANG
( UNPAM )
SK MENDIKNAS No. 136/D/0/2001
Jl. Surya Kencana No.1 PamulangBarat .TangerangBantenTelp. (021) 74125 66 Fax . (021) 7412491

SOAL UJIAN TENGAH SEMESTER GANJIL


TAHUN AKADEMIK 2022/2023

Nama : Ditonius Zebua Sifat : Close Book

Nim : 191011450300 hari/Tanggal : Jumat, 28 Okt 2022

Kelas : 06TPLK001 Shift : Reg C/CK

Mata Kuliah : Mobile Programming Semester : VI (enam)

Fak/Prodi : Teknik/Informatika Dosen : Farida Nurlaila

1. Jelaskan kegunaan intent dan pembagiannya dalam sebuah activity!


Jawab :
Intent adalah sebuah jembatan yang menghubungkan interaksi antar Activity di
aplikasi Android. Intent juga dapat membawa dan mengirimkan data ke Activity lain, bahkan
ke aplikasi lain (Gmail, Google Map dsb). Intinya, Intent merupakan mekanisme untuk
melakukan sebuah action dan komunikasi antar komponen aplikasi.
Dapat berpindah halaman dari satu Activity ke Activity Contohnya : Kita membuat
aplikasi dengan 3 Activity. Activity utama berisi tombol informasi dan login. Ketika
tombol informasi di klik akan tampil activity informasi begitupun dengan tombol login
ketika di klik akan menampilkan activity login.
Dapat transfer data dari satu Activity ke Activity lain. Contohnya : Pada saat kita mengisi
data pada Activity login maka nanti akan ditampilkan informasinya pada Activity infomasi
user.
Dapat memanggil activity pada internal android seperti Melakukan Dial Number, Open
Email ataupun lainnya.
YAYASAN SASMITA JAYA
UNIVERSITAS PAMULANG
( UNPAM )
SK MENDIKNAS No. 136/D/0/2001
Jl. Surya Kencana No.1 PamulangBarat .TangerangBantenTelp. (021) 74125 66 Fax . (021) 7412491

2. Jelaskan perbedaan penggunaan layout_width="match_parent" dengan


layout_width="wrap_content" !
Jawab :
Match parent merupakan suatu nilai atribut yang memiliki fungsi sebagai penyesuaian tinggi
dan lebar dari suatu tampilan yang sama dengan lebar dan tinggi layar smartphone android.
Sedangkan, wrap content adalah suatu nilai atribut yang memiliki fungsi sebagai penyesuaian
tinggi dan lebar dari suatu tampilan berdasarkan isi/konten yang ada.

Contoh penggunaan dengan match parent :


Matchparent.xml
Code
<LinearLayout
android:layout_width="200dp"
android:layout_height="200dp"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="TextView"
android:textSize="25sp"
android:background="@color/colorAccentant"/>
</LinearLayout

Contoh penggunaan dengan wrap content :


wrapcontent.xml
Code
<LinearLayout
android:layout_width="200dp"
android:layout_height="200dp"
YAYASAN SASMITA JAYA
UNIVERSITAS PAMULANG
( UNPAM )
SK MENDIKNAS No. 136/D/0/2001
Jl. Surya Kencana No.1 PamulangBarat .TangerangBantenTelp. (021) 74125 66 Fax . (021) 7412491

android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:textSize="25sp"
android:background="@color/colorAccentant"/>
</LinearLayout
3. Lengkapi source code berikut:
public class MainActivity extends Activity implements{

private EditText textUTS,textUAS,textNilaiAkhir;


private Button bHitung,bTutup;
boolean isEmptyFields = false;

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

textUTS = (EditText)findViewById(R.id.editUTS);
textUAS = (EditText)findViewById(R.id.editUAS);
textNilaiAkhir = (EditText)findViewById(R.id.editNilaiAkhir);
bHitung = (Button)findViewById(R.id.buttonHitung);
bTutup = (Button)findViewById(R.id.buttonTutup);
bHasil.setOnClickListener(newView.OnClickListener()

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.getId()==R.id.buttonHitung)
{
double uts,uas,nilaiakhir;
// cari rata-rata nilai akhir yang diperoleh dari nilai uts dan
uas

@Override

Public void onClick(View view) {


Intent intent = new
Intent(MenuActivity.this,MainActivity.class);
startActivity(intent);
YAYASAN SASMITA JAYA
UNIVERSITAS PAMULANG
( UNPAM )
SK MENDIKNAS No. 136/D/0/2001
Jl. Surya Kencana No.1 PamulangBarat .TangerangBantenTelp. (021) 74125 66 Fax . (021) 7412491

}
if(v.getId()==R.id.buttonTutup)
{
System.exit(0);
}
}
}

4. Jelaskan perbedaan antara ListView dan RecyclerView!


Jawab :
ViewHolder
Perbedaan mendasar lainnya antara RecyclerView VS ListView adalah
pada ViewHolder. Jika pada widget ListView, ViewHolder dapat diabaikan
penggunaannya, sebaliknya pada widget RecyclerView, ViewHolder bersifat
mutlak dan wajib adanya. Inilah yang menjadi kunci dasar mengapa RecyclerView
lebih fleksibel dan powerfull daripada ListView. Karena objek data akan di daur
ulang pada ViewHolder bukan pada object RecyclerView nya.
LayoutManager
Disamping ViewHolder, dengan menggunakan RecyclerView kita diberikan
kemudahan untuk menyesuaikan tampilan (customize display) dengan desain yang
kita inginkan.
DividerItemDecoration
Jika pada ListView kita harus mendefinisikan dan mencari sendiri sendiri baris
pembatas untuk menciptakan sebuah garis/pembatas antar item. Pada
RecyclerView hal ini mudah diaplikasikan dengan cara menambahkan
DividerItemDecoration pada RecyclerView.
ItemAnimator
Method ini digunakan untuk menambahkan animasi pada item RecyclerView ketika
item bertambah maupun berkurang.
Notifying data adapter
YAYASAN SASMITA JAYA
UNIVERSITAS PAMULANG
( UNPAM )
SK MENDIKNAS No. 136/D/0/2001
Jl. Surya Kencana No.1 PamulangBarat .TangerangBantenTelp. (021) 74125 66 Fax . (021) 7412491

Notifying data adapter menjadi salah satu kelebihan RecyclerView karena akan
sangat berguna ketika item bertambah maupun berkurang karena developer tidak
perlu lagi melakukan reload data secara penuh.

5. Berikan contoh implementasi source code Tabview dalam aplikasi Android!


Jawab :
import * as React from 'react';
import { View, useWindowDimensions } from 'react-native';
import { TabView, SceneMap } from 'react-native-tab-view';

const FirstRoute = () => (


<View style={{ flex: 1, backgroundColor: '#ff4081' }} />
);

const SecondRoute = () => (


<View style={{ flex: 1, backgroundColor: '#673ab7' }} />
);

const renderScene = SceneMap({


first: FirstRoute,
second: SecondRoute,
});

export default function TabViewExample() {


const layout = useWindowDimensions();
YAYASAN SASMITA JAYA
UNIVERSITAS PAMULANG
( UNPAM )
SK MENDIKNAS No. 136/D/0/2001
Jl. Surya Kencana No.1 PamulangBarat .TangerangBantenTelp. (021) 74125 66 Fax . (021) 7412491

const [index, setIndex] = React.useState(0);


const [routes] = React.useState([
{ key: 'first', title: 'First' },
{ key: 'second', title: 'Second' },
]);

return (
<TabView
navigationState={{ index, routes }}
renderScene={renderScene}
onIndexChange={setIndex}
initialLayout={{ width: layout.width }}
/>
);
}

Anda mungkin juga menyukai