wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Ujian Akhir Semester (UAS) Pemrograman PHP

Total questions: 50

Worksheet time: 2hrs 40mins

Name
Class
Date
1.

Pada tahun 2004 perkembangan PHP apa yang berkembang?

a)

PHP 3

b)

PHP 4

c)

Zend Framework

d)

Zend Engine

e)

PHP 5

2.

Bahasa pemrograman yang dieksekusi baris demi baris oleh program penerjemah saat program dijalankan disebut ...

a)

Reusable

b)

Request

c)

Interpreter

d)

Variable

e)

Function

3.

Tempat untuk menyimpan nilai (value) dalam suatu program disebut ...

a)

Tipe Data

b)

Konstanta

c)

Resource

d)

Variable

e)

Function

4.

Pada saat variabel dihapus dari memori, konsekuensi langsungnya adalah?

a)

Nilai diganti menjadi nol secara default

b)

Variabel berubah menjadi konstanta

c)

Program otomatis menyimpan nilai ke disk

d)


Nilai tidak lagi tersedia untuk digunakan

e)

Variable menyimpan nilai ke Function

5.

Tipe data yang dapat menyimpan beberapa nilai atau value dari tipe data yang sama dalam sebuah variable disebut ...

a)

Array

b)

String

c)

Integer

d)

Boolean

e)

Object

6.

Operator berikut "$a | | $b" digunakan untuk operator ...

a)

Logika

b)

Assignment

c)

Aritmatika

d)

Incremental

e)

Equality

7.

Manakah berikut ini yang tidak termasuk variasi Linked List…

a)

Singly Linked List

b)

Circular Singly Linked List

c)

Triple Linked List

d)

Double LInked List

e)

Header Linked List

8.

Prinsip utama yang digunakan dalam struktur data Queue adalah...

a)

First In First Out

b)

Top Down Processing

c)

Last In First Out

d)

Last In Last Out

e)

Random Access

9.

Cara representasi Graph yang hanya mencatat pasangan titik yang terhubung disebut...

a)

Adjacency List

b)

Edge List

c)

Adjacency Matrix

d)

Linked List

e)

Array Linear

10.

Komponen utama dalam Hash Table adalah ...

a)

Node dan pointer

b)

Stack dan queue

c)

Index dan cursor

d)

Key dan value

e)

Root dan leaf

11.

Query SQL yang biasanya digunakan bersama method GET adalah …

a)

INSERT

b)

DELETE

c)

DROP

d)

UPDATE

e)

SELECT

12.

Jika ingin ada nilai default saat nama tidak diberikan, mana sintaks yang tepat?

a)

function sapaNama($nama="Tamu")

b)

function sapaNama($nama: "Tamu")

c)

function sapaNama(name="Tamu")

d)

function sapaNama(default="Tamu")

13.

Pernyataan manakah yang paling tepat menggambarkan fungsi IF dalam kontrol percabangan satu kondisi?

a)

Memaksa eksekusi dua blok bersamaan

b)

Menghentikan program ketika kondisi salah

c)

Mengubah nilai variabel selama evaluasi

d)

Mengevaluasi kondisi lalu memilih satu jalur

14.

Anda diminta menambahkan kategori nilai: 'Sangat Baik' untuk nilai di atas 85, 'Baik' untuk nilai 61–85, dan 'Perlu Mengulang' untuk nilai 60 ke bawah. Struktur kontrol mana yang paling tepat digunakan?

a)

Satu if tunggal tanpa else

b)

If diikuti else if dan satu else

c)

Switch dengan satu kasus default saja

d)

Dua blok else berdampingan independen

15.

Apa tujuan utama menggunakan default pada struktur switch?

a)

Mengakhiri eksekusi setiap kasus yang cocok

b)

Membandingkan dua variabel sekaligus pada kasus

c)

Menangani nilai yang tidak cocok dengan kasus

d)

Mengatur ulang nilai ekspresi sebelum dibandingkan

16.

Pernyataan mana yang paling tepat menggambarkan kapan menggunakan for loop?

a)

Saat jumlah iterasi sudah ditentukan sebelumnya

b)

Saat eksekusi harus berhenti pada kejadian asinkron

c)

Saat kondisi berubah tak terduga di setiap langkah

d)

Saat perlu menunggu input pengguna setiap iterasi

17.

Dalam OOP, apa perbedaan utama antara property dan method pada sebuah objek?

a)

Property hanya untuk kelas, method hanya untuk turunan objek

b)

Property untuk antarmuka, method untuk pewarisan hierarkis

c)


Property menyimpan data, method menjalankan aksi terhadap data

d)

Property menjalankan aksi, method menyimpan daftar konstanta

18.

Apa fungsi utama member class variable dalam OOP?

a)

Mengatur koneksi codingan dengan server

b)

Mengompilasi kode menjadi function

c)

Menentukan urutan eksekusi program utama

d)

Menyimpan data milik object atau class

19.

Anda diminta menambahkan konstruktor __construct( nama,nama, nilai) agar objek otomatis terisi. Manakah kode pemetaan yang tepat di dalam konstruktor?

a)

this−>nama= nama; this−>nilai=this−>nilai= nilai;

b)

global nama;globalnama;global nilai; this=this= nilai;

c)

nama= this->nama; nilai=nilai= this->nilai;

d)

self:: nama=nama= nama; self:: nilai=nilai= nilai;

20.

Output menampilkan "Hasil Ujian : 70 dinyatakan Lulus". Manakah logika paling sederhana yang sesuai untuk menentukan status lulus?

a)

Jika nilai == 70 saja yang Lulus, lainnya Tidak Lulus

b)

Jika nilai >= 70 maka Lulus, selain itu Tidak Lulus

c)

Jika nilai > 70 maka Lulus, sama dengan 70 Tidak Lulus

d)

Jika nilai <= 70 maka Lulus, di atas 70 Remedial

21.

Ketika konstruktor menerima parameter nama dan nilai, pernyataan yang tepat untuk menyimpannya adalah:

a)

this.nama = nama; this.nilai = nilai;

b)

nama = this.nama; nilai = this.nilai;

c)

this[nama] = nilai; this[nilai] = nama;

d)

var nama = this.nama; var nilai = nilai;

22.

Dalam PHP atau JavaScript, akses properti objek yang benar untuk nama adalah:

a)

obj(nama) dengan fungsi pemanggil

b)

obj{nama} menggunakan kurung kurawal

c)

obj->nama pada JavaScript

d)


obj.nama atau obj["nama"]

23.

Pada bahasa berorientasi objek, konstruktor dipanggil kapan?

a)


Saat instansiasi objek dilakukan dengan new

b)

Saat aplikasi pertama kali dijalankan

c)

Saat variabel lokal dideklarasikan

d)

Saat fungsi utilitas global selesai

24.

Jika data tabel perlu dirender dari array objek, teknik yang tepat adalah:

a)

Mengakses hanya elemen pertama dan mengabaikan lainnya

b)

Mengonversi array menjadi satu string tanpa pemisah

c)

Menyimpan seluruh array ke satu sel tabel

d)


Iterasi array dan membangun baris HTML untuk setiap objek

25.

Apa yang dimaksud dengan enkapsulasi dalam OOP PHP?

a)

Proses melindungi member class dari akses tidak tepat

b)

Proses memisahkan member class dari akses tidak tepat

c)

Proses menambah member class dari akses tidak tepat

d)

Proses mengeksekusi member class dari akses tidak tepat

26.

Manakah pernyataan yang benar tentang hak akses public pada PHP?

a)

Hanya dapat diakses di file yang sama saja

b)

Dapat diakses dari dalam maupun luar class

c)

Tidak dapat diakses dari objek manapun

d)

Hanya dapat diakses oleh objek turunannya

27.

Pilih pernyataan yang tepat tentang private pada member class PHP.

a)

Dapat diakses dari subclass dan luar class

b)

Hanya dapat diakses dari dalam class itu sendiri

c)

Dapat diakses dari namespace berbeda saja

d)

Hanya dapat diakses melalui interface publik

28.

Anda diminta memetakan atribut dan metode dari domain “mesin dispenser” ke diagram kelas. Pilihan mana yang merupakan pemetaan yang paling konsisten?

a)

Atribut: public; Metode: protected

b)

Atribut: withdraw(); Metode: saldo

c)

Atribut: hargaSegelas; Metode: isi()

d)

Atribut: isi(); Metode: volume

29.

Properti $saldo diberi visibilitas apa dan dampaknya apa bagi akses dari luar kelas?

a)

static sehingga berbagi nilai ke semua objek

b)

private sehingga hanya konstruktor yang bisa baca

c)


protected sehingga tidak langsung diakses dari luar

d)

public sehingga bebas diubah dari luar kelas

30.

Manakah urutan eksekusi yang benar agar output menampilkan saldo awal lalu saldo setelah deposit?

a)

cetak(), deposit(), cetak()

b)

deposit(), deposit(), cetak()

c)

deposit(), cetak(), cetak()

d)

cetak(), cetak(), deposit()

31.

PHP menerapkan single inheritance. Apa implikasinya bagi desain class?

a)

Satu class harus mewarisi interface dan abstract

b)

Satu class boleh memiliki banyak parent langsung

c)

Satu class hanya boleh memiliki satu parent class

d)

Satu class wajib tidak memiliki parent sama sekali

32.

Pernyataan manakah yang BENAR mengenai hak akses saat pewarisan di PHP?

a)

Property private tidak diturunkan ke sub class

b)

Property protected tidak dapat diakses di parent class

c)

Semua member selalu diturunkan tanpa pengecualian

d)

Method public berubah menjadi private di sub class

33.

Urutan aliran data yang benar dari klien hingga database saat form disubmit adalah apa?

a)

Server kirim HTTP ke klien, klien kirim SQL ke database

b)

Database kirim SQL ke server, server kirim HTTP ke klien

c)

Klien kirim HTTP ke server, server kirim SQL ke database

d)

Klien ke database lewat HTTP langsung

34.

Dalam konteks PDO, kapan sebaiknya menggunakan exec() dibandingkan query()?

a)

Saat membuat koneksi ke database

b)

Saat menyiapkan prepared statement bind

c)

Saat melakukan fetch associative pada baris

d)

Saat menjalankan DDL atau DML tanpa ResultSet

e)

Saat menjalankan SELECT dan butuh ResultSet

35.

Peran utama metode prepare() dalam PDO adalah apa?

a)

Menghubungkan aplikasi ke server web lokal

b)

Menjalankan query secara langsung tanpa binding

c)

Menyiapkan pernyataan SQL dengan placeholder aman

d)

Mengambil satu baris hasil query dari database

36.

Diberikan: sql=sql= stmt = dbh−>prepare(dbh−>prepare( sql); Pilih cara benar mengeksekusi dengan data ['TE','Teknik Elektro'].

a)

$stmt->execute('TE','Teknik Elektro')

b)

$stmt->fetch(['TE','Teknik Elektro'])

c)

$stmt->execute(array()) lalu bindParam

d)

$stmt->execute(['TE','Teknik Elektro'])

37.

Anda ingin mengambil satu baris dari tabel prodi berdasarkan id menggunakan PDO. Urutan langkah yang tepat adalah apa?

a)

prepare(), fetch(), execute(array(id))

b)

execute(array(id)), prepare(), fetch()

c)

fetch(), execute(array(id)), prepare()

d)

prepare(), execute(array(id)), fetch()

38.

Anda ingin menampilkan kolom id dan nama dari hasil query menggunakan mode yang mengembalikan properti objek. Mode fetch mana yang tepat digunakan?

a)

PDO::FETCH_OBJ

b)

PDO::FETCH_BOTH

c)

PDO::FETCH_NUM

d)

PDO::FETCH_ASSOC

e)

PDO::FETCH_PROB

39.

Pada cuplikan kode PDO, setelah menjalankan perintah DELETE menggunakan execute(), fungsi mana yang tepat untuk mendapatkan jumlah baris yang terpengaruh?

a)

affectedRows()

b)

countRows()

c)

rowCount()

d)

getRowsAffected()

40.

Anda ingin mengambil satu nilai hasil agregat COUNT(id) dari tabel menggunakan PDO. Metode mana yang paling sesuai untuk langsung memperoleh angka tersebut?

a)

fetchObject()

b)

fetchColumn()

c)

rowCount()

d)

fetchAll()

41.

Dalam modul program, operasi Update biasanya diterapkan pada objek data seperti apa?

a)

File konfigurasi server aplikasi

b)

Skema database yang belum dibuat

c)

Baris yang sudah ada di tabel referensi

d)

Indeks yang belum diinisialisasi

42.

Jika sebuah modul menjalankan perintah SQL melalui pustaka database, peran pustaka tersebut adalah apa?

a)

Menjadi antarmuka eksekusi query ke sistem

b)

Mengganti engine database sepenuhnya

c)

Menyimpan seluruh data secara permanen

d)

Menghasilkan laporan grafis otomatis

43.

File mana yang menjadi tempat templating web pada langkah awal proses?

a)


index.php

b)

config.php

c)

main.php

d)

model.php

e)

controller.php

44.

Manakah yang benar menggambarkan arti Create dalam konteks CRUD pada database aplikasi?

a)

Mengubah nilai kolom pada baris

b)

Menampilkan data yang ada dari tabel

c)

Menambahkan baris baru ke tabel referensi

d)

Menghapus satu atau lebih baris dari tabel

45.

Operasi Read dalam CRUD paling tepat dipadankan dengan tindakan apa pada sistem database?

a)

Menjalankan query INSERT

b)

Menjalankan query SHOW

c)

Menjalankan query SELECT

d)

Menjalankan query UPDATE

e)

Menjalankan query VIEW

46.

Urutan logis alur Create di MVC yang paling tepat adalah apa?

a)

View langsung menulis ke database, Controller

b)

Controller kirim ke View, View panggil Model

c)

Model kirim ke View, View panggil Controller

d)

View kirim ke Controller, Controller panggil Model

47.

File mana di lapisan model yang disebutkan perlu diperbarui saat menambah fitur CRUD Mahasiswa?

a)

models/Kelas.php

b)

models/Database.php

c)

models/Mahasantri.php

d)

models/Mahasiswa.php

48.

Selain model dan controller, halaman mana yang perlu diperbarui dalam proses CRUD?

a)

about.php

b)

dashboard.php

c)

index.php

d)

home.php

49.

File tampilan yang digunakan untuk mengubah data Mahasiswa disebutkan sebagai apa?

a)

update.php

b)

edit.php

c)

modify.php

d)

change.php

50.

Ketika menambah tombol detail, tindakan HTTP yang paling umum untuk mengambil data satu Mahasiswa adalah apa?

a)

GET ke endpoint detail

b)

POST ke endpoint detail