Tugas 9 PBKK - CRUD Dalam Codeigniter

 

Oleh:
Nama: Joseph Eric Amadeo S.
NRP: 05111840000077
Kelas: PBKK C


Tugas 9 - Membuat Website CRUD dengan Codeigniter


Pada tugas kali ini saya membuat website menggunakan codeigniter 4. Code Editor yang saya gunakan adalah Visual Studio Code, dan saya host web secara local menggunakan XAMPP.

Semua code dibawah dapar dilihat di github saya:Link Repository
Langkah pertama pembuatan website:

1. Download dan install XAMPP di komputer anda
2. Install codeigniter pada folder htdocs di folder xampp, untuk cara lengkapnya, dapat dilihat disini: Install Codeigniter 4
3. Pada folder project yang dibuat, buka file app/config/Routes.php. Tambahkan codes berikut: 
$routes->get('/''Home::index');
$routes->group('admin'function($routes){
    $routes->get('mahasiswa''mhs::index');
    $routes->get('mahasiswa/(:segment)/preview''mhs::preview/$1');
    $routes->add('mahasiswa/new''mhs::create');
    $routes->add('mahasiswa/(:segment)/edit''mhs::edit/$1');
    $routes->get('mahasiswa/(:segment)/delete''mhs::delete/$1');

4. Pada app/Models tambahkan model baru, misal MhsModel.php dengan codes dibawah:
<?php

namespace App\Models;

use CodeIgniter\Model;

class MhsModel extends Model
{
    protected $table      = 'mahasiswa';
    protected $primaryKey = 'NRP';

    protected $useAutoIncrement = false;
    protected $allowedFields = ['NRP''Nama''Alamat''NoHP''Jurusan'];
}

5.Buat controller baru pada app/Controllers, misal Mhs.php dengan codes dibawah:
<?php namespace App\Controllers;

use \App\Models\MhsModel;
use CodeIgniter\Exceptions\PageNotFoundException;

class Mhs extends BaseController
{
    public function index()
    {
        $news = new MhsModel();
        $data['newses'] = $news->findAll();
        echo view('admin_list'$data);
    }

    //--------------------------------------------------------------------------
    

    //--------------------------------------------------------------------------
    
    public function create()
    {
        // lakukan validasi
        $validation =  \Config\Services::validation();
        $validation->setRules(['NRP' => 'required']);
        $isDataValid = $validation->withRequest($this->request)->run();

        // jika data valid, simpan ke database
        if($isDataValid){
            $news = new MhsModel();
            $news->insert([
                "NRP" => $this->request->getPost('NRP'),
                "Nama" => $this->request->getPost('Nama'),
                "Alamat" => $this->request->getPost('Alamat'),
                "NoHP" => $this->request->getPost('NoHP'),
                "Jurusan" => $this->request->getPost('Jurusan'),
            ]);
            return redirect('admin/mahasiswa');
        }
        
        // tampilkan form create
        echo view('admin_create');
    }

    //--------------------------------------------------------------------------

    public function edit($id)
    {
        // ambil artikel yang akan diedit
        $news = new MhsModel();
        $data['news'] = $news->where('NRP'$id)->first();
        
        // lakukan validasi data artikel
        $validation =  \Config\Services::validation();
        $validation->setRules([
            'NRP' => 'required',
            'Nama' => 'required'
        ]);
        $isDataValid = $validation->withRequest($this->request)->run();
        // jika data vlid, maka simpan ke database
        if($isDataValid){
            $news->update($id, [
                "NRP" => $this->request->getPost('NRP'),
                "Nama" => $this->request->getPost('Nama'),
                "Alamat" => $this->request->getPost('Alamat'),
                "NoHP" => $this->request->getPost('NoHP'),
                "Jurusan" => $this->request->getPost('Jurusan'),
            ]);
            return redirect('admin/mahasiswa');
        }

        // tampilkan form edit
        echo view('admin_edit'$data);
    }

    //--------------------------------------------------------------------------

    public function delete($id){
        $news = new MhsModel();
        $news->delete($id);
        return redirect('admin/mahasiswa');
    }
}

6. Tambahkan views yang sesuai, yaitu: admin_create.php, admin_edit.php, dan admin_list.php. Ketiga codes untuk view diatas dapat dilihat di link github repository diatas.

7. Video Penggunaan dapat dilihat di link berikut: Video

Terima kasih atas perhatiannya, semoga bermanfaat

Comments

Popular posts from this blog

Tugas 3 PBKK - Static & Dynamic Currency Converter

Tugas 7 PBKK - Mobile Development with Xamarin