Days
Hours
Minutes
Seconds

Promo Grand Opening

15% OFF

Khusus Pelanggan Baru

Tutorial CodeIgniter #10 : Menginput Data Ke Database Dengan CodeIgniter

 

 

Menginput data ke database adalah salah satu fungsi paling mendasar dalam pengembangan web. Dalam framework CodeIgniter, proses ini menjadi sangat terstruktur dan aman, berkat arsitektur Model-View-Controller (MVC) yang dimilikinya. Tutorial ini akan memandu Anda langkah demi langkah untuk menginput data dari form HTML ke database MySQL menggunakan CodeIgniter 3.


 

Persiapan Awal

 

Sebelum memulai, pastikan Anda sudah memiliki hal-hal berikut:

  1. Instalasi CodeIgniter: Framework CodeIgniter sudah terinstal dan berjalan dengan baik di server lokal Anda (XAMPP, WAMP, atau lainnya).
  2. Koneksi Database: Pastikan Anda sudah mengkonfigurasi file database.php di folder application/config untuk terhubung ke database MySQL Anda.
  3. Tabel Database: Buatlah sebuah tabel di database Anda. Misalnya, kita akan membuat tabel mahasiswa dengan struktur sebagai berikut:
    SQL

    CREATE TABLE `mahasiswa` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `nama` varchar(255) NOT NULL,
      `nim` varchar(20) NOT NULL,
      `jurusan` varchar(255) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    

 

Langkah 1: Membuat View (Form HTML)

 

View bertanggung jawab untuk menampilkan form kepada pengguna. Kita akan membuat form sederhana untuk menginput data mahasiswa.

Buat file baru bernama v_input.php di dalam folder application/views.

application/views/v_input.php

PHP

<!DOCTYPE html>
<html>
<head>
    <title>Input Data Mahasiswa</title>
</head>
<body>
    <center>
        <h3>Input Data Mahasiswa Baru</h3>
    </center>
    <form action="<?php echo base_url(). 'crud/tambah_aksi'; ?>" method="post">
        <table style="margin:20px auto;">
            <tr>
                <td>Nama</td>
                <td><input type="text" name="nama"></td>
            </tr>
            <tr>
                <td>NIM</td>
                <td><input type="text" name="nim"></td>
            </tr>
            <tr>
                <td>Jurusan</td>
                <td><input type="text" name="jurusan"></td>
            </tr>
            <tr>
                <td></td>
                <td><input type="submit" value="Tambah"></td>
            </tr>
        </table>
    </form>
</body>
</html>
  • form action: Atribut action pada form mengarahkan data yang di-submit ke controller crud dan method tambah_aksi.
  • base_url(): Helper CodeIgniter untuk mendapatkan URL dasar proyek Anda.

 

Langkah 2: Membuat Model

 

Model adalah tempat kita menulis logika untuk berinteraksi dengan database. Ini adalah praktik terbaik (best practice) untuk memisahkan logika database dari controller.

Buat file baru bernama m_data.php di dalam folder application/models.

application/models/m_data.php

PHP

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class M_data extends CI_Model{

    function input_data($data, $table){
        $this->db->insert($table, $data);
    }
}
  • CI_Model: Class M_data harus mewarisi class CI_Model agar dapat menggunakan fungsi-fungsi database dari CodeIgniter.
  • $this->db->insert(): Fungsi bawaan CodeIgniter untuk menginput data ke database. Fungsi ini menerima dua parameter: nama tabel ($table) dan data yang akan dimasukkan ($data).

 

Langkah 3: Membuat Controller

 

Controller adalah jembatan antara View dan Model. Controller menerima permintaan dari pengguna, memuat model untuk berinteraksi dengan database, dan kemudian memuat view untuk menampilkan hasilnya.

Buat file baru bernama Crud.php di dalam folder application/controllers.

application/controllers/Crud.php

PHP

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Crud extends CI_Controller {

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

    public function index(){
        $this->load->view('v_input');
    }

    public function tambah_aksi(){
        $nama = $this->input->post('nama');
        $nim = $this->input->post('nim');
        $jurusan = $this->input->post('jurusan');

        $data = array(
            'nama' => $nama,
            'nim' => $nim,
            'jurusan' => $jurusan
        );

        $this->m_data->input_data($data,'mahasiswa');
        redirect('crud/index');
    }
}
  • __construct(): Ini adalah fungsi konstruktor yang akan dijalankan pertama kali saat class diinstansiasi. Di sini, kita memuat model m_data dan helper url.
  • index(): Method ini akan dijalankan saat Anda mengakses http://localhost/namaproyek/crud. Fungsinya hanya memuat view v_input.
  • tambah_aksi(): Method ini akan dipanggil saat form disubmit.
    • $this->input->post(): Fungsi ini digunakan untuk mengambil data yang dikirimkan melalui method POST dari form.
    • $data: Kita mengemas semua data input ke dalam sebuah array asosiatif. Kunci array ('nama', 'nim', 'jurusan') harus sama persis dengan nama kolom di tabel database Anda.
    • $this->m_data->input_data(...): Memanggil fungsi input_data dari model m_data untuk menyimpan data ke tabel mahasiswa.
    • redirect(): Setelah data berhasil disimpan, kita mengarahkan pengguna kembali ke halaman utama (index) dari controller crud.

 

Langkah 4: Menjalankan Aplikasi

 

Sekarang, buka browser Anda dan akses URL berikut:

http://localhost/namaproyek/index.php/crud

Anda akan melihat form input. Isi data, lalu klik tombol “Tambah”. Setelah berhasil, Anda akan dialihkan kembali ke halaman form dan data baru sudah tersimpan di tabel mahasiswa dalam database Anda.

 

Kesimpulan

 

Menginput data ke database dengan CodeIgniter menjadi lebih mudah dan terorganisir dengan memisahkan logika ke dalam Model, View, dan Controller. Pendekatan MVC ini tidak hanya membuat kode Anda lebih rapi dan mudah dikelola, tetapi juga meningkatkan keamanan dan skalabilitas aplikasi Anda di masa depan. Selamat mencoba!

Wawasan Terbaru

Gemini_Generated_Image_wfw5uwwfw5uwwfw5
Mengenal Dunia Grafis: Dari Piksel Hingga Vektor, Kekuatan Visual di Era Digital
Gemini_Generated_Image_b6dimfb6dimfb6di
Mengenal Foundation: Kerangka Kerja Front-End Profesional untuk Web Responsif
Gemini_Generated_Image_sx3ztpsx3ztpsx3z
CSS
Mempercantik Website dengan CSS: Seniman di Balik Tampilan Web 🎨
Gemini_Generated_Image_e013qke013qke013
Mengenal HTML: Fondasi dari Setiap Halaman Website 🌐
Gemini_Generated_Image_ldki4nldki4nldki
Menyelami Dunia Coding: Seni Berbicara dengan Komputer
Gemini_Generated_Image_dpvliydpvliydpvl
Menguasai GIT: Fondasi Penting dalam Dunia Pengembangan Perangkat Lunak
Gemini_Generated_Image_sqcib9sqcib9sqci
Tutorial Python #12: Mengenal Jenis-jenis Operator dalam Python
Gemini_Generated_Image_o1bw3do1bw3do1bw
Memahami Tipe Data Dictionary dalam Python
Gemini_Generated_Image_ko4ixfko4ixfko4i
Mengenal Tipe Data Set dalam Python
Gemini_Generated_Image_1xop7m1xop7m1xop
Tuple dalam Python: Pengenalan dan Tutorial

Wawasan Serupa

Gemini_Generated_Image_4mxd334mxd334mxd
Gemini_Generated_Image_ursc84ursc84ursc
ef5c8286-b6c4-4e25-b155-697374d570dc
Gemini_Generated_Image_m1hsycm1hsycm1hs

Ceritakan Detail Proyekmu

Mulai dari 30K aja, solusi IT kamu langsung jalan tanpa drama.

Kata Mereka Tentang Solusi Coding

Dipercaya oleh lebih dari 200++ client untuk menyelesaikan proyeknya dengan total 250++ proyek dari berbagai jenis proyek