Anda di halaman 1dari 16

PENILAIAN AKHIR SEMESTER BERBASIS KOMPUTER (PASBK) GANJIL

TAHUN PELAJARAN 2020 / 2021

Materi Pelajaran : ANDROID Kelas : XII / Sebelas


Hari / Tgl : Sesuai Jadwal Program : RPL
Nama Guru : Syahidah Humairoh, S.Pd. Waktu : 90 Menit

PETUNJUK UMUM
1. Tulis dengan jelas identitas anda pada lembar jawaban
2. Periksa dan bacalah soal-soal dengan teliti sebelum menjawab soal
3. Dahulukan soal-soal yang dianggap mudah
4. Kerjakan pada lembar jawab yang disediakan
5. Bentuk soal Pilihan Ganda dan Essay
6. Periksalah jawaban sebelum diserahkan kepada pengawas Penilaian Akhir Semester Ganjil
Berbasis Komputer
7. Percaya diri dengan hasil kerja sendiri.

A. Pilihlah pada salah satu huruf A, B, C, D atau E pada lembar jawaban yang telah
disediakan !

1. File yang digunakan ntuk melakukan pengaturan build app pada aplikasi agar mendapatkan
format .apk pada react native adalah…
A. App.json
B. Assets
C. Package.json
D. App.js
E. Expo.js
2. Dimensions.get('window').width;

Baris program tersebut memiliki nilai yaitu .…


A. Ukuran tinggi elemen
B. Ukuran lebar elemen
C. Ukuran tinggi device
D. Ukuran lebar device
E. Ukuran dimensi elemen
3. Dimensions.get('window').height;

Baris program tersebut memiliki nilai yaitu .…


A. Ukuran tinggi elemen
B. Ukuran lebar elemen
C. Ukuran tinggi device

Naskah Soal Penilaian Akhir Semester Berbasis Komputer (PASBK) Ganjil 2020/2021 | smkprestasiprima.sch.id 1
D. Ukuran lebar device
E. Ukuran dimensi elemen
4. (HOTS)
<View style={tema.tombol}></View>

Tulisan berwarna merah dapat diartikan sebagai ….


A. Style yang disimpan dalam variabel bernama tema dan stylesheet bernama tombol.
B. Style yang disimpan dalam variabel bernama tombol dan stylesheet bernama tema.
C. Style yang telah tersedia dalam library react native
D. Style yang dapat merubah tampilan layar hanya sekali kompilasi
E. Style yang tidak dapat dirubah karena sudah memiliki ketentuan yang baku
5. (HOTS)
Dimanakah letak kesalahan yang terdapat pada baris program berikut…

export default function Banner{
return (
<View style={styles.indicator}> </View>
);
}
A. Banner seharusnya ditulis Banner()
B. Banner seharusnya ditulis Banner extends Component
C. default seharusnya ditulis default()
D. return  seharusnya ditulis render()
E. function seharusnya ditulis class

Naskah Soal Penilaian Akhir Semester Berbasis Komputer (PASBK) Ganjil 2020/2021 | smkprestasiprima.sch.id 2
6. (HOTS)
var x = Dimensions.get('window').width;
var y = Dimensions.get('window').height;

const tema = StyleSheet.create({
  something: {
    height: x/2,
    width: y/2,
  }

Arti dari baris program tersebut adalah…

A. Stylesheet bernama something memiliki ukuran lebar dan tinggi separuh dari
device
B. Stylesheet bernama something memiliki ukuran lebar dan tinggi mengikuti ukuran device
C. Stylesheet bernama something memiliki bentuk persegi
D. Stylesheet bernama something memiliki ukuran lebar dan tinggi yang sejajar
E. Stylesheet bernama something memiliki ukuran lebar dan tinggi yaitu x dan y
7. (HOTS)
{ artikel.map((item,index)=>(
    <Text key={index} style={index%2==0 ? tema.even : tema.odd}>
{item.judul}
</Text>
  ))
}

Jika index menunjukkan angka 3 maka style yang akan aktif adalah ….
A. tema.even
B. tema.odd
C. tema.judul
D. tema.item
E. tema.artikel

Naskah Soal Penilaian Akhir Semester Berbasis Komputer (PASBK) Ganjil 2020/2021 | smkprestasiprima.sch.id 3
8. (HOTS)
{
  artikel.map((item,index)=>(
    <Text key={index} style={index%2==0 ? tema.even : tema.odd}>
{item.judul}
</Text>
  ))
}

Jika index menunjukkan angka 4 maka style yang akan aktif adalah ….
A. tema.even
B. tema.odd
C. tema.judul
D. tema.item
E. tema.artikel
9. Perhatikan gambar !

Menu yang dipilih jika ingin mengaktifkan metode signin email/password adalah….
A. Authentication
B. Cloud firestore
C. Realtime Database
D. Storage
E. Hosting
10. Templates yang tidak tersedia untuk layanan sign-in method pada firebase adalah….
A. Email address verification
B. Password Reset
C. Email Address Change
D. SMS Verification
E. Email Subscription
11. (HOTS)
var email = “anonymous@smkprestasiprima.sch.id”;
var password = “12345678”;
firebase.auth().createUserWithEmailAndPassword(email,password).catch(function(error) {
var errorCode = error.code;
var errorMessage = error.message;

Naskah Soal Penilaian Akhir Semester Berbasis Komputer (PASBK) Ganjil 2020/2021 | smkprestasiprima.sch.id 4
}

Baris program tersebut memiliki makna yaitu ….


A. Memgaktifkan verifikasi akun berdasarkan parameter email dan password tersebut
B. Melakukan aksi masuk akun user dengan parameter email dan password tersebut
C. Membuat user baru dengan parameter email dan password tersebut
D. Menampilkan error jika tidak ditemukan email dan password tersebut
E. Menyimpan seluruh database user dengan email dan password tersebut
12. (HOTS)
var email = “anonymous@smkprestasiprima.sch.id”;
var password = “12345678”;
firebase.auth().SignInWithEmailAndPassword(email,password).catch(function(error) {
var errorCode = error.code;
var errorMessage = error.message;
alert(errorMessage);
});

Baris program tersebut memiliki makna yaitu ….


A. Mengirimkan pesan verifikasi akun berdasarkan parameter email dan password tersebut
B. Melakukan aksi masuk akun user dengan parameter email dan password tersebut
C. Membuat user baru dengan parameter email dan password tersebut
D. Menampilkan error jika tidak ditemukan email dan password tersebut
E. Menyimpan seluruh database user dengan email dan password tersebut

Naskah Soal Penilaian Akhir Semester Berbasis Komputer (PASBK) Ganjil 2020/2021 | smkprestasiprima.sch.id 5
13. (HOTS)
var email = “anonymous@smkprestasiprima.sch.id”;
var password = “12345678”;
firebase.auth().SignInWithEmailAndPassword(email,password).catch(function(error) {
var errorCode = error.code;
var errorMessage = error.message;
alert(errorMessage);
});

Apa yang terjadi apabila program tersebut dijalankan namun pada database password tidak
sesuai program tersebut memiliki makna yaitu ….
A. Menampilkan alert string yang tersimpan dalam variabel berupa errorCode
B. Menampilkan alert string yang tersimpan dalam variabel berupa errorMessage
C. Menampilkan alert string bertuliskan “Password salah”
D. Menampilkan alert string bertuliskan email dan password yang sebenarnya
E. Menampilkan alert string bertuliskan email dan password yang salah
14. (HOTS)
user.updateProfile({
displayName: "Anonymous",
}).then(function() {
alert(“x”);
}).catch(function(error) {
alert(“y”);
});

Baris program tersebut memiliki tujuan utama yaitu ….


A. Menampilkan alert string yang berisikan displayName terbaru
B. Mengganti username user menjadi “Anonymous”
C. Menampilkan alert string bertuliskan “x”
D. Menampilkan alert string bertuliskan “y”
E. Mengganti displayName user menjadi “Anonymous”

Naskah Soal Penilaian Akhir Semester Berbasis Komputer (PASBK) Ganjil 2020/2021 | smkprestasiprima.sch.id 6
15. (HOTS)
user.updateProfile({
displayName: "Anonymous",
}).then(function() {
alert(“x”);
}).catch(function(error) {
alert(“y”);
});

Apabila baris program tersebut berhasil tereksekusi maka aksi yang akan tampil adalah….
A. Menampilkan alert string yang berisikan displayName terbaru
B. Menampilkan Username user menjadi “Anonymous”
C. Menampilkan alert string bertuliskan “x”
D. Menampilkan alert string bertuliskan “y”
E. Menampilkan displayName user menjadi “Anonymous”
16. (HOTS)
user.updateProfile({
displayName: "Anonymous",
}).then(function() {
alert(“x”);
}).catch(function(error) {
alert(“y”);
});

Apabila baris program tersebut gagal tereksekusi maka aksi yang akan tampil adalah….
A. Menampilkan alert string yang berisikan displayName terbaru
B. Menampilkan Username user menjadi “Anonymous”
C. Menampilkan alert string bertuliskan “x”
D. Menampilkan alert string bertuliskan “y”
E. Menampilkan displayName user menjadi “Anonymous”

Naskah Soal Penilaian Akhir Semester Berbasis Komputer (PASBK) Ganjil 2020/2021 | smkprestasiprima.sch.id 7
17. Library yang harus di import agar dapat melakukan proses koneksi antara aplikasi dengan
firebase adalah….
A. import React, {firebase} from "react";
B. import firebase from "react";
C. import firebase from "react-native";
D. import firebase from "firebase";
E. import React, {firebase} from "react-native";
18. <Button
  title="Sign Up"
  onPress={() => this.props.navigation.navigate('SignUp')}
/>

Baris program tersebut memiliki makna yaitu ….


A. Melakukan aksi pembuatan akun baru
B. Melakukan aksi perpindahan halaman ke halaman SignUp
C. Melakukan aksi masuk ke dalam akun
D. Melakukan aksi koneksi akun dengan google
E. Melakukan aksi proses update akun pada halaman SignUp
19. (HOTS)
class App extends React.Component{
constructor() {
    super();
    if (!firebase.apps.length) {
      firebase.initializeApp(FBConfig); 
    }
}
}
const Config = {
//some firebase config program
}

Baris program tersebut akan error apabila dijalankan karena ….

A. Tidak terdapat perintah output


B. Parameter constructor kosong
C. Nama variabel yang di inisialisasi tidak sesuai dengan variabel deklarasi
konfigurasi
D. Tidak terdapat pilihan else yang dipasangkan dengan pengondisian if
E. firebase.apps.length tidak tereksekusi dengan benar

Naskah Soal Penilaian Akhir Semester Berbasis Komputer (PASBK) Ganjil 2020/2021 | smkprestasiprima.sch.id 8
20. (HOTS)
if(Platform.OS !=='web'){}

Makna dari baris program tersebut adalah ….


A. Jika sistem operasi device adalah web
B. Jika sistem operasi device adalah bukan web
C. Jika sistem operasi device adalah android
D. Jika sistem operasi device adalah ios
E. Jika sistem operasi device adalah linux
21. import * as ImagePicker from '_______________';

Bagian kosong pada baris program tersebut dapat juga diisi dengan ….
A. expo-image-picker
B. expo-image
C. image-picker
D. picker-react
E. expo-picker
22. ImagePicker.requestCameraRollPermissionsAsync();

Makna dari baris program tersebut adalah ….


A. Meminta perizinan untuk membuka Camera Roll / Album
B. Meminta perizinan untuk membuka aplikasi Camera
C. Membuka aplikasi Camera
D. Membuka Camera Roll / Album
E. Mengizinkan untuk membuka Camera Roll / Album
23. ImagePicker.requestCameraPermissionsAsync();

Makna dari baris program tersebut adalah ….


A. Meminta perizinan untuk membuka Camera Roll / Album
B. Meminta perizinan untuk membuka aplikasi Camera
C. Membuka aplikasi Camera
D. Membuka Camera Roll / Album
E. Mengizinkan untuk membuka Camera Roll / Album

Naskah Soal Penilaian Akhir Semester Berbasis Komputer (PASBK) Ganjil 2020/2021 | smkprestasiprima.sch.id 9
24. ImagePicker.launchImageLibraryAsync({})

Makna dari baris program tersebut adalah ….


A. Meminta perizinan untuk membuka Camera Roll / Album
B. Meminta perizinan untuk membuka aplikasi Camera
C. Membuka aplikasi Camera
D. Membuka Camera Roll / Album
E. Mengizinkan untuk membuka Camera Roll / Album
25. ImagePicker.launchCameraAsync({})

Makna dari baris program tersebut adalah ….


A. Meminta perizinan untuk membuka Camera Roll / Album
B. Meminta perizinan untuk membuka aplikasi Camera
C. Membuka aplikasi Camera
D. Membuka Camera Roll / Album
E. Mengizinkan untuk membuka Camera Roll / Album
26. ImagePicker.launchImageLibraryAsync({aspect: [1, 1]})

Makna dari atribut aspect dari baris program tersebut adalah ….


A. Mengatur Kualitas Gambar
B. Mengatur Rasio Ukuran Gambar
C. Mengatur gambar dapat di edit
D. Mengatur Tipe Gambar yang tampil
E. Mengatur jumlah gambar
27. ImagePicker.launchImageLibraryAsync({allowsEditing : true})

Makna dari atribut aspect dari baris program tersebut adalah ….


A. Mengatur Kualitas Gambar
B. Mengatur Rasio Ukuran Gambar
C. Mengatur gambar dapat di edit
D. Mengatur Tipe Gambar yang tampil
E. Mengatur jumlah gambar

Naskah Soal Penilaian Akhir Semester Berbasis Komputer (PASBK) Ganjil 2020/2021 | smkprestasiprima.sch.id 10
28. service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write;
    }
  }
}

Baris program tersebut dapat ditemukan pada ….


A. Firebase storage files
B. Firebase storage rules
C. Firebase storage Usage
D. Firebase storage realtime
E. Firebase storage allowance
29. Atribut provider data yang digunakan untuk menampilkan data foto user adalah….
A. Photo
B. profilePicture
C. photoURL
D. profPict
E. pictURL
30. Atribut provider data yang digunakan untuk menampilkan data nama user adalah….
A. Name
B. displayName
C. userName
D. email
E. dataName
31. firebase.auth().currentUser.providerData()

Method tersebut digunakan untuk melakukan….


A. Mengirim email verifikasi
B. Mengubah email
C. Mengubah password
D. Mengupdate data user
E. Menampilkan data user

Naskah Soal Penilaian Akhir Semester Berbasis Komputer (PASBK) Ganjil 2020/2021 | smkprestasiprima.sch.id 11
32. firebase.auth().currentUser.updateProfile()

Method tersebut digunakan untuk melakukan….


A. Mengirim email verifikasi
B. Mengubah email
C. Mengubah password
D. Mengupdate data user
E. Menampilkan data user
33. Untuk memberi akses kepada website yang dapat mengakses data firebase aplikasi adalah dengan
menambahkan daftar website melalui ….
A. Authentic Domain
B. Authorized Domain
C. Legacy Id
D. Advanced
E. Manage Sign-up quota
34. Salah satu Sign In method yang disediakan oleh firebase google adalah….
A. Phone
B. Discord
C. Face Id
D. Fingerprint
E. Biometric
35. Pada firebase, untuk menambahkan app web platform icon yang harus dipilih adalah….

A. a
B. b
C. c
D. d
E. e

Naskah Soal Penilaian Akhir Semester Berbasis Komputer (PASBK) Ganjil 2020/2021 | smkprestasiprima.sch.id 12
36. Ketika melakukan build aplikasi menggunakan expo, maka setelah status selesai build aplikasi
akan tampil pada tab dalam profil expo. Pada tab manakah aplikasi akan tampil…

A. Snacks
B. Projects
C. Profile Picture
D. Profile Name
E. Search Bar
37. Attribute yang digunakan untuk mengatur identifier pada ios untuk pengaturan build adalah…
A. bundleIdentifier
B. package
C. name
D. yourcompany
E. appname
38. Attribute yang digunakan untuk mengatur identifier pada android untuk pengaturan build adalah…
A. bundleIdentifier
B. package
C. name
D. yourcompany
E. appname
39. Method yang digunakan untuk menghapus data pada firebase realtime database adalah…
A. remove()
B. push()
C. add()
D. clear()
E. null()

Naskah Soal Penilaian Akhir Semester Berbasis Komputer (PASBK) Ganjil 2020/2021 | smkprestasiprima.sch.id 13
40. (HOTS)
const [age,setAge]=useState(null);

Baris program untuk merubah value dari age menjadi 13 adalah….


A. age(13);
B. setState(age:13);
C. useState(13);
D. set(age:13);
E. setAge(13);

Naskah Soal Penilaian Akhir Semester Berbasis Komputer (PASBK) Ganjil 2020/2021 | smkprestasiprima.sch.id 14
B. ESSAY

41. Sebut dan jelaskan (minimal 2) firebase method yang terdapat pada firebase google authentication !
Jawab :
Membuat user akun baru : firebase.auth().createUserWithEmailAndPassword(email,password)
Melakukan aksi Sign In : firebase.auth().SignInWithEmailAndPassword(email,password)
Melakukan pengiriman email verifikasi : user.sendEmailVerification()
Melakukan aksi keluar akun : firebase.auth().signOut()
Melakukan aksi reset atas lupa pasword: auth.sendPasswordResetEmail(emailAddress)
Melakukan aksi hapus akun permanen : user.delete()
Melakukan aksi ganti password : user.updatePassword(newPassword)
Melakukan aksi update profile akun : user.updateProfile()
Mendapatkan data spesifik akun : user.providerData.forEach(function(profile){//data needs})
42. (HOTS)
Tuliskanlah struktur dasar dari react native dengan minimal element “View” menggunakan
function component !
Jawab :
import * as React from 'react';
import {View} from 'react-native';

export default function App() {
  return (
    <View>
    </View>
  );
}

43. (HOTS)
Buatlah script data array map dengan variable “banner” yang berisi 3 buah source gambar :
a. ../assets/1.jpg
b. ../assets/2.jpg
c. ../assets/3.jpg

Jawab :

const banner = [
    require('../assets/1.jpg'),
    require('../assets/2.jpg'),
    require('../assets/3.jpg'),
]

Naskah Soal Penilaian Akhir Semester Berbasis Komputer (PASBK) Ganjil 2020/2021 | smkprestasiprima.sch.id 15
44. (HOTS)
Jelaskanlah makna dari baris program berikut !

<ScrollView horizontal pagingEnabled>
    {
      banner.map((item,index)=>(
        <Image key={index} source={item} style={styles.gambar}/>
      )) 
    }
</ScrollView>

Jawab :
Baris pogram tersebut menampilkan Gambar yang diambil dari sumber data mapping
bernama “banner” yang terdapat pada Element yang dapat di scroll secara horizontal dan
dapat di gulir berdasarkan tiap gambar.
45. (HOTS)
Perhatikan baris program berikut !
const data = [
    {
      judul :"X",
      isi :"lorem ipsum"
    },
    {
      judul :"Y",
      isi :"lorem ipsum2"
    }
  ]

Tuliskan baris program yang dapat menampilkan data tersebut menjadi seperti output berikut :

Jawab :

<View>
  {
    data.map((item,index)=>(
      <Text>{item.judul} : {item.isi}</Text>
    ))
  }
</View>

--- Selamat mengerjakan ---

Naskah Soal Penilaian Akhir Semester Berbasis Komputer (PASBK) Ganjil 2020/2021 | smkprestasiprima.sch.id 16

Anda mungkin juga menyukai