IF3210 UTS Answer Key
IF3210 · Mobile Application Development · Midterm
Kunci Jawaban UTS IF3210
Android True/False
Ringkasan 40 soal BENAR/SALAH untuk review cepat dan latihan mandiri. (DISCLAIMER: Jawaban menggunakan AI)
Android Components
Network & Sensor
ViewModel & LiveData
Architecture
Room & Lifecycle
References: Soal UTS IF3210 + rangkuman jawaban latihan.
Format Penilaian
Skema umumnya: jawaban tepat +1, jawaban salah -0.25, tidak menjawab 0.
01 · Soal 1-10
Dasar Android, Connectivity, dan Sensor Framework
Bagian awal berisi optimasi network, arsitektur komponen UI, observer pattern, dan kelas inti sensor Android.
Soal 1 · Optimasi yang lazim dilakukan pada aspek Network Connectivity di Android
| Pernyataan Soal | Jawaban |
|---|---|
| Melakukan request dengan payload kecil | BENAR |
| Membatasi background data usage | BENAR |
| Membatasi data usage saat di WiFi network | SALAH |
| Membatasi data usage saat metered network | BENAR |
Soal 2 · Pernyataan berikut terkait ViewModel
| Pernyataan Soal | Jawaban |
|---|---|
| Lingkup ViewModel terkait pada suatu Lifecycle | BENAR |
| ViewModel cleared ketika Activity destroyed | BENAR |
| ViewModel mengacu pada View tertentu dalam hirarki View | SALAH |
| ViewModel mengelola data untuk UI | BENAR |
Soal 3 · Berikut pernyataan terkait LiveData
| Pernyataan Soal | Jawaban |
|---|---|
| LiveData menampilkan data terkini | BENAR |
| LiveData dapat diubah value-nya | SALAH |
| MutableLiveData menampilkan data terkini | BENAR |
| MutableLiveData dapat diubah value-nya | BENAR |
Soal 4 · Hal yang perlu diperhatikan dalam menggunakan notification di Android
| Pernyataan Soal | Jawaban |
|---|---|
| Pilih priority serendah mungkin | SALAH |
| Gunakan icon, title, dan content yang sesuai | BENAR |
| Gunakan PendingIntent untuk menyediakan user action | BENAR |
| Notification id harus selalu unique | BENAR |
Soal 5 · Tiga langkah berurutan saat Android menampilkan informasi di layar
| Pernyataan Soal | Jawaban |
|---|---|
| Projection | SALAH |
| Measure | BENAR |
| Layout | BENAR |
| Draw | BENAR |
Soal 6 · Hal yang perlu dilakukan agar aplikasi responsive dengan Network Preference
| Pernyataan Soal | Jawaban |
|---|---|
| Memiliki broadcast receiver untuk CONNECTIVITY_ACTION | BENAR |
| Menyimpan network preference di content provider | SALAH |
| Refresh display dari Main Activity saat onCreate | BENAR |
| Saat onCreate melakukan pembacaan network preference | BENAR |
Soal 7 · Fungsi ViewModel adalah sebagai berikut
| Pernyataan Soal | Jawaban |
|---|---|
| Penerima input user | SALAH |
| Penyimpan data | BENAR |
| Pengelola data | BENAR |
| Penampil data | SALAH |
Soal 8 · Elemen UI yang umum digunakan untuk menavigasi aplikasi
| Pernyataan Soal | Jawaban |
|---|---|
| App bar | BENAR |
| Navigation drawer | BENAR |
| Design | SALAH |
| Menus | BENAR |
Soal 9 · Hal-hal terkait Observer Design Pattern
| Pernyataan Soal | Jawaban |
|---|---|
| Observer | BENAR |
| Observable | BENAR |
| Updater | SALAH |
| Notificator | SALAH |
Soal 10 · Kelas yang termasuk dalam sensor framework Android
| Pernyataan Soal | Jawaban |
|---|---|
| SensorManager | BENAR |
| Sensor | BENAR |
| SensorConfig | SALAH |
| SensorEvent | BENAR |
02 · Soal 11-20
Aksesibilitas, Sensor Practice, Navigation, dan Data Binding
Bagian tengah berfokus pada best practice Android dan pemahaman komponen arsitektur UI modern.
Soal 11 · Pengertian aksesibilitas pada desain dan fungsionalitas aplikasi
| Pernyataan Soal | Jawaban |
|---|---|
| Availability | SALAH |
| Integrity | SALAH |
| Accessibility | BENAR |
| Durability | SALAH |
Soal 12 · Best practices dalam menggunakan sensor di Android
| Pernyataan Soal | Jawaban |
|---|---|
| Selalu unregister sensor event listener | BENAR |
| Selalu mengumpulkan data sensor di background | SALAH |
| Selalu menggunakan sensor delay yang secepat mungkin | SALAH |
| Memeriksa terlebih dahulu jenis smartphone untuk memastikan sensor tersedia | BENAR |
Soal 13 · HTTP client yang lazim digunakan pada Android apps
| Pernyataan Soal | Jawaban |
|---|---|
| HttpURLConnection | BENAR |
| Retrofit | BENAR |
| OkHTTP | BENAR |
| Soccer | SALAH |
Soal 14 · Pernyataan yang benar mengenai bagian dari Android Stack
| Pernyataan Soal | Jawaban |
|---|---|
| Linux Kernel | BENAR |
| Android OS API in Java framework | BENAR |
| System and user apps | BENAR |
| Expose device hardware capabilities | SALAH |
Soal 15 · Permission yang dibutuhkan untuk melakukan network connectivity
| Pernyataan Soal | Jawaban |
|---|---|
| NETWORK | SALAH |
| INTERNET | BENAR |
| ACCESS_NETWORK_STATE | BENAR |
| MOBILE | SALAH |
Soal 16 · Sensor yang dapat berbasis software
| Pernyataan Soal | Jawaban |
|---|---|
| Light sensor | SALAH |
| Device orientation sensor | BENAR |
| Accelerometer sensor | SALAH |
| Rotation vector sensor | BENAR |
Soal 17 · Pernyataan yang benar terkait BroadcastReceiver
| Pernyataan Soal | Jawaban |
|---|---|
| Dapat menerima implicit intent via sendBroadcast | BENAR |
| Selalu merespon walaupun app sedang tertutup | SALAH |
| onReceive hanya punya waktu sekitar 5 detik | SALAH |
| Dapat menerima system broadcast ataupun custom broadcast | BENAR |
Soal 18 · Bagian utama yang membentuk Navigation Component
| Pernyataan Soal | Jawaban |
|---|---|
| Navigation graph | BENAR |
| Navigation drawer | SALAH |
| Navigation Host (NavHost) | BENAR |
| Navigation Controller (NavController) | BENAR |
Soal 19 · Cara penyimpanan data di aplikasi Android
| Pernyataan Soal | Jawaban |
|---|---|
| Databases | BENAR |
| Shared storage | BENAR |
| Cloud storage | BENAR |
| Preferences | BENAR |
Soal 20 · Dampak penggunaan Data Binding pada ViewModel
| Pernyataan Soal | Jawaban |
|---|---|
| Otomasi komunikasi View dengan ViewModel | BENAR |
| Melibatkan UI controller dalam komunikasi | SALAH |
| View dapat menampilkan data terkini | BENAR |
| Penambahan konfigurasi pada file XML | BENAR |
03 · Soal 21-30
Event, Platform, Arsitektur, dan Struktur Proyek Android
Bagian ini menekankan konsep platform computing, style arsitektur mobile, coroutine, hingga anatomi proyek Android.
Soal 21 · Network event yang dapat didefinisikan handler-nya
| Pernyataan Soal | Jawaban |
|---|---|
| Melakukan request dengan payload kecil | SALAH |
| Ketika terjadi perubahan DNS | SALAH |
| Ketika terjadi perubahan metered/not network connectivity | BENAR |
| Ketika terjadi perubahan IP | BENAR |
Soal 22 · Fungsi dari platform dalam computing
| Pernyataan Soal | Jawaban |
|---|---|
| Tempat mengeksekusi aplikasi | BENAR |
| Menyediakan komponen/fasilitas yang reusable | BENAR |
| Memberikan abstraksi sebuah arsitektur perangkat keras | BENAR |
| Memberikan constraints pada eksekusi | BENAR |
Soal 23 · Manfaat repository pada Repository Design Pattern
| Pernyataan Soal | Jawaban |
|---|---|
| Data tetap tersedia saat config changes | SALAH |
| Data tetap tersedia saat config changes (duplikat) | SALAH |
| Memudahkan testing | BENAR |
| Memberikan abstraksi operasi terkait data | BENAR |
Soal 24 · Ceremonies untuk menggunakan location service di Android
| Pernyataan Soal | Jawaban |
|---|---|
| Ask for a permission | BENAR |
| Setup location request object | BENAR |
| Connect to location service | BENAR |
| Get current location value synchronously | SALAH |
Soal 25 · Keuntungan mobile web tech dibandingkan native app
| Pernyataan Soal | Jawaban |
|---|---|
| Berjalan lebih cepat | SALAH |
| Single code base | BENAR |
| Dukungan toolset yang matang | SALAH |
| Pengelolaan versi yang mudah | BENAR |
Soal 26 · Architecture style dari mobile application
| Pernyataan Soal | Jawaban |
|---|---|
| Stand-alone | BENAR |
| Thick-client | BENAR |
| Thin-client | BENAR |
| Client-Server | SALAH |
Soal 27 · Hal-hal yang terkait dengan Coroutines
| Pernyataan Soal | Jawaban |
|---|---|
| Dispatchers | BENAR |
| Synchronous | SALAH |
| Observer | SALAH |
| Scope | BENAR |
Soal 28 · Pembeda context-aware computer system dan traditional computer system
| Pernyataan Soal | Jawaban |
|---|---|
| Menyimpan state dari aplikasi | SALAH |
| Menyimpan state dari dunia fisik | BENAR |
| Menerima masukan eksplisit dan konteks | BENAR |
| Jika masukan eksplisit sama, output akan selalu sama | SALAH |
Soal 29 · Satuan ukuran yang dapat digunakan di Android
| Pernyataan Soal | Jawaban |
|---|---|
| sp | BENAR |
| dp | BENAR |
| mp | SALAH |
| px | BENAR |
Soal 30 · Struktur anatomi dari aplikasi proyek dasar Android
| Pernyataan Soal | Jawaban |
|---|---|
| Activity | BENAR |
| Resources (layout files, images, audio files, themes, colors) | BENAR |
| Gradle files | BENAR |
| Intents | SALAH |
04 · Soal 31-40
Arsitektur, Lifecycle, Room, dan Komponen Inti Aplikasi
Bagian akhir mencakup dampak arsitektur yang baik, Room dependencies, activity/fragment states, dan komponen app Android.
Soal 31 · Dampak positif dari arsitektur aplikasi yang baik
| Pernyataan Soal | Jawaban |
|---|---|
| Scalable | BENAR |
| Reliable | BENAR |
| Attractive | SALAH |
| Understandable | BENAR |
Soal 32 · Dimensi mobility yang membedakan mobile apps dengan stationary apps
| Pernyataan Soal | Jawaban |
|---|---|
| Location Awareness | BENAR |
| Limited Power Supply | BENAR |
| Limited Device | BENAR |
| Variant UIs | SALAH |
Soal 33 · Dependencies Gradle untuk Room Persistence Library di Kotlin
| Pernyataan Soal | Jawaban |
|---|---|
| implementation "android.room:room-runtime:$room_version" | SALAH |
| implementation "androidx.room:room-ktx:$room_version" | BENAR |
| kapt "androidx.room:room-runtime:$room_version" | SALAH |
| testImplementation "androidx.room:room-test:$room_version" | SALAH |
Soal 34 · Chain styles untuk menyesuaikan space di antara views
| Pernyataan Soal | Jawaban |
|---|---|
| Spread Chain | BENAR |
| Weighted Chain | BENAR |
| Compact Chain | SALAH |
| Packed Chain | BENAR |
Soal 35 · Pernyataan yang benar mengenai activity states
| Pernyataan Soal | Jawaban |
|---|---|
| Created | BENAR |
| Resumed | BENAR |
| Forced | SALAH |
| Terminated | SALAH |
Soal 36 · Hal yang benar terkait komponen Service pada aplikasi Android
| Pernyataan Soal | Jawaban |
|---|---|
| Dapat terus berjalan meskipun pengguna pindah ke aplikasi lain | BENAR |
| Terdapat 3 macam: started, bound, local service | SALAH |
| Lifecycle: onCreate, onStartCommand, onBind, onUnbind, onDestroy | BENAR |
| Tidak berjalan pada main thread | SALAH |
Soal 37 · Hal yang benar terkait ContentProvider
| Pernyataan Soal | Jawaban |
|---|---|
| Dapat digunakan secara aman untuk membagi data dengan app lain | BENAR |
| Sumber data harus disimpan di Room/SQLite | SALAH |
| ContentResolver digunakan untuk mengakses data | BENAR |
| Read/write permission dapat diatur di AndroidManifest | BENAR |
Soal 38 · Pernyataan yang benar mengenai fragment states
| Pernyataan Soal | Jawaban |
|---|---|
| Built | SALAH |
| Initialized | BENAR |
| Destroyed | BENAR |
| Determined | SALAH |
Soal 39 · Hal-hal terkait Room Persistence Library
| Pernyataan Soal | Jawaban |
|---|---|
| Data Access Object | BENAR |
| Annotation | BENAR |
| Data Intent | SALAH |
| Database | BENAR |
Soal 40 · Jenis komponen yang bisa ada pada sebuah aplikasi Android
| Pernyataan Soal | Jawaban |
|---|---|
| Activity | BENAR |
| BroadcastReceiver | BENAR |
| Service | BENAR |
| ContentProvider | BENAR |
05 · Recap
Poin Jebakan yang Sering Keliru
Prioritas notifikasi tidak selalu serendah mungkin, Service default berjalan di main thread, dan Data Binding bukan berarti menambah peran UI controller.
- LiveData read-only, perubahan nilai dilakukan lewat MutableLiveData.
- Room Kotlin biasanya butuh room-ktx dan room-compiler untuk kapt.
- Navigation drawer bukan komponen inti Navigation Component.
- Rendering cycle Android yang benar: Measure, Layout, Draw.