Ilmu Coding Ilmucoding.com - Merupakan situs yang membantu Anda belajar coding lebih mudah, nyaman, interaktif dan profesional. Belajar sekarang di ilmu coding. GRATIS

Tutorial Laravel #4 – Membuat Fitur CRUD dengan SQLite

2 min read

Membuat-Fitur-CRUD-dengan-Laravel-dan-SQLite

Ilmucoding.com – Pada kesempatan ini kami akan sharing membuat fitur Create Read Update Delete atau yang biasa disingkat CRUD menggunakan framework Laravel dan SQLite.

SQLite merupakan fitur yang disediakan untuk memanipulasi basis data yang bersifat local. Tidak seperti mysql pada umumnya yang bisa diakses melalui server, SQLite hanya bisa diakses oleh perangkat itu sendiri.

Manfaat Menggunakan SQLite

  • Jika Anda adalah seorang web developer yang ingin membuat demo project dan upload ke heroku, Anda tidak perlu membayar biaya server basis data karena SQLite menyimpan data secara local saja.
  • Fitur ini gratis dan bisa digunakan kapan saja.
  • Bisa digunakan untuk membuat project yang bersifat local.
  • Dan masih banyak lagi manfaat yang lainnya.

Mari kita mulai saja ngodingnya.

Step #1 – Instalasi Software

Kami asumsikan Anda sudah menginstal XAMPP dan composer, jika belum menginstall composer, klik di sini.

Jika sudah menginstall keduanya, buka terminal / CMD lalu ketik ini untuk menginstall laravel:

composer create-project --prefer-dist laravel/laravel larasqlite

Step #2 – Setting SQLite di .env

Berbeda dengan setting mysql server, untuk SQLite cukup buka file .env lalu ubah baris:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=homestead
DB_PASSWORD=homestead

Menjadi:

DB_CONNECTION=sqlite
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database/database.sqlite
DB_USERNAME=root
DB_PASSWORD=

Lalu, buat file bernama database.sqlite di dalam direktori folder database.

Step #3 – Setting Database.php

Buka database.php di dalam direktori config/database.php, pada bagian connections, ubah code ‘database’ menjadi seperti ini:

'sqlite' => [
        'driver' => 'sqlite',
        'url' => env('DATABASE_URL'),
        'database' => database_path('database.sqlite'),
        'prefix' => '',
        'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
    ],

Step #4 – Membuat Table dan Migration

Masuk ke direktori project, lalu pada CMD atau terminal ketik:

php artisan make:model Data --migration

Lalu buka hasil migration di dalam folder database/migrations dan tambahkan sript di bawah ini pada migration data:

public function up()
{
    Schema::create('data', function (Blueprint $table) {
        $table->increments('id');
        $table->string('title');
        $table->text('description');
        $table->enum('status', ['Active', 'Inactive']);
        $table->timestamps();
    });
}

Setelah itu, jangan lupa migrate ya.

php artisan migrate

Jika berhasil, maka Anda bisa langsung ke tahap berikutnya.

Step #5 – Membuat Controller Data

Masih pada terminal atau CMD yang sama, ketik perintah:

php artisan make:controller DataController

Lalu, masukan kode ini di dalam DataController.php yang ada di direktori app/Http/Controllers/DataController.php:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Data;

class DataController extends Controller
{
    public function index()
    {
        $per_page = 5;
        $data = Data::paginate($per_page);
        return view('data.index', compact('data', 'per_page'));
    }

    public function create()
    {
        return view('data.create');
    }

    public function store(Request $request)
    {
        $data = new Data;
        $data->title = $request->title;
        $data->description = $request->description;
        $data->status = $request->status;
        $simpan = $data->save();
        if($simpan){
            return redirect(url('data'))->with('success', 'Sukses menyimpan data.');
        }
    }

    public function show($id)
    {
        $data = Data::where('id', $id)->first();
        return view('data.show', compact('data'));
    }

    public function edit($id)
    {
        $data = Data::where('id', $id)->first();
        return view('data.edit', compact('data'));
    }

    public function update(Request $request, $id)
    {
        $data = Data::where('id', $id)->first();
        $data->title = $request->title;
        $data->description = $request->description;
        $data->status = $request->status;
        $ubah = $data->save();
        if($ubah){
            return redirect(url('data'))->with('info', 'Sukses mengubah data.');
        }
    }

    public function destroy($id)
    {
        $data = Data::where('id', $id)->first();
        $hapus = $data->delete();
        if($hapus){
            return redirect(url('data'))->with('warning', 'Sukses menghapus data.');
        }
    }
}

Step #6 – Membuat Module View untuk CRUD Data

Langkah #1 – Buat folder bernama data di dalam resource/views.

Langkah #2 – Buat file index.php di dalam folder data. Berikut scriptnya:

Langkah #3 – Buat file edit.php di dalam folder data. Berikut scriptnya:

Langkah #4 – Buat file create.php di dalam folder data. Berikut scriptnya:

Step #7 – Membuat Route

Silahkan buka web.php di dalam direktori routes/web.php, lalu tambahkan kode berikut:

Route::get('/', 'DataController@index');
Route::get('/data', 'DataController@index');
Route::get('/data/create', 'DataController@create');
Route::post('/data/store', 'DataController@store');
Route::get('/data/show/{id}', 'DataController@show');
Route::get('/data/edit/{id}', 'DataController@edit');
Route::post('/data/update/{id}', 'DataController@update');
Route::get('/data/delete/{id}', 'DataController@destroy');

Step #8 – Testing Project

Ketik php artisan serve pada CMD atau terminal, lalu ketik 127.0.0.1:8000 di browser.

Kesimpulan

Menggunakan SQLite adalah cara simple buat para programmer yang ingin membuat demo project tanpa harus keluar biaya menyewa server mysql, cara sederhana untuk belajar framework laravel dan masih banyak keuntungan lainnya.

Kami harap tutorial kali ini akan membantu Anda mengembangkan ilmu framework laravel. Aamiin.

Sampai jumpa lagi di tutorial selanjutnya …

Ilmu Coding Ilmucoding.com - Merupakan situs yang membantu Anda belajar coding lebih mudah, nyaman, interaktif dan profesional. Belajar sekarang di ilmu coding. GRATIS

Leave a Reply

Your email address will not be published. Required fields are marked *

Jika terbantu dengan artikel ini, silahkan share, beri komentar dan "klik" 1 kali pada iklan ya.