java php laravel linux mysql sql bootstrap html css query java php laravel linux mysql sql bootstrap html css query

Wednesday, January 14, 2026

middleware request laravel

Cara Membuat Middleware Berbasis Request di Laravel

Dalam pengembangan aplikasi Laravel skala besar seperti Sistem Informasi Kampus dan yang lainnya, keamanan dan kontrol akses tidak boleh hanya bergantung pada tampilan (UI). Kita membutuhkan lapisan pengamanan di sisi server yang mampu memeriksa setiap permintaan (request) sebelum diproses oleh controller.


Laravel menyediakan fitur yang sangat powerful untuk hal ini, yaitu Middleware.

Artikel ini akan membahas secara lengkap dan SEO-oriented:

  • Apa itu middleware di Laravel

  • Mengapa middleware berbasis Request sangat penting

  • Cara membuat middleware sendiri

  • Cara membaca data dari Request di middleware

  • Contoh implementasi nyata untuk sistem akademik

  • Best practice keamanan

1. Apa Itu Middleware di Laravel?

Middleware adalah lapisan penyaring (filter) yang dijalankan sebelum atau sesudah request diproses oleh controller.

Secara sederhana:

Middleware adalah “satpam” yang memeriksa setiap request yang masuk.

Contoh middleware bawaan Laravel:

  • auth → memastikan user sudah login

  • verified → memastikan email sudah diverifikasi

  • throttle → membatasi jumlah request

Di sistem akademik:

  • Kita butuh middleware untuk memeriksa apakah:

    • User adalah dosen atau prodi

    • Tahun akademik masih aktif

    • User berhak input nilai

    • Request berasal dari modul yang benar

Semua itu bisa dilakukan menggunakan middleware berbasis Request.

2. Mengapa Middleware Berbasis Request Itu Penting?

Karena request membawa informasi penting seperti:

  • URL

  • Route

  • Method

  • User yang login

  • Session

  • Parameter

Dengan membaca Request di middleware, kita bisa membuat aturan seperti:

  • “Jika request ke /sido/nilai, maka hanya dosen koordinator yang boleh”

  • “Jika tahun akademik tidak aktif, blok semua input nilai”

  • “Jika user bukan prodi, jangan izinkan akses /inputs

Tanpa middleware:

User bisa mencoba mengakses URL secara manual dan menembus sistem.

3. Membuat Middleware Baru

Jalankan perintah:

php artisan make:middleware CheckTahunAkademikAktif

Laravel akan membuat file:

app/Http/Middleware/CheckTahunAkademikAktif.php

4. Struktur Dasar Middleware

Buka file tersebut:

<?php

namespace App\Http\Middleware;

use Closure;

class CheckTahunAkademikAktif
{
    public function handle($request, Closure $next)
    {
        return $next($request);
    }
}

Method handle() menerima:

  • $request → object Request

  • $next → melanjutkan ke controller jika lolos

5. Membaca Data Request di Middleware

Kita bisa membaca berbagai informasi:

$request->path();
$request->method();
$request->segment(1);
$request->route()->getName();
$request->user();

Contoh:

$module = $request->segment(1); // sido, inputs, akademik
$routeName = $request->route()->getName();
$user = $request->user();

6. Contoh Middleware: Cek Tahun Akademik Aktif

Misalnya di SIMPOL, dosen hanya boleh input nilai pada tahun akademik aktif.

use App\Utils\SaifiUtil;

public function handle($request, Closure $next)
{
    if($request->segment(1) == 'sido'){
        if($request->input('tahun_akademik_id') != SaifiUtil::getTahunAkademikAktifID()){
            abort(403,'Tahun akademik tidak aktif');
        }
    }

    return $next($request);
}

Ini berarti:

  • Hanya request dari /sido yang dicek

  • Prodi tidak terkena aturan ini

7. Contoh Middleware: Memisahkan Dosen dan Prodi

Buat middleware:

php artisan make:middleware CheckSidoAccess

Isi:

public function handle($request, Closure $next)
{
    if($request->segment(1) == 'sido'){
        if(!$request->user()->can('input-nilai')){
            abort(403,'Anda bukan dosen koordinator');
        }
    }

    return $next($request);
}

8. Mendaftarkan Middleware

Di app/Http/Kernel.php

Tambahkan:

protected $routeMiddleware = [
    'check.sido' => \App\Http\Middleware\CheckSidoAccess::class,
    'check.tahun' => \App\Http\Middleware\CheckTahunAkademikAktif::class,
];

9. Menggunakan Middleware di Route

Route::middleware(['auth','check.sido','check.tahun'])->group(function(){
    Route::post('/sido/nilai','InputController@store');
});

Artinya:

  1. Harus login

  2. Harus dosen koordinator

  3. Harus tahun akademik aktif

Baru boleh simpan nilai.

10. Kenapa Ini Lebih Aman daripada Cek di Controller?

Karena middleware dijalankan sebelum controller dipanggil.

Jika ditolak:

  • Controller tidak dieksekusi

  • Database tidak disentuh

  • Lebih aman

11. Praktik Enterprise di Sistem Akademik

Di sistem kampus profesional:

  • Semua akses dosen dikunci di middleware

  • Semua akses prodi dikunci di middleware

  • Semua tahun akademik dikontrol di middleware

Controller hanya fokus pada:

bisnis logic, bukan keamanan

12. Kesimpulan

Middleware berbasis Request adalah:

  • Tulang punggung keamanan Laravel

  • Kunci arsitektur sistem akademik

  • Fondasi aplikasi enterprise

Dengan middleware, kamu bisa:

  • Memisahkan dosen dan prodi

  • Mengunci tahun akademik

  • Mengontrol modul

  • Mencegah manipulasi URL

Jika kamu membangun sistem informasi, maka middleware berbasis Request bukan opsi — tapi kewajiban.

metada object request laravel

Menampilkan dan Memahami Semua Data yang Dibawa oleh Object Request di Laravel

Dalam pengembangan aplikasi berbasis Laravel, khususnya sistem besar seperti Sistem Informasi Akademik, hampir semua proses penting bergantung pada data yang dikirim dari user ke server. Data itu dibungkus dan dikelola oleh satu objek inti bernama Request.

Sayangnya, banyak developer hanya menggunakan $request->input('field') tanpa benar-benar memahami apa saja yang sebenarnya dibawa oleh objek Request.

Padahal, Request di Laravel menyimpan:

Artikel ini akan membahas secara lengkap dan praktis bagaimana:

  1. Melihat isi object Request

  2. Jenis data yang dikandung Request

  3. Cara menampilkannya

  4. Contoh penggunaannya di Laravel (khususnya Laravel 6–10)

Apa itu Object Request di Laravel?

Request adalah representasi dari permintaan HTTP yang dikirim dari browser atau client ke aplikasi Laravel.

Contohnya:

  • Ketika user klik tombol "Simpan"

  • Ketika dosen input nilai

  • Ketika admin login

  • Ketika prodi submit sebaran MK

Semua data itu dikirim sebagai HTTP Request, dan Laravel membungkusnya dalam object:

Illuminate\Http\Request

Biasanya kita akses lewat:

public function store(Request $request)

atau:

request()

Cara Melihat Seluruh Isi Object Request

Cara paling cepat dan paling sering dipakai developer profesional adalah:

dd($request->all());

atau

dd(request()->all());

Ini akan menampilkan semua data input dari form, query string, dan body request.

Contoh hasil:

array:5 [
  "nim" => "202301001"
  "nama" => "Ahmad"
  "nilai" => "85"
  "_token" => "eyJpdiI6..."
  "semester" => "5"
]

Menampilkan Data Request yang Lebih Lengkap

Kalau kamu ingin melihat bukan hanya input, tapi juga metadata request, gunakan:

dd(request());

Ini akan menampilkan object raksasa berisi:

  • Path

  • Method

  • Header

  • Session

  • Cookies

  • Route

  • Files

  • IP

Data URL & Routing

Laravel menyimpan banyak informasi tentang URL dan routing di dalam Request.

Menampilkan URL lengkap

request()->url();

Menampilkan path

request()->path();

Contoh:

sido/nilai

Menampilkan segmen URL

request()->segment(1);
request()->segment(2);

Contoh URL:

/sido/nilai/123

Maka:

segment(1) = sido
segment(2) = nilai
segment(3) = 123

Ini sangat berguna untuk:

  • Membedakan modul SIDO dan Prodi

  • Membedakan halaman publik dan admin

Data HTTP Method

Laravel menyimpan metode request:

request()->method();   // GET, POST, PUT, DELETE
request()->isMethod('post');

Ini sering dipakai untuk:

  • Form submit

  • API

  • Validasi

Data Input

Laravel menyediakan banyak cara membaca input:

$request->input('nim');
$request->get('nim');
$request->nim;

Untuk semua data:

$request->all();
$request->only(['nim','nama']);
$request->except('_token');

Data File Upload

Jika user upload file:

$request->file('foto');
$request->hasFile('foto');

Detail file:

$file = $request->file('foto');
$file->getClientOriginalName();
$file->getSize();
$file->getMimeType();

Data Session di Request

Laravel otomatis membawa session:

request()->session()->all();
session('tahunAkademik');
session('prodiId');

Ini sangat penting di sistem akademik.

Data User yang Login

Request juga membawa user:

request()->user();
auth()->user();

Kita bisa membaca:

  • id

  • role

  • permission

  • dosen_id

Data Route


request()->route()->getName();
request()->route()->uri();

Contoh:

dosen.simpanNilai
akademik.simpanNilai

Ini bisa dipakai untuk:

  • Membedakan input dosen vs prodi

  • Redirect otomatis

  • Security

Data Header & IP

request()->header('User-Agent');
request()->ip();
request()->server();

Berguna untuk:

  • Audit

  • Log keamanan

  • Monitoring

Contoh Kasus Nyata

Misalnya kamu ingin tahu apakah request datang dari dosen atau akademik:

$isDosen = request()->route()->getName() == 'dosen.simpanNilai';

Atau:

$isSido = request()->segment(1) == 'sido';

Debug Request secara Profesional

Developer Laravel profesional sering pakai:

dd([
    'url' => request()->url(),
    'path' => request()->path(),
    'method' => request()->method(),
    'route' => request()->route()->getName(),
    'user' => auth()->user(),
    'data' => request()->all(),
]);

Ini adalah alat debug paling ampuh di Laravel.

Kesimpulan

Object Request di Laravel bukan sekadar wadah input form.
Ia adalah jantung komunikasi antara user dan aplikasi.

Di dalamnya terdapat:

  • Data form

  • URL

  • Route

  • Method

  • User

  • Session

  • Files

  • Header

  • IP

Jika kamu menguasai Request, maka kamu menguasai:

  • Keamanan

  • Validasi

  • Workflow

  • Akses kontrol

  • Arsitektur aplikasi

Dalam sistem informasi, pemahaman ini adalah wajib.


Saturday, December 27, 2025

membut blog blogger

Cara Membuat Blog di Blogspot (Blogger)

Pendahuluan

Blog merupakan salah satu media terbaik untuk berbagi informasi, membangun personal branding, hingga menghasilkan uang secara online. Salah satu platform blog yang paling populer dan gratis adalah Blogspot atau Blogger, layanan blogging milik Google.

Dengan Blogger, siapa pun bisa membuat blog dengan mudah tanpa perlu menguasai coding atau membeli hosting. Artikel ini akan membahas cara membuat blog di Blogspot secara lengkap, langkah demi langkah, dan ramah SEO, sehingga blog siap berkembang dan mudah ditemukan di Google.

Apa Itu Blogspot / Blogger?

Blogger (Blogspot) adalah platform blogging gratis yang disediakan oleh Google. Blog yang dibuat di Blogger akan menggunakan domain blogspot.com, namun juga bisa dihubungkan dengan domain sendiri (.com, .id, dll).

Kelebihan Blogger:

  • Gratis tanpa batas waktu

  • Terintegrasi dengan Google (Adsense, Analytics, Search Console)

  • Mudah digunakan oleh pemula

  • Hosting stabil dan aman

  • Cocok untuk blog pribadi, edukasi, hingga monetisasi

Persiapan Sebelum Membuat Blog

Sebelum mulai, pastikan Anda sudah menyiapkan:

  1. Akun Google (Gmail)

  2. Nama blog (judul)

  3. Alamat blog (URL)

  4. Topik atau niche blog

Tips SEO: Pilih nama blog dan niche yang fokus dan konsisten, misalnya teknologi, pendidikan, kesehatan, atau tutorial.

Langkah-Langkah Membuat Blog di Blogspot

1. Login ke Blogger

  1. Buka website https://www.blogger.com

  2. Login menggunakan akun Google

  3. Klik tombol “Buat Blog”

2. Tentukan Nama dan Alamat Blog

  • Judul Blog: Nama yang mencerminkan isi blog

  • Alamat Blog: URL blog (contoh: belajarkoding123.blogspot.com)

Gunakan kata kunci relevan agar lebih SEO friendly.

3. Pilih Tema Blog

Blogger menyediakan beberapa tema bawaan yang bisa diubah kapan saja.

  • Pilih tema yang simple, responsif, dan ringan

  • Klik “Buat Blog”

Blog Anda sekarang sudah aktif 🎉

Mengenal Dashboard Blogger

Setelah blog berhasil dibuat, Anda akan masuk ke dashboard Blogger yang berisi:

  • Postingan: Menulis artikel

  • Statistik: Melihat pengunjung

  • Komentar: Mengelola komentar

  • Tema: Mengatur tampilan blog

  • Setelan: Pengaturan SEO dan teknis



Cara Membuat Artikel Pertama di Blogger

1. Klik Menu “Postingan”

  • Pilih “Postingan Baru”

  • Tulis judul artikel yang menarik dan mengandung kata kunci

2. Tulis Konten Berkualitas

Struktur artikel yang baik:

  • Judul (H1)

  • Subjudul (H2, H3)

  • Paragraf singkat dan jelas

  • Gunakan bullet atau numbering

3. Atur Label

Tambahkan label/kategori agar artikel mudah dikelompokkan.

Video Membuat Blog

Setting Dasar SEO di Blogger (Wajib!)

1. Aktifkan Meta Description

Masuk ke:
Setelan → Preferensi Penelusuran

  • Aktifkan Deskripsi

  • Isi deskripsi blog (maksimal 150–160 karakter)

2. Optimasi URL Artikel

  • Gunakan URL pendek dan mengandung kata kunci

  • Hindari angka dan simbol tidak perlu

Contoh:

cara-membuat-blog-di-blogspot

3. Gunakan Heading dengan Benar

  • Judul artikel → Heading H1

  • Subjudul → H2 / H3

  • Jangan asal menggunakan heading

4. Pasang Google Search Console

  • Verifikasi blog ke Google Search Console

  • Kirim sitemap:

/sitemap.xml

Ini penting agar artikel cepat terindeks Google.

Tips Agar Blog Blogspot Cepat Berkembang

✅ Konsisten update artikel
✅ Fokus pada satu niche
✅ Gunakan gambar original dan ringan
✅ Gunakan template responsive
✅ Promosikan ke media sosial
✅ Pelajari dasar SEO On Page

Apakah Blogspot Bisa Menghasilkan Uang?

Jawabannya: BISA 💰

Beberapa cara monetisasi Blogspot:

  • Google Adsense

  • Affiliate marketing

  • Jual produk digital

  • Jasa penulisan atau konsultasi

Blogger sangat cocok untuk pemula yang ingin belajar blogging sekaligus monetisasi.

Penutup

Membuat blog menggunakan Blogspot/Blogger dari Google sangat mudah, gratis, dan cocok untuk pemula. Dengan pengaturan SEO yang tepat dan konsistensi dalam menulis konten berkualitas, blog Anda berpotensi muncul di halaman pertama Google.

Semoga panduan ini membantu Anda memulai perjalanan blogging dengan lebih percaya diri 🚀

saifiahmada.com adalah blog belajar programming Indonesia, membahas lengkap materi bahasa pemrograman: code HTML, CSS, Bootstrap, Desain, PHP, MySQL, coding Java, Query, SQL, dan dunia linux