Days
Hours
Minutes
Seconds

Promo Grand Opening

15% OFF

Khusus Pelanggan Baru

Tutorial CodeIgniter #11 : Hapus Data Dari Database Dengan CodeIgniter

 

 

Setelah sebelumnya kita belajar cara menampilkan dan menginput data ke database menggunakan CodeIgniter, pada tutorial kali ini kita akan membahas bagaimana cara menghapus data dari database. Proses penghapusan data ini juga akan melibatkan struktur Model-View-Controller (MVC) pada CodeIgniter.


 

Persiapan

 

Pastikan Anda sudah memiliki hal-hal berikut:

  1. Proyek CodeIgniter: Proyek CodeIgniter Anda sudah berjalan.
  2. Koneksi Database: Konfigurasi database di application/config/database.php sudah benar.
  3. Data di Database: Sudah ada data di dalam tabel yang ingin Anda hapus (misalnya, tabel mahasiswa yang kita gunakan pada tutorial sebelumnya).
  4. Controller dan Model: Controller (Crud.php) dan Model (M_data.php) yang sudah kita buat pada tutorial sebelumnya (menginput data) akan kita gunakan kembali atau modifikasi. Jika belum, silakan ikuti tutorial sebelumnya terlebih dahulu.

 

Langkah 1: Membuat Link atau Tombol Hapus di View

 

Pertama, kita perlu menampilkan data yang ada dan menambahkan opsi untuk menghapus setiap baris data. Kita akan memodifikasi view yang menampilkan data mahasiswa (anggap saja kita memiliki view bernama v_tampil.php).

application/views/v_tampil.php

Jika Anda belum memiliki view untuk menampilkan data, buatlah terlebih dahulu. Berikut contohnya:

“`php

<!DOCTYPE html>

<html>

<head>

<title>Data Mahasiswa</title>

</head>

<body>

<center>

<h3>Data Mahasiswa</h3>

<a href=”<?php echo base_url(). ‘crud/tambah’; ?>”>Tambah Data</a>

</center>

<table style=”margin:20px auto;” border=”1″>

<thead>

<tr>

<th>No</th>

<th>Nama</th>

<th>NIM</th>

<th>Jurusan</th>

<th>Aksi</th>

</tr>

</thead>

<tbody>

<?php

$no = 1;

foreach($mahasiswa as $m){

?>

<tr>

<td><?php echo $no++; ?></td>

<td><?php echo $m->nama; ?></td>

<td><?php echo $m->nim; ?></td>

<td><?php echo $m->jurusan; ?></td>

<td>

<a href=”<?php echo base_url(). ‘crud/edit/’.$m->id; ?>”>Edit</a>

<a href=”<?php echo base_url(). ‘crud/hapus_aksi/’.$m->id; ?>”>Hapus</a>

</td>

</tr>

<?php

}

?>

</tbody>

</table>

</body>

</html>

“`

  • <a href="<?php echo base_url(). 'crud/hapus_aksi/'.$m->id; ?>">Hapus</a>: Pada setiap baris data, kita menambahkan sebuah link “Hapus”. Link ini akan mengarah ke method hapus_aksi pada controller crud, dan kita mengirimkan id mahasiswa yang akan dihapus melalui URL.

 

Langkah 2: Memodifikasi Model

 

Pada model M_data.php, kita akan menambahkan sebuah fungsi untuk menghapus data berdasarkan ID.

application/models/m_data.php

“`php

<?php

defined(‘BASEPATH’) OR exit(‘No direct script access allowed’);

class M_data extends CI_Model{

function tampil_data(){
    return $this-&gt;db-&gt;get('mahasiswa');
}

function input_data($data, $table){
    $this-&gt;db-&gt;insert($table, $data);
}

function hapus_data($where, $table){
    $this-&gt;db-&gt;where($where);
    $this-&gt;db-&gt;delete($table);
}

function edit_data($where, $table){
    return $this-&gt;db-&gt;get_where($table, $where);
}

function update_data($where, $data, $table){
    $this-&gt;db-&gt;where($where);
    $this-&gt;db-&gt;update($table, $data);
}

}1

“`2

  • hapus_data($where, $table): Fungsi ini menerima dua parameter:3

     

    • $where: Array yang berisi kondisi WHERE untuk menentukan data mana yang akan dihapus (biasanya berdasarkan id).4

       

    • $table: 5Nama tabel dari mana data akan dihapus.

       

  • $this-&gt;db-&gt;where($where): Fungsi ini digunakan untuk menentukan klausa WHERE pada query DELETE.
  • $this-&gt;db-&gt;delete($table): Fungsi ini menjalankan query DELETE pada tabel yang ditentukan.

 

Langkah 3: Memodifikasi Controller

 

Pada controller Crud.php, kita akan membuat method hapus_aksi yang akan menerima id dari URL dan memanggil model untuk melakukan penghapusan.

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-&gt;load-&gt;model('m_data');
    $this-&gt;load-&gt;helper('url');
}

public function index(){
    $data['mahasiswa'] = $this-&gt;m_data-&gt;tampil_data()-&gt;result();
    $this-&gt;load-&gt;view('v_tampil', $data);
}

public function tambah(){
    $this-&gt;load-&gt;view('v_input');
}

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

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

    $this-&gt;m_data-&gt;input_data($data,'mahasiswa');
    redirect('crud/index');
}

public function hapus_aksi($id){
    $where = array('id' =&gt; $id);
    $this-&gt;m_data-&gt;hapus_data($where, 'mahasiswa');
    redirect('crud/index');
}

public function edit($id){
    $where = array('id' =&gt; $id);
    $data['mahasiswa'] = $this-&gt;m_data-&gt;edit_data($where, 'mahasiswa')-&gt;result();
    $this-&gt;load-&gt;view('v_edit', $data);
}

public function update(){
    $id = $this-&gt;input-&gt;post('id');
    $nama = $this-&gt;input-&gt;post('nama');
    $nim = $this-&gt;input-&gt;post('nim');
    $jurusan = $this-&gt;input-&gt;post('jurusan');

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

    $where = array('id' =&gt; $id);

    $this-&gt;m_data-&gt;update_data($where, $data, 'mahasiswa');
    redirect('crud/index');
}

}

“`

  • hapus_aksi($id): Method ini menerima $id dari URL.
  • $where = array('id' =&gt; $id);: Kita membuat array $where sebagai kondisi untuk menghapus data berdasarkan id.
  • $this-&gt;m_data-&gt;hapus_data($where, 'mahasiswa');: Kita memanggil fungsi hapus_data dari model M_data dan memberikan kondisi $where dan nama tabel 'mahasiswa'.
  • redirect('crud/index');: Setelah data berhasil dihapus, kita mengarahkan pengguna kembali ke halaman yang menampilkan daftar mahasiswa.

 

Langkah 4: Menguji Penghapusan Data

 

  1. Akses halaman yang menampilkan data mahasiswa (biasanya http://localhost/namaproyek/index.php/crud).
  2. Anda akan melihat daftar data mahasiswa dengan link “Hapus” di setiap baris.
  3. Klik link “Hapus” pada baris data yang ingin Anda hapus.
  4. Anda akan dialihkan kembali ke halaman daftar mahasiswa, dan data yang Anda pilih seharusnya sudah tidak ada lagi di tabel database.

 

Kesimpulan

 

Proses menghapus data di CodeIgniter melibatkan pembuatan link atau tombol di View, penambahan fungsi penghapusan di Model, dan pembuatan method di Controller untuk menerima permintaan penghapusan dan berinteraksi dengan model. Dengan mengikuti struktur MVC, kita dapat mengelola proses penghapusan data dengan cara yang terorganisir dan mudah dipahami. Pada tutorial selanjutnya, kita akan membahas proses pengeditan data. Tetap ikuti seri tutorial CodeIgniter ini!

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