Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

XI RPL 1 PEMROGRAMAN PERANGKAT BERGERAK POST TEST

Total questions: 20

Worksheet time: 20mins

Name
Class
Date
1.

Seorang siswa ingin menambahkan logika penghitungan total harga barang di keranjang belanja. Menurut prinsip MVC yang baik di Laravel, di manakah sebaiknya logika bisnis (seperti perhitungan) ini diletakkan?

a)

Di dalam Middleware.

b)

Di dalam Model Cart atau di Service Class yang dipanggil oleh Controller.

c)

Di dalam View Blade yang menampilkan keranjang belanja.

d)

Langsung di file route web.php

2.

Bagaimana cara yang benar untuk mendefinisikan route di web.php yang menerima parameter ID wajib, misalnya untuk menampilkan detail pengguna dengan URL /user/5?

a)

Route::get('/user/*', 'UserController@show');

b)

Route::get('/user?id={id}', 'UserController@show');

c)

Route::get('/user/{id}', 'UserController@show');

d)

Route::get('/user/[id]', 'UserController@show');

3.

Di dalam Controller, Anda mencoba mengambil data dari Model Product berdasarkan $id. Jika data dengan $id tersebut tidak ditemukan, Anda ingin Laravel secara otomatis melempar exception 404 Not Found. Metode Eloquent apakah yang harus digunakan?

a)

Product::findOrFail($id);

b)

Product::get($id);

c)

Product::find($id);

d)

Product::first($id);

4.

Jika sebuah post memiliki banyak comments (One-to-Many), relasi apakah yang harus didefinisikan pada Model Post agar dapat mengambil semua comment terkait?

a)

hasMany

b)

belongsTo

c)

belongsToMany

d)

hasOne

5.

Setelah menjalankan serangkaian migration, Anda menyadari ada kesalahan pada migration terakhir dan ingin membatalkannya (rollback) tanpa menghapus semua tabel. Perintah Artisan yang tepat adalah...

a)

php artisan migrate:rollback

b)

php artisan migrate:refresh

c)

php artisan migrate:reset

d)

php artisan migrate:down

6.

Di dalam Controller MenuController, Anda telah mengambil data menu $makanan dan $minuman. Bagaimana cara termudah untuk mengirimkan kedua variabel tersebut ke View menu.blade.php?

a)

return view('menu', compact('makanan', 'minuman'));

b)

return view('menu', ['makanan' => $makanan, 'minuman' => $minuman]);

c)

return view('menu')->with('makanan', $makanan)->with('minuman', $minuman);

d)

return view('menu', $makanan, $minuman);

7.

Anda ingin menampilkan data $students dalam sebuah tabel, dan untuk setiap baris, Anda ingin menyertakan view terpisah bernama student-row.blade.php. Directive Blade apa yang paling efisien untuk memanggil view tersebut di dalam loop?

a)

@section('student-row', $student)

b)

@include('student-row', ['student' => $student])

c)

@yield('student-row')

d)

@extends('student-row')

8.

Anda ingin membuat API endpoint untuk membuat data buku baru. Route apa yang paling sesuai untuk permintaan ini menurut konvensi RESTful?

a)

Route::put('/books', ...)

b)

Route::post('/books', ...)

c)

Route::any('/books', ...)

d)

Route::get('/books/create', ...)

9.

Dalam konteks pengembangan API Laravel, mengapa format response data yang paling sering digunakan adalah JSON?

a)

JSON diperlukan karena Laravel tidak dapat mengembalikan data dalam format lain.

b)

JSON lebih mudah dibaca oleh pengguna akhir (user).

c)

JSON adalah format standar, ringan, mudah dibaca oleh mesin, dan didukung secara universal oleh sebagian besar bahasa dan platform (Web, iOS, Android).

d)

JSON lebih cepat dari format XML, tetapi membutuhkan lebih banyak bandwidth.

10.

Jika seorang siswa mengirimkan formulir menggunakan metode POST tetapi lupa menyertakan directive @csrf di Blade View, error HTTP manakah yang kemungkinan besar akan dikembalikan oleh Laravel?

a)

419 Page Expired

b)

403 Forbidden

c)

500 Internal Server Error

d)

404 Not Found

11.

Anda ingin melakukan validasi untuk field jumlah_stok yang dikirim dari form, dengan syarat: wajib diisi dan harus berupa angka positif (minimal 1). Aturan validasi manakah yang paling tepat untuk diterapkan di Controller?

a)

'jumlah_stok' => 'filled|string|gt:0'

b)

'jumlah_stok' => 'nullable|integer|min:1'

c)

'jumlah_stok' => 'required|numeric|max:1'

d)

'jumlah_stok' => 'required|integer|min:1'

12.

Dalam Model Order, relasi manakah yang digunakan jika satu Order hanya dimiliki oleh satu User?

a)

hasOne

b)

hasManyThrough

c)

belongsTo

d)

hasMany

13.

Anda ingin menyajikan response API yang berhasil dan menginformasikan bahwa sumber daya baru telah dibuat. Selain data, kode status HTTP manakah yang paling sesuai untuk dikembalikan?

a)

201 Created

b)

200 OK

c)

400 Bad Request

d)

204 No Content

14.

Apa perbedaan utama antara sintaks Blade { { $data } } dan { !! $data !! }?

a)

{ { $data } } secara otomatis melakukan HTML escaping (aman dari XSS), sedangkan { !! $data !! } menampilkan data mentah (raw) tanpa escaping.

b)

Keduanya sama, hanya cara penulisan yang berbeda.

c)

{ { $data } } hanya dapat menampilkan data dari Model, sedangkan { !! $data !! } dapat menampilkan data dari Controller.

d)

Yang pertama menampilkan data tanpa pemformatan, yang kedua menampilkan data dalam format HTML.

15.

Seorang siswa ingin mengelompokkan beberapa route di bawah prefix /admin dan menerapkan middleware auth untuk semua route tersebut. Sintaks yang tepat untuk menggunakan Route Group adalah...

a)

Route::prefix('/admin')->middleware(['auth']) { ... }

b)

Route::group(['prefix' => 'admin', 'middleware' => 'auth'], function () { ... });

c)

Route::group('/admin/auth', function () { ... });

d)

Route::prefix('admin')->middleware('auth')->register([ ... ]);

16.

Anda ingin mencari semua data buku yang memiliki kata 'Programming' pada judulnya. Metode Eloquent/Query Builder manakah yang paling tepat untuk digunakan?

a)

Book::where('title', 'Programming')->get();

b)

Book::where('title', 'LIKE', '%Programming%')->get();

c)

Book::find('Programming');

d)

Book::whereLike('title', 'Programming')->get();

17.

Apa fungsi utama dari Middleware di Laravel?

a)

Menampilkan data di View.

b)

Memproses permintaan HTTP sebelum atau sesudah diproses oleh Controller.

c)

Mengelola skema database.

d)

Menangani logika bisnis yang kompleks di dalam Model.

18.

Saat debugging di Controller, metode helper manakah yang paling cepat dan sering digunakan untuk menampilkan isi variabel dan menghentikan eksekusi kode untuk pemeriksaan?

a)

echo $variable;

b)

die($variable);

c)

var_dump($variable);

d)

dd($variable);

19.

Jika Anda mendefinisikan sebuah nilai konfigurasi dalam file config/app.php dengan kunci 'timezone' => 'Asia/Jakarta', bagaimana cara yang benar untuk mengakses nilai tersebut di Controller?

a)

config('app.timezone')

b)

Config::get('timezone')

c)

$_ENV['timezone']

d)

app()->config('timezone')

20.

Untuk meningkatkan kinerja aplikasi Laravel Anda setelah melakukan perubahan besar pada konfigurasi, route, atau view, perintah Artisan manakah yang sebaiknya dijalankan untuk membuat cache?

a)

php artisan cache:all

b)

php artisan config:cache && php artisan route:cache && php artisan view:cache

c)

php artisan optimize:full

d)

php artisan run:performance