Pengenalan Bahasa Pemrograman php
Laravel adalah framework PHP open-source yang dirancang untuk memudahkan pengembangan aplikasi web dengan struktur kode yang bersih, elegan, dan terorganisir. Laravel dibangun mengikuti prinsip MVC (Model-View-Controller) yang memisahkan logika aplikasi dari tampilan, sehingga memudahkan dalam proses pengembangan dan pemeliharaan.
Laravel memiliki berbagai fitur bawaan yang sangat membantu developer seperti sistem routing, otentikasi, migrasi database, ORM (Eloquent), template engine (Blade), validasi, session, middleware, dan masih banyak lagi.
Kenapa Memilih Laravel?
- Struktur MVC: Memudahkan pengelolaan kode dan pemisahan logika.
- Routing yang mudah: Menentukan URL dan logika dengan sederhana.
- Eloquent ORM: Berinteraksi dengan database tanpa query SQL manual.
- Blade Template: Menyediakan template engine ringan dan powerful.
- Keamanan: Laravel memiliki fitur bawaan untuk menangkal XSS, CSRF, dan SQL Injection.
- Community & Dokumentasi: Komunitas besar dan dokumentasi lengkap.
Struktur Folder Laravel
Setelah menginstal Laravel, kamu akan melihat struktur folder seperti:
app/– Berisi logika aplikasi (controller, model, dll)resources/views– Tempat file tampilan (Blade)routes/web.php– Tempat mendefinisikan route aplikasipublic/– Akses utama ke aplikasi (index.php, asset, dll)config/– Pengaturan aplikasi
Contoh Routing Sederhana
Contoh file routes/web.php:
<?php
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('welcome');
});
?>
Contoh Blade Template
File resources/views/welcome.blade.php:
<!DOCTYPE html>
<html>
<head>
<title>Selamat Datang</title>
</head>
<body>
<h1>Halo, Laravel!</h1>
</body>
</html>
Kesimpulan
- Laravel adalah framework PHP modern yang memudahkan pengembangan aplikasi web.
- Memiliki fitur lengkap mulai dari routing, template, hingga manajemen database.
- Struktur folder Laravel sangat rapi dan mendukung pola MVC.
- Sangat cocok digunakan oleh pemula hingga profesional karena dokumentasi dan komunitas yang aktif.
Cara Jalankan Laravel 11
Setelah menginstal Laravel, langkah selanjutnya adalah menjalankan aplikasinya di browser. Laravel memiliki built-in server bernama Artisan yang sangat berguna untuk pengembangan lokal tanpa harus mengatur server manual seperti Apache atau Nginx. Menjalankan Laravel dapat dilakukan dengan berbagai cara tergantung pada sistem operasi dan lingkungan kerja yang kamu gunakan, seperti XAMPP, Laravel Sail, atau Laravel Valet. Dalam tutorial ini, kita akan fokus pada cara paling umum dan mudah, yaitu menggunakan **Artisan CLI (Command Line Interface)** melalui terminal atau command prompt.
1. Menjalankan Laravel dengan Artisan
Setelah masuk ke folder project Laravel kamu melalui terminal, jalankan perintah berikut untuk memulai server:
php artisan serve
Setelah dijalankan, kamu akan melihat output seperti ini:
Starting Laravel development server: http://127.0.0.1:8000
Buka browser kamu dan akses http://127.0.0.1:8000 untuk melihat tampilan awal Laravel.
2. Menentukan Port Sendiri
Jika kamu ingin menjalankan Laravel di port yang berbeda (misalnya 8080), kamu bisa menambahkan parameter --port seperti berikut:
php artisan serve --port=8080
Lalu buka http://localhost:8080 di browser.
3. Menjalankan Laravel di XAMPP (opsional)
Jika kamu menggunakan XAMPP, kamu juga bisa menjalankan Laravel secara manual melalui Apache. Caranya:
- Pindahkan folder project Laravel ke dalam
htdocs. - Jalankan Apache dan MySQL dari XAMPP Control Panel.
- Buka browser dan akses
http://localhost/namaproject/public.
Catatan: Jangan lupa mengatur .env dan konfigurasi base URL jika kamu tidak menggunakan Artisan Serve.
4. Cek Route dan View
Setelah server berjalan, kamu bisa mencoba mengubah route atau membuat view sendiri:
Contoh mengedit file routes/web.php:
Route::get('/halo', function () {
return 'Halo, ini Laravel!';
});
Akses di browser: http://127.0.0.1:8000/halo
5. Menampilkan View
Kamu juga bisa menampilkan halaman HTML dari folder resources/views. Buat file home.blade.php seperti ini:
<!DOCTYPE html>
<html>
<head>
<title>Halaman Home</title>
</head>
<body>
<h1>Selamat Datang di Laravel</h1>
</body>
</html>
Edit route-nya di web.php:
Route::get('/home', function () {
return view('home');
});
Cara Membuat Model
Dalam arsitektur Laravel, **Model** adalah bagian penting dari konsep MVC (Model-View-Controller). Model bertanggung jawab untuk berinteraksi dengan database, mewakili data dan logika bisnis aplikasi. Laravel menggunakan **Eloquent ORM** (Object Relational Mapper) yang memudahkan pengelolaan database menggunakan sintaks PHP yang bersih tanpa menulis query SQL secara manual.
Dengan model, kita dapat dengan mudah melakukan operasi CRUD (Create, Read, Update, Delete) terhadap tabel di database. Setiap model biasanya mewakili satu tabel, dan nama model mengikuti format singular (tunggal), sedangkan nama tabel bersifat plural (jamak).
1. Membuat Model dengan Artisan
Untuk membuat model, gunakan perintah Artisan berikut di terminal:
php artisan make:model NamaModel
Contoh membuat model Produk:
php artisan make:model Produk
Perintah ini akan membuat file app/Models/Produk.php secara otomatis. Model ini secara default akan mengacu ke tabel bernama produks (pakai huruf kecil dan jamak).
2. Isi Awal File Model
File model yang dibuat secara default akan berisi seperti berikut:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Produk extends Model
{
//
}
3. Menentukan Tabel Secara Manual (Opsional)
Jika nama tabel berbeda dari aturan default, kita bisa mendefinisikan nama tabel secara eksplisit seperti ini:
class Produk extends Model
{
protected $table = 'data_produk';
}
4. Mengatur Kolom yang Bisa Diisi (Mass Assignment)
Untuk keamanan, Laravel hanya memperbolehkan kolom yang ditentukan untuk diisi massal. Gunakan $fillable untuk mendefinisikan kolom yang diizinkan:
class Produk extends Model
{
protected $fillable = ['nama', 'harga', 'stok'];
}
5. Contoh Menggunakan Model
Setelah membuat model, kamu bisa menggunakannya di controller atau langsung di route untuk mengambil data dari database.
Contoh: Menampilkan semua data dari tabel produk
use App\Models\Produk;
Route::get('/produk', function () {
$data = Produk::all();
return view('produk.index', ['produk' => $data]);
});
Contoh: Menambahkan data baru ke database:
Produk::create([
'nama' => 'Laptop Asus',
'harga' => 8500000,
'stok' => 10
]);
Contoh: Mengupdate data berdasarkan ID:
$produk = Produk::find(1);
$produk->stok = 15;
$produk->save();
Contoh: Menghapus data berdasarkan ID:
Produk::destroy(1);
Cara Membuat Migrate
Migration adalah fitur di Laravel yang digunakan untuk mengelola struktur tabel di database menggunakan kode PHP. Dengan migration, kamu bisa membuat, mengubah, dan menghapus tabel atau kolom tanpa harus menulis SQL secara manual. Migration bekerja seperti sistem versioning untuk struktur database, memudahkan kolaborasi tim dan menjaga konsistensi antar lingkungan (development, staging, production).
Migration biasanya digunakan bersamaan dengan fitur Model dan Seeder di Laravel. Setiap kali kamu membuat migration, Laravel akan menghasilkan file PHP dengan fungsi-fungsi khusus yang bisa dijalankan dengan perintah artisan untuk membentuk atau memodifikasi tabel.
1. Membuat File Migration
Untuk membuat file migration, gunakan perintah berikut:
php artisan make:migration create_nama_tabel_table
Contoh membuat migration tabel produk:
php artisan make:migration create_produk_table
Perintah tersebut akan menghasilkan file di folder database/migrations dengan nama unik berdasarkan timestamp.
2. Menulis Struktur Tabel di Migration
Setelah membuat file migration, kamu bisa mengisi metode up() dengan struktur tabel yang diinginkan.
public function up()
{
Schema::create('produk', function (Blueprint $table) {
$table->id();
$table->string('nama');
$table->integer('stok');
$table->decimal('harga', 10, 2);
$table->timestamps();
});
}
3. Menjalankan Migration
Setelah menulis struktur tabel, jalankan migration menggunakan perintah:
php artisan migrate
Laravel akan membaca semua file migration dan menjalankan fungsi up() untuk membuat tabel baru di database sesuai definisi.
4. Membatalkan atau Rollback Migration
Jika terjadi kesalahan atau kamu ingin menghapus tabel dari migration, gunakan perintah rollback:
php artisan migrate:rollback
Perintah ini akan menjalankan fungsi down() yang isinya biasanya adalah Schema::dropIfExists('nama_tabel').
5. Menambahkan Kolom Baru
Jika kamu ingin menambah kolom ke tabel yang sudah ada, kamu bisa membuat migration baru:
php artisan make:migration add_kategori_to_produk_table
Isi file-nya seperti ini:
public function up()
{
Schema::table('produk', function (Blueprint $table) {
$table->string('kategori')->nullable();
});
}
Cara Menampilkan Data Dari Database
Untuk menampilkan data dari database di Laravel, kita biasanya menggunakan fitur Eloquent ORM (Object-Relational Mapping). Dengan Eloquent, kamu bisa mengakses data dari tabel secara mudah dan bersih menggunakan model. Prosesnya melibatkan beberapa langkah penting: membuat model, membuat controller, mengambil data dari database, dan mengirimkan data ke view untuk ditampilkan.
1. Buat Model dan Migration
Misalnya kita ingin menampilkan data dari tabel produk, kita perlu membuat model dan migrasinya:
php artisan make:model Produk -m
Lalu isi file migration-nya seperti ini:
Schema::create('produk', function (Blueprint $table) {
$table->id();
$table->string('nama');
$table->integer('stok');
$table->decimal('harga', 10, 2);
$table->timestamps();
});
Lalu jalankan migration-nya:
php artisan migrate
2. Isi Data ke Database (Opsional)
Kamu bisa menggunakan phpMyAdmin, Tinker, atau Seeder untuk menambahkan data. Contoh pakai Tinker:
php artisan tinker
>>> \App\Models\Produk::create([
'nama' => 'Laptop ASUS',
'stok' => 10,
'harga' => 7500000
]);
3. Buat Controller
Buat controller untuk mengambil data dari database dan mengirimkannya ke view:
php artisan make:controller ProdukController
Isi method index-nya:
public function index()
{
$data = \App\Models\Produk::all();
return view('produk.index', compact('data'));
}
4. Buat Route di web.php
Tambahkan route berikut:
Route::get('/produk', [ProdukController::class, 'index']);
5. Buat View untuk Menampilkan Data
Buat file di resources/views/produk/index.blade.php:
<h2>Daftar Produk</h2>
<table border="1" cellpadding="10">
<tr>
<th>Nama</th>
<th>Stok</th>
<th>Harga</th>
</tr>
@foreach ($data as $item)
<tr>
<td>{{ $item->nama }}</td>
<td>{{ $item->stok }}</td>
<td>Rp{{ number_format($item->harga, 0, ',', '.') }}</td>
@endforeach
</table>
Kesimpulan
- Gunakan model untuk berinteraksi dengan database secara otomatis di Laravel.
- Gunakan controller untuk mengambil data dan mengirimkan ke view.
- Gunakan view (Blade) untuk menampilkan data dalam format HTML.
- Laravel memudahkan proses pengambilan dan penampilan data hanya dengan beberapa langkah.
Insert Data ke Dalam Database
Laravel menyediakan cara yang sangat efisien dan aman untuk memasukkan (insert) data ke dalam database menggunakan Eloquent ORM. Prosesnya melibatkan penggunaan form untuk input data, controller untuk memproses request, dan model untuk menyimpan ke database.
1. Buat Model dan Migration
Misalnya kita ingin menambahkan data ke tabel produk, kita bisa buat model dan migration-nya:
php artisan make:model Produk -m
Lalu isi struktur migration-nya:
Schema::create('produk', function (Blueprint $table) {
$table->id();
$table->string('nama');
$table->integer('stok');
$table->decimal('harga', 10, 2);
$table->timestamps();
});
Setelah itu, jalankan migrasi:
php artisan migrate
2. Buat Form Input di Blade
Buat tampilan form untuk input data di resources/views/produk/create.blade.php:
<form action="/produk/store" method="POST">
@csrf
<label>Nama Produk</label><br>
<input type="text" name="nama" required><br><br>
<label>Stok</label><br>
<input type="number" name="stok" required><br><br>
<label>Harga</label><br>
<input type="text" name="harga" required><br><br>
<button type="submit">Simpan</button>
</form>
3. Buat Route di web.php
Tambahkan route untuk form dan proses penyimpanan data:
use App\Http\Controllers\ProdukController;
Route::get('/produk/create', [ProdukController::class, 'create']);
Route::post('/produk/store', [ProdukController::class, 'store']);
4. Buat Controller dan Method
Buat controller jika belum:
php artisan make:controller ProdukController
Isi method create dan store:
public function create()
{
return view('produk.create');
}
public function store(Request $request)
{
\App\Models\Produk::create([
'nama' => $request->nama,
'stok' => $request->stok,
'harga' => $request->harga,
]);
return redirect('/produk/create')->with('success', 'Data berhasil disimpan!');
}
5. Tambahkan fillable di Model
Agar field bisa diisi massal, tambahkan properti $fillable di model Produk.php:
protected $fillable = ['nama', 'stok', 'harga'];
Kesimpulan
- Gunakan form HTML untuk menginput data dari user.
- Gunakan method POST untuk mengirim data ke controller.
- Gunakan Eloquent ORM untuk menyimpan data ke database secara otomatis.
- Pastikan properti
$fillablediisi agar data bisa disimpan dengancreate(). - Laravel membuat proses insert data jadi mudah, aman, dan efisien.
Menampilkan Detail Data By ID
Dalam aplikasi web, kita sering kali perlu menampilkan data secara detail berdasarkan ID, seperti saat melihat informasi lengkap dari suatu produk, pengguna, artikel, dan sebagainya. Di Laravel, kita bisa dengan mudah melakukan ini menggunakan route parameter dan Eloquent ORM.
1. Pastikan Tabel dan Model Sudah Ada
Misalnya kita memiliki tabel produk dengan model Produk. Pastikan model dan migrasinya sudah dibuat dan datanya sudah ada di database.
2. Tambahkan Route Detail
Buka file routes/web.php dan tambahkan route untuk menampilkan detail berdasarkan ID:
use App\Http\Controllers\ProdukController;
Route::get('/produk/{id}', [ProdukController::class, 'detail']);
3. Buat Method detail di Controller
Tambahkan method baru di ProdukController untuk mengambil data berdasarkan ID dan menampilkannya ke view.
public function detail($id)
{
$produk = \App\Models\Produk::findOrFail($id);
return view('produk.detail', compact('produk'));
}
Fungsi findOrFail() akan secara otomatis menampilkan halaman 404 jika ID tidak ditemukan di database.
4. Buat View detail.blade.php
Sekarang buat tampilan detail di resources/views/produk/detail.blade.php untuk menampilkan data produk:
<h4>Detail Produk</h4>
<p><strong>Nama:</strong> {{ $produk->nama }}</p>
<p><strong>Stok:</strong> {{ $produk->stok }}</p>
<p><strong>Harga:</strong> Rp{{ number_format($produk->harga, 0, ',', '.') }}</p>
<a href="/produk" class="btn btn-secondary">Kembali</a>
Pastikan field seperti nama, stok, dan harga sesuai dengan kolom tabel pada database kamu.
5. Contoh Link ke Halaman Detail
Jika kamu menampilkan daftar produk, kamu bisa menambahkan link untuk menuju halaman detail seperti berikut:
@foreach ($produk as $item)
<tr>
<td>{{ $item->nama }}</td>
<td><a href="/produk/{{ $item->id }}" class="btn btn-sm btn-info">Lihat Detail</a></td>
</tr>
@endforeach
Kesimpulan
- Gunakan parameter ID pada route untuk menampilkan data spesifik.
- Manfaatkan
findOrFail()untuk penanganan otomatis jika data tidak ditemukan. - Gunakan
compact()atauwith()untuk mengirim data ke view. - Selalu tampilkan link kembali ke daftar utama.
Beri Dukungan untuk Update Materi Selanjutnya
Jika Anda merasa materi ini bermanfaat, bantu kami untuk terus mengembangkan konten pembelajaran yang berkualitas. Dukungan seikhlasnya dari Anda sangat berarti bagi kelangsungan proyek ini.
Donasi Sekarang