Anda di halaman 1dari 9

Tugas Kelompok ke-4

Minggu ke 9

Jawablah soal berikut dengan benar!


A. Soal Essay
1. Sebutkan dan jelaskan minimal 5 variable “superglobal” yang dimulai dengan
“$_”. Jelaskan juga hubungan variable tersebut dengan variable “$GLOBALS”.
Jawab
1. $_POST
Variable gloabl $_POST merupakan salah satu variable global pada PHP
yang mempunyai fungsi untuk menampung semua request apabila request tersebut
menggunakan method http POST, variable tersebut dapat diakses secara gloabal alias
bisa diakses pada file manapun, berikut adalah contoh penggunaanya

<?php
// ambil request dengan key username
$username = $_POST[‘username’];
// cetak variable username
echo $username;
2. $_GET
variable global $_GET merupakan variable global yang ada pada php,
dan mempunyai fungsi untuk mendapatkan nilai pada query string,
variable ini bisa diakses dari file mana saja, berikut contohnya:

pada url berikut terdapat query string


https://yourweb.com?search=naruto&sort_field=name&sort_by=DESC

apabila kita mempunyai file berikut


<?php
// maka variable $_GET berisi array dari query string tadi
$search = $_GET[‘search’];
$field = $_GET[‘sort_field’];
$by = $_GET[‘sort_by’];

echo $search; //naruto


echo $field; //name
echo $by; //DESC

3. $_SESSION
Variabel global berikutnya adalah $_SESSION, variable ini hanya bisa
digunakan apabula kita menggunakan session, yang mana di awali
dengan mengeksekusi session_start(); abila function tersebut belum
dijalankan variable $_SESSION akan selalu bernilai null, berikut contoh
penggunaanya

<?php
session_start();
$_SESSION[‘username’] = ‘naruto’;
echo $_SESSION[‘username’] // naruto

COMP6621 – Web Programming


Kita bisa mengambil value dari $_SESSION dari file manapun

4. $_ENV
$_ENV Merupakan salah satu variabel global yang memiliki fungsi untuk
menampilkan environment variable pada operating system, contoh penggunaanya adalah
<?php
echo $_ENV[“HOME”]; // akan mencetak home path directory
pada operating system.

5. $_SERVER
berikutnya adalah variable $_SERVER, variable gloabl ini akan
menyimpan semua informasi server ketika file php terkait dijalankan,
seperti halnya hostname, ip, request method, berikut contohnya
<?php
echo $_SERVER[‘REQUEST_METHOD’]; // akan mencetak request
method, ex: POST
echo $_SERVER[‘REQUEST_IP’]; // akan mencetak ip address client

Referensi:
https://www.php.net/manual/en/language.variables.predefined.php

2. Laravel menawarkan fitur keamanan berikut untuk memungkinkan pengembang


mengurangi kerentanan Laravel dalam aplikasi, fiture apa sajakah itu dan
berikan penjelasannya.
Jawab
1. Authentication and Authorization
Salah satu security yang di sediakan oleh laravel adalah Authentication
dan Authorazation, ini merupakan fitur yang mandatory pada sebuah
system, dengan adanya authentication user harus melakukan proses
login terlebih dahulu sebelum masuk kedalam system, kemudian
Authroization adalah proses untuk pengecekan apakah user tersebut
setelah selesai login mempunyai hak akses untuk mengakses resource
yang di tuju.

2. Hashing Password
Hashing password merupakan cara untuk menyimpan password pada
database dengan cara menggunakan hash string, hashing sendiri merupakan salah satu
cara untuk membuat plain string (string biasa) menjadi acak dan tidak bisa dibaca oleh
manusia, namun jika divalidasi dengan data aslinya bisa dilakukan, pada laravel sendiri
menggunakan mekanisme hashing dengan bcrypt algorithm.

3. CSRF Protection
Salah satu proteksi yang sudah disediakan laravel berikutnya adalah
CSRF Protection, yang mana ini akan mencegah serangan Cross Site
Request Forgery, yang mana seringan seperti ini dapat dilakukan dengan
cara request dengan method POST pada berbeda hostname atau
domain, pada laravel secara default hal ini akan dicegah oleh middleware
csrftoken.

Referensi: https://laravel.com/docs/8.x

Week 03
Web Design ©Arif 2|9
3. Apa yang dimaksud dengan:
a. Forge
Laravel Forge adalah manajemen server dan layanan penyebaran situs.
Setelah terhubung ke penyedia server pilihan, Forge akan menyediakan
server baru,memasang dan mengkonfigurasi. Laravel Forge memungkinkan
memutar server cloud dan menangani proses penyebaran menggunakan Git
dan beberapa penyedia server populer yang tersedia.

b. AWS
AWS atau biasa dikenal dengan Amazon Web Services, merupakan salah satu
layanan cloud provider yang dimiliki oleh amazon.com, dengan AWS kita bisa
mendeploy Laravel pada instance EC2 yaitu nama lain dari Virtual Server pada AWS.

c. CodeDeploy
CodeDeploy adalah layanan yang mengotomatiskan penerapan kode ke instance
Amazon EC2. CodeDeploy memudahkan Anda untuk merilis fitur baru dengan
cepat, membantu menghindari waktu henti selama pemasangan, dan menangani
kerumitan memperbarui aplikasi.

Hubungan ketiganya adalah baik Forge, AWS maupun COdeDeploy merupakan


cloud provider yang menyediakan virutual server sebagai media untuk
deployment project laravel, supaya Laravel Project atau sistem yang kita bisa
diakses secara public

referensi :
- LN week 10

B. Soal Case
Buatlah aplikasi video streaming menggunakan laravel. Berikut aturannya:
a. Inputan:
● Text Nama File
● Menu upload video.
b. Menampilkan tampilan list file yang sudah diupload
c. Jika list pada file video tersebut di klik maka akan play video streaming
yang dipilih.

Jawab

Pada file routes/web.php terdapat routes seperti berikut

Week 03
Web Design ©Arif 3|9
disitu terdapat routes dengan method resource yang mengarah pada url /videos dan
menggunakan controller VideoController, yang mana resource tersebut akan membuat
route list seperti berikut.

kemudian pada file Video Controller berisi seperti berikut.

Week 03
Web Design ©Arif 4|9
terdapat 3 method pada controller tersebut

1. index() - merupakan method untuk menampilkan semua list video


2. create() - merupakan method untuk menampilkan create form video
3. store() - merupakan method untuk membuat data video baru, pada controller ini
akan menyimpan video yang di upload kemudian akan membuat thumbnail yang
akan disimpan dan digunakan untuk halaman list.
4. show() - merupakan method untuk menampilkan detail video.

lalu pada views terdapat views berikut

1. resources/views/index.blade.php, berisi berikut

Week 03
Web Design ©Arif 5|9
view ini yang akan digunakan untuk menampilkan list video, berikut hasil pada
browser

Week 03
Web Design ©Arif 6|9
2. FIle resources/views/show.blade.php, pada file ini digunakan untuk menampilkan
detail video yang dapat diplay, berikut adalah isinya

apabila dibuka pada browser seperti berikut.

Week 03
Web Design ©Arif 7|9
3. pada file resources/views/create.php adalah view untuk menampilkan form insert data
video, berikut isinya

apabila dibuka pada browser seperti berikut

Week 03
Web Design ©Arif 8|9
Cara menjalankan Project Laravel.

A. Menggunakan Docker Engine dan Docker Compose


- Pastikan docker telah terinstall di computer
- Pastikan docker compose telah terinstall di computer
- Tinggal jalankan perintah docker-compose up pada terminal
- Setelah itu Migration akan termigrasi dengan sendirinya

B. Menggunakan cara Manual


- Buat database MYSQL lalu config pengaturan database pada file .env
- Lakukan instalasi library menggunakan perintah composer install
- Kemudian jalankan perintah pada terminal php artisan migrate untuk migrasi schema
data base
- Lalu jalankan perintah php artisan db:seed untuk menjalankan seeder
- Setelah itu jalankan perintah php artisan storage:link untuk melakukan linking
storage folder ke public folder
- Setelah itu bisa langsung php artisan serve

Week 03
Web Design ©Arif 9|9

Anda mungkin juga menyukai