CRUD CodeIgniter Input Data ke Database MySQL Lengkap untuk Pemula

CRUD CodeIgniter Input Data merupakan salah satu materi dasar yang wajib dipahami ketika belajar framework CodeIgniter. Pada tutorial ini kita akan mempelajari bagaimana cara memasukkan data ke database MySQL menggunakan framework CodeIgniter secara bertahap dan mudah dipahami oleh pemula.

Bagi sebagian orang yang sudah lama tidak menggunakan CodeIgniter, sering kali lupa kembali mengenai struktur folder, konfigurasi database, hingga proses pembuatan controller, model, dan view. Hal tersebut sangat wajar karena framework web terus berkembang dan jarang digunakan setiap hari.

Melalui artikel ini kita akan mengulang kembali proses dasar membuat fitur input data pada CodeIgniter menggunakan metode yang sederhana. Dengan memahami proses input data ini, nantinya Anda akan lebih mudah mempelajari fitur CRUD lainnya seperti menampilkan data, mengubah data, dan menghapus data.

Apa Itu CRUD pada CodeIgniter?

CRUD adalah singkatan dari:

  • Create (Menambah data)
  • Read (Menampilkan data)
  • Update (Mengubah data)
  • Delete (Menghapus data)

Dalam tutorial ini kita akan fokus pada proses Create atau memasukkan data ke dalam database MySQL menggunakan framework CodeIgniter.

Meskipun terlihat sederhana, proses input data merupakan fondasi utama dalam membangun aplikasi berbasis web seperti sistem akademik, aplikasi inventaris, sistem penjualan, maupun aplikasi manajemen data lainnya.

Persiapan Sebelum Memulai

Sebelum masuk ke tahap coding, pastikan beberapa kebutuhan berikut sudah tersedia:

  • Framework CodeIgniter
  • Web Server (XAMPP/Laragon)
  • PHP
  • MySQL atau MariaDB
  • Text Editor seperti VS Code atau Notepad++
  • Browser untuk pengujian aplikasi

Pada contoh ini saya menggunakan folder project bernama ci sehingga URL project berada pada:

http://localhost/ci/

Konfigurasi Base URL CodeIgniter

Langkah pertama adalah mengatur base URL pada file:

application/config/config.php

Ubah bagian berikut:

$config['base_url'] = 'http://localhost/ci/';

Pastikan URL tersebut sesuai dengan lokasi folder project Anda.

Mengatur Default Controller

Selanjutnya buka file:

application/config/routes.php

Kemudian ubah default controller menjadi:

$route['default_controller'] = 'siswa';

Dengan konfigurasi ini, setiap kali project dijalankan maka controller Siswa akan dieksekusi pertama kali.

Mengaktifkan Library Database

Agar CodeIgniter dapat terhubung dengan database secara otomatis, buka file:

application/config/autoload.php

Kemudian ubah menjadi:

$autoload['libraries'] = array('database');

Dengan cara ini kita tidak perlu memanggil library database secara manual pada setiap controller.

Konfigurasi Koneksi Database MySQL

Buka file:

application/config/database.php

Kemudian sesuaikan konfigurasi berikut:

$active_group = 'default';
$query_builder = TRUE;

$db['default'] = array(
    'dsn'      => '',
    'hostname' => 'localhost',
    'username' => 'root',
    'password' => '',
    'database' => 'db_teruna',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

Sesuaikan bagian hostname, username, password, dan nama database dengan konfigurasi server Anda.

Membuat Database dan Tabel Siswa

Sebelum membuat form input, kita perlu menyiapkan tabel yang akan menyimpan data.

Jalankan query berikut pada phpMyAdmin:

CREATE DATABASE db_teruna;

USE db_teruna;

CREATE TABLE tbl_siswa(
    id_siswa INT AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(100)
);

Struktur tabel yang digunakan sangat sederhana agar mudah dipahami oleh pemula.

Membuat Controller Siswa

Setelah konfigurasi selesai, langkah berikutnya adalah membuat controller bernama:

application/controllers/Siswa.php

Isi file tersebut dengan kode berikut:

<?php

class Siswa extends CI_Controller {

    function __construct(){
        parent::__construct();
        $this->load->model('model_data');
        $this->load->helper('url');
    }

    public function index(){

        echo "Indexnya nanti untuk file lihat data";

    }

    public function input_siswa(){

        $this->load->view('vsiswa');

    }

}

Pada controller ini kita membuat method input_siswa() yang bertugas menampilkan form input data siswa.

Membuat View Form Input Data

Buat file baru pada folder:

application/views/vsiswa.php

Kemudian isi dengan kode berikut:

<html>
<head>
    <title>Input Data Siswa</title>
</head>
<body>

<form action="http://localhost/ci/index.php/siswa/proses_input" method="POST">

    Nama
    <input type="text" name="nama" />

    <input type="submit" value="Tambah" />

</form>

</body>
</html>

View ini berfungsi untuk menerima input nama siswa yang nantinya akan dikirim ke controller melalui metode POST.

Menguji Form Input

Setelah view selesai dibuat, silakan akses URL berikut:

http://localhost/ci/index.php/siswa/input_siswa

Jika form berhasil muncul tanpa error, berarti konfigurasi yang telah dilakukan sebelumnya sudah benar.

Sangat disarankan melakukan pengujian pada setiap tahap agar kesalahan lebih mudah ditemukan dan diperbaiki.

Membuat Method Proses Input Data

Langkah berikutnya adalah membuat method untuk menerima data yang dikirimkan dari form.

Tambahkan kode berikut pada controller Siswa.php:

public function proses_input(){

    $nama = $this->input->post('nama');

    $data = array(
        'nama' => $nama
    );

    $this->model_data->input_data($data,'tbl_siswa');

    redirect('siswa/input_siswa');

}

Pada bagian ini data dari form akan ditangkap menggunakan method POST kemudian disimpan ke dalam array sebelum diteruskan ke model.

Membuat Model untuk Menyimpan Data

Buat file:

application/models/Model_data.php

Kemudian isi dengan kode berikut:

<?php

class Model_data extends CI_Model {

    function input_data($data,$table){

        $this->db->insert($table,$data);

    }

}

Model ini bertugas menjalankan query INSERT ke database menggunakan Query Builder bawaan CodeIgniter.

Cara Kerja Alur Input Data pada CodeIgniter

  1. User mengisi form.
  2. Data dikirim menggunakan POST.
  3. Controller menerima data.
  4. Controller mengirim data ke model.
  5. Model melakukan INSERT ke MySQL.
  6. Data berhasil tersimpan.

Hasil Akhir

Jika seluruh langkah di atas dilakukan dengan benar, maka setiap kali tombol Tambah ditekan, data nama siswa akan tersimpan ke tabel tbl_siswa.

Meskipun contoh ini masih sangat sederhana, konsep yang digunakan merupakan dasar dari seluruh proses CRUD pada CodeIgniter. Setelah memahami teknik input data ini, Anda dapat melanjutkan ke tahap berikutnya seperti menampilkan data, edit data, menghapus data, validasi form, pagination, hingga penggunaan template Bootstrap.

Penutup

Tutorial CRUD CodeIgniter Input Data ini dibuat khusus untuk pemula yang ingin memahami bagaimana cara memasukkan data ke database MySQL menggunakan framework CodeIgniter. Dengan memahami struktur MVC (Model View Controller), proses pengembangan aplikasi web akan menjadi lebih terorganisir dan mudah dipelihara.

Pada artikel selanjutnya Anda dapat melanjutkan pembelajaran ke materi CRUD Read Data, Update Data, dan Delete Data sehingga aplikasi yang dibangun menjadi lebih lengkap.