Font size
WorksheetsUAS P WEB SEMESTER GENAP KLS XI RPL 2025
Total questions: 30
Worksheet time: 3600secs
Indah sedang belajar PHP dan menulis kode berikut:
$x = 10;
$y = "20";
$z = $x + $y;
echo $z;
Apa output dari kode di atas, dan mengapa hasilnya seperti itu?
30, karena PHP otomatis mengonversi string ke integer
1020, karena PHP menganggap operasi sebagai konkatenasi string
Error, karena tipe data tidak sesuai
20, karena PHP hanya mengambil nilai string
10, karena PHP mengabaikan variabel $y
Perhatikan kode berikut:
<?php
$a = 5;
$b = &$a;
$b = 10;
echo $a;
?>
Apa output dari kode di atas, dan apa konsep PHP yang digunakan?
5, karena variabel $a tidak berubah
10, karena $b mereferensi $a
Error, karena referensi tidak valid
Null, karena $b tidak didefinisikan
15, karena $a dan $b dijumlahkan
Rudi, seorang pengembang perangkat lunak, sedang mengerjakan sebuah aplikasi yang memerlukan input dari pengguna. Ia ingin memastikan bahwa variabel $input yang diterima hanya berisi angka. Manakah perintah PHP yang paling tepat untuk validasi ini? (a)
Surya adalah seorang pengembang yang sedang membuat form login untuk aplikasi webnya dengan metode POST. Bagaimana cara menangkap data username dari form di PHP?
$_GET['username']
$_POST['username']
$_REQUEST['username']
$_SESSION['username']
$_SERVER['username']
Faisal sedang membuat sebuah aplikasi web yang menerima input dari pengguna. Dia menulis kode PHP berikut:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$name = $_POST['name'] ?? 'Guest';
echo "Hello, $name!";
}
?>
Apa fungsi dari operator ?? dalam kode di atas?
Menggantikan nilai null dengan string kosong
Menggantikan nilai yang tidak terdefinisi dengan nilai default
Memeriksa apakah variabel ada dalam array POST
Menghentikan eksekusi jika variabel tidak ada
Menggabungkan dua string menjadi satu
Indah sedang mengembangkan sebuah aplikasi web yang memungkinkan pengguna untuk mengisi form input. Dia khawatir tentang keamanan aplikasinya dan ingin mencegah serangan SQL Injection. Manakah pendekatan terbaik yang harus dia gunakan untuk melindungi form input tersebut?
Menggunakan mysql_query() tanpa sanitasi
Menggunakan prepared statement dengan PDO
Menggunakan addslashes() pada input
Mengganti karakter khusus dengan HTML entities
Memfilter input dengan str_replace()
Perhatikan situasi berikut:
Rudi sedang menghitung angka dari 1 sampai 10. Setiap kali ia menemukan angka genap, ia akan melewatinya dan hanya menyebutkan angka ganjil. Berikut adalah kode yang ia gunakan:
for ($i = 1; $i <= 10; $i++) {
if ($i % 2 == 0) continue;
echo $i . " ";
}
Apa output dari kode di atas? Outputnya adalah (a) .
Hadi adalah seorang pelajar yang sedang menjalani ujian akhir. Manakah struktur kendali yang benar untuk menampilkan pesan error hanya jika semua kondisi berikut terpenuhi: $age < 18, $status != 'active', dan $score <= 50?
if ($age < 18 && $status != 'active' || $score <= 50)
if ($age < 18 || $status != 'active' && $score <= 50)
if ($age < 18 && $status != 'active' && $score <= 50)
if ($age < 18 || $status == 'active' || $score <= 50)
if ($age < 18 && ($status != 'active' || $score <= 50))
Eko sedang memeriksa daftar nilai siswa dalam sebuah array. Dia ingin menghentikan proses pemeriksaan jika dia menemukan nilai null. Pernyataan yang tepat untuk menghentikan loop jika ditemukan nilai null dalam array adalah (a) .
Perhatikan fungsi berikut:
function calculateDiscount($price, $discount = 10) {
return $price - ($price * $discount / 100);
}
Jika Mega membeli barang seharga 1000 dan mendapatkan diskon 10%, total yang harus dibayarnya adalah (a) .
Tiara adalah seorang pengembang yang sedang membuat fungsi untuk memeriksa apakah string adalah palindrom. Manakah implementasi yang benar?
function isPalindrome($str) { return $str == strrev($str); }
function isPalindrome($str) { return $str === strrev($str); }
function isPalindrome($str) { return strcmp($str, strrev($str)); }
function isPalindrome($str) { return strcasecmp($str, strrev($str)); }
function isPalindrome($str) { return $str == reverse($str); }
Yuni sedang belajar pemrograman dan ingin membuat fungsi yang mengembalikan array bilangan genap dari array input. Manakah kode yang benar untuk mencapai tujuan tersebut?
function getEvenNumbers($arr) {
return array_filter($arr, function($num) {
return $num % 2 == 0;
});
}
function getEvenNumbers($arr) {
return array_map($arr, function($num) {
return $num % 2 == 0;
});
}
function getEvenNumbers($arr) {
$result = [];
foreach ($arr as $num) {
if ($num % 2 == 0) $result[] = $num;
}
}
function getEvenNumbers($arr) {
return array_walk($arr, function($num) {
return $num % 2 == 0;
});
}
function getEvenNumbers($arr) {
$result = [];
for ($i = 0; $i <= count($arr); $i++) {
if ($arr[$i] % 2 == 0) $result[] = $arr[$i];
}
return $result;
}
Adi, seorang pengembang, ingin membaca isi file data.txt yang berisi informasi penting untuk proyeknya. Manakah cara yang paling aman dan efisien untuk melakukannya?
file_get_contents('data.txt')
fopen('data.txt', 'r')
readfile('data.txt')
file('data.txt')
fread('data.txt', filesize('data.txt'))
Perhatikan kode berikut: $file = fopen('log.txt', 'a'); fwrite($file, 'User login at ' . date('Y-m-d') . '\n'); fclose($file); Apa yang dilakukan kode di atas?
Membaca isi file log.txt
Menimpa file log.txt dengan tanggal saat ini
Menambahkan tanggal saat ini ke file log.txt
Membuat file baru bernama log.txt tanpa isi
Menghapus isi file log.txt
Surya sedang mengembangkan aplikasi yang memerlukan file konfigurasi bernama config.ini. Sebelum aplikasi tersebut mencoba untuk membaca file tersebut, bagaimana cara Surya memeriksa apakah file config.ini ada?
file_exists('config.ini')
is_file('config.ini')
file('config.ini')
fopen('config.ini', 'r')
is_readable('config.ini')
Dewi, seorang pengembang web, sedang mencari cara untuk mengirim email dari aplikasinya menggunakan PHP. Manakah library yang direkomendasikan untuknya?
PHPMailer
SimpleXML
PDO
GD Library
cURL
Perhatikan kode berikut:
require 'vendor/autoload.php';
use PHPMailer\PHPMailer\PHPMailer;
$mail = new PHPMailer();
$mail->isSMTP();
$mail->Host = 'smtp.example.com';
$mail->Port = 587;
Sri ingin mengirimkan email pemberitahuan kepada kliennya menggunakan PHP. Dia menggunakan kode di atas untuk mengatur pengiriman email. Apa fungsi dari kode di atas?
Menginisialisasi koneksi database
Mengatur pengiriman email melalui SMTP
Membaca file XML
Mengompresi file gambar
Mengirim HTTP request
Rizky, seorang pengembang, sedang mengerjakan proyek yang melibatkan pengolahan data dalam format JSON menggunakan library PHP. Manakah fungsi yang tepat untuk digunakan dalam proses ini?
json_encode() dan json_decode()
xml_parse() dan xml_encode()
serialize() dan unserialize()
parse_ini_file()
file_get_contents()
Perhatikan kode berikut:
$pdo = new PDO('mysql:host=localhost;dbname=test', 'root', '');
$stmt = $pdo->prepare('SELECT * FROM users WHERE age > ?');
$stmt->execute([20]);
$users = $stmt->fetchAll();
Apa yang dilakukan kode di atas?
Menghapus data pengguna dengan usia di atas 20
Mengambil data pengguna dengan usia di atas 20
Memperbarui data pengguna dengan usia di atas 20
Menambahkan data pengguna baru
Membuat tabel baru bernama users
Dedi, seorang pengembang, sedang mengerjakan proyek untuk menampilkan data dari tabel products dalam HTML. Manakah kode yang benar untuk mencapai hal ini?
$stmt = $pdo->query('SELECT * FROM products'); while ($row = $stmt->fetch()) { echo "
$stmt = $pdo->query('SELECT * FROM products'); echo "
$stmt = $pdo->query('SELECT * FROM products'); foreach ($stmt as $row) { echo "
$stmt = $pdo->query('SELECT * FROM products'); echo "
$stmt = $pdo->query('SELECT * FROM products'); while ($row = $stmt->fetchAll()) { echo "
Arif, seorang pengembang web, sedang mengerjakan proyek baru dan ingin memastikan bahwa aplikasi yang dia buat aman dari serangan XSS saat menampilkan input pengguna. Manakah fungsi PHP yang tepat untuk digunakan dalam situasi ini?
htmlentities()
strip_tags()
addslashes()
str_replace()
urlencode()
Perhatikan kode berikut:
$pdo = new PDO('mysql:host=localhost;dbname=shop', 'root', '');
$stmt = $pdo->prepare('INSERT INTO orders (user_id, total) VALUES (?, ?)');
$stmt->execute([$_POST['user_id'], $_POST['total']]);
Apa risiko keamanan dari kode di atas jika $_POST tidak divalidasi?
SQL Injection
XSS
CSRF
Directory Traversal
Tidak ada risiko
Arif, seorang pengembang, ingin membuat form pencarian yang menampilkan hasil dari tabel books. Manakah query yang paling efisien?
SELECT * FROM books WHERE title LIKE '%?%'
SELECT * FROM books WHERE title = ?
SELECT title, author FROM books WHERE title LIKE ?
SELECT * FROM books WHERE author LIKE '%?%'
SELECT * FROM books
Perhatikan situasi berikut:
Siti memulai sesi untuk menyimpan informasi pengguna.
$_SESSION['user'] = ['id' => 1, 'name' => 'John'];
Dia kemudian menghapus nama pengguna dari sesi.
Apa hasil dari situasi di atas?
$_SESSION['user'] menjadi ['id' => 1]
$_SESSION['user'] menjadi null
$_SESSION['user'] tetap ['id' => 1, 'name' => 'John']
Error karena unset tidak valid
$_SESSION dihapus
Angga, seorang pengembang, ingin menampilkan data dalam format JSON dari tabel employees. Manakah kode yang benar?
$stmt = $pdo->query('SELECT * FROM employees'); echo json_encode($stmt->fetchAll());
$stmt = $pdo->query('SELECT * FROM employees'); echo $stmt->fetchAll();
$stmt = $pdo->query('SELECT * FROM employees'); echo json_decode($stmt->fetchAll());
$stmt = $pdo->query('SELECT * FROM employees'); echo serialize($stmt->fetchAll());
$stmt = $pdo->query('SELECT * FROM employees'); print_r($stmt->fetchAll());
Sri, seorang pengembang, ingin membuat pagination untuk tabel dengan 1000 baris, menampilkan 10 baris per halaman. Berapa nilai OFFSET untuk halaman ke-5?
40
50
60
70
80
Perhatikan kode berikut:
<form method="POST" action="save.php">
<input type="text" name="username">
<input type="submit" value="Save">
</form>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);
echo $username;
}
Joko sedang membuat sebuah formulir pendaftaran di situs webnya. Dia ingin memastikan bahwa nama pengguna yang dimasukkan oleh pengguna bersih dari karakter berbahaya. Apa fungsi filter_input dalam kode di atas?
Mengenkripsi input pengguna
Menyaring dan membersihkan input pengguna
Mengonversi input ke JSON
Menyimpan input ke database
Mengubah input ke huruf kapital
Dewi, seorang pengembang, ingin mengunggah file gambar dan memvalidasi bahwa file tersebut adalah PNG. Manakah kode yang benar?
if ($_FILES['image']['type'] == 'image/png') {
move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/' . $_FILES['image']['name']);
}
if ($_FILES['image']['name'] == 'png') {
move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/' . $_FILES['image']['name']);
}
if (pathinfo($_FILES['image']['name'], PATHINFO_EXTENSION) == 'png') {
move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/' . $_FILES['image']['name']);
}
if ($_FILES['image']['size'] == 'image/png') {
move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/' . $_FILES['image']['name']);
}
if ($_FILES['image']['tmp_name'] == 'png') {
move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/' . $_FILES['image']['name']);
}
Arif, seorang pengembang, sedang mengerjakan proyek baru yang memerlukan API untuk mengembalikan data dalam format JSON. Manakah header yang harus diset?
header('Content-Type: application/json');
header('Content-Type: text/html');
header('Content-Type: application/xml');
header('Content-Type: text/plain');
header('Content-Type: application/pdf');
Perhatikan kode berikut:
$pdo = new PDO('mysql:host=localhost;dbname=blog', 'root', '');
$stmt = $pdo->prepare('UPDATE posts SET title = ?, content = ? WHERE id = ?');
$stmt->execute([$_POST['title'], $_POST['content'], $_POST['id']]);
Apa yang dilakukan kode di atas?
Menambahkan posting baru ke tabel posts
Memperbarui posting berdasarkan ID
Menghapus posting berdasarkan ID
Mengambil posting berdasarkan ID
Membuat tabel baru bernama posts
