Selasa, 15 Oktober 2024

Laravel



Laravel adalah salah satu framework PHP yang paling populer dan digunakan untuk membangun aplikasi web. Framework ini mengikuti arsitektur MVC (Model-View-Controller), yang membantu pengembang memisahkan logika bisnis, tampilan, dan kontroler dalam proyek mereka. Laravel dikenal karena kemudahan penggunaannya, sintaks yang elegan, serta memiliki berbagai fitur bawaan untuk mempercepat pengembangan aplikasi.

1. Keunggulan Laravel

  • Routing yang Mudah: Laravel menawarkan cara sederhana untuk mengatur rute aplikasi.
  • ORM (Eloquent): Berfungsi untuk menghubungkan aplikasi dengan database secara mudah tanpa menulis query SQL secara manual.
  • Blade Template Engine: Memungkinkan pembuatan antarmuka (view) dengan sintaks yang bersih dan mudah dibaca.
  • Migration dan Seeding: Laravel memudahkan pengelolaan struktur database dan pengisian data awal.
  • Middleware: Menyediakan lapisan antara request dan aplikasi untuk mengatur hak akses atau memproses data.
  • Banyak Library Bawaan: Laravel memiliki berbagai library dan fitur siap pakai seperti autentikasi, email, dan enkripsi.

2. Arsitektur MVC di Laravel

  • Model: Berfungsi untuk berinteraksi dengan database, misalnya membaca dan menyimpan data.
  • View: Merupakan antarmuka pengguna yang akan ditampilkan di browser (HTML).
  • Controller: Menangani logika aplikasi dan menjembatani antara Model dan View.

3. Alur Kerja Laravel

  1. Client (browser) mengirim request ke server.
  2. Routing menangkap request dan mengarahkannya ke controller tertentu.
  3. Controller memproses data dari model dan mengembalikan view.
  4. View menampilkan data yang telah diproses dalam bentuk antarmuka pengguna.

4. Fitur Utama Laravel

  1. Eloquent ORM: Memudahkan manipulasi database dengan objek PHP.
  2. Artisan CLI: Command Line Interface untuk menjalankan perintah seperti membuat model, controller, atau migration.
  3. Middleware: Membantu mengontrol akses ke aplikasi.
  4. Queue & Jobs: Memproses tugas secara asynchronous (tidak langsung).
  5. Blade Template Engine: Memungkinkan penggunaan template dengan sintaks yang sederhana.

5. Contoh Code Sederhana di Laravel

Route (web.php)

Route::get('/', function () {
return view('welcome'); });

Controller

script untuk membuat controler:


php artisan make:controller Homecontroller


Edit isi controller itu seperti ini:

<?php

// app/Http/Controllers/HomeController.php
namespace App\Http\Controllers; use Illuminate\Http\Request; class HomeController extends Controller { public function index() { return view('home'); } }

View (resources/views/home.blade.php)

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Home Page</title> </head> <body> <h1>Selamat Datang di Laravel!</h1> </body> </html>

6. Cara Install Laravel

Pastikan Anda memiliki Composer terinstall di komputer Anda.

  1. Buka terminal, lalu jalankan perintah:

    composer create-project laravel/laravel nama-proyek
  2. Masuk ke folder proyek:

    cd nama-proyek
  3. Jalankan server lokal:

    php artisan serve
  4. Buka browser dan akses:

    http://localhost:8000

7. Kesimpulan

Laravel adalah framework yang kaya fitur dan cocok untuk berbagai jenis proyek, mulai dari aplikasi kecil hingga proyek skala besar. Dengan sintaks yang elegan dan ekosistem yang luas, Laravel memudahkan pengembang untuk membuat aplikasi dengan cepat dan efisien.


___________________________________________________________________________________

Bagaimana caranya sih membuat setup migrations untuk tabel ???


IKUTI SAJA LANGKAH-LANGKAH INI !!!


1. Setup Migration untuk Membuat Tabel

Di Laravel, kita menggunakan migration untuk membuat tabel database. Migration memungkinkan kita membuat, mengubah, dan menghapus tabel dengan cara terstruktur dan mudah dilacak.


Langkah-Langkah:

1.1. Buat Migration

Jalankan perintah berikut di terminal untuk membuat migration baru:


php artisan make:migration create_nama_tabel_table

Perintah di atas akan membuat file migration di folder database/migrations dengan nama file seperti ini:
2024_10_16_123456_create_nama_tabel_table.php


1.2. Struktur Migration

Buka file migration yang baru dibuat di folder database/migrations. Berikut contoh kode:


<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateNamaTabelTable extends Migration { /** * Jalankan migration (membuat tabel). */ public function up() { Schema::create('nama_tabel', function (Blueprint $table) { $table->id(); // Primary key (ID unik) $table->string('nama', 100); // Kolom string dengan panjang 100 karakter $table->text('deskripsi')->nullable(); // Kolom teks yang bisa kosong $table->integer('jumlah'); // Kolom angka $table->timestamps(); // Kolom created_at dan updated_at }); } /** * Kembalikan (hapus) tabel jika di-rollback. */ public function down() { Schema::dropIfExists('nama_tabel'); } }

Penjelasan Kode:

  • up(): Fungsi ini akan dijalankan ketika migration dijalankan. Di sini, kita mendefinisikan struktur tabel yang akan dibuat.
  • down(): Fungsi ini akan dijalankan jika migration di-rollback (dibatalkan). Biasanya digunakan untuk menghapus tabel.
  • Schema::create(): Digunakan untuk membuat tabel baru.
  • $table->id(): Membuat kolom primary key secara otomatis bernama id.
  • $table->string('nama', 100): Membuat kolom tipe string dengan batas panjang 100 karakter.
  • $table->text('deskripsi')->nullable(): Membuat kolom teks, dan nullable artinya kolom ini bisa kosong.
  • $table->integer('jumlah'): Membuat kolom bertipe integer (bilangan bulat).
  • $table->timestamps(): Membuat dua kolom otomatis: created_at dan updated_at.

1.3. Jalankan Migration

Setelah struktur tabel selesai, jalankan migration menggunakan perintah:

php artisan migrate

Perintah ini akan membaca seluruh file migration dan menjalankan fungsi up() di setiap file untuk membuat tabel di database.


2. Fungsi Migration dalam Laravel

  1. Versi Terkontrol: Migration memungkinkan kita melacak perubahan di tabel database dengan mudah. Setiap perubahan dapat di-rollback atau di-migrate kembali.
  2. Portabilitas: Dengan migration, database bisa disiapkan dengan perintah yang sama di lingkungan berbeda (development, staging, production).
  3. Otomatisasi: Tidak perlu membuat tabel secara manual di database, semua diotomatisasi melalui migration.
  4. Kolaborasi: Dalam tim, migration membantu menghindari konflik saat beberapa pengembang bekerja di proyek yang sama.

3. Rollback Migration (Jika Ada Kesalahan)

Jika Anda ingin menghapus tabel karena ada kesalahan, jalankan perintah berikut:

php artisan migrate:rollback

Perintah ini akan menjalankan fungsi down() dari migration terbaru dan menghapus tabel yang dibuat.


4. Cek Struktur Database

Anda dapat mengecek apakah tabel sudah berhasil dibuat dengan menggunakan phpMyAdmin atau DBMS lain seperti MySQL Workbench. Cari tabel dengan nama yang sudah didefinisikan (misalnya nama_tabel).


Itulah cara membuat setup migration


1. Setup Migration untuk Membuat Tabel

Di Laravel, kita menggunakan migration untuk membuat tabel database. Migration memungkinkan kita membuat, mengubah, dan menghapus tabel dengan cara terstruktur dan mudah dilacak.


Langkah-Langkah:

1.1. Buat Migration

Jalankan perintah berikut di terminal untuk membuat migration baru:


php artisan make:migration create_nama_tabel_table

Perintah di atas akan membuat file migration di folder database/migrations dengan nama file seperti ini:
2024_10_16_123456_create_nama_tabel_table.php


1.2. Struktur Migration

Buka file migration yang baru dibuat di folder database/migrations. Berikut contoh kode:


<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateNamaTabelTable extends Migration { /** * Jalankan migration (membuat tabel). */ public function up() { Schema::create('nama_tabel', function (Blueprint $table) { $table->id(); // Primary key (ID unik) $table->string('nama', 100); // Kolom string dengan panjang 100 karakter $table->text('deskripsi')->nullable(); // Kolom teks yang bisa kosong $table->integer('jumlah'); // Kolom angka $table->timestamps(); // Kolom created_at dan updated_at }); } /** * Kembalikan (hapus) tabel jika di-rollback. */ public function down() { Schema::dropIfExists('nama_tabel'); } }

Penjelasan Kode:

  • up(): Fungsi ini akan dijalankan ketika migration dijalankan. Di sini, kita mendefinisikan struktur tabel yang akan dibuat.
  • down(): Fungsi ini akan dijalankan jika migration di-rollback (dibatalkan). Biasanya digunakan untuk menghapus tabel.
  • Schema::create(): Digunakan untuk membuat tabel baru.
  • $table->id(): Membuat kolom primary key secara otomatis bernama id.
  • $table->string('nama', 100): Membuat kolom tipe string dengan batas panjang 100 karakter.
  • $table->text('deskripsi')->nullable(): Membuat kolom teks, dan nullable artinya kolom ini bisa kosong.
  • $table->integer('jumlah'): Membuat kolom bertipe integer (bilangan bulat).
  • $table->timestamps(): Membuat dua kolom otomatis: created_at dan updated_at.

1.3. Jalankan Migration

Setelah struktur tabel selesai, jalankan migration menggunakan perintah:


php artisan migrate

Perintah ini akan membaca seluruh file migration dan menjalankan fungsi up() di setiap file untuk membuat tabel di database.


2. Fungsi Migration dalam Laravel

  1. Versi Terkontrol: Migration memungkinkan kita melacak perubahan di tabel database dengan mudah. Setiap perubahan dapat di-rollback atau di-migrate kembali.
  2. Portabilitas: Dengan migration, database bisa disiapkan dengan perintah yang sama di lingkungan berbeda (development, staging, production).
  3. Otomatisasi: Tidak perlu membuat tabel secara manual di database, semua diotomatisasi melalui migration.
  4. Kolaborasi: Dalam tim, migration membantu menghindari konflik saat beberapa pengembang bekerja di proyek yang sama.

3. Rollback Migration (Jika Ada Kesalahan)

Jika Anda ingin menghapus tabel karena ada kesalahan, jalankan perintah berikut:


php artisan migrate:rollback

Perintah ini akan menjalankan fungsi down() dari migration terbaru dan menghapus tabel yang dibuat.


4. Cek Struktur Database

Anda dapat mengecek apakah tabel sudah berhasil dibuat dengan menggunakan phpMyAdmin atau DBMS lain seperti MySQL Workbench. Cari tabel dengan nama yang sudah didefinisikan (misalnya nama_tabel).


Itulah cara membuat tabel di database menggunakan migration di Laravel. Dengan ini, Anda dapat membuat dan mengelola struktur database dengan mudah dan terstruktur.


Model dan Controller


Setelah membuat migrasi kita juga perlu membuat model,controller, dan view


1. Membuat Model di Laravel

Model digunakan untuk berinteraksi dengan tabel database dan menangani logika bisnis yang berkaitan dengan data.

1.1. Buat Model

Gunakan perintah berikut untuk membuat model:

php artisan make:model NamaTabel --migration

Perintah di atas akan membuat:

  • Model di folder app/Models/NamaTabel.php.
  • Migration (jika belum ada) untuk tabel terkait.

1.2. Struktur Model

Berikut contoh kode untuk model:


<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class NamaTabel extends Model { use HasFactory; // Tentukan nama tabel (opsional jika sesuai dengan konvensi) protected $table = 'nama_tabel'; // Kolom yang boleh diisi (mass assignable) protected $fillable = [ 'nama', 'deskripsi', 'jumlah', ]; }

Penjelasan Kode Model:

  1. $table: Jika nama model tidak sama dengan tabel, kita tentukan nama tabel secara manual.
  2. $fillable: Ini adalah kolom-kolom yang bisa diisi secara massal menggunakan mass assignment (misalnya melalui create() atau update()).

2. Membuat Controller di Laravel

Controller digunakan untuk menangani permintaan HTTP (GET, POST, dll.) dan memanggil logika bisnis di model.

2.1. Buat Controller

Jalankan perintah berikut untuk membuat controller:


php artisan make:controller NamaTabelController --resource

Perintah ini akan membuat controller di app/Http/Controllers/NamaTabelController.php. Opsi --resource akan membuat metode CRUD dasar secara otomatis.


2.2. Struktur Controller

Berikut contoh kode untuk NamaTabelController:


<?php namespace App\Http\Controllers; use App\Models\NamaTabel; use Illuminate\Http\Request; class NamaTabelController extends Controller { // Menampilkan semua data public function index() { $data = NamaTabel::all(); return view('nama_tabel.index', compact('data')); } // Menampilkan form untuk membuat data baru public function create() { return view('nama_tabel.create'); } // Menyimpan data baru public function store(Request $request) { $validatedData = $request->validate([ 'nama' => 'required|string|max:100', 'deskripsi' => 'nullable|string', 'jumlah' => 'required|integer', ]); NamaTabel::create($validatedData); return redirect()->route('nama_tabel.index')->with('success', 'Data berhasil disimpan!'); } // Menampilkan detail data berdasarkan ID public function show($id) { $data = NamaTabel::findOrFail($id); return view('nama_tabel.show', compact('data')); } // Menampilkan form edit data public function edit($id) { $data = NamaTabel::findOrFail($id); return view('nama_tabel.edit', compact('data')); } // Mengupdate data yang sudah ada public function update(Request $request, $id) { $validatedData = $request->validate([ 'nama' => 'required|string|max:100', 'deskripsi' => 'nullable|string', 'jumlah' => 'required|integer', ]); NamaTabel::where('id', $id)->update($validatedData); return redirect()->route('nama_tabel.index')->with('success', 'Data berhasil diupdate!'); } // Menghapus data berdasarkan ID public function destroy($id) { NamaTabel::destroy($id); return redirect()->route('nama_tabel.index')->with('success', 'Data berhasil dihapus!'); } }

Penjelasan Kode Controller:

  1. index(): Menampilkan semua data dari tabel.
  2. create(): Menampilkan form untuk membuat data baru.
  3. store(): Menyimpan data baru ke database.
  4. show(): Menampilkan detail data berdasarkan ID.
  5. edit(): Menampilkan form untuk mengedit data.
  6. update(): Memperbarui data di database.
  7. destroy(): Menghapus data berdasarkan ID.

3. Membuat Route

Daftarkan route untuk controller di routes/web.php agar bisa diakses melalui URL.


use App\Http\Controllers\NamaTabelController; Route::resource('nama_tabel', NamaTabelController::class);

Route di atas akan membuat CRUD route otomatis untuk controller.


4. Membuat Views

Buat beberapa file Blade di folder resources/views/nama_tabel untuk menampilkan data.

4.1. index.blade.php – Menampilkan Semua Data


@extends('layouts.app') @section('content') <h1>Data Nama Tabel</h1> <a href="{{ route('nama_tabel.create') }}">Tambah Data</a> <table border="1"> <thead> <tr> <th>ID</th> <th>Nama</th> <th>Deskripsi</th> <th>Jumlah</th> <th>Aksi</th> </tr> </thead> <tbody> @foreach($data as $item) <tr> <td>{{ $item->id }}</td> <td>{{ $item->nama }}</td> <td>{{ $item->deskripsi }}</td> <td>{{ $item->jumlah }}</td> <td> <a href="{{ route('nama_tabel.show', $item->id) }}">Lihat</a> <a href="{{ route('nama_tabel.edit', $item->id) }}">Edit</a> <form action="{{ route('nama_tabel.destroy', $item->id) }}" method="POST" style="display:inline;"> @csrf @method('DELETE') <button type="submit">Hapus</button> </form> </td> </tr> @endforeach </tbody> </table> @endsection

4.2. Menjalankan Aplikasi

Setelah semuanya siap, jalankan server Laravel:

php artisan serve

Akses halaman CRUD melalui browser di URL:
http://127.0.0.1:8000/nama_tabel


5. Penutup

Dengan tutorial ini, Anda telah belajar cara:

  1. Membuat tabel database menggunakan migration.
  2. Membuat model untuk berinteraksi dengan tabel.
  3. Membuat controller untuk menangani CRUD.
  4. Mendaftarkan route dan menampilkan data dengan Blade.

Ini adalah dasar dari CRUD di Laravel. Anda bisa mengembangkan lebih lanjut dengan validasi, notifikasi, dan desain yang lebih baik menggunakan Bootstrap atau framework CSS lainnya.

0 Comments:

Posting Komentar

Contact Us

Email :

gianekternal@gmail.com

Address :

Kalimantan utara, Tarakan