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

Donasi sekarang

Soal UAS UT MSIM4309 Pemrograman Berbasis Web dan Kunci Jawaban

Aplikasi Resmi

Soalut.com — Soal Ujian UT

★★★★★ · Gratis · 9 MB · Android
Unduh
Soal UAS UT MSIM4309 Pemrograman Berbasis Web dan Kunci Jawaban
Soal UT MSIM4309 Pemrograman Berbasis Web

Banyak mahasiswa Universitas Terbuka merasa kewalahan bukan karena tidak mau belajar, tapi karena tidak tahu harus mulai dari mana. Modul yang tebal, materi yang padat, dan waktu yang terbatas membuat persiapan Soal UAS UT terasa seperti lomba lari dengan garis finish yang terus bergeser.

Salah satu mata kuliah yang layak mendapat perhatian ekstra adalah MSIM4309 Pemrograman Berbasis Web. Bukan sekadar teori, mata kuliah ini mengajak mahasiswa memahami cara membangun antarmuka web yang fungsional dan komunikatif. Kemampuan ini bukan hanya berguna untuk ujian, tapi juga menjadi bekal nyata di dunia kerja.

Cara paling efektif untuk mengukur sejauh mana pemahaman kamu adalah dengan rajin mengerjakan Soal UAS UT MSIM4309 Pemrograman Berbasis Web. Latihan soal bukan sekadar rutinitas, melainkan alat ukur yang jujur. Kamu bisa melihat bagian mana yang sudah dikuasai, bagian mana yang masih bolong.

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

Soal UT MSIM4309 Pemrograman Berbasis Web

1.

Istilah “website” merujuk pada sekumpulan halaman web yang saling terhubung dan diakses melalui jaringan internet. Komponen utama yang membedakan sebuah website dari dokumen biasa adalah…

  • A. Keberadaan gambar dan multimedia di dalamnya
  • B. Penggunaan hyperlink yang menghubungkan satu halaman ke halaman lain
  • C. Ukuran file yang besar dan kompleks
  • D. Adanya sistem login dan autentikasi pengguna
Jawaban: B. Penggunaan hyperlink yang menghubungkan satu halaman ke halaman lain.
Website terdiri dari halaman-halaman web yang dihubungkan satu sama lain melalui hyperlink, sehingga pengguna dapat berpindah dari satu halaman ke halaman lainnya dengan mudah.
2.

Web server adalah perangkat lunak yang berfungsi melayani permintaan dari klien melalui protokol HTTP. Salah satu contoh web server yang paling banyak digunakan adalah…

  • A. Apache
  • B. MySQL
  • C. PHP
  • D. JavaScript
Jawaban: A. Apache.
Apache adalah salah satu web server paling populer yang berfungsi menerima permintaan HTTP dari browser dan mengirimkan halaman web sebagai respons, sedangkan MySQL adalah database dan PHP adalah bahasa pemrograman.
3.

HTML merupakan singkatan dari Hypertext Markup Language. Kata “markup” dalam HTML merujuk pada…

  • A. Bahasa pemrograman yang digunakan untuk logika aplikasi
  • B. Sistem enkripsi data pada halaman web
  • C. Penggunaan tag untuk memberi anotasi dan struktur pada teks
  • D. Metode pengiriman data antar server
Jawaban: C. Penggunaan tag untuk memberi anotasi dan struktur pada teks.
Markup dalam HTML berarti penggunaan tag-tag khusus seperti <h1>, <p>, <div> untuk memberi struktur dan anotasi pada konten teks agar dapat ditampilkan oleh browser.
4.

Dalam struktur dokumen HTML, tag yang digunakan untuk menandai awal dan akhir seluruh dokumen HTML adalah…

  • A. <head> … </head>
  • B. <body> … </body>
  • C. <title> … </title>
  • D. <html> … </html>
Jawaban: D. <html> … </html>.
Tag <html> merupakan elemen root atau induk dari seluruh dokumen HTML yang membungkus semua elemen lain termasuk <head> dan <body>.
5.

Perhatikan kode berikut: <a href=”https://www.ut.ac.id”>Universitas Terbuka</a>. Atribut “href” pada tag <a> berfungsi untuk…

  • A. Menentukan warna teks pada hyperlink
  • B. Menentukan alamat tujuan yang dituju ketika hyperlink diklik
  • C. Menentukan ukuran font teks hyperlink
  • D. Menentukan jenis file yang akan diunduh
Jawaban: B. Menentukan alamat tujuan yang dituju ketika hyperlink diklik.
Atribut href (Hypertext Reference) pada tag <a> digunakan untuk menentukan URL atau alamat tujuan yang akan diakses ketika pengguna mengklik hyperlink tersebut.
6.

Dalam HTML, tag yang digunakan untuk membuat tabel adalah <table>. Untuk mendefinisikan baris dalam tabel tersebut, tag yang digunakan adalah…

  • A. <tr>
  • B. <td>
  • C. <th>
  • D. <tb>
Jawaban: A. <tr>.
Tag <tr> (table row) digunakan untuk mendefinisikan baris dalam tabel HTML, sedangkan <td> untuk sel data dan <th> untuk sel header tabel.
7.

Seorang pengembang web ingin menyisipkan gambar ke dalam halaman HTML dengan nama file “logo.png” yang berada di folder yang sama dengan file HTML. Kode HTML yang tepat adalah…

  • A. <image src=”logo.png”>
  • B. <img href=”logo.png”>
  • C. <img src=”logo.png”>
  • D. <picture src=”logo.png”>
Jawaban: C. <img src=”logo.png”>.
Tag yang benar untuk menyisipkan gambar dalam HTML adalah <img> dengan atribut src yang menentukan lokasi file gambar. Tag <image> tidak valid dalam HTML standar.
8.

Dalam HTML, formulir digunakan untuk mengumpulkan data dari pengguna. Tag yang digunakan untuk membuat area input teks satu baris pada formulir adalah…

  • A. <textarea>
  • B. <select>
  • C. <button>
  • D. <input type=”text”>
Jawaban: D. <input type=”text”>.
Tag <input type=”text”> digunakan untuk membuat kotak input teks satu baris, sedangkan <textarea> digunakan untuk input teks multi-baris dan <select> untuk dropdown.
9.

CSS adalah singkatan dari Cascading Style Sheets. Fungsi utama CSS dalam pengembangan web adalah…

  • A. Mengatur logika dan fungsionalitas halaman web
  • B. Mengatur tampilan dan presentasi visual elemen HTML
  • C. Mengelola basis data dan penyimpanan informasi
  • D. Menghubungkan halaman web dengan server
Jawaban: B. Mengatur tampilan dan presentasi visual elemen HTML.
CSS berfungsi untuk mendeskripsikan bagaimana elemen HTML ditampilkan secara visual, mencakup warna, ukuran, posisi, dan gaya visual lainnya pada halaman web.
10.

Terdapat tiga cara penulisan CSS, yaitu inline, internal, dan eksternal. Cara penulisan CSS yang ditempatkan langsung di dalam atribut style pada elemen HTML disebut…

  • A. Inline CSS
  • B. Internal CSS
  • C. Eksternal CSS
  • D. Embedded CSS
Jawaban: A. Inline CSS.
Inline CSS ditulis langsung pada atribut style di dalam tag HTML, misalnya <p style=”color:red;”>. Cara ini hanya berlaku untuk elemen yang bersangkutan saja.
11.

Dalam CSS, selector yang digunakan untuk menargetkan elemen dengan nilai atribut id tertentu ditandai dengan awalan…

  • A. Titik (.)
  • B. Bintang (*)
  • C. Tanda pagar (#)
  • D. Tanda ampersand (&)
Jawaban: C. Tanda pagar (#).
Dalam CSS, selector id ditandai dengan tanda pagar (#) diikuti nama id, misalnya #header. Selector class menggunakan titik (.), sedangkan tanda bintang (*) untuk universal selector.
12.

Properti CSS “box model” terdiri dari beberapa bagian. Urutan lapisan dari dalam ke luar yang benar pada box model CSS adalah…

  • A. Content, border, padding, margin
  • B. Content, margin, padding, border
  • C. Padding, content, border, margin
  • D. Content, padding, border, margin
Jawaban: D. Content, padding, border, margin.
Box model CSS terdiri dari empat lapisan dari dalam ke luar, yaitu content (isi), padding (jarak antara content dan border), border (garis pembatas), dan margin (jarak luar elemen).
13.

JavaScript adalah bahasa pemrograman yang berjalan di sisi klien (client-side). Pernyataan berikut yang paling tepat menggambarkan peran JavaScript dalam pengembangan web adalah…

  • A. Memberikan struktur dan konten statis pada halaman web
  • B. Menambahkan interaktivitas dan perilaku dinamis pada halaman web
  • C. Mengatur tampilan dan gaya visual elemen HTML
  • D. Mengelola koneksi dan komunikasi dengan basis data
Jawaban: B. Menambahkan interaktivitas dan perilaku dinamis pada halaman web.
JavaScript berperan untuk membuat halaman web menjadi interaktif dan dinamis, seperti merespons klik pengguna, memvalidasi formulir, dan memperbarui konten tanpa memuat ulang halaman.
14.

Dalam JavaScript, variabel yang dideklarasikan dengan kata kunci “let” memiliki karakteristik utama yaitu…

  • A. Memiliki cakupan blok (block scope) dan dapat diubah nilainya
  • B. Memiliki cakupan global dan tidak dapat diubah nilainya
  • C. Memiliki cakupan fungsi dan tidak dapat dideklarasikan ulang
  • D. Memiliki cakupan blok dan tidak dapat diubah nilainya setelah inisialisasi
Jawaban: A. Memiliki cakupan blok (block scope) dan dapat diubah nilainya.
Variabel dengan kata kunci let memiliki block scope sehingga hanya dapat diakses dalam blok kode tempatnya dideklarasikan, dan nilainya dapat diubah. Berbeda dengan const yang nilainya tidak bisa diubah setelah inisialisasi.
15.

Dalam proses implementasi HTML pada praktikum, langkah awal yang perlu disiapkan sebelum memulai pembuatan halaman web adalah…

  • A. Menulis kode JavaScript terlebih dahulu untuk logika aplikasi
  • B. Menginstal framework Vue.js pada sistem
  • C. Mempersiapkan text editor dan browser sebagai alat kerja utama
  • D. Membuat basis data untuk menyimpan konten halaman
Jawaban: C. Mempersiapkan text editor dan browser sebagai alat kerja utama.
Persiapan alat dan bahan dalam praktikum web mencakup penyiapan text editor (seperti VS Code atau Notepad++) dan browser untuk menguji tampilan halaman HTML yang dibuat.
16.

Ketika mengimplementasikan CSS pada halaman web, pendekatan yang disarankan agar gaya dapat digunakan ulang di banyak halaman sekaligus adalah dengan menggunakan…

  • A. Inline CSS pada setiap elemen HTML secara langsung
  • B. Tag <style> di dalam bagian <head> setiap halaman
  • C. Atribut class pada setiap elemen yang ingin diberi gaya
  • D. File CSS eksternal yang dihubungkan menggunakan tag <link>
Jawaban: D. File CSS eksternal yang dihubungkan menggunakan tag <link>.
CSS eksternal memungkinkan satu file .css digunakan oleh banyak halaman HTML sekaligus melalui tag <link rel=”stylesheet” href=”style.css”>, sehingga pengelolaan gaya menjadi lebih efisien.
17.

Vue.js merupakan framework JavaScript yang bersifat progressive. Maksud dari “progressive” dalam konteks Vue.js adalah…

  • A. Framework yang hanya dapat digunakan untuk proyek berskala besar
  • B. Framework yang dapat diadopsi secara bertahap sesuai kebutuhan proyek
  • C. Framework yang mengharuskan penggunaan semua fiturnya sekaligus
  • D. Framework yang hanya bekerja pada browser terbaru
Jawaban: B. Framework yang dapat diadopsi secara bertahap sesuai kebutuhan proyek.
Sifat “progressive” pada Vue.js berarti framework ini dapat diintegrasikan sedikit demi sedikit ke dalam proyek yang sudah ada tanpa harus mengubah seluruh arsitektur aplikasi sekaligus.
18.

Dalam Vue.js, untuk menampilkan nilai variabel data ke dalam template HTML digunakan sintaks…

  • A. Mustache atau double curly braces {{ }}
  • B. Tanda dollar sign ${ }
  • C. Tag khusus <vue:data>
  • D. Fungsi document.write()
Jawaban: A. Mustache atau double curly braces {{ }}.
Vue.js menggunakan sintaks mustache ({{ }}) untuk melakukan interpolasi data, sehingga nilai dari properti data Vue dapat ditampilkan langsung di dalam template HTML.
19.

Direktif v-for pada Vue.js digunakan untuk merender daftar elemen secara berulang. Perhatikan kode berikut: <li v-for=”item in items”>{{ item }}</li>. Apa yang dilakukan kode tersebut?

  • A. Menampilkan elemen li hanya jika kondisi item terpenuhi
  • B. Mengikat nilai item ke atribut elemen li
  • C. Merender elemen li untuk setiap item yang ada di dalam array items
  • D. Menyaring elemen li berdasarkan kondisi tertentu
Jawaban: C. Merender elemen li untuk setiap item yang ada di dalam array items.
Direktif v-for digunakan untuk melakukan iterasi pada array atau objek, sehingga elemen HTML akan dirender sebanyak jumlah data yang ada di dalam array items.
20.

Dalam Vue.js, direktif yang digunakan untuk menampilkan atau menyembunyikan elemen berdasarkan kondisi boolean adalah…

  • A. v-for
  • B. v-bind
  • C. v-on
  • D. v-if
Jawaban: D. v-if.
Direktif v-if digunakan untuk merender atau menghilangkan elemen dari DOM secara kondisional berdasarkan nilai boolean. Jika kondisi bernilai false, elemen tidak akan ada di DOM.
21.

Data binding dalam Vue.js memungkinkan sinkronisasi antara data dan tampilan. Jenis data binding yang memungkinkan aliran data dua arah antara elemen input dan data Vue disebut…

  • A. One-way binding menggunakan v-bind
  • B. Two-way binding menggunakan v-model
  • C. Event binding menggunakan v-on
  • D. Computed binding menggunakan v-compute
Jawaban: B. Two-way binding menggunakan v-model.
Direktif v-model menciptakan two-way data binding pada elemen input, sehingga perubahan pada input langsung memperbarui data Vue, dan sebaliknya perubahan data langsung memperbarui tampilan input.
22.

Computed properties dalam Vue.js berbeda dengan methods. Keunggulan utama computed properties dibandingkan methods dalam hal performa adalah…

  • A. Computed properties dapat menerima argumen dari template
  • B. Computed properties selalu dieksekusi setiap kali template dirender ulang
  • C. Computed properties di-cache berdasarkan dependensi reaktifnya sehingga tidak dihitung ulang jika dependensi tidak berubah
  • D. Computed properties dapat mengubah state reaktif secara langsung
Jawaban: C. Computed properties di-cache berdasarkan dependensi reaktifnya sehingga tidak dihitung ulang jika dependensi tidak berubah.
Computed properties hanya dihitung ulang ketika dependensi reaktifnya berubah. Ini berbeda dengan methods yang dieksekusi setiap kali dipanggil, sehingga computed properties lebih efisien untuk perhitungan berat.
23.

Dalam Vue.js, methods adalah fungsi-fungsi yang didefinisikan dalam opsi methods pada instance Vue. Perbedaan utama methods dengan computed properties adalah…

  • A. Methods tidak memiliki caching dan dieksekusi setiap kali dipanggil, sedangkan computed properties memiliki cache
  • B. Methods hanya bisa dipanggil dari template, bukan dari kode JavaScript
  • C. Methods tidak dapat mengakses data Vue instance, sedangkan computed properties dapat
  • D. Methods selalu mengembalikan nilai, sedangkan computed properties tidak harus
Jawaban: A. Methods tidak memiliki caching dan dieksekusi setiap kali dipanggil, sedangkan computed properties memiliki cache.
Perbedaan mendasar antara methods dan computed properties adalah mekanisme caching. Methods selalu dieksekusi ulang setiap kali dipanggil, sementara computed properties memanfaatkan cache dan hanya dihitung ulang bila dependensinya berubah.
24.

Watcher dalam Vue.js digunakan untuk mengamati perubahan pada properti data tertentu. Kasus penggunaan yang paling tepat untuk watcher adalah…

  • A. Menghitung nilai turunan berdasarkan beberapa properti data
  • B. Merender daftar item secara berulang dalam template
  • C. Mengikat atribut HTML secara dinamis ke nilai data
  • D. Melakukan operasi asinkron atau efek samping saat nilai data berubah
Jawaban: D. Melakukan operasi asinkron atau efek samping saat nilai data berubah.
Watcher sangat berguna ketika perlu melakukan operasi asinkron seperti pemanggilan API, atau efek samping lainnya sebagai respons terhadap perubahan nilai data tertentu dalam Vue.js.
25.

Dalam konfigurasi watcher Vue.js, opsi “deep: true” digunakan ketika…

  • A. Ingin memantau perubahan pada properti data bertipe string
  • B. Ingin memantau perubahan di dalam objek atau array secara bersarang
  • C. Ingin watcher dijalankan segera saat komponen dimuat pertama kali
  • D. Ingin menghentikan watcher setelah satu kali perubahan terdeteksi
Jawaban: B. Ingin memantau perubahan di dalam objek atau array secara bersarang.
Opsi deep: true pada watcher memungkinkan Vue untuk mendeteksi perubahan pada properti yang ada di dalam objek atau elemen di dalam array secara mendalam, bukan hanya perubahan referensi objek itu sendiri.
26.

Pada praktikum Vue unit pertama, proses mounting Vue instance ke elemen HTML dilakukan dengan cara…

  • A. Menggunakan tag <vue-app> di dalam HTML
  • B. Memanggil fungsi Vue.start() dengan nama elemen
  • C. Menggunakan properti el atau metode mount() untuk menentukan elemen target
  • D. Menyisipkan skrip Vue langsung di dalam elemen yang ditargetkan
Jawaban: C. Menggunakan properti el atau metode mount() untuk menentukan elemen target.
Dalam Vue.js, instance Vue dipasang ke elemen DOM menggunakan properti el yang diisi dengan selektor CSS, atau menggunakan metode $mount() untuk menghubungkan Vue instance dengan elemen HTML tertentu.
27.

Array dalam Vue.js bersifat reaktif. Ketika memodifikasi array menggunakan metode push(), pop(), atau splice(), Vue akan secara otomatis…

  • A. Memperbarui tampilan (view) yang terikat dengan array tersebut
  • B. Menyimpan perubahan array ke dalam basis data
  • C. Membuat salinan array baru tanpa mengubah array asli
  • D. Mengirimkan notifikasi perubahan ke server
Jawaban: A. Memperbarui tampilan (view) yang terikat dengan array tersebut.
Sistem reaktivitas Vue.js memantau perubahan pada array melalui mutasi metode seperti push(), pop(), dan splice(), sehingga tampilan yang terikat dengan array tersebut akan otomatis diperbarui.
28.

Filter dalam Vue.js digunakan untuk memformat tampilan data. Cara menerapkan filter pada template Vue.js menggunakan sintaks…

  • A. {{ data.filter() }}
  • B. v-filter=”namaFilter”
  • C. <filter name=”namaFilter”>
  • D. {{ data | namaFilter }}
Jawaban: D. {{ data | namaFilter }}.
Filter Vue.js diterapkan menggunakan tanda pipe (|) di dalam ekspresi mustache atau v-bind, dengan format {{ nilai | namaFilter }} untuk memformat data sebelum ditampilkan.
29.

Event handling dalam Vue.js memungkinkan respons terhadap interaksi pengguna. Direktif yang digunakan untuk mendengarkan event pada elemen HTML adalah…

  • A. v-bind
  • B. v-on
  • C. v-model
  • D. v-show
Jawaban: B. v-on.
Direktif v-on digunakan untuk menambahkan event listener pada elemen HTML. Contohnya v-on:click=”handleClick” atau disingkat dengan @click=”handleClick” untuk menangani klik tombol.
30.

Dalam Vue.js, event modifier .prevent digunakan bersama v-on. Fungsi dari modifier .prevent adalah…

  • A. Menghentikan propagasi event ke elemen induk
  • B. Memastikan event hanya dieksekusi sekali
  • C. Mencegah perilaku default dari event, seperti mencegah submit formulir
  • D. Menjalankan event hanya pada elemen yang diklik secara langsung
Jawaban: C. Mencegah perilaku default dari event, seperti mencegah submit formulir.
Event modifier .prevent setara dengan memanggil event.preventDefault() dalam JavaScript, yang berfungsi mencegah perilaku bawaan browser seperti reload halaman saat formulir di-submit.
31.

Components dalam Vue.js adalah fitur yang memungkinkan pembuatan elemen HTML kustom yang dapat digunakan kembali. Keuntungan utama penggunaan components dalam pengembangan web adalah…

  • A. Memungkinkan pembagian antarmuka menjadi bagian-bagian kecil yang dapat digunakan kembali
  • B. Mempercepat proses rendering karena mengurangi ukuran file HTML
  • C. Menghilangkan kebutuhan penggunaan CSS dalam halaman web
  • D. Memungkinkan halaman web berjalan tanpa koneksi internet
Jawaban: A. Memungkinkan pembagian antarmuka menjadi bagian-bagian kecil yang dapat digunakan kembali.
Components Vue.js memungkinkan developer memecah antarmuka pengguna menjadi komponen-komponen independen yang dapat digunakan kembali di berbagai bagian aplikasi, meningkatkan efisiensi dan pemeliharaan kode.
32.

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

  • A. Event emit dari komponen anak ke komponen induk
  • B. Watcher yang memantau perubahan data global
  • C. Data store terpusat menggunakan Vuex
  • D. Props yang dideklarasikan pada komponen anak
Jawaban: D. Props yang dideklarasikan pada komponen anak.
Komunikasi dari komponen induk ke komponen anak dalam Vue.js dilakukan melalui props. Komponen anak mendeklarasikan props yang ingin diterima, kemudian komponen induk memberikan nilai tersebut saat menggunakan komponen anak.
33.

Canvas dalam konteks Vue.js dan pengembangan web merujuk pada elemen HTML5 yang memungkinkan…

  • A. Pengelolaan routing navigasi antar halaman aplikasi
  • B. Penggambaran grafis dua dimensi secara dinamis menggunakan JavaScript
  • C. Penyimpanan data lokal di browser pengguna
  • D. Pengiriman data formulir ke server secara asinkron
Jawaban: B. Penggambaran grafis dua dimensi secara dinamis menggunakan JavaScript.
Elemen <canvas> HTML5 menyediakan area gambar berbasis piksel yang dikendalikan melalui JavaScript, memungkinkan pembuatan grafis, animasi, dan visualisasi data secara dinamis di browser.
34.

Animasi dalam pengembangan web berbasis Vue.js dapat diterapkan menggunakan komponen bawaan Vue. Komponen <transition> pada Vue.js berfungsi untuk…

  • A. Mengatur perpindahan halaman dalam aplikasi single page
  • B. Membuat animasi berulang secara terus-menerus pada elemen
  • C. Menerapkan efek animasi saat elemen masuk atau keluar dari DOM
  • D. Mengelola state global animasi seluruh aplikasi
Jawaban: C. Menerapkan efek animasi saat elemen masuk atau keluar dari DOM.
Komponen <transition> Vue.js memberikan efek transisi atau animasi CSS ketika elemen HTML ditambahkan ke dalam atau dihapus dari DOM, termasuk saat v-if atau v-show berubah nilainya.
35.

Database dalam konteks pemrograman web berfungsi sebagai tempat penyimpanan data yang terstruktur. Jenis database yang paling umum digunakan pada aplikasi web berbasis PHP atau Vue.js adalah…

  • A. MySQL
  • B. Microsoft Excel
  • C. Adobe Photoshop
  • D. Apache Tomcat
Jawaban: A. MySQL.
MySQL adalah sistem manajemen basis data relasional (RDBMS) yang paling banyak digunakan dalam pengembangan web, terutama dalam kombinasi dengan PHP untuk menyimpan dan mengelola data aplikasi.
36.

Dalam praktikum unit ketiga, koneksi antara aplikasi Vue.js dengan database dilakukan melalui perantara berupa…

  • A. Langsung dari template Vue.js menggunakan direktif v-db
  • B. Plugin CSS yang dipasang di dalam Vue instance
  • C. Tag <database> khusus yang disediakan oleh HTML5
  • D. Script server-side seperti PHP yang menangani query database dan mengembalikan respons ke Vue
Jawaban: D. Script server-side seperti PHP yang menangani query database dan mengembalikan respons ke Vue.
Vue.js berjalan di sisi klien sehingga tidak dapat mengakses database secara langsung. Diperlukan script server-side seperti PHP untuk melakukan query ke database dan mengembalikan hasilnya dalam format JSON ke Vue.js.
37.

Perhatikan dua pendekatan penulisan CSS berikut: (1) Mendefinisikan satu class CSS untuk semua tombol dengan warna dan ukuran yang sama, (2) Menulis style inline berbeda untuk setiap tombol. Pendekatan pertama lebih baik karena…

  • A. Inline style memiliki spesifisitas lebih rendah dari class selector
  • B. Penggunaan class memudahkan perubahan gaya secara konsisten di satu tempat
  • C. File HTML akan menjadi lebih kecil dengan pendekatan inline
  • D. Browser hanya dapat membaca CSS yang ditulis secara eksternal
Jawaban: B. Penggunaan class memudahkan perubahan gaya secara konsisten di satu tempat.
Mendefinisikan class CSS memungkinkan perubahan gaya dilakukan di satu lokasi saja dan langsung berdampak pada semua elemen yang menggunakan class tersebut, menjaga konsistensi dan kemudahan pemeliharaan.
38.

Seorang developer ingin membuat navigasi menu yang berubah tampilan saat kursor diarahkan ke atasnya. Properti CSS yang paling tepat digunakan untuk efek tersebut adalah…

  • A. Properti display dengan nilai none
  • B. Properti visibility dengan nilai hidden
  • C. Pseudo-class :hover pada selektor elemen menu
  • D. Properti position dengan nilai absolute
Jawaban: C. Pseudo-class :hover pada selektor elemen menu.
Pseudo-class :hover digunakan dalam CSS untuk mendefinisikan gaya yang diterapkan saat pengguna mengarahkan kursor ke atas elemen, sehingga sangat tepat untuk membuat efek perubahan tampilan pada navigasi menu.
39.

Seorang developer menggunakan Vue.js dan ingin menampilkan pesan “Selamat datang, Admin!” hanya jika pengguna sudah login. Pendekatan yang paling tepat menggunakan fitur Vue.js adalah…

  • A. Menggunakan v-if=”isLoggedIn” pada elemen yang memuat pesan tersebut
  • B. Menggunakan v-for=”user in users” untuk menampilkan pesan berulang
  • C. Menggunakan v-bind:text=”welcomeMessage” pada elemen span
  • D. Menggunakan v-model=”isLoggedIn” pada elemen div yang memuat pesan
Jawaban: A. Menggunakan v-if=”isLoggedIn” pada elemen yang memuat pesan tersebut.
Direktif v-if digunakan untuk merender elemen secara kondisional berdasarkan nilai boolean. Jika isLoggedIn bernilai true, elemen ditampilkan, dan jika false, elemen tidak ada di DOM.
40.

Sebuah aplikasi Vue.js memiliki daftar produk dalam array. Developer ingin menampilkan total harga semua produk yang dihitung dari array tersebut. Pendekatan paling efisien menggunakan fitur Vue.js adalah…

  • A. Menggunakan watcher untuk memantau perubahan setiap produk
  • B. Menghitung ulang total setiap kali template dirender menggunakan method
  • C. Menyimpan total sebagai variabel global di luar Vue instance
  • D. Menggunakan computed property yang menghitung total dari array produk
Jawaban: D. Menggunakan computed property yang menghitung total dari array produk.
Computed property adalah pilihan terbaik untuk nilai turunan seperti total harga karena ia di-cache dan hanya dihitung ulang saat array produk berubah, lebih efisien dibandingkan method yang dieksekusi setiap kali template dirender.
41.

Analisis perbedaan antara v-show dan v-if dalam Vue.js. Pernyataan yang paling tepat adalah…

  • A. v-show menghapus elemen dari DOM sedangkan v-if hanya menyembunyikannya dengan CSS
  • B. v-if menghapus elemen dari DOM sedangkan v-show hanya mengubah properti display CSS
  • C. v-show dan v-if memiliki perilaku identik dalam hal manipulasi DOM
  • D. v-if lebih efisien dari v-show untuk elemen yang sering berganti visibilitas
Jawaban: B. v-if menghapus elemen dari DOM sedangkan v-show hanya mengubah properti display CSS.
v-if benar-benar menambah atau menghapus elemen dari DOM saat kondisi berubah. Sebaliknya, v-show selalu mempertahankan elemen di DOM tetapi mengubah properti CSS display menjadi none ketika kondisi false.
42.

Seorang developer membandingkan penggunaan filter Vue.js dengan computed properties untuk memformat tampilan teks. Dalam konteks Vue 3, pertimbangan yang tepat adalah…

  • A. Filter lebih disarankan karena memiliki performa lebih baik dari computed properties
  • B. Filter dan computed properties identik dan dapat selalu saling menggantikan
  • C. Filter dihapus di Vue 3 sehingga penggunaan computed properties atau methods lebih disarankan
  • D. Computed properties tidak dapat digunakan untuk pemformatan teks, hanya untuk kalkulasi angka
Jawaban: C. Filter dihapus di Vue 3 sehingga penggunaan computed properties atau methods lebih disarankan.
Fitur filter resmi dihapus di Vue 3. Sebagai penggantinya, Vue 3 merekomendasikan penggunaan computed properties atau methods untuk pemformatan data yang sebelumnya dilakukan oleh filter.
43.

Dalam arsitektur aplikasi web, perbedaan mendasar antara rendering di sisi klien (client-side rendering) yang dilakukan Vue.js dan rendering di sisi server (server-side rendering) adalah…

  • A. Client-side rendering memproses dan menampilkan konten di browser pengguna, sedangkan server-side rendering memproses konten di server sebelum dikirim ke browser
  • B. Client-side rendering lebih lambat dari server-side rendering dalam semua kondisi
  • C. Server-side rendering tidak dapat menggunakan JavaScript sama sekali
  • D. Client-side rendering membutuhkan koneksi database langsung dari browser
Jawaban: A. Client-side rendering memproses dan menampilkan konten di browser pengguna, sedangkan server-side rendering memproses konten di server sebelum dikirim ke browser.
Perbedaan utamanya adalah lokasi pemrosesan. Vue.js secara default menggunakan client-side rendering di mana browser yang membangun tampilan, sementara server-side rendering menghasilkan HTML lengkap di server.
44.

Perhatikan dua skenario berikut: (1) Developer A menggunakan watcher untuk menghitung total harga setiap kali daftar produk berubah, (2) Developer B menggunakan computed property untuk hal yang sama. Analisis mana pendekatan yang lebih tepat dan alasannya…

  • A. Developer A lebih tepat karena watcher lebih ekspresif dan mudah dibaca
  • B. Keduanya sama-sama tepat karena hasil akhirnya identik
  • C. Developer A lebih tepat karena watcher dapat menangani operasi asinkron
  • D. Developer B lebih tepat karena computed property dirancang untuk nilai turunan yang disinkronkan secara otomatis dan memiliki mekanisme cache
Jawaban: D. Developer B lebih tepat karena computed property dirancang untuk nilai turunan yang disinkronkan secara otomatis dan memiliki mekanisme cache.
Untuk menghitung nilai turunan seperti total harga, computed property adalah pilihan yang lebih baik karena ia memiliki cache dan otomatis diperbarui. Watcher lebih cocok untuk efek samping dan operasi asinkron, bukan kalkulasi sederhana.
45.

Dalam pengembangan komponen Vue.js yang kompleks, pola komunikasi yang digunakan ketika komponen anak perlu mengirimkan informasi ke komponen induknya adalah…

  • A. Mengubah props secara langsung dari komponen anak
  • B. Menggunakan $emit untuk memancarkan event ke komponen induk
  • C. Mengakses data komponen induk menggunakan this.$parent secara langsung
  • D. Menyimpan data ke dalam variabel global window
Jawaban: B. Menggunakan $emit untuk memancarkan event ke komponen induk.
Pola komunikasi yang benar dari komponen anak ke induk adalah menggunakan this.$emit(‘namaEvent’, data) dari komponen anak, lalu komponen induk mendengarkan event tersebut menggunakan v-on atau @namaEvent.
46.

Dalam konteks pengembangan web responsif menggunakan CSS, media query digunakan untuk…

  • A. Mengambil data dari server berdasarkan kondisi jaringan
  • B. Memfilter elemen HTML berdasarkan atribut data-nya
  • C. Menerapkan gaya CSS yang berbeda berdasarkan karakteristik perangkat atau layar
  • D. Mengelola cache browser untuk file CSS yang sering digunakan
Jawaban: C. Menerapkan gaya CSS yang berbeda berdasarkan karakteristik perangkat atau layar.
Media query CSS memungkinkan penerapan aturan gaya yang berbeda berdasarkan lebar layar, resolusi, orientasi perangkat, dan karakteristik media lainnya, sehingga halaman web dapat tampil responsif di berbagai perangkat.
47.

Dalam pengembangan aplikasi web dengan Vue.js, lifecycle hooks adalah metode khusus yang dipanggil pada tahap tertentu dalam siklus hidup komponen. Hook yang dipanggil tepat setelah komponen berhasil di-mount ke DOM adalah…

  • A. mounted()
  • B. created()
  • C. beforeMount()
  • D. updated()
Jawaban: A. mounted().
Hook mounted() dipanggil tepat setelah komponen selesai di-mount ke DOM, sehingga pada titik ini DOM sudah dapat diakses. Hook ini sering digunakan untuk pengambilan data awal dari API.
48.

Dalam implementasi praktikum berbasis Vue.js yang terhubung dengan database, format data yang paling umum digunakan untuk pertukaran data antara server-side PHP dan Vue.js di sisi klien adalah…

  • A. Format XML dengan tag-tag khusus
  • B. Format teks biasa tanpa struktur
  • C. Format CSV dengan pemisah koma
  • D. Format JSON yang mudah diuraikan oleh JavaScript
Jawaban: D. Format JSON yang mudah diuraikan oleh JavaScript.
JSON (JavaScript Object Notation) adalah format pertukaran data yang paling umum dalam aplikasi web modern karena ringan, mudah dibaca manusia, dan dapat langsung diuraikan oleh JavaScript yang digunakan Vue.js.
49.

Seorang developer membuat tabel HTML dengan CSS yang responsif. Developer mendapati bahwa pada layar kecil, kolom tabel tampak terlalu sempit. Solusi CSS yang paling tepat untuk mengatasi masalah tersebut adalah…

  • A. Menambahkan atribut width=”100%” pada setiap sel tabel
  • B. Menambahkan overflow-x: auto pada elemen pembungkus tabel agar dapat digulir secara horizontal
  • C. Menghapus semua kolom yang dianggap tidak penting dari tabel
  • D. Mengubah tipe font menjadi lebih kecil pada semua sel tabel
Jawaban: B. Menambahkan overflow-x: auto pada elemen pembungkus tabel agar dapat digulir secara horizontal.
Properti overflow-x: auto pada elemen div yang membungkus tabel memungkinkan tabel digulir secara horizontal pada layar kecil tanpa merusak struktur dan keterbacaan tabel.
50.

Dalam pengembangan aplikasi Vue.js yang mengintegrasikan database melalui API, pertimbangan keamanan yang perlu diperhatikan ketika menerima input dari pengguna sebelum disimpan ke database adalah…

  • A. Memastikan koneksi internet pengguna stabil sebelum menyimpan data
  • B. Menyimpan password pengguna dalam format teks biasa untuk kemudahan pengelolaan
  • C. Melakukan validasi dan sanitasi input di sisi server untuk mencegah serangan injeksi
  • D. Menonaktifkan validasi formulir agar proses penyimpanan lebih cepat
Jawaban: C. Melakukan validasi dan sanitasi input di sisi server untuk mencegah serangan injeksi.
Validasi dan sanitasi input di sisi server sangat penting untuk mencegah serangan SQL injection dan XSS. Validasi sisi klien saja tidak cukup karena dapat dilewati, sehingga validasi server-side wajib dilakukan sebelum data disimpan ke database.

Perlu kamu tahu, Soal Ujian UT hadir dalam beberapa format yang berbeda. Ada Ujian Tatap Muka (UTM) yang dilaksanakan langsung di lokasi ujian, ada Ujian Online (UO) yang bisa dikerjakan secara daring dengan waktu terbatas, dan ada juga Take Home Exam (THE) yang memberikan ruang lebih luas untuk mengerjakan soal di rumah.

Setiap sesi latihan yang kamu lakukan, setiap halaman modul yang kamu baca, dan setiap Soal UO UT yang berhasil kamu kerjakan sampai tuntas. Teruslah konsisten, jaga fokus, dan percaya bahwa proses yang kamu jalani hari ini akan terbayar lunas saat menghadapi Soal UAS UT MSIM4309 Pemrograman Berbasis Web di hari ujian yang sesungguhnya.

Bagikan

error: Content is protected !!