Cara CRUD CodeIgniter 3 dengan PostgreSQL

 

CodeIgniter 3 adalah framework PHP yang sangat populer berkat kesederhanaannya, performa yang cepat, dan kemudahan penggunaannya. Salah satu tugas utama dalam pengembangan aplikasi berbasis web adalah melakukan operasi CRUD (Create, Read, Update, Delete) pada database. Dalam tutorial ini, kita akan membahas cara membuat operasi CRUD menggunakan CodeIgniter 3 dengan menggunakan PostgreSQL sebagai database.

PostgreSQL adalah sistem manajemen basis data objek-relasional (ORDBMS) yang sangat kuat dan banyak digunakan oleh perusahaan-perusahaan besar dan aplikasi-aplikasi berskala besar. Menggunakan PostgreSQL dengan CodeIgniter 3 memberikan Anda fleksibilitas dalam pengelolaan data dan mendukung berbagai fitur canggih yang tidak tersedia di database lain.

1. Persiapan Lingkungan Pengembangan

Sebelum memulai, pastikan Anda telah menyiapkan lingkungan pengembangan dengan beberapa alat berikut:

  • PHP (versi 5.6 atau lebih baru)
  • PostgreSQL sebagai sistem manajemen basis data
  • CodeIgniter 3: Unduh dan ekstrak CodeIgniter 3 dari situs resmi CodeIgniter.
  • phpPgAdmin atau alat manajemen PostgreSQL lainnya (opsional) untuk memudahkan pengelolaan database.

Setelah Anda menyiapkan semua alat tersebut, pastikan server Anda dapat menjalankan PostgreSQL dan dapat menghubungkannya dengan PHP.

2. Mengonfigurasi Database PostgreSQL

Langkah pertama adalah menyiapkan database PostgreSQL yang akan digunakan untuk operasi CRUD.

2.1. Membuat Database PostgreSQL

Untuk memulai, Anda perlu membuat database baru di PostgreSQL. Anda dapat melakukan ini menggunakan terminal atau dengan menggunakan antarmuka seperti phpPgAdmin.

Langkah-langkah menggunakan terminal:

  1. Masuk ke PostgreSQL shell:
    sudo -u postgres psql
    
  2. Buat database baru:
    CREATE DATABASE crud_db;
    
  3. Buat tabel untuk menyimpan data pengguna. Berikut adalah contoh struktur tabel users:
    CREATE TABLE users (
        id SERIAL PRIMARY KEY,
        name VARCHAR(100) NOT NULL,
        email VARCHAR(100) NOT NULL UNIQUE,
        phone VARCHAR(15) NOT NULL,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );
    

2.2. Membuat Pengguna dan Memberikan Akses

Untuk dapat mengakses database dengan CodeIgniter, Anda perlu membuat pengguna PostgreSQL yang akan digunakan oleh aplikasi:

  1. Buat pengguna baru:
    CREATE USER crud_user WITH PASSWORD 'password123';
    
  2. Berikan akses ke database:
    GRANT ALL PRIVILEGES ON DATABASE crud_db TO crud_user;
    

3. Mengonfigurasi CodeIgniter untuk Menghubungkan ke PostgreSQL

Setelah database dan tabel berhasil dibuat, sekarang kita akan mengonfigurasi CodeIgniter 3 agar dapat terhubung dengan PostgreSQL.

3.1. Mengonfigurasi File database.php

Di dalam CodeIgniter, koneksi database dikonfigurasi di file application/config/database.php. Buka file ini dan ubah pengaturannya untuk menggunakan PostgreSQL.

Ubah bagian berikut di dalam file database.php:

$db['default'] = array(
    'dsn'   => '',
    'hostname' => 'localhost',
    'username' => 'crud_user', // Ganti dengan username PostgreSQL Anda
    'password' => 'password123', // Ganti dengan password pengguna PostgreSQL Anda
    'database' => 'crud_db', // Nama database yang Anda buat
    'dbdriver' => 'postgre', // Ganti dbdriver menjadi 'postgre'
    '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
);

4. Membuat Model untuk Operasi Database

Setelah database terkoneksi, langkah selanjutnya adalah membuat model untuk operasi CRUD. Di CodeIgniter, model berfungsi untuk berinteraksi dengan database, menjalankan query, dan mengambil data.

4.1. Membuat Model User_model

Buat file model User_model.php di dalam folder application/models/. Berikut adalah contoh model untuk operasi CRUD:

db->insert('users', $data);
    }

    // Read: Mengambil semua data pengguna
    public function get_all_users() {
        $query = $this->db->get('users');
        return $query->result();
    }

    // Update: Mengubah data pengguna berdasarkan ID
    public function update_user($id, $data) {
        $this->db->where('id', $id);
        return $this->db->update('users', $data);
    }

    // Delete: Menghapus pengguna berdasarkan ID
    public function delete_user($id) {
        $this->db->where('id', $id);
        return $this->db->delete('users');
    }

    // Read: Mengambil data pengguna berdasarkan ID
    public function get_user_by_id($id) {
        $this->db->where('id', $id);
        $query = $this->db->get('users');
        return $query->row();
    }
}

Model ini menyediakan lima fungsi utama:

  • insert_user: Menambah data pengguna baru.
  • get_all_users: Mengambil semua data pengguna dari database.
  • update_user: Memperbarui data pengguna berdasarkan ID.
  • delete_user: Menghapus pengguna berdasarkan ID.
  • get_user_by_id: Mengambil data pengguna berdasarkan ID.

5. Membuat Controller untuk Mengelola Request CRUD

Controller bertanggung jawab untuk menangani request dari pengguna, memanggil model, dan menampilkan hasil ke pengguna. Pada langkah ini, kita akan membuat controller User.php untuk menangani operasi CRUD.

5.1. Membuat Controller User.php

Buat file controller User.php di dalam folder application/controllers/:

load->model('User_model');
    }

    // Menampilkan semua pengguna
    public function index() {
        $data['users'] = $this->User_model->get_all_users();
        $this->load->view('user/index', $data);
    }

    // Menambahkan pengguna baru
    public function create() {
        if ($this->input->post()) {
            $data = array(
                'name' => $this->input->post('name'),
                'email' => $this->input->post('email'),
                'phone' => $this->input->post('phone')
            );
            $this->User_model->insert_user($data);
            redirect('user');
        }
        $this->load->view('user/create');
    }

    // Mengedit pengguna berdasarkan ID
    public function edit($id) {
        $data['user'] = $this->User_model->get_user_by_id($id);

        if ($this->input->post()) {
            $data = array(
                'name' => $this->input->post('name'),
                'email' => $this->input->post('email'),
                'phone' => $this->input->post('phone')
            );
            $this->User_model->update_user($id, $data);
            redirect('user');
        }

        $this->load->view('user/edit', $data);
    }

    // Menghapus pengguna berdasarkan ID
    public function delete($id) {
        $this->User_model->delete_user($id);
        redirect('user');
    }
}

Controller ini memiliki empat fungsi utama:

  • index(): Menampilkan semua pengguna.
  • create(): Menambah pengguna baru.
  • edit($id): Mengedit data pengguna berdasarkan ID.
  • delete($id): Menghapus data pengguna berdasarkan ID.

6. Membuat View untuk Menampilkan Data Pengguna

Di CodeIgniter, tampilan (view) bertanggung jawab untuk menampilkan data kepada pengguna. Untuk aplikasi CRUD ini, kita akan membuat beberapa tampilan untuk menampilkan data pengguna, serta form untuk menambah dan mengedit data pengguna.

6.1. View index.php (Menampilkan Semua Pengguna)

Buat file index.php di dalam folder application/views/user/ untuk menampilkan daftar pengguna.

Daftar Pengguna

Daftar Pengguna

IDNamaEmailTeleponAksi
        id) ?>">Edit id) ?>">Hapus

6.2. View create.php (Form Tambah Pengguna)

Buat file create.php di dalam folder application/views/user/ untuk menampilkan form tambah pengguna.

Tambah Pengguna

Tambah Pengguna Baru







6.3. View edit.php (Form Edit Pengguna)

Buat file edit.php di dalam folder application/views/user/ untuk menampilkan form edit pengguna.

Edit Pengguna

Edit Pengguna







7. Kesimpulan

Dengan mengikuti langkah-langkah di atas, Anda telah berhasil membuat aplikasi CRUD menggunakan CodeIgniter 3 dengan PostgreSQL sebagai database. Anda sekarang dapat melakukan operasi CRUD dasar seperti menambah, mengedit,

menghapus, dan menampilkan data pengguna. Selanjutnya, Anda dapat menambahkan fitur-fitur lainnya, seperti validasi form, pagination, dan pencarian data. Jangan lupa untuk selalu menjaga keamanan aplikasi, misalnya dengan menggunakan prepared statements untuk menghindari SQL injection.

 

 

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 *