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;
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>
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,
}
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
}
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”);
});
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')}
/>
Naskah Soal Penilaian Akhir Semester Berbasis Komputer (PASBK) Ganjil 2020/2021 | smkprestasiprima.sch.id 8
20. (HOTS)
if(Platform.OS !=='web'){}
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();
Naskah Soal Penilaian Akhir Semester Berbasis Komputer (PASBK) Ganjil 2020/2021 | smkprestasiprima.sch.id 9
24. ImagePicker.launchImageLibraryAsync({})
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;
}
}
}
Naskah Soal Penilaian Akhir Semester Berbasis Komputer (PASBK) Ganjil 2020/2021 | smkprestasiprima.sch.id 11
32. firebase.auth().currentUser.updateProfile()
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);
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>
Naskah Soal Penilaian Akhir Semester Berbasis Komputer (PASBK) Ganjil 2020/2021 | smkprestasiprima.sch.id 16