Bab 2 Routing dan Controller
Pengenalan Routing dan Controller
1.1 Apa itu Routing?
Routing adalah mekanisme dalam Laravel yang digunakan untuk mengarahkan
permintaan (request) dari pengguna ke fungsi atau metode yang sesuai. Setiap
URL yang diakses oleh pengguna akan dipetakan ke sebuah route, yang
kemudian menentukan apa yang akan ditampilkan atau dilakukan.
1.2 Apa itu Controller?
Controller adalah kelas dalam Laravel yang bertugas untuk menangani logika
aplikasi. Controller menerima input dari route, memprosesnya, dan
mengembalikan respons yang sesuai. Dengan menggunakan controller, kode
aplikasi dapat lebih terorganisir dan mudah dikelola.
1.3 Hubungan Routing dan Controller
• Routing menentukan URL apa yang akan diakses oleh pengguna.
• Controller menangani logika dan mengembalikan respons untuk URL tersebut.
• Routing dan Controller bekerja sama untuk memisahkan logika bisnis dari
tampilan.
Dasar-Dasar Routing
2.1 Membuat Route Dasar
Route dasar dapat dibuat di le routes/[Link]. Contoh:
Route::get('/welcome', function () {
return 'Selamat Datang di Laravel!';
});
1

fi
• Route::get: Menangani permintaan HTTP GET.
• /welcome: URL yang akan diakses.
• function () { ... }: Closure yang mengembalikan respons.
2.2 Metode HTTP yang Didukung
Laravel mendukung berbagai metode HTTP, seperti:
• Route::get: Untuk permintaan GET.
• Route::post: Untuk permintaan POST.
• Route::put: Untuk permintaan PUT.
• Route::delete: Untuk permintaan DELETE.
2.3 Route dengan Parameter
Route dapat menerima parameter dinamis. Contoh:
Route::get('/user/{id}', function ($id) {
return "User ID: $id";
});
• {id}: Parameter dinamis.
• $id: Nilai parameter yang diterima.
Membuat dan Menggunakan Controller
3.1 Membuat Controller
Controller dapat dibuat menggunakan Artisan CLI:
php artisan make:controller UserController
File controller akan dibuat di app/Http/Controllers/[Link].
2

3.2 Metode Dasar dalam Controller
Contoh metode index dalam controller:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function index()
{
return 'Halaman User';
}
}
3.3 Mengarahkan Route ke Controller
Route dapat mengarah ke metode controller. Contoh:
use App\Http\Controllers\UserController;
Route::get('/user', [UserController::class, 'index']);
Routing dan Controller Lanjutan
4.1 Route dengan Parameter dan Controller
Contoh route dengan parameter yang mengarah ke controller:
Route::get('/user/{id}', [UserController::class, 'show']);
Metode show dalam controller:
public function show($id)
{
return "Detail User dengan ID: $id";
}
3

4.2 Route Grouping
Route grouping digunakan untuk mengelompokkan route yang memiliki pre x
atau middleware yang sama. Contoh:
Route::pre x('admin')->group(function () {
Route::get('/dashboard', function () {
return 'Halaman Admin Dashboard';
});
Route::get('/users', function () {
return 'Daftar Pengguna';
});
});
4.3 Resource Controller
Resource controller digunakan untuk membuat CRUD (Create, Read, Update,
Delete) secara otomatis. Contoh:
php artisan make:controller PostController --resource
Route untuk resource controller:
Route::resource('posts', PostController::class);
4

fi
fi
PRAKTIKUM
MEMBUAT PROJECT LARAVEL SECARA MANUAL:
1. buka vscode
2. pilih menu terminal > New Terminal
3. cd ~/Projects/Laravel
4. laravel new myapp atau composer create-project laravel/laravel hello
5. cd myapp
6. cp .[Link] .env
7. php artisan key:generate
8. php artisan serve
9. buka alamat web di [Link]
MEMBUAT WEB HELLO WORLD
1. buka vscode
2. buat project laravel:
composer create-project laravel/laravel hello
3. tambahkan kode dibawah ini di [Link] (app/routes/[Link])
<?php
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
//return view('welcome');
return "hello world";
});
4. di vscode buka terminal (terminal > New Terminal)
5. ketik perintah ini di terminal: php artisan serve
5. buka browser dan ketik di address bar: [Link]
MEMBUAT WEB HELLO WORLD DENGAN CONTROLLER:
1. buka vscode
2. buat project laravel
composer create-project laravel/laravel hello
3. buat le [Link] di folder
app/Http/Controllers/[Link]
5

fi
4. tulis perintah ini di [Link]
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HelloController extends Controller
{
public function index()
{
return "Hello World dari Controller!";
}
}
5. tulis perintah routing ke controller di le [Link] (routes/[Link])
use App\Http\Controllers\HelloController;
Route::get('/hello', [HelloController::class, 'index']);
4. di vscode buka terminal (terminal > New Terminal)
5. ketik perintah ini di terminal: php artisan serve
5. buka browser dan ketik di address bar: [Link]
6

fi