Tugas 7 - CRUD dan Multi-Controller Route dengan CodeIgniter

 CRUD dan Multi-Controller Route dengan CodeIgniter 

Link Referensi: Petani Kode - Database

Link Source Code Lengkap:  Source Code Program

1. Siapkan Database

        Aktifkan Apache dan MySQL pada aplikasi XAMPP-Control, seperti pada gambar berikut:


        Buka http://localhost/
phpmyadmin/ kemudian buat database dengan menekan New pada navbar sebelah kiri seperti yang yang ditandai warna merah. Kemudian isikan nama database pada textbox yang ditandai dengan warna biru. Kemudian gunakan jenis database yang ingin digunakan, disini saya menggunakan utf8mb4_unicode_ci. Kemudian tekan tombol create yang ditandai warna hijau


        Buat Tabel baru beserta isi kolom-kolomnya. disini saya membuat tabel event dengan terdiri dari 6 kolom dimana kurang lebih akan tampil seperti berikut ini:

        Isi tabel dengan beberapa inputkan.

2. Configurasi Database di VSCode

        Buka config/database.php, kemudian ubah pada value-value yang di blok kursor pada gambar, disini saya menggunakan localhost sehingga seperti berikut ini:

3. Setting Tampilan View yang Terhubung Database

    Kemudian buka config/autoload.php, cari $autoload['libraries'] dan tambahkan database dan session sehingga tampak seperti pada pada gambar berikut:

cari juga $autoload['helper'] dan tambahkan url sehingga tampak seperti pada pada gambar berikut:

        Buat file pada direktori  application/model/ dengan nama "database"_model.php. Karena nama database saya Achievement maka namanya akan menjadi Achievement_model.php. Seperti pada gambar berikut:

Source Code isinya beserta kejelasan fungsi terdapat di github yang tertera. 

        Setting Controler untuk menangani HTTP Request dan menghubungkan Model dan View. Buka direktori application/controllers/Welcome.php dan tambahkan pada index() 2 buah pemanggilan sehingga tampak seperti berikut:


        Ubah file view pada direktori application/views/ sehingga menyesuaikan pengambilan dari database. Pada contoh saya terdapat pada file mine.php untuk menampilkan kepanitiaan. sehingga source code yang digunakan dapat seperti berikut ini:

        Berikut hasil dari peengerjaan View diatas:

4. !!!BONUS!!! Setting Banyak Controller untuk Banyak Page dalam Routes.php

        Salah satu rasa bingung yang muncul ketika akan membuat banyak page adalah routing controllernya. Disini akan dijelaskan secara singkat tentang cara mengaturnya untuk jenis apache web servcr. Pertama-tama buat file baru bernama .htaccess pada folder root. Dimana pada milik saya ada di folder Belajar-CI. Seperti pada gambar Berikut:

Kemudian isi folder dengan source code berikut:

Berikutnya, pada application/config/routes.php tambahkan route yang diinginkan. dimana pada file disini yang berwarna merah merupakan nama controller pada direktori application/controllers/ dan warna hijau merupakan nama class pada file controller bersangkutan. Seperti pada gambar berikut:

Berikutnya disini saya contohkan dengan memindahkan konfigurasi controller pada direktori application/controllers/ dari file Welcome.php ke about.php dan contact.php serta merubah nama class serta fungsi menjadi index(). Sehingga source code tampil seperti berikut:



Kemudian untuk memanggilnya cukup dengan memanggil controller yang diinginkan seperti contoh memanggil halaman contact berikut:

5. Menambahkan Tampilan Create, Update Delete yang Terhubung Database


        Pertama-tama tambahkan route dan controller baru seperti pada step 4 dengan nama backend controller backend.php, nama class backend, dan nama file untuk view backend_db.php untuk menampilkan list data yang terdapat di database sehingga memudahkan ketika melakukan perubahan pada database. 

        Setelah selesai, buat file form_event_new.php dan form_event_edit.php didalam folder template. Source code sudah tersedia di github.

untuk mengetest tampilan, pada browser saya, cukup dengan http://localhost/Belajar-CI/backend. maka akan tampil sisi CRUD diluar tampilan website utama. Seperti pada contoh berikut:


Comments