MSIM4401 — Pemrograman Berbasis Perangkat Bergerak
1. Apa yang dimaksud dengan Hybrid App dalam pengembangan aplikasi perangkat bergerak…
- A. Aplikasi yang hanya berjalan di platform Android
- B. Aplikasi yang dikembangkan dengan bahasa pemrograman Swift
- C. Aplikasi yang menggabungkan kode native dan web menggunakan WebView
- D. Aplikasi yang hanya menggunakan komponen native tanpa web
2. Fungsi utama dari Ionic Framework dalam pengembangan aplikasi mobile adalah…
- A. Menyediakan backend server untuk aplikasi
- B. Mengelola database lokal pada perangkat
- C. Mengkompilasi kode menjadi bahasa native secara langsung
- D. Menyediakan komponen UI berbasis web yang dapat digunakan dengan framework frontend
3. Salah satu kelebihan utama dari Hybrid App dibandingkan aplikasi native adalah…
- A. Performa lebih cepat dalam segala kondisi
- B. Dapat dikembangkan dengan satu basis kode untuk berbagai platform
- C. Memiliki akses penuh ke semua API perangkat tanpa batasan
- D. Tidak memerlukan WebView dalam eksekusinya
4. Dalam konteks lingkungan pengembangan aplikasi perangkat bergerak, peran WebView adalah…
- A. Menyediakan antarmuka untuk menjalankan kode HTML, CSS, dan JavaScript
- B. Mengatur jaringan komunikasi antar perangkat
- C. Mengelola siklus hidup aplikasi native
- D. Mengkompilasi kode TypeScript menjadi JavaScript
5. Dalam TypeScript, tipe data yang dapat digunakan untuk variabel yang nilainya bisa berupa angka atau string adalah…
- A. number
- B. string
- C. any
- D. boolean
6. Fungsi dari deklarasi interface dalam TypeScript adalah…
- A. Membuat variabel global
- B. Menginisialisasi array
- C. Mendefinisikan kontrak atau struktur objek
- D. Mengubah tipe data secara otomatis
7. Perbedaan utama antara tipe data array dan tuple dalam TypeScript adalah…
- A. Tuple memiliki tipe data yang sudah ditentukan untuk setiap elemen
- B. Array memiliki panjang tetap
- C. Tuple hanya bisa berisi angka
- D. Array tidak bisa menyimpan string
8. Contoh deklarasi variabel dengan tipe data union yang benar dalam TypeScript adalah…
- A. let x: number;
- B. let x: number | string;
- C. let x: number[];
- D. let x: [number, string];
9. Dalam TypeScript, fungsi yang tidak mengembalikan nilai memiliki tipe pengembalian…
- A. undefined
- B. void
- C. null
- D. never
10. Apa kegunaan dari dekorator (decorator) dalam TypeScript…
- A. Mengubah tipe data variabel
- B. Mendeklarasikan variabel global
- C. Mengimpor modul dari file lain
- D. Menambahkan metadata atau fungsionalitas ekstra pada kelas dan anggota kelas
11. Dalam TypeScript, tipe generics digunakan untuk…
- A. Membuat komponen yang dapat bekerja dengan berbagai tipe data
- B. Mendeklarasikan variabel dengan tipe tetap
- C. Mengubah tipe data saat runtime
- D. Membatasi penggunaan tipe data tertentu
12. Fungsi dari kata kunci 'readonly' dalam TypeScript adalah…
- A. Mengizinkan properti diubah kapan saja
- B. Mendeklarasikan properti sebagai publik
- C. Membuat properti tidak dapat diubah setelah inisialisasi
- D. Membuat properti bersifat statis
13. Dalam Vue, direktif yang digunakan untuk mengikat data ke atribut HTML adalah…
- A. v-for
- B. v-model
- C. v-if
- D. v-bind
14. Fungsi dari properti 'computed' dalam Vue adalah…
- A. Menyimpan data statis
- B. Mengelola event listener
- C. Mendefinisikan metode yang dapat dipanggil
- D. Menghitung nilai baru berdasarkan data reaktif yang dapat di-cache
15. Siklus hidup komponen Vue yang dijalankan setelah komponen di-mount adalah…
- A. created
- B. mounted
- C. updated
- D. beforeDestroy
16. Direktif v-if dan v-show dalam Vue memiliki perbedaan pada…
- A. v-if menghapus dan membuat ulang elemen, sedangkan v-show hanya mengubah visibilitas CSS
- B. v-show menghapus elemen dari DOM
- C. v-if hanya bekerja pada elemen input
- D. v-show lebih lambat daripada v-if
17. Dalam Vue lanjutan, fungsi dari provide/inject adalah…
- A. Menyediakan data dari komponen induk ke komponen turunan tanpa props
- B. Mengelola state global aplikasi
- C. Mendefinisikan route aplikasi
- D. Mengelola event bus
18. Dalam Vue, direktif yang digunakan untuk mengikat data ke atribut HTML adalah…
- A. v-for
- B. v-if
- C. v-bind
- D. v-model
19. Komponen dalam Vue dapat menerima data dari komponen induk melalui properti yang disebut…
- A. refs
- B. props
- C. events
- D. slots
20. Ketika menggunakan v-for, Vue memerlukan atribut kunci unik yang disebut…
- A. id
- B. key
- C. ref
- D. index
21. Siklus hidup komponen Vue yang dipanggil setelah data dan template dirender pertama kali adalah…
- A. mounted
- B. created
- C. updated
- D. beforeDestroy
22. Dalam Vue computed properties, nilai yang dihasilkan akan di-cache berdasarkan dependensi reaktif sehingga…
- A. selalu dihitung ulang setiap kali ada perubahan di komponen
- B. hanya dihitung ulang jika dependensi berubah
- C. tidak pernah di-cache dan lambat
- D. dihitung ulang setiap detik
23. Watcher di Vue digunakan untuk…
- A. mendeklarasikan data reaktif
- B. mengikat event handler
- C. menjalankan fungsi saat properti tertentu berubah
- D. membuat template dinamis
24. Alih-alih menggunakan v-if dan v-for secara bersamaan pada elemen yang sama, praktik terbaik adalah…
- A. menggunakan v-if di luar elemen
- B. menambahkan v-else
- C. menggabungkan v-if dan v-for dalam satu direktif
- D. menggunakan v-for dengan filter di computed
25. Dalam membuat aplikasi command line dengan TypeScript, perintah untuk menjalankan file yang sudah dikompilasi adalah…
- A. ts-node file.ts
- B. tsc file.ts
- C. npm start
- D. node file.js
26. Untuk menerima input dari pengguna di aplikasi command line TypeScript, kita menggunakan modul…
- A. readline
- B. path
- C. fs
- D. http
27. Di TypeScript, tipe data yang memungkinkan suatu variabel memiliki nilai number atau string adalah…
- A. any
- B. enum
- C. tuple
- D. union
28. Fungsi async di TypeScript akan mengembalikan objek bertipe…
- A. Promise
- B. void
- C. Observable
- D. Callback
29. Untuk membuat permintaan GET ke RESTful API di TypeScript, kita dapat menggunakan fetch, hasilnya berupa…
- A. Promise
- B. JSON
- C. string
- D. XML
30. Metode HTTP yang digunakan untuk mengupdate data sepenuhnya di RESTful API adalah…
- A. GET
- B. POST
- C. PUT
- D. DELETE
31. Kode status HTTP 404 menunjukkan bahwa…
- A. sumber daya tidak ditemukan
- B. permintaan berhasil
- C. server mengalami error internal
- D. permintaan tidak valid
32. Untuk menghindari blocking pada operasi I/O, TypeScript mendukung pola asynchronous menggunakan…
- A. forEach
- B. async/await
- C. setInterval
- D. while loop
33. Saat membuat instan aplikasi Vue dengan TypeScript, file konfigurasi utama adalah…
- A. package.json
- B. vue.config.js
- C. tsconfig.json
- D. index.html
34. Di Vue dengan TypeScript, dekorator @Component digunakan untuk…
- A. mengimpor modul
- B. mendeklarasikan properti reaktif
- C. membuat mixin
- D. menandai kelas sebagai komponen Vue
35. Perintah untuk membuat proyek Vue baru dengan dukungan TypeScript secara otomatis menggunakan Vite adalah…
- A. npm create vue@latest –typescript
- B. vue create my-app –template typescript
- C. vite create my-app –typescript
- D. npm init vue@latest — –typescript
36. Dalam pembuatan instan aplikasi Vue menggunakan TypeScript, file konfigurasi TypeScript yang utama adalah…
- A. tsconfig.json
- B. package.json
- C. vite.config.ts
- D. env.d.ts
37. Langkah pertama yang harus dilakukan untuk menginstal Ionic Framework pada sistem operasi adalah…
- A. menginstal Xcode
- B. menginstal Android Studio
- C. menginstal Node.js dan npm
- D. menginstal Visual Studio Code
38. Perintah yang digunakan untuk menginstal Ionic CLI secara global melalui npm adalah…
- A. npm install @ionic/cli
- B. npm install ionic
- C. npm install -g ionic
- D. npm install -g @ionic/cli
39. Syarat minimal versi Node.js yang diperlukan untuk menjalankan Ionic Framework adalah…
- A. Node.js 12 atau lebih baru
- B. Node.js 10 atau lebih baru
- C. Node.js 14 atau lebih baru
- D. Node.js 16 atau lebih baru
40. Alat bantu untuk menjalankan emulator perangkat bergerak saat pengembangan Ionic adalah…
- A. Android Studio
- B. Cordova
- C. Ionic DevApp
- D. Capacitor
41. Alat bantu untuk menjalankan emulator perangkat bergerak saat pengembangan Ionic adalah…
- A. Android Studio
- B. Cordova
- C. Ionic DevApp
- D. Capacitor
42. Untuk membuat proyek Ionic berbasis Vue, perintah yang digunakan adalah…
- A. npm init ionic –vue
- B. ionic create myApp –vue
- C. ionic start myApp tabs –type=vue
- D. vue create myApp –ionic
43. Template default yang disediakan Ionic untuk memulai proyek berbasis Vue adalah…
- A. blank, list, grid
- B. blank, tabs, sidemenu
- C. tabs, grid, form
- D. sidemenu, list, blank
44. Setelah menjalankan perintah 'ionic start', folder proyek yang dibuat akan berisi file utama bernama…
- A. App.vue
- B. index.html
- C. main.ts
- D. home.vue
45. Untuk menjalankan aplikasi Ionic di browser saat pengembangan, perintah yang digunakan adalah…
- A. ionic run
- B. ionic serve
- C. npm start
- D. ionic dev
46. Dalam struktur direktori proyek Ionic berbasis Vue, folder tempat menyimpan komponen Vue adalah…
- A. src/views
- B. src/components
- C. src/pages
- D. src/layouts
47. Elemen Ionic yang digunakan untuk membuat navigasi tab di bagian bawah layar adalah…
- A. ion-menu
- B. ion-toolbar
- C. ion-nav
- D. ion-tab-bar
48. Cara mendaftarkan komponen Ionic ke dalam aplikasi Vue adalah dengan…
- A. menulis di package.json
- B. menambahkan di App.vue
- C. menggunakan plugin otomatis
- D. mengimpor dan mendaftarkan di main.ts
49. Komponen Ionic yang berfungsi sebagai wadah utama halaman aplikasi adalah…
- A. ion-app
- B. ion-page
- C. ion-content
- D. ion-router
50. Untuk membuat tata letak grid responsif di Ionic, digunakan kombinasi komponen…
- A. ion-list, ion-item, ion-label
- B. ion-grid, ion-row, ion-col
- C. ion-card, ion-card-content
- D. ion-flex, ion-item, ion-col
51. Atribut pada ion-col yang digunakan untuk menentukan lebar kolom pada ukuran layar kecil adalah…
- A. size-xs
- B. size-sm
- C. size-md
- D. size-lg
52. Cara membuat layout kustom dengan lebar kolom yang berbeda pada setiap ukuran layar di Ionic adalah…
- A. menggunakan CSS manual di setiap komponen
- B. menggunakan atribut size-{breakpoint} pada ion-col
- C. mengubah properti grid secara global
- D. menggunakan template bawaan Ionic
52. Dalam Ionic, komponen yang digunakan untuk mengatur tata letak (layout) baris dan kolom dengan sistem grid responsif adalah…
- A. Ion-Content
- B. Ion-Grid
- C. Ion-Row
- D. Ion-Col
53. Untuk mengubah warna latar belakang suatu halaman Ionic secara global, properti CSS yang digunakan adalah…
- A. –ion-background-color
- B. background-color
- C. –ion-color-primary
- D. color
54. Variable CSS di Ionic yang digunakan untuk mengubah warna teks utama pada suatu komponen adalah…
- A. –ion-text-color
- B. –ion-color-base
- C. color
- D. –ion-background-color
55. Untuk menambahkan tema gelap (dark theme) pada aplikasi Ionic, properti CSS yang digunakan adalah…
- A. –ion-color-light
- B. –ion-background-color
- C. –ion-color-dark
- D. –ion-text-color
56. Untuk mengatur warna aksen (accent) yang konsisten di seluruh aplikasi Ionic, kita mendefinisikan variable CSS dengan nama…
- A. –ion-color-tertiary
- B. –ion-color-secondary
- C. –ion-color-primary
- D. –ion-color-success
57. Komponen Ionic yang digunakan untuk menampilkan daftar (list) dengan item yang dapat diklik dan memiliki efek sentuh adalah…
- A. Ion-Card
- B. Ion-Item
- C. Ion-Button
- D. Ion-List
58. Untuk menampilkan tombol dengan ikon di sebelah kiri teks, properti yang digunakan pada komponen Ion-Button adalah…
- A. icon-end
- B. icon-start
- C. slot='end'
- D. slot='start'
59. Komponen Ionic yang digunakan untuk menampilkan konten dalam bentuk kartu (card) dengan bayangan dan sudut melengkung adalah…
- A. Ion-Card
- B. Ion-Content
- C. Ion-Header
- D. Ion-Footer
60. Untuk membuat navigasi antar halaman di aplikasi Ionic, komponen yang digunakan adalah…
- A. Ion-Router
- B. Ion-Nav
- C. Ion-Page
- D. Ion-View
61. Langkah pertama yang dilakukan saat mengintegrasikan Ionic dengan Vue dalam praktikum adalah…
- A. Menulis kode komponen pertama
- B. Menginstal Node.js
- C. Menginstal Android Studio
- D. Membuat proyek Vue baru lalu menambahkan Ionic
62. Perintah untuk membuat proyek Ionic dengan template Vue adalah…
- A. vue create nama-app
- B. ionic start nama-app blank –type=vue
- C. npm init ionic
- D. ionic start nama-app tabs
63. Setelah membuat proyek, untuk menjalankan aplikasi Ionic di browser, perintah yang digunakan adalah…
- A. ionic start
- B. npm run dev
- C. ionic serve
- D. npm build
64. File yang digunakan untuk mengkonfigurasi tema dan variable CSS global di proyek Ionic adalah…
- A. global.css
- B. variables.css
- C. theme.css
- D. style.css
65. Dalam praktikum teknik layout, untuk membuat baris dengan tiga kolom yang sama lebar, kode yang tepat adalah…
- A. Ion-Grid kemudian ion-row dan tiga ion-col tanpa properti size
- B. Ion-List dengan tiga ion-item
- C. Ion-Content dengan tiga ion-card
- D. Ion-Row dengan tiga ion-grid
66. Untuk mengubah tema aplikasi Ionic menjadi tema tertentu (misalnya tema gelap) secara keseluruhan, kita dapat mengatur properti CSS di file…
- A. main.ts
- B. variables.css
- C. App.vue
- D. global.css
67. Komponen Ionic yang digunakan untuk menampilkan tombol navigasi kembali di toolbar adalah…
- A. Ion-Button
- B. Ion-Back-Button
- C. Ion-Nav
- D. Ion-Router
68. Dalam praktikum komponen antarmuka, untuk menampilkan input teks dengan label mengambang (floating label), komponen yang digunakan adalah…
- A. Ion-Label
- B. Ion-Textarea
- C. Ion-Input dengan properti label-placement='floating'
- D. Ion-Item dengan ion-label
69. Saat praktikum Komponen Antarmuka Ionic, komponen yang digunakan untuk menampilkan daftar item yang dapat digulir disebut…
- A. Ion-List
- B. Ion-Card
- C. Ion-Item
- D. Ion-Content
70. Komponen ion-button pada Ionic digunakan untuk…
- A. Menampilkan teks
- B. Membuat tombol
- C. Menyembunyikan elemen
- D. Menampilkan gambar
71. Dalam praktikum komponen antarmuka Ionic, properti yang digunakan untuk mengatur ukuran ion-button menjadi besar adalah…
- A. size="small"
- B. size="large"
- C. expand="block"
- D. expand="full"
72. Fungsi dari komponen ion-alert di Ionic adalah…
- A. Menampilkan menu navigasi
- B. Menampilkan daftar
- C. Menampilkan dialog peringatan
- D. Menampilkan tab
73. Untuk menambahkan platform Android pada proyek Ionic, perintah yang digunakan adalah…
- A. ionic platform add android
- B. ionic generate platform android
- C. ionic build android
- D. ionic cordova platform add android
74. Setelah menambahkan platform Android, langkah awal untuk menjalankan aplikasi di emulator adalah…
- A. ionic serve
- B. ionic deploy android
- C. ionic build android
- D. ionic cordova run android
75. Berkas konfigurasi utama untuk platform Android di proyek Ionic adalah…
- A. android.json
- B. config.xml
- C. build.gradle
- D. settings.xml
76. Untuk menguji aplikasi Ionic pada perangkat Android secara langsung, perintah yang digunakan adalah…
- A. ionic serve –android
- B. ionic cordova emulate android
- C. ionic cordova run android –device
- D. ionic test android
77. Plugin Ionic yang digunakan untuk mengakses fitur kamera perangkat adalah…
- A. Ionic Native Camera
- B. Ionic Camera Plugin
- C. Cordova Camera Plugin
- D. Native Camera API
78. Untuk menggunakan plugin Native API di Ionic, langkah pertama yang harus dilakukan adalah…
- A. Instal plugin melalui npm
- B. Tulis kode secara manual
- C. Impor modul di aplikasi
- D. Konfigurasi file build
79. Plugin Ionic yang menyediakan akses ke fitur geolokasi perangkat adalah…
- A. Native Geolocation API
- B. Ionic Location
- C. Cordova GPS Plugin
- D. Ionic Native Geolocation
80. Pada akses data di Ionic, metode HTTP yang digunakan untuk mengambil data dari server adalah…
- A. DELETE
- B. POST
- C. PUT
- D. GET
81. Untuk menyimpan data secara lokal di perangkat, Ionic menyediakan plugin…
- A. Ionic Storage
- B. Ionic Database
- C. Cordova Storage
- D. LocalStorage API
82. Dalam akses data menggunakan fetch API, kode untuk mengirim permintaan POST adalah…
- A. HTTP.post(url, data)
- B. fetch.post(url, data)
- C. fetch(url, {method:'POST', body: data})
- D. fetch(url, {type:'POST', data: data})
83. Tips untuk mengoptimalkan performa aplikasi Ionic pada Android adalah…
- A. Menggunakan komponen yang berat
- B. Menambahkan animasi berlebihan
- C. Mengurangi penggunaan plugin yang tidak perlu
- D. Memuat semua data sekaligus
84. Untuk mengatasi masalah loading lambat di aplikasi Ionic, disarankan menggunakan teknik…
- A. Eager loading
- B. Lazy loading
- C. Synchronous loading
- D. Full loading
85. Salah satu tips untuk meningkatkan performa aplikasi Ionic adalah…
- A. menggunakan gambar resolusi tinggi
- B. memuat semua data sekaligus
- C. menonaktifkan cache browser
- D. menggunakan lazy loading pada modul
86. Untuk mengakses data dari Restful-API menggunakan Typescript, langkah pertama yang harus dilakukan adalah…
- A. mengimpor HttpClientModule di modul utama
- B. membuat service untuk menangani permintaan HTTP
- C. menulis kode di dalam komponen Vue
- D. mendefinisikan model data
87. Dalam Typescript, untuk membuat permintaan GET ke endpoint API, method yang digunakan adalah…
- A. this.http.request()
- B. this.http.get()
- C. this.http.post()
- D. this.http.send()
88. Agar data dari Restful-API dapat diakses secara asinkron, Typescript biasanya menggunakan…
- A. callback
- B. variabel global
- C. loop
- D. Promises dan async/await
89. Saat mengakses Restful-API, untuk mengirim data ke server menggunakan method POST, kode yang benar adalah…
- A. this.http.get(url, data)
- B. this.http.put(url, data)
- C. this.http.post(url, data)
- D. this.http.delete(url, data)
90. Pada aplikasi mobile dengan akses Restful-API, untuk menampilkan data dalam daftar, komponen Ionic yang cocok digunakan adalah…
- A. ion-list dan ion-item
- B. ion-button
- C. ion-card
- D. ion-input
91. Untuk menangani error saat memanggil API di aplikasi mobile, langkah yang tepat adalah…
- A. mengabaikan error
- B. menghentikan aplikasi
- C. menampilkan pesan error di console
- D. menggunakan catch dalam promise
92. Saat implementasi Restful-API di aplikasi mobile, untuk menyimpan token autentikasi secara lokal, penyimpanan yang aman digunakan adalah…
- A. localStorage
- B. sessionStorage
- C. Ionic Storage
- D. cookie
93. Dalam praktikum akses data, untuk menguji endpoint API secara lokal, alat yang biasa digunakan adalah…
- A. Ionic Lab
- B. Android Studio
- C. Xcode
- D. Postman
94. Saat mengakses data dari API, jika server mengembalikan status code 404, artinya…
- A. sumber daya tidak ditemukan
- B. server berhasil memproses permintaan
- C. permintaan tidak valid
- D. server mengalami error internal
95. Untuk memparsing data JSON dari respons API di Typescript, method yang digunakan adalah…
- A. JSON.stringify()
- B. JSON.parse()
- C. JSON.convert()
- D. JSON.format()
96. Pada praktikum Native API Plugins di Ionic, untuk mengakses kamera perangkat, plugin yang digunakan adalah…
- A. Ionic Native Geolocation
- B. Ionic Native Camera
- C. Ionic Native Storage
- D. Ionic Native Network
97. Setelah menginstal plugin Native API, langkah selanjutnya agar plugin dapat digunakan adalah…
- A. merestart aplikasi
- B. menghapus plugin
- C. menambahkan kode di app.module.ts
- D. mengupdate sistem operasi
98. Untuk mendapatkan lokasi geografis pengguna di aplikasi Ionic, plugin yang tepat adalah…
- A. Ionic Native Camera
- B. Ionic Native Geolocation
- C. Ionic Native Battery
- D. Ionic Native Vibration
99. Pada praktikum membangun aplikasi terintegrasi, langkah pertama yang dilakukan adalah…
- A. merancang arsitektur aplikasi
- B. membuat halaman login
- C. menulis kode komponen
- D. menginstal plugin
100. Untuk mengintegrasikan Restful-API dengan aplikasi Ionic, data biasanya dikirim dalam format…
- A. XML
- B. CSV
- C. JSON
- D. HTML
Latihan Tambahan dengan AI
Salin prompt di bawah ini, lalu tempelkan ke ChatGPT, Gemini, Claude, atau AI lainnya untuk mendapatkan 50 soal latihan baru dengan materi yang sama. Soal yang dihasilkan AI akan berbeda dari soal di halaman ini.