Cara Menggunakan Database pada CodeIgniter 3: Panduan Lengkap

 

CodeIgniter 3 (CI3) adalah salah satu framework PHP yang banyak digunakan untuk membangun aplikasi web dengan cepat dan efisien. Salah satu fitur utama yang dimiliki CodeIgniter 3 adalah kemampuannya untuk mengintegrasikan database secara mudah. Framework ini menyediakan berbagai metode untuk melakukan operasi CRUD (Create, Read, Update, Delete) menggunakan database dengan cara yang efisien dan terstruktur.

Artikel ini akan membahas bagaimana cara menggunakan database pada CodeIgniter 3, mulai dari pengaturan database hingga melakukan operasi dasar seperti mengambil data, menyimpan data, dan menghapus data.

1. Persiapan Database pada CodeIgniter 3

Sebelum memulai bekerja dengan database di CodeIgniter 3, Anda perlu memastikan bahwa konfigurasi database telah diatur dengan benar. CodeIgniter 3 menggunakan file konfigurasi untuk menghubungkan aplikasi dengan database, dan Anda bisa mengaturnya di file application/config/database.php.

1.1. Mengonfigurasi Database

Langkah pertama adalah mengonfigurasi koneksi database. Untuk melakukan ini, buka file application/config/database.php dan ubah pengaturannya sesuai dengan detail koneksi database Anda. Berikut adalah contoh pengaturan untuk database MySQL:

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

$config['hostname'] = 'localhost';  // Alamat host database
$config['username'] = 'root';       // Username untuk mengakses database
$config['password'] = '';           // Password untuk mengakses database
$config['database'] = 'ci3_database'; // Nama database yang digunakan
$config['dbdriver'] = 'mysqli';     // Driver database (mysqli untuk MySQL)
$config['dbprefix'] = '';           // Prefix tabel (opsional)
$config['pconnect'] = FALSE;        // Penggunaan persistent connection (disarankan untuk tidak)
$config['db_debug'] = (ENVIRONMENT !== 'production'); // Aktifkan debug untuk error
$config['cache_on'] = FALSE;        // Penggunaan cache (opsional)
$config['cachedir'] = '';           // Lokasi cache (opsional)
$config['char_set'] = 'utf8';       // Karakter set
$config['dbcollat'] = 'utf8_general_ci'; // Collation untuk karakter set
$config['swap_pre'] = '';           // (opsional)
$config['autoinit'] = TRUE;         // Inisialisasi database secara otomatis
$config['stricton'] = FALSE;        // Mode strict (tidak disarankan untuk mode produksi)
$config['failover'] = array();      // Daftar failover jika terjadi kesalahan
$config['save_queries'] = TRUE;     // Simpan query yang dijalankan untuk debugging

Setelah Anda mengonfigurasi file database.php, CodeIgniter akan menggunakan informasi ini untuk membuat koneksi ke database yang Anda tentukan.

1.2. Menggunakan Koneksi Database di Controller

Di CodeIgniter, koneksi database otomatis dilakukan di seluruh aplikasi jika Anda memuat database di controller atau model. Berikut adalah contoh bagaimana Anda bisa menghubungkan database dalam sebuah controller:

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

class Artikel extends CI_Controller {

    public function __construct()
    {
        parent::__construct();
        // Memuat database
        $this->load->database();
    }

    public function index()
    {
        // Mengambil data artikel dari database
        $query = $this->db->get('artikel');  // 'artikel' adalah nama tabel
        $data['artikel'] = $query->result(); // Menyimpan hasil query ke dalam array
        $this->load->view('artikel_view', $data);
    }
}

Pada contoh di atas, kita memuat database menggunakan $this->load->database(), kemudian mengambil data dari tabel artikel menggunakan $this->db->get('artikel'). Hasilnya disimpan dalam variabel $data['artikel'] dan diteruskan ke view.

2. Melakukan Operasi CRUD pada Database

Setelah database terkoneksi, Anda dapat melakukan berbagai operasi seperti membuat data (insert), membaca data (select), memperbarui data (update), dan menghapus data (delete). CodeIgniter menyediakan fungsi-fungsi yang memudahkan Anda untuk melakukan semua operasi ini.

2.1. Insert Data (Menambah Data ke Database)

Untuk menyimpan data ke dalam database, Anda dapat menggunakan fungsi $this->db->insert(). Berikut adalah contoh cara menambahkan data artikel baru ke tabel artikel:

public function add_article()
{
    $data = array(
        'judul' => 'Artikel Pertama',
        'konten' => 'Ini adalah konten dari artikel pertama.',
        'penulis' => 'John Doe'
    );

    $this->db->insert('artikel', $data); // Menyisipkan data ke tabel 'artikel'
}

Pada contoh ini, kita membuat sebuah array $data yang berisi data artikel yang akan disimpan, kemudian menggunakan $this->db->insert('artikel', $data) untuk menyisipkan data tersebut ke dalam tabel artikel.

2.2. Select Data (Mengambil Data dari Database)

Untuk mengambil data dari database, Anda bisa menggunakan fungsi $this->db->get() atau $this->db->get_where(). Fungsi pertama digunakan untuk mengambil semua data dalam sebuah tabel, sementara yang kedua digunakan untuk mengambil data berdasarkan kondisi tertentu.

  • Mengambil Semua Data:
public function get_all_articles()
{
    $query = $this->db->get('artikel');  // Mengambil semua data dari tabel artikel
    return $query->result();             // Mengembalikan hasil query sebagai array objek
}
  • Mengambil Data Berdasarkan Kondisi:
public function get_article_by_id($id)
{
    $query = $this->db->get_where('artikel', array('id' => $id));  // Mengambil data artikel berdasarkan ID
    return $query->row();  // Mengembalikan hasil sebagai objek
}

Di atas, kita menggunakan $this->db->get_where() untuk mengambil data artikel berdasarkan ID tertentu. Hasil query ini akan mengembalikan satu baris data (karena menggunakan row()).

2.3. Update Data (Memperbarui Data di Database)

Untuk memperbarui data dalam database, kita dapat menggunakan fungsi $this->db->update(). Berikut adalah contoh cara memperbarui data artikel berdasarkan ID:

public function update_article($id)
{
    $data = array(
        'judul' => 'Artikel Terbaru',
        'konten' => 'Ini adalah konten artikel yang telah diperbarui.',
    );

    $this->db->where('id', $id);         // Menentukan kondisi (ID artikel)
    $this->db->update('artikel', $data); // Memperbarui data artikel
}

Di sini, kita menggunakan $this->db->where() untuk menentukan kondisi (misalnya, ID artikel yang akan diperbarui), kemudian $this->db->update() digunakan untuk memperbarui data pada tabel artikel.

2.4. Delete Data (Menghapus Data dari Database)

Untuk menghapus data dari database, kita bisa menggunakan fungsi $this->db->delete(). Berikut adalah contoh cara menghapus data artikel berdasarkan ID:

public function delete_article($id)
{
    $this->db->where('id', $id);  // Menentukan kondisi (ID artikel yang akan dihapus)
    $this->db->delete('artikel'); // Menghapus data artikel
}

Dalam contoh ini, kita menggunakan $this->db->where() untuk menentukan ID artikel yang ingin dihapus, kemudian menggunakan $this->db->delete() untuk menghapus artikel dari tabel artikel.

3. Menggunakan Query Builder

CodeIgniter 3 menyediakan Query Builder yang memudahkan pengembang untuk menulis query SQL tanpa harus menulis SQL secara manual. Query Builder ini memungkinkan Anda untuk membuat query dengan menggunakan metode-metode PHP yang mudah digunakan.

Berikut adalah beberapa contoh query builder:

  • Select dengan kondisi:

    $query = $this->db->select('judul, konten')
                      ->from('artikel')
                      ->where('penulis', 'John Doe')
                      ->get();
    
  • Insert data:

    $data = array(
        'judul' => 'Artikel Baru',
        'konten' => 'Konten artikel baru.'
    );
    $this->db->insert('artikel', $data);
    
  • Update data:

    $data = array(
        'judul' => 'Artikel Diperbarui'
    );
    $this->db->where('id', 1)
             ->update('artikel', $data);
    
  • Delete data:

    $this->db->where('id', 1)
             ->delete('artikel');
    

4. Kesimpulan

Menggunakan database pada CodeIgniter 3 sangat mudah dan efisien berkat dukungan dari class Database dan Query Builder-nya. Dengan beberapa langkah konfigurasi sederhana, Anda dapat menghubungkan aplikasi CodeIgniter Anda ke berbagai jenis database dan mulai melakukan operasi CRUD. CodeIgniter memberikan fleksibilitas dalam berinteraksi dengan database, baik melalui query builder maupun SQL mentah, tergantung pada kebutuhan aplikasi Anda.

Dengan memahami cara bekerja dengan database di CodeIgniter 3

 

 

Dadang Heksa

Itaque quidem optio quia voluptatibus dolorem dolor. Modi eum sed possimus accusantium. Quas repellat voluptatem officia numquam sint aspernatur voluptas. Esse et accusantium ut unde voluptas.

8 Comments

Georgia Reader Reply

Et rerum totam nisi. Molestiae vel quam dolorum vel voluptatem et et. Est ad aut sapiente quis molestiae est qui cum soluta. Vero aut rerum vel. Rerum quos laboriosam placeat ex qui. Sint qui facilis et.

Aron Alvarado Reply

Ipsam tempora sequi voluptatem quis sapiente non. Autem itaque eveniet saepe. Officiis illo ut beatae.

Lynda Small Reply

Enim ipsa eum fugiat fuga repellat. Commodi quo quo dicta. Est ullam aspernatur ut vitae quia mollitia id non. Qui ad quas nostrum rerum sed necessitatibus aut est. Eum officiis sed repellat maxime vero nisi natus. Amet nesciunt nesciunt qui illum omnis est et dolor recusandae. Recusandae sit ad aut impedit et. Ipsa labore dolor impedit et natus in porro aut. Magnam qui cum. Illo similique occaecati nihil modi eligendi. Pariatur distinctio labore omnis incidunt et illum. Expedita et dignissimos distinctio laborum minima fugiat. Libero corporis qui. Nam illo odio beatae enim ducimus. Harum reiciendis error dolorum non autem quisquam vero rerum neque.

Sianna Ramsay Reply

Et dignissimos impedit nulla et quo distinctio ex nemo. Omnis quia dolores cupiditate et. Ut unde qui eligendi sapiente omnis ullam. Placeat porro est commodi est officiis voluptas repellat quisquam possimus. Perferendis id consectetur necessitatibus.

Nolan Davidson Reply

Distinctio nesciunt rerum reprehenderit sed. Iste omnis eius repellendus quia nihil ut accusantium tempore. Nesciunt expedita id dolor exercitationem aspernatur aut quam ut. Voluptatem est accusamus iste at. Non aut et et esse qui sit modi neque. Exercitationem et eos aspernatur. Ea est consequuntur officia beatae ea aut eos soluta. Non qui dolorum voluptatibus et optio veniam. Quam officia sit nostrum dolorem.

Kay Duggan Reply

Dolorem atque aut. Omnis doloremque blanditiis quia eum porro quis ut velit tempore. Cumque sed quia ut maxime. Est ad aut cum. Ut exercitationem non in fugiat.

Leave a Reply

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