Soalut.com gratis berkat dukungan kamu. Bantu kami tetap online.❤ Gratis selamanya

Donasi sekarang

Soal UAS UT MSIM4401 Pemrograman Berbasis Perangkat Bergerak dan Kunci Jawaban

Aplikasi Resmi

Soalut.com — Soal Ujian UT

★★★★★ · Gratis · 9 MB · Android
Unduh
Soal UAS UT MSIM4401 Pemrograman Berbasis Perangkat Bergerak dan Kunci Jawaban
Soal UT MSIM4401 Pemrograman Berbasis Perangkat Bergerak

Bagi mahasiswa Universitas Terbuka, masa UAS bukan sekadar jadwal ujian di kalender. Ini adalah titik penting yang menentukan seberapa jauh pemahaman kamu berkembang selama satu semester. Tantangan terbesarnya sering kali bukan rasa malas, melainkan bagaimana cara mencerna tumpukan modul.

Di sini, kamu belajar merancang aplikasi dan memahami logika pemrograman yang berjalan di atas perangkat mobile. Keterampilan ini bukan teori kosong karena di dunia kerja, kemampuan membangun solusi berbasis smartphone semakin dicari dan bernilai tinggi.

Berlatih menggunakan Soal UAS UT MSIM4401 Pemrograman Berbasis Perangkat Bergerak adalah langkah konkret yang bisa kamu ambil sekarang. Lewat latihan soal, kamu bisa mengenali pola pertanyaan yang sering muncul, melatih kecepatan berpikir saat menjawab.

Catatan: Soal-soal ini akan terus diperbarui mengikuti modul terbaru Universitas Terbuka.

Soal UT MSIM4401 Pemrograman Berbasis Perangkat Bergerak

1.

Hybrid App adalah jenis aplikasi mobile yang menggabungkan pendekatan native dan web. Karakteristik utama Hybrid App yang membedakannya dari aplikasi native adalah…

  • A. Ditulis menggunakan bahasa pemrograman khusus platform seperti Swift atau Kotlin
  • B. Berjalan di dalam komponen WebView dan menggunakan teknologi web seperti HTML, CSS, dan JavaScript
  • C. Hanya dapat dijalankan pada satu jenis sistem operasi mobile saja
  • D. Tidak memerlukan proses kompilasi dan distribusi melalui toko aplikasi resmi
Jawaban: B. Berjalan di dalam komponen WebView dan menggunakan teknologi web seperti HTML, CSS, dan JavaScript.
Hybrid App memanfaatkan WebView sebagai wadah untuk menjalankan kode berbasis web, sehingga dapat berjalan lintas platform tanpa ditulis ulang menggunakan bahasa native masing-masing platform.
2.

Ionic Framework termasuk dalam kategori framework pengembangan aplikasi mobile berbasis…

  • A. Hybrid
  • B. Native
  • C. Cross-compiled
  • D. Interpreted
Jawaban: A. Hybrid.
Ionic Framework adalah framework Hybrid App yang menggunakan teknologi web (HTML, CSS, JavaScript/TypeScript) dan menjalankan aplikasi di dalam WebView sehingga dapat berjalan di berbagai platform.
3.

Perhatikan pernyataan berikut: “TypeScript adalah superset dari JavaScript yang menambahkan tipe data statis.” Yang dimaksud dengan superset dalam konteks ini adalah…

  • A. TypeScript menggantikan semua fitur JavaScript dengan fitur yang lebih modern
  • B. TypeScript hanya dapat digunakan pada proyek baru dan tidak kompatibel dengan kode JavaScript lama
  • C. Semua kode JavaScript yang valid juga merupakan kode TypeScript yang valid, dan TypeScript menambahkan fitur tambahan di atasnya
  • D. TypeScript adalah versi yang lebih ringan dari JavaScript dengan menghapus beberapa fitur yang tidak diperlukan
Jawaban: C. Semua kode JavaScript yang valid juga merupakan kode TypeScript yang valid, dan TypeScript menambahkan fitur tambahan di atasnya.
Sebagai superset, TypeScript mencakup seluruh sintaks JavaScript dan menambahkan fitur seperti tipe data statis, interface, dan dekorator di atas fondasi JavaScript.
4.

Dalam TypeScript, tipe data yang digunakan untuk merepresentasikan nilai benar atau salah adalah…

  • A. number
  • B. string
  • C. any
  • D. boolean
Jawaban: D. boolean.
Tipe data boolean dalam TypeScript digunakan untuk menyimpan nilai true atau false, yang merupakan representasi logika benar atau salah.
5.

Dalam TypeScript, keyword yang digunakan untuk mendeklarasikan variabel yang nilainya tidak dapat diubah setelah inisialisasi adalah…

  • A. var
  • B. const
  • C. let
  • D. static
Jawaban: B. const.
Keyword const digunakan untuk mendeklarasikan konstanta yang nilainya harus diinisialisasi saat deklarasi dan tidak dapat diubah kembali setelahnya.
6.

Interface dalam TypeScript digunakan untuk…

  • A. Mendefinisikan kontrak struktur objek yang harus dipenuhi oleh kelas atau objek yang mengimplementasikannya
  • B. Mendeklarasikan fungsi yang bersifat opsional dan tidak wajib diimplementasikan
  • C. Mengubah tipe data secara otomatis dari satu tipe ke tipe lainnya saat runtime
  • D. Menyembunyikan properti kelas dari akses luar secara paksa
Jawaban: A. Mendefinisikan kontrak struktur objek yang harus dipenuhi oleh kelas atau objek yang mengimplementasikannya.
Interface di TypeScript berfungsi sebagai kontrak yang mendefinisikan properti dan metode yang wajib dimiliki oleh kelas atau objek yang mengimplementasikannya.
7.

Seorang pengembang mendeklarasikan fungsi TypeScript berikut: function tambah(a: number, b: number): number { return a + b; }. Apa yang terjadi jika fungsi tersebut dipanggil dengan argumen bertipe string?

  • A. Fungsi akan mengonversi string ke number secara otomatis saat runtime
  • B. Fungsi akan mengembalikan nilai NaN tanpa memberikan pesan kesalahan apapun
  • C. Compiler TypeScript akan menghasilkan error pada saat proses kompilasi
  • D. Fungsi akan berjalan normal karena JavaScript tidak memiliki pengecekan tipe data
Jawaban: C. Compiler TypeScript akan menghasilkan error pada saat proses kompilasi.
Sistem tipe statis TypeScript memeriksa kesesuaian tipe pada saat kompilasi sehingga pemanggilan fungsi dengan argumen bertipe yang salah akan langsung dilaporkan sebagai error sebelum kode dijalankan.
8.

Dalam TypeScript, access modifier yang digunakan untuk membatasi akses properti hanya dari dalam kelas itu sendiri adalah…

  • A. public
  • B. protected
  • C. readonly
  • D. private
Jawaban: D. private.
Access modifier private membatasi akses properti atau metode hanya dari dalam kelas yang mendeklarasikannya, sehingga tidak dapat diakses dari luar kelas maupun dari kelas turunan.
9.

Generics dalam TypeScript memberikan manfaat utama berupa…

  • A. Kemampuan untuk menjalankan kode TypeScript tanpa proses kompilasi terlebih dahulu
  • B. Kemampuan membuat komponen yang dapat bekerja dengan berbagai tipe data sambil tetap menjaga keamanan tipe
  • C. Kemampuan untuk mengubah tipe variabel secara dinamis selama eksekusi program
  • D. Kemampuan untuk mengimpor modul eksternal secara otomatis tanpa deklarasi manual
Jawaban: B. Kemampuan membuat komponen yang dapat bekerja dengan berbagai tipe data sambil tetap menjaga keamanan tipe.
Generics memungkinkan penulisan kode yang fleksibel dan dapat digunakan kembali untuk berbagai tipe data tanpa mengorbankan pemeriksaan tipe statis yang menjadi keunggulan TypeScript.
10.

Vue.js adalah framework JavaScript yang mengikuti pola arsitektur…

  • A. MVVM (Model-View-ViewModel)
  • B. MVC (Model-View-Controller)
  • C. MVP (Model-View-Presenter)
  • D. MVI (Model-View-Intent)
Jawaban: A. MVVM (Model-View-ViewModel).
Vue.js mengadopsi pola MVVM di mana ViewModel bertindak sebagai penghubung antara Model (data) dan View (tampilan) melalui mekanisme data binding dua arah.
11.

Direktif Vue yang digunakan untuk melakukan pengikatan data dua arah (two-way data binding) pada elemen input form adalah…

  • A. v-bind
  • B. v-on
  • C. v-model
  • D. v-if
Jawaban: C. v-model.
Direktif v-model menciptakan binding dua arah antara nilai input form dan properti data komponen Vue, sehingga perubahan pada input langsung memperbarui data dan sebaliknya.
12.

Dalam Vue.js, computed property berbeda dari metode biasa karena computed property…

  • A. Hanya dapat dipanggil melalui event listener dan tidak dapat diakses langsung dari template
  • B. Selalu mengembalikan nilai bertipe boolean untuk keperluan kondisional
  • C. Tidak dapat mengakses properti data reaktif yang dideklarasikan dalam komponen
  • D. Memiliki mekanisme caching sehingga hanya dievaluasi ulang ketika dependensi reaktifnya berubah
Jawaban: D. Memiliki mekanisme caching sehingga hanya dievaluasi ulang ketika dependensi reaktifnya berubah.
Computed property di Vue.js di-cache berdasarkan dependensi reaktifnya, sehingga tidak dievaluasi ulang setiap kali template di-render selama dependensinya tidak berubah, berbeda dengan metode biasa.
13.

Direktif Vue yang digunakan untuk me-render daftar item secara berulang dari sebuah array adalah…

  • A. v-show
  • B. v-for
  • C. v-each
  • D. v-repeat
Jawaban: B. v-for.
Direktif v-for digunakan untuk melakukan iterasi atas array atau objek dan me-render elemen atau blok template untuk setiap item dalam koleksi tersebut.
14.

Dalam Vue.js, perbedaan utama antara v-if dan v-show adalah…

  • A. v-if menghapus atau menambahkan elemen dari DOM, sedangkan v-show hanya mengubah properti CSS display elemen
  • B. v-if hanya dapat digunakan pada elemen block, sedangkan v-show dapat digunakan pada semua jenis elemen
  • C. v-if mendukung kondisi else, sedangkan v-show tidak mendukung kondisi apapun selain true atau false
  • D. v-if bekerja secara sinkron, sedangkan v-show bekerja secara asinkron untuk performa lebih baik
Jawaban: A. v-if menghapus atau menambahkan elemen dari DOM, sedangkan v-show hanya mengubah properti CSS display elemen.
v-if melakukan rendering kondisional yang sesungguhnya dengan memasang atau melepas elemen dari DOM, sedangkan v-show selalu me-render elemen tetapi mengatur visibility melalui CSS display none atau block.
15.

Siklus hidup (lifecycle) komponen Vue yang tepat untuk melakukan pemanggilan API guna mengambil data awal komponen adalah…

  • A. beforeCreate
  • B. beforeMount
  • C. mounted
  • D. updated
Jawaban: C. mounted.
Hook mounted dipanggil setelah komponen selesai di-mount ke DOM, sehingga merupakan tempat yang tepat untuk melakukan pemanggilan API karena elemen DOM sudah tersedia dan data dapat langsung ditampilkan.
16.

Dalam Vue.js, mekanisme komunikasi data dari komponen induk ke komponen anak dilakukan melalui…

  • A. Emit events
  • B. Vuex store
  • C. Slots
  • D. Props
Jawaban: D. Props.
Props adalah mekanisme untuk meneruskan data dari komponen induk ke komponen anak. Komponen anak mendeklarasikan props yang diharapkan, dan komponen induk meneruskan nilainya melalui atribut pada tag komponen anak.
17.

Seorang pengembang ingin membuat komponen Vue yang mengirimkan notifikasi ke komponen induknya ketika sebuah tombol diklik. Mekanisme yang tepat untuk digunakan adalah…

  • A. Menggunakan v-model pada komponen induk untuk mendeteksi perubahan
  • B. Menggunakan $emit pada komponen anak untuk memancarkan event ke komponen induk
  • C. Mengubah props secara langsung dari dalam komponen anak
  • D. Menggunakan v-bind untuk menghubungkan metode antar komponen secara langsung
Jawaban: B. Menggunakan $emit pada komponen anak untuk memancarkan event ke komponen induk.
Komunikasi dari komponen anak ke induk dilakukan melalui $emit yang memancarkan event kustom. Komponen induk kemudian mendengarkan event tersebut menggunakan direktif v-on dan merespons dengan metode yang sesuai.
18.

Pada Modul 03, praktikum pertama difokuskan pada pembuatan aplikasi Command Line menggunakan TypeScript. Alat bantu yang digunakan untuk mengeksekusi file TypeScript secara langsung tanpa kompilasi manual adalah…

  • A. ts-node
  • B. webpack
  • C. babel
  • D. nodemon
Jawaban: A. ts-node.
ts-node adalah runtime TypeScript untuk Node.js yang memungkinkan eksekusi file TypeScript secara langsung tanpa perlu mengkompilasi terlebih dahulu ke JavaScript, sangat berguna untuk pengembangan dan skrip Command Line.
19.

Dalam praktikum pembuatan RESTful API Endpoint menggunakan TypeScript dan Vue (Modul 03), format data yang umumnya digunakan untuk pertukaran data antara client dan server adalah…

  • A. XML
  • B. CSV
  • C. JSON
  • D. YAML
Jawaban: C. JSON.
JSON (JavaScript Object Notation) adalah format pertukaran data yang paling umum digunakan dalam RESTful API karena ringan, mudah dibaca manusia, dan didukung secara native oleh JavaScript dan TypeScript.
20.

Dalam arsitektur RESTful API, metode HTTP yang digunakan untuk membuat sumber daya baru adalah…

  • A. GET
  • B. PUT
  • C. DELETE
  • D. POST
Jawaban: D. POST.
Metode HTTP POST digunakan untuk mengirimkan data ke server guna membuat sumber daya baru. Ini berbeda dengan GET yang digunakan untuk mengambil data, PUT untuk memperbarui, dan DELETE untuk menghapus.
21.

Ionic Framework dalam ekosistem pengembangan mobile menggunakan teknologi web inti berupa…

  • A. Java dan XML untuk antarmuka pengguna
  • B. HTML, CSS, dan JavaScript atau TypeScript
  • C. Dart dan Flutter widget untuk rendering UI
  • D. Swift dan Objective-C untuk komponen native
Jawaban: B. HTML, CSS, dan JavaScript atau TypeScript.
Ionic Framework dibangun di atas teknologi web standar yaitu HTML, CSS, dan JavaScript atau TypeScript, yang memungkinkan pengembang web untuk membangun aplikasi mobile tanpa harus mempelajari bahasa native khusus platform.
22.

Perintah Ionic CLI yang digunakan untuk membuat proyek Ionic baru adalah…

  • A. ionic start
  • B. ionic create
  • C. ionic init
  • D. ionic new
Jawaban: A. ionic start.
Perintah ionic start digunakan melalui Ionic CLI untuk membuat proyek Ionic baru, di mana pengembang dapat memilih nama proyek, template awal, dan framework frontend yang akan digunakan.
23.

Pada Ionic Framework berbasis Vue, komponen dasar yang digunakan sebagai wadah halaman utama aplikasi adalah…

  • A. IonApp dan IonContent saja
  • B. IonPage dan IonHeader saja
  • C. IonApp, IonPage, IonHeader, IonContent, dan IonFooter
  • D. IonView dan IonPane sebagai struktur utama halaman
Jawaban: C. IonApp, IonPage, IonHeader, IonContent, dan IonFooter.
Struktur halaman Ionic yang lengkap menggunakan IonApp sebagai pembungkus tertinggi, IonPage untuk setiap halaman, IonHeader untuk bagian atas, IonContent untuk konten utama, dan IonFooter untuk bagian bawah halaman.
24.

Struktur direktori proyek Ionic berbasis Vue menempatkan file komponen halaman utama pada folder…

  • A. src/components
  • B. src/assets
  • C. src/router
  • D. src/views
Jawaban: D. src/views.
Dalam struktur direktori proyek Ionic berbasis Vue, file komponen yang merepresentasikan halaman aplikasi (page views) ditempatkan pada folder src/views, sedangkan komponen yang dapat digunakan ulang ditempatkan di src/components.
25.

Dalam Ionic Framework, sistem layout yang digunakan untuk menyusun tata letak elemen secara responsif menggunakan grid berbasis berapa kolom?

  • A. 10 kolom
  • B. 12 kolom
  • C. 16 kolom
  • D. 24 kolom
Jawaban: B. 12 kolom.
Ionic menggunakan sistem grid responsif berbasis 12 kolom yang mirip dengan Bootstrap, memungkinkan pengembang untuk membagi tata letak halaman secara fleksibel dengan menggunakan komponen IonGrid, IonRow, dan IonCol.
26.

Dalam Ionic, Custom Layout menggunakan Responsive Grid bertujuan untuk…

  • A. Menyesuaikan tampilan secara otomatis berdasarkan ukuran layar perangkat yang berbeda
  • B. Mengunci tampilan agar selalu konsisten tanpa mempertimbangkan ukuran layar
  • C. Mengganti komponen native dengan komponen web yang lebih ringan
  • D. Menonaktifkan fitur animasi untuk meningkatkan performa aplikasi
Jawaban: A. Menyesuaikan tampilan secara otomatis berdasarkan ukuran layar perangkat yang berbeda.
Responsive Grid pada Ionic memungkinkan layout aplikasi menyesuaikan diri secara otomatis terhadap berbagai ukuran layar (ponsel, tablet) dengan menggunakan breakpoint yang telah didefinisikan.
27.

Tema pada Ionic Framework dapat dikustomisasi menggunakan variabel CSS yang didefinisikan dalam file…

  • A. src/style/main.css
  • B. src/assets/theme.css
  • C. src/theme/variables.css
  • D. src/global/styles.css
Jawaban: C. src/theme/variables.css.
Ionic menyediakan file src/theme/variables.css sebagai tempat utama untuk mendefinisikan dan mengubah variabel CSS global yang mengontrol tampilan tema aplikasi seperti warna utama, warna latar, dan tipografi.
28.

Komponen UI Ionic yang digunakan untuk menampilkan daftar item yang dapat digulir secara vertikal adalah…

  • A. IonCard
  • B. IonItem
  • C. IonGrid
  • D. IonList
Jawaban: D. IonList.
IonList adalah komponen Ionic yang dirancang untuk menampilkan koleksi item dalam bentuk daftar yang dapat digulir. Biasanya dikombinasikan dengan IonItem sebagai item individual di dalam daftar.
29.

Pada praktikum Modul 06, integrasi Ionic dengan Vue dilakukan dengan cara menginstal Ionic ke dalam proyek Vue yang sudah ada menggunakan perintah…

  • A. npm install ionic-framework
  • B. npm install @ionic/vue
  • C. npm install ionic-vue-integration
  • D. npm install @ionic/core
Jawaban: B. npm install @ionic/vue.
Paket @ionic/vue adalah paket resmi yang menyediakan integrasi Ionic Framework dengan Vue.js, mencakup semua komponen UI Ionic yang dikemas sebagai komponen Vue yang siap digunakan.
30.

Dalam praktikum Modul 06, teknik penggunaan tema pada Ionic mencakup penerapan mode tampilan untuk platform yang berbeda. Mode tampilan Ionic yang meniru gaya desain dari platform Android adalah…

  • A. md (Material Design)
  • B. ios (Apple Human Interface Guidelines)
  • C. android (Android Design System)
  • D. default (Ionic Universal Design)
Jawaban: A. md (Material Design).
Ionic menyediakan mode md yang mengikuti panduan Material Design dari Google untuk tampilan yang konsisten dengan gaya desain platform Android, sedangkan mode ios mengikuti panduan desain Apple.
31.

Komponen antarmuka Ionic yang berfungsi untuk menampilkan notifikasi singkat kepada pengguna yang muncul secara otomatis dan menghilang setelah beberapa saat adalah…

  • A. IonAlert
  • B. IonModal
  • C. IonToast
  • D. IonPopover
Jawaban: C. IonToast.
IonToast adalah komponen notifikasi ringan yang muncul sebentar di layar untuk memberikan informasi singkat kepada pengguna, kemudian menghilang secara otomatis setelah durasi tertentu tanpa memerlukan interaksi dari pengguna.
32.

Untuk menjalankan aplikasi Ionic pada platform Android menggunakan Capacitor, langkah yang harus dilakukan setelah menambahkan platform adalah…

  • A. ionic run android
  • B. ionic build android
  • C. npx cap open android
  • D. ionic cap run android
Jawaban: D. ionic cap run android.
Perintah ionic cap run android menggabungkan proses build Ionic dan Capacitor sekaligus, kemudian menjalankan aplikasi pada perangkat Android atau emulator yang terhubung.
33.

Native API Plugins pada Ionic memungkinkan akses ke fitur perangkat keras. Plugin Capacitor yang digunakan untuk mengakses kamera perangkat adalah…

  • A. @capacitor/media
  • B. @capacitor/camera
  • C. @capacitor/photo
  • D. @capacitor/device-camera
Jawaban: B. @capacitor/camera.
Plugin @capacitor/camera adalah plugin resmi Capacitor yang menyediakan akses ke kamera perangkat dan galeri foto, memungkinkan aplikasi Ionic untuk mengambil foto atau memilih gambar dari galeri.
34.

Dalam pengembangan aplikasi Ionic pada platform Android, file konfigurasi Android yang mendeklarasikan izin akses (permissions) yang dibutuhkan aplikasi adalah…

  • A. AndroidManifest.xml
  • B. capacitor.config.ts
  • C. build.gradle
  • D. ionic.config.json
Jawaban: A. AndroidManifest.xml.
AndroidManifest.xml adalah file konfigurasi wajib pada setiap proyek Android yang mendefinisikan metadata aplikasi termasuk izin akses (permissions) yang diperlukan seperti akses kamera, penyimpanan, dan internet.
35.

Tips dan Tricks pada pengembangan Ionic (Modul 07) menyebutkan bahwa untuk meningkatkan performa scrolling pada daftar panjang, komponen yang lebih efisien dibandingkan IonList biasa adalah…

  • A. IonInfiniteScroll dengan strategi lazy loading biasa
  • B. IonReorderGroup untuk daftar yang dapat diurutkan ulang
  • C. IonVirtualScroll yang hanya me-render item yang terlihat di layar
  • D. IonSlides untuk navigasi antar item secara horizontal
Jawaban: C. IonVirtualScroll yang hanya me-render item yang terlihat di layar.
IonVirtualScroll menggunakan teknik virtual rendering yang hanya me-render item yang sedang terlihat di viewport, sehingga performa scrolling pada daftar dengan ribuan item jauh lebih baik dibandingkan me-render semua item sekaligus.
36.

Dalam pengembangan aplikasi mobile terintegrasi menggunakan Ionic (Modul 08), akses ke Restful API menggunakan Axios dilakukan dengan menginstal Axios melalui perintah…

  • A. ionic add axios
  • B. ionic plugin add axios
  • C. npm install axios –save-dev
  • D. npm install axios
Jawaban: D. npm install axios.
Axios adalah library HTTP client berbasis Promise yang diinstal sebagai dependensi produksi (bukan dev dependency) menggunakan perintah npm install axios, sehingga tersedia saat aplikasi dijalankan.
37.

Seorang pengembang membangun aplikasi Ionic yang menampilkan daftar produk dari API. Saat pengguna menggulir ke bawah dan mencapai akhir daftar, aplikasi otomatis memuat data halaman berikutnya. Teknik ini dikenal sebagai…

  • A. Pagination statis dengan tombol navigasi halaman
  • B. Infinite scroll atau infinite loading
  • C. Pull-to-refresh untuk memperbarui data secara manual
  • D. Lazy loading berbasis interval waktu tertentu
Jawaban: B. Infinite scroll atau infinite loading.
Infinite scroll adalah teknik UX di mana konten baru dimuat secara otomatis saat pengguna mendekati atau mencapai akhir halaman, memberikan pengalaman penelusuran yang mulus tanpa interupsi.
38.

Dalam konteks pengembangan aplikasi mobile Ionic (Modul 08), Vuex digunakan sebagai…

  • A. State management terpusat untuk mengelola data yang dibagikan antar komponen
  • B. Router untuk mengelola navigasi antar halaman aplikasi
  • C. Plugin untuk mengakses fitur native perangkat Android dan iOS
  • D. Testing framework untuk pengujian komponen Vue secara otomatis
Jawaban: A. State management terpusat untuk mengelola data yang dibagikan antar komponen.
Vuex adalah library state management resmi untuk Vue.js yang menyediakan store terpusat untuk seluruh state aplikasi, memudahkan pengelolaan dan sinkronisasi data yang digunakan oleh banyak komponen.
39.

Pada Modul 08, aplikasi mobile Ionic terintegrasi yang mengakses Restful API umumnya menghadapi masalah CORS. Penyebab masalah CORS pada pengembangan aplikasi mobile adalah…

  • A. Kode JavaScript yang tidak valid dan menyebabkan error pada saat runtime aplikasi
  • B. Versi Ionic yang tidak kompatibel dengan versi Node.js yang diinstal
  • C. Kebijakan browser yang membatasi permintaan HTTP ke domain berbeda dari asal halaman
  • D. Koneksi internet yang tidak stabil selama proses pengambilan data dari server
Jawaban: C. Kebijakan browser yang membatasi permintaan HTTP ke domain berbeda dari asal halaman.
CORS (Cross-Origin Resource Sharing) adalah mekanisme keamanan browser yang memblokir permintaan HTTP dari satu origin ke origin yang berbeda kecuali server secara eksplisit mengizinkannya melalui header respons yang sesuai.
40.

Pada praktikum Modul 09, Praktikum Akses Data dalam aplikasi Ionic menggunakan penyimpanan lokal yang disediakan oleh plugin Capacitor. Plugin yang tepat untuk menyimpan data secara persisten di perangkat adalah…

  • A. @capacitor/filesystem
  • B. @capacitor/sqlite
  • C. @capacitor/local-storage
  • D. @capacitor/preferences
Jawaban: D. @capacitor/preferences.
Plugin @capacitor/preferences (sebelumnya dikenal sebagai @capacitor/storage) menyediakan API sederhana berbasis key-value untuk menyimpan data secara persisten di perangkat, menggunakan mekanisme penyimpanan native yang sesuai dengan masing-masing platform.
41.

Pada praktikum Native API Plugins (Modul 09), plugin Capacitor yang digunakan untuk mendapatkan informasi tentang perangkat seperti model dan versi sistem operasi adalah…

  • A. @capacitor/app
  • B. @capacitor/device
  • C. @capacitor/system-info
  • D. @capacitor/hardware
Jawaban: B. @capacitor/device.
Plugin @capacitor/device menyediakan akses ke informasi perangkat seperti model, platform, versi sistem operasi, dan identifier unik perangkat melalui API yang konsisten di semua platform yang didukung.
42.

Seorang pengembang membangun aplikasi terintegrasi (Modul 09) yang perlu menyimpan token autentikasi pengguna secara lokal. Dibandingkan localStorage web biasa, penggunaan @capacitor/preferences lebih disarankan karena…

  • A. Menggunakan mekanisme penyimpanan native yang lebih aman dan persisten pada perangkat mobile dibandingkan localStorage yang bersifat web-only
  • B. Mendukung penyimpanan data berukuran sangat besar hingga beberapa gigabyte tanpa batasan
  • C. Menyediakan enkripsi data secara otomatis tanpa konfigurasi tambahan apapun
  • D. Kompatibel dengan semua versi browser web tanpa memerlukan instalasi plugin tambahan
Jawaban: A. Menggunakan mekanisme penyimpanan native yang lebih aman dan persisten pada perangkat mobile dibandingkan localStorage yang bersifat web-only.
@capacitor/preferences menggunakan UserDefaults pada iOS dan SharedPreferences pada Android, yang merupakan mekanisme penyimpanan native yang lebih andal dan persisten, tidak rentan terhadap penghapusan oleh browser seperti localStorage.
43.

Dalam Vue Router yang digunakan pada aplikasi Ionic, parameter dinamis pada URL route didefinisikan dengan menggunakan simbol…

  • A. $ (dolar)
  • B. @ (at)
  • C. : (titik dua)
  • D. # (pagar)
Jawaban: C. : (titik dua).
Dalam Vue Router, parameter dinamis pada path route didefinisikan menggunakan tanda titik dua sebelum nama parameter, contohnya /produk/:id di mana :id adalah parameter yang nilainya dapat bervariasi.
44.

Seorang pengembang menganalisis dua pendekatan navigasi di Ionic: menggunakan IonRouterOutlet berbasis Vue Router versus navigasi stack manual. Keunggulan utama IonRouterOutlet berbasis Vue Router adalah…

  • A. Memungkinkan animasi transisi halaman yang lebih kompleks dan dapat dikustomisasi penuh
  • B. Mengurangi ukuran bundle aplikasi karena tidak memerlukan library tambahan
  • C. Memungkinkan akses langsung ke DOM tanpa melalui sistem reaktivitas Vue
  • D. Mengintegrasikan navigasi Ionic dengan sistem routing Vue sehingga URL, riwayat navigasi, dan lazy loading halaman dapat dikelola secara deklaratif
Jawaban: D. Mengintegrasikan navigasi Ionic dengan sistem routing Vue sehingga URL, riwayat navigasi, dan lazy loading halaman dapat dikelola secara deklaratif.
IonRouterOutlet yang terintegrasi dengan Vue Router memungkinkan pengelolaan navigasi aplikasi secara deklaratif melalui konfigurasi routes, mendukung fitur seperti lazy loading komponen halaman, parameter URL, dan navigation guard.
45.

Pada pengembangan aplikasi terintegrasi Modul 09, Praktikum Membangun Aplikasi Terintegrasi menggabungkan akses data lokal dan remote. Strategi terbaik untuk menangani kondisi offline pada aplikasi adalah…

  • A. Menampilkan pesan error dan menghentikan semua fungsi aplikasi ketika tidak ada koneksi internet
  • B. Menggunakan data cache lokal sebagai fallback ketika koneksi internet tidak tersedia
  • C. Memaksa pengguna untuk selalu terhubung ke internet sebelum dapat menggunakan aplikasi
  • D. Menonaktifkan semua fitur yang membutuhkan data dan hanya menampilkan tampilan statis
Jawaban: B. Menggunakan data cache lokal sebagai fallback ketika koneksi internet tidak tersedia.
Strategi offline-first yang baik menyimpan data yang sudah diambil ke penyimpanan lokal sebagai cache, sehingga aplikasi tetap dapat menampilkan data terakhir yang diketahui saat pengguna tidak memiliki koneksi internet.
46.

TypeScript mendukung konsep Enum yang digunakan untuk…

  • A. Mendefinisikan sekumpulan konstanta bernama yang memiliki nilai tetap dan terkait secara logis
  • B. Membuat tipe data yang dapat berisi nilai dari berbagai tipe sekaligus dalam satu variabel
  • C. Mengiterasi semua properti dari sebuah objek secara otomatis menggunakan perulangan
  • D. Mendeklarasikan fungsi yang dapat menerima jumlah argumen yang tidak terbatas
Jawaban: A. Mendefinisikan sekumpulan konstanta bernama yang memiliki nilai tetap dan terkait secara logis.
Enum di TypeScript memungkinkan pengembang mendefinisikan kumpulan nilai konstanta yang bermakna dengan nama deskriptif, seperti enum Status dengan nilai AKTIF, NONAKTIF, dan MENUNGGU, membuat kode lebih mudah dibaca dan dipelihara.
47.

Dalam Vue.js, Slot digunakan untuk…

  • A. Menyimpan data reaktif yang dapat diakses oleh seluruh komponen dalam aplikasi
  • B. Mendefinisikan event yang dapat dipancarkan oleh komponen anak ke komponen induk
  • C. Memungkinkan komponen induk untuk menyisipkan konten ke dalam template komponen anak pada posisi tertentu
  • D. Mengatur urutan eksekusi lifecycle hooks pada komponen yang bersarang
Jawaban: C. Memungkinkan komponen induk untuk menyisipkan konten ke dalam template komponen anak pada posisi tertentu.
Slot adalah mekanisme distribusi konten Vue yang memungkinkan komponen induk untuk melewatkan konten HTML atau komponen ke dalam template komponen anak, membuat komponen lebih fleksibel dan dapat digunakan kembali.
48.

Seorang pengembang membandingkan penggunaan Capacitor dan Cordova sebagai runtime untuk aplikasi Ionic. Keunggulan Capacitor dibandingkan Cordova adalah…

  • A. Capacitor hanya mendukung platform Android sehingga lebih terspesialisasi dan optimal
  • B. Capacitor tidak memerlukan instalasi Node.js sehingga setup lingkungan lebih sederhana
  • C. Capacitor menghasilkan kode yang lebih kecil karena menghilangkan semua dependensi JavaScript
  • D. Capacitor memperlakukan proyek native sebagai bagian dari proyek dengan akses langsung ke kode native, mendukung PWA, dan memiliki API modern yang konsisten
Jawaban: D. Capacitor memperlakukan proyek native sebagai bagian dari proyek dengan akses langsung ke kode native, mendukung PWA, dan memiliki API modern yang konsisten.
Capacitor memberikan fleksibilitas lebih dengan memungkinkan modifikasi kode native secara langsung, mendukung Progressive Web Apps, serta menyediakan API plugin yang lebih modern dan konsisten dibandingkan Cordova.
49.

Pada Vue.js lanjutan, Provide dan Inject digunakan untuk mengatasi masalah…

  • A. Performa rendering yang lambat akibat terlalu banyak komponen dalam satu halaman
  • B. Props drilling, yaitu kebutuhan meneruskan data melalui banyak lapisan komponen yang tidak membutuhkan data tersebut
  • C. Konflik nama antara data, computed, dan methods dalam satu komponen Vue
  • D. Ketidakmampuan komponen Vue untuk mengakses elemen DOM secara langsung
Jawaban: B. Props drilling, yaitu kebutuhan meneruskan data melalui banyak lapisan komponen yang tidak membutuhkan data tersebut.
Provide dan Inject adalah mekanisme dependency injection Vue yang memungkinkan komponen leluhur menyediakan data yang dapat langsung diinjeksi oleh komponen keturunan manapun tanpa perlu melewatkan data melalui setiap lapisan komponen di antaranya.
50.

Dalam pengembangan aplikasi Ionic terintegrasi, penanganan error pada pemanggilan API menggunakan Axios yang paling baik dilakukan dengan…

  • A. Menggunakan blok try-catch pada async/await atau method .catch() pada Promise untuk menangkap dan menangani error secara terkontrol
  • B. Membiarkan error tidak tertangani agar browser secara otomatis menampilkan pesan error bawaan kepada pengguna
  • C. Menggunakan event listener global window.onerror sebagai satu-satunya mekanisme penanganan error
  • D. Menonaktifkan interceptor Axios agar permintaan yang gagal tidak mempengaruhi komponen lain
Jawaban: A. Menggunakan blok try-catch pada async/await atau method .catch() pada Promise untuk menangkap dan menangani error secara terkontrol.
Penanganan error yang baik menggunakan try-catch bersama async/await memungkinkan pengembang menangkap error jaringan maupun error respons API, memberikan umpan balik yang sesuai kepada pengguna, dan mencegah aplikasi mengalami crash yang tidak terduga.

Membiasakan diri mengerjakan Soal UT secara rutin terbukti membantu mahasiswa beradaptasi dengan berbagai format ujian yang berlaku. Ujian Tatap Muka atau UTM menuntut konsentrasi penuh di lokasi ujian, sementara Ujian Online atau UO mengharuskan kamu merespons dengan cepat.

Percayai setiap langkah belajar yang sudah kamu tempuh. Satu soal latihan yang kamu kerjakan hari ini, satu modul yang kamu baca malam ini, semuanya membangun fondasi yang nyata. Semoga persiapan Soal UAS UT MSIM4401 Pemrograman Berbasis Perangkat Bergerak kamu berbuah hasil.

Bagikan

error: Content is protected !!