Please enable JavaScript!
Bitte aktiviere JavaScript!
S'il vous plaît activer JavaScript!
Por favor,activa el JavaScript!
antiblock.org

 |  | 
Anda ingin membuat website?
Untuk Anda yang sedang mencari orang untuk jasa pembuatan website, Saya akan bantu buatkan aplikasi sesuai kebutuhan Anda. Segera hubungi : mail@rizaldimaulidia.com. Selengkapnya tentang profil saya klik www.rizaldimaulidia.com.

Codeigniter

Cara Mudah Membuat CRUD dengan Codeigniter dan MySQL

img-responsive

Di tengah-tengah kesibukan saya. Saya coba menyempatkan diri untuk update catatan / tutorial untuk blog ini. Pada kesempatan yang penuh dengan kesibukan kali ini (hahaha), saya akan coba berbagi ilmu yang saya miliki yakni mengenai Cara Mudah Membuat CRUD dengan Framework Codeigniter dan Database MySQL. Apa itu CRUD? CRUD adalah singkatan dari Create, Read, Update, Delete. Jadi CRUD ini berisi mengenai bagaimana membuat sebuah fitur untuk menampilkan data, menyimpan data, mengubah data dan menghapus data dari / ke database. Pada bahasan sebelumnya, saya telah membuat catatan juga mengenai CRUD juga dengan PHP Native (Murni PHP). Hanya pada catatan kali ini saya akan membuatnya dengan salah satu framework yang banyak digunakan yaitu Codeigniter. Framework codeigniter yang akan kita gunakan adalah codeigniter versi 3.


DEMO
Sebelum membaca tutorialnya, mungkin ada yang ingin melihat demonya terlebih dahulu. Klik link berikut untuk melihat demonya : Lihat Demo.


STEP 1 – INSTALASI
Pada tahap ini kita akan menyiapkan hal-hal yang diperlukan.

  1. Download Framework Codeigniter, klik link berikut : download.
  2. Buat sebuah folder dengan nama crud_ci, lalu simpan pada folder xampp/htdocs/.
  3. Copy and paste file codeigniter_v3.7z yang telah di download tadi ke folder xampp/htdocs/crud_ci.
  4. Ekstrak file codeigniter_v3.7z nya.

STEP 2 – BUAT DATABASE

Buat database dengan nama mynotescode, lalu buat sebuah tabel siswa dengan struktur tabel seperti berikut ini :

Struktur Tabel - Cara Membuat Laporan PDF dengan Codeigniter dan Html2Pdf

CREATE TABLE IF NOT EXISTS `siswa` (
  `nis` varchar(11) NOT NULL,
  `nama` varchar(50) NOT NULL,
  `jenis_kelamin` varchar(10) NOT NULL,
  `telp` varchar(15) NOT NULL,
  `alamat` text NOT NULL,
  PRIMARY KEY (`nis`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

STEP 3 – KONFIGURASI

Karena dibuat dengan Codeigniter, pertama kita harus melakukan konfigurasi terlebih dahulu pada framework codeigniternya.

  1. Buka folder xampp/htdocs/crud_ci/application/config/
  2. Buka file config.php
    Cari kode berikut $config['base_url'] = '';Ubah kode tersebut jadi seperti ini :

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

    Kode diatas digunakan untuk menset baseurlnya.

    Kemudian cari kode berikut $config['index_page'] = 'index.php';, ubah kode tersebut jadi seperti ini :

    $config['index_page'] = '';

    Ini kita hilangkan index.php nya, nanti akan kita bahas pada step selanjutnya kenapa harus di hilangkan.
    Lalu simpan file tersebut.

  3. Buka file autoload.php
    Cari kode berikut ini :

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

    Ubah jadi seperti ini :

    $autoload['libraries'] = array('database');
    $autoload['helper'] = array('form','url');

    Kode diatas digunakan untuk memuat (menload) class database, form, dan url.
    Lalu simpan file tersebut.

  4. Buka file routes.php
    Cari kode berikut ini :

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

    Ubah jadi seperti ini :

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

    Kode diatas digunakan untuk menset controller mana yang akan diload pertama kali. Secara default, Codeigniter telah menset default controller yaitu welcome. Disini kita set default controller menjadi main.
    Lalu simpan file tersebut.

  5. Buka file database.php
    Cari kode berikut ini :

    'hostname' => 'localhost',
    'username' => '',
    'password' => '',
    'database' => '',

    Ubah jadi seperti ini :

    'hostname' => 'localhost', // Nama host
    'username' => 'root', // Username
    'password' => '', // Jika menggunakan password isi, jika tidak kosongkan saja
    'database' => 'mynotescode', // Nama databasenya

    Kode diatas digunakan untuk koneksi ke database.
    Lalu simpan file tersebut.


STEP 4 – SETTING HTACCESS

Pada step ini, kita akan coba membuat URL dari website kita agar terlihat lebih frienly user (URL Friendly). Di Codeigniter, URL default ketika kita akan mengakses sebuah function di controller, pada URL tersebut akan disisipkan “index.php”. Sebagai contoh misalnya saya akan mengakses function save pada controller siswa, secara default URL untuk mengaksesnya seperti ini : localhost/crud_ci/index.php/siswa/save. Nah sekarang kita akan menghapus “index.php” pada URL nya. dengan cara menggunakan yang namanya htaccess. Buat sebuah file baru dengan nama .htaccess, lalu simpan pada folder xampp/htdocs/crud_ci/. Berikut kode nya :

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Kode tersebut saya juga kurang begitu paham, tapi yang pasti berfungsi untuk menghilangkan “index.php” tadi. Kode tersebut juga saya dapatkan langsung dari dokumentasi codeigniternya. Anda bisa melihatnya disini : Removing the index.php file (Anda akan dibawa ke halaman iklan terlebih dahulu, Lihat di pojok kanan atas, tunggu 5 detik. lalu klik tombol SKIP AD).


STEP 5 – BUAT MODEL

Sekarang kita akan membuat modelnya. berisi sebuah fungsi untuk menampilkan semua data siswa pada tabel siswa. Buat sebuah file dengan nama SiswaModel.php, Lalu simpan pada folder xampp/htdocs/crud_ci/application/models/. Berikut kodenya :

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

class SiswaModel extends CI_Model {
  // Fungsi untuk menampilkan semua data siswa
  public function view(){
    return $this->db->get('siswa')->result();
  }
  
  // Fungsi untuk menampilkan data siswa berdasarkan NIS nya
  public function view_by($nis){
    $this->db->where('nis', $nis);
    return $this->db->get('siswa')->row();
  }
  
  // Fungsi untuk validasi form tambah dan ubah
  public function validation($mode){
    $this->load->library('form_validation'); // Load library form_validation untuk proses validasinya
    
    // Tambahkan if apakah $mode save atau update
    // Karena ketika update, NIS tidak harus divalidasi
    // Jadi NIS di validasi hanya ketika menambah data siswa saja
    if($mode == "save")
      $this->form_validation->set_rules('input_nis', 'NIS', 'required|numeric|max_length[11]');
    
    $this->form_validation->set_rules('input_nama', 'Nama', 'required|max_length[50]');
    $this->form_validation->set_rules('input_jeniskelamin', 'Jenis Kelamin', 'required');
    $this->form_validation->set_rules('input_telp', 'telp', 'required|numeric|max_length[15]');
    $this->form_validation->set_rules('input_alamat', 'Alamat', 'required');
      
    if($this->form_validation->run()) // Jika validasi benar
      return TRUE; // Maka kembalikan hasilnya dengan TRUE
    else // Jika ada data yang tidak sesuai validasi
      return FALSE; // Maka kembalikan hasilnya dengan FALSE
  }
  
  // Fungsi untuk melakukan simpan data ke tabel siswa
  public function save(){
    $data = array(
      "nis" => $this->input->post('input_nis'),
      "nama" => $this->input->post('input_nama'),
      "jenis_kelamin" => $this->input->post('input_jeniskelamin'),
      "telp" => $this->input->post('input_telp'),
      "alamat" => $this->input->post('input_alamat')
    );
    
    $this->db->insert('siswa', $data); // Untuk mengeksekusi perintah insert data
  }
  
  // Fungsi untuk melakukan ubah data siswa berdasarkan NIS siswa
  public function edit($nis){
    $data = array(
      "nama" => $this->input->post('input_nama'),
      "jenis_kelamin" => $this->input->post('input_jeniskelamin'),
      "telp" => $this->input->post('input_telp'),
      "alamat" => $this->input->post('input_alamat')
    );
    
    $this->db->where('nis', $nis);
    $this->db->update('siswa', $data); // Untuk mengeksekusi perintah update data
  }
  
  // Fungsi untuk melakukan menghapus data siswa berdasarkan NIS siswa
  public function delete($nis){
    $this->db->where('nis', $nis);
    $this->db->delete('siswa'); // Untuk mengeksekusi perintah delete data
  }
}

Pada kode diatas, kita membuat sebuah fungsi view(). dimana didalamnya terdapat kode return $this->db->get(‘siswa’)->result(). Kode tersebut berfungsi untuk menampilkan semua data pada tabel siswa. Struktur dasar penulisannya seperti ini : return $this->db->get(‘nama_tabel‘)->result(). Lalu pada kode diatas juga ada kode return, kode tersebut digunakan untuk mengeluarkan hasil dari sebuah fungsi. Pada kasus diatas, hasil yang dikeluarkan oleh return yaitu data-data siswa.

Lalu pada fungsi view_by($nis). Fungsi ini digunakan untuk menampilkan data siswa berdasarkan nis yang kita tentukan. Pada fungsi ini terdapat skrip $this->db->where(‘nis’, $nis); yang berfungsi untuk menambahkan “where clause” pada query yang kita deklarasikan. Kode ini sama saja dengan : WHERE nis=’$nis’.

Mungkin Anda bertanya-tanya, pada kedua fungsi tersebut, ada perbedaan yakni ->result() dan ->row(). Perbedaannya yakni kalau result() digunakan apabila data yang dihasilkan lebih dari 1 data, dalam kasus ini fungsi view() berguna untuk menampilkan semua data siswa. Sedangkan row() digunakan apabila data yang dihasilkan hanya 1 data, dalam kasus ini fungsi view_by($nis) memang hanya menghasilkan 1 data siswa dengan nis yang sudah ditentukan.

Kemudian masuk ke fungsi validation($mode). Fungsi ini mungkin sudah jelas yakni untuk memvalidasi data yang berasal dari input form. Inilah istimewanya kalau kita menggunakan sebuah framework, pasti sudah disediakan sebuah modul / librari untuk kemudahan kita para developer. Untuk validasi di Codeigniter, kita bisa menggunakan librari form_validation. Untuk menset validasi di setiap inputan form, gunakan kode ini : $this->form_validation->set_rules(‘nama_form_input’, ‘label_untuk_pesan_error’, ‘validasi_yang_kita_inginkan’). untuk validasi-validasi apa saja yang telah disediakan codeigniter, silahkan buka link berikut : Referensi Validasi. Lalu untuk penjelasan lebih detail mengenai validasi form di codeigniter, buka link berikut ini : Dokumentasi Validasi Form. (Ketika membuka kedua link tadi, Anda akan dibawa ke halaman iklan terlebih dahulu, Lihat di pojok kanan atas, tunggu 5 detik. lalu klik tombol SKIP AD).

$data = array(
    “nis” => $this->input->post(‘input_nis’),
    “nama” => $this->input->post(‘input_nama’),
    “jenis_kelamin” => $this->input->post(‘input_jeniskelamin’),
    “telp” => $this->input->post(‘input_telp’),
    “alamat” => $this->input->post(‘input_alamat’)
);

Kemudian kita masuk ke fungsi save(). Dalam fungsi tersebut terdapat kode seperti diatas. Kita buat sebuah array untuk menampung data apa saja yang akan kita simpa ke tabel di database. Lihat pada kode yang saya beri warna merah, kode tersebut harus sama dengan nama-nama field/kolom pada tabel siswa di databasenya. Lalu array $data tersebut akan kita simpan ke database dengan kode ini $this->db->insert(‘siswa’, $data). Struktur dari kode ini adalah $this->db->insert(nama_tabel, array_data);.

Untuk fungsi update($nis) pun hampir sama seperti fungsi save(). hanya disini kita tambahakan where nis $this->db->where(‘nis’, $nis).


STEP 6 – BUAT CONTROLLER

Pada tahap ini, kita akan membuat controllernya. Buat sebuah file dengan nama Siswa.php, lalu simpan pada folder xampp/htdocs/crud_ci/application/controllers/. Berikut ini kodenya :

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

class Siswa extends CI_Controller {
  
  public function __construct(){
    parent::__construct();
    
    $this->load->model('SiswaModel'); // Load SiswaModel ke controller ini
  }
  
  public function index(){
    $data['siswa'] = $this->SiswaModel->view();
    $this->load->view('siswa/index', $data);
  }
  
  public function tambah(){
    if($this->input->post('submit')){ // Jika user mengklik tombol submit yang ada di form
      if($this->SiswaModel->validation("save")){ // Jika validasi sukses atau hasil validasi adalah TRUE
        $this->SiswaModel->save(); // Panggil fungsi save() yang ada di SiswaModel.php
        redirect('siswa');
      }
    }
    
    $this->load->view('siswa/form_tambah');
  }
  
  public function ubah($nis){
    if($this->input->post('submit')){ // Jika user mengklik tombol submit yang ada di form
      if($this->SiswaModel->validation("update")){ // Jika validasi sukses atau hasil validasi adalah TRUE
        $this->SiswaModel->edit($nis); // Panggil fungsi edit() yang ada di SiswaModel.php
        redirect('siswa');
      }
    }
    
    $data['siswa'] = $this->SiswaModel->view_by($nis);
    $this->load->view('siswa/form_ubah', $data);
  }
  
  public function hapus($nis){
    $this->SiswaModel->delete($nis); // Panggil fungsi delete() yang ada di SiswaModel.php
    redirect('siswa');
  }
}

Pada controller ini, kita membuat 3 fungsi. fungsi pertama yaitu public function __construct(){, fungsi ini berfungsi untuk menjalankan suatu aksi ketika controller main diload. Didalm fungsi ini, terdapat kode $this->load->model(‘SiswaModel’);, kode tersebut berfungsi untuk memuat (meload) model siswa (yang pada step sebelumnya kita buat) agar kita bisa mengakses fungsi-fungsi yang ada didalam model tersebut.

Fungsi yang kedua yaitu public function index(). Dalam fungsi ini ada kode $data[‘siswa’] = $this->SiswaModel->view();, kode tersebut digunakan untuk mengambil hasil query sql dari fungsi view() yang ada pada model siswa (SiswaModel.php) lalu memasukannya ke dalam array data dengan index siswa ($data[‘siswa’]). Pada fungsi index() ini juga, terdapat kode $this->load->view(‘siswa/index’, $data);. Kode tersebut berfungsi untuk memuat (meload) file index.php (file ini akan kita buat pada step selanjutnya) dan mengirimkan array data ($data) tadi ke file tersebut.


STEP 7 – BUAT VIEW
Selanjutnya kita akan membuat file view untuk menampilkan data siswanya. Buat sebuah folder dengan nama siswa pada folder xampp/htdocs/crud_ci/application/views/. Lalu buat sebuah file dengan nama index.php, lalu simpan pada folder siswa yang tadi kita buat (xampp/htdocs/crud_ci/application/views/siswa/). Berikut ini tampilan dan kodenya :

View - Cara Mudah Membuat CRUD dengan Codeigniter dan MySQL

<html>
  <head>
    <title>CRUD Codeigniter</title>
  </head>
  <body>
    <h1>Data siswa</h1>
    <hr>

    <a href='<?php echo base_url("siswa/tambah"); ?>'>Tambah Data</a><br><br>

    <table border="1" cellpadding="7">
      <tr>
        <th>NPM</th>
        <th>Nama</th>
        <th>Jenis Kelamin</th>
        <th>Telepon</th>
        <th>Alamat</th>
        <th colspan="2">Aksi</th>
      </tr>

      <?php
      if( ! empty($siswa)){ // Jika data siswa tidak sama dengan kosong, artinya jika data siswa ada
        foreach($siswa as $data){
          echo "<tr>
          <td>".$data->nis."</td>
          <td>".$data->nama."</td>
          <td>".$data->jenis_kelamin."</td>
          <td>".$data->telp."</td>
          <td>".$data->alamat."</td>
          <td><a href='".base_url("siswa/ubah/".$data->nis)."'>Ubah</a></td>
          <td><a href='".base_url("siswa/hapus/".$data->nis)."'>Hapus</a></td>
          </tr>";
        }
      }else{ // Jika data siswa kosong
        echo "<tr><td align='center' colspan='7'>Data Tidak Ada</td></tr>";
      }
      ?>
    </table>
  </body>
</html>

Pada kode diatas terdapat kode foreach($siswa as $data){, kode tersebut akan manampilkan satu per satu data siswa sampai data siswa yang terakhir.


STEP 8 – FORM TAMBAH

Selanjutnya kita akan coba membuat form untuk menambah datanya. Buat sebuah file dengan nama form_tambah.php, lalu simpan pada folder xampp/htdocs/crud_ci/application/views/siswa/. Berikut tampilan dan kodenya :

Form Tambah - Cara Mudah Membuat CRUD dengan Codeigniter dan MySQL

<html>
  <head>
    <title>Form Tambah - CRUD Codeigniter</title>
  </head>
  <body>
    <h1>Form Tambah Data Mahasiswa</h1>
    <hr>

    <!-- Menampilkan Error jika validasi tidak valid -->
    <div style="color: red;"><?php echo validation_errors(); ?></div>

    <?php echo form_open("siswa/tambah"); ?>
      <table cellpadding="8">
        <tr>
          <td>NIS</td>
          <td><input type="text" name="input_nis" value="<?php echo set_value('input_nis'); ?>"></td>
        </tr>
        <tr>
          <td>Nama</td>
          <td><input type="text" name="input_nama" value="<?php echo set_value('input_nama'); ?>"></td>
        </tr>
        <tr>
          <td>Jenis Kelamin</td>
          <td>
          <input type="radio" name="input_jeniskelamin" value="Laki-laki" <?php echo set_radio('jeniskelamin', 'Laki-laki'); ?>> Laki-laki
          <input type="radio" name="input_jeniskelamin" value="Perempuan" <?php echo set_radio('jeniskelamin', 'Perempuan'); ?>> Perempuan
          </td>
        </tr>
        <tr>
          <td>Telepon</td>
          <td><input type="text" name="input_telp" value="<?php echo set_value('input_telp'); ?>"></td>
        </tr>
        <tr>
          <td>Alamat</td>
          <td><textarea name="input_alamat"><?php echo set_value('input_alamat'); ?></textarea></td>
        </tr>
      </table>
        
      <hr>
      <input type="submit" name="submit" value="Simpan">
      <a href="<?php echo base_url(); ?>"><input type="button" value="Batal"></a>
    <?php echo form_close(); ?>
  </body>
</html>

form_open(“siswa/tambah”)
Kode ini sama saja dengan kita membuat tag form. Kode tersebut akan menghasil kan tag form seperti ini <form method="post" action="http://localhost/crud_ci/siswa/tambah">

set_value(‘input_nis’)
Ini berguna untuk men-set value dari textbox input_nis agar ketika terjadi error dan halaman kembali ke form, data yang di input sebelumnya tidak hilang. input_nis disitu adalah name dari textbox nya.

form_close()
Ini akan menghasil kan penutup tag form : </form>


STEP 9 – FORM UBAH

Selanjutnya kita akan coba membuat form untuk menambah datanya. Buat sebuah file dengan nama form_ubah.php, lalu simpan pada folder xampp/htdocs/crud_ci/application/views/siswa/. Berikut tampilan dan kodenya :

Form Ubah - Cara Mudah Membuat CRUD dengan Codeigniter dan MySQL

<html>
  <head>
    <title>Form Ubah - CRUD Codeigniter</title>
  </head>
  <body>
    <h1>Form Ubah Data Mahasiswa</h1>
    <hr>

    <!-- Menampilkan Error jika validasi tidak valid -->
    <div style="color: red;"><?php echo validation_errors(); ?></div>

    <?php echo form_open("siswa/ubah/".$siswa->nis); ?>
      <table cellpadding="8">
        <tr>
          <td>NIS</td>
          <td><input type="text" name="input_nis" value="<?php echo set_value('input_nis', $siswa->nis); ?>" readonly></td>
        </tr>
        <tr>
          <td>Nama</td>
          <td><input type="text" name="input_nama" value="<?php echo set_value('input_nama', $siswa->nama); ?>"></td>
        </tr>
        <tr>
          <td>Jenis Kelamin</td>
          <td>
          <input type="radio" name="input_jeniskelamin" value="Laki-laki" <?php echo set_radio('jeniskelamin', 'Laki-laki', ($siswa->jenis_kelamin == "Laki-laki")? true : false); ?>> Laki-laki
          <input type="radio" name="input_jeniskelamin" value="Perempuan" <?php echo set_radio('jeniskelamin', 'Perempuan', ($siswa->jenis_kelamin == "Perempuan")? true : false); ?>> Perempuan
          </td>
        </tr>
        <tr>
          <td>Telepon</td>
          <td><input type="text" name="input_telp" value="<?php echo set_value('input_telp', $siswa->telp); ?>"></td>
        </tr>
        <tr>
          <td>Alamat</td>
          <td><textarea name="input_alamat"><?php echo set_value('input_alamat', $siswa->alamat); ?></textarea></td>
        </tr>
      </table>
        
      <hr>
      <input type="submit" name="submit" value="Ubah">
      <a href="<?php echo base_url(); ?>"><input type="button" value="Batal"></a>
    <?php echo form_close(); ?>
  </body>
</html>

Variabel $siswa ini adalah hasil dari query pada controller siswa di function ubah. Lalu kita set terhadap masing-masing inputan pada form agar bisa menampilkan data sebelumnya. disini kita memanfaat kan fungsi buatan codeigniter yaitu set_value(name_textbox, valuenya).


Mungkin sekian untuk catatan kali ini. Semoga bisa bermanfaat. Jika ada yang kurang dipahami, langsung tanyakan pada form komentar dibawah ini. Jangan lupa LIKE dan SHARE nya, Terimakasih banyak.

Happy Coding ^_^


SOURCE CODE
Untuk mengunduh source code nya, klik link berikut ini : Download.


SUMBER & REFERENSI
Dokumentasi Codeigniter : https://www.codeigniter.com/user_guide
Membuat CRUD dengan Codeigniter dan MySQL, Membuat CRUD dengan CI dan MySQL, Tutorial lengkap membuat CRUD dengan Codeigniter, Tutorial lengkap membuat CRUD dengan CI, CRUD dengan framework codeigniter, CRUD dengan framework CI

CRUD

(Total : 67,124 viewers, 1 viewers today)
crud-dengan-codeigniter-dan-mysql

ABOUT THE AUTHOR

Interested in android programming, long time focused on web development. Visit My Profile Site at www.rizaldimaulidia.com

POST YOUR COMMENTS

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

Name *

Email *

Website

86 Comments

  1. adi barkah

    mantap sekali tutorialnya om…penjelasan komplit mudah dipahami…perbanyak karyaya om..semoga berkah

  2. alvina attaufiqieyah

    kak maaf mau tanya, ini errornya dibagian mana ya?

    A PHP Error was encountered
    Severity: Notice

    Message: Undefined property: stdClass::$telp

    Filename: siswa/index.php

    Line Number: 25

    Backtrace:

    File: C:\xampp\htdocs\crud_ci\application\views\siswa\index.php
    Line: 25
    Function: _error_handler

    File: C:\xampp\htdocs\crud_ci\application\controllers\Siswa.php
    Line: 12
    Function: view

    File: C:\xampp\htdocs\crud_ci\index.php
    Line: 315
    Function: require_once

    • itu waktu manggil hasil query dari database sepertinya, si telp tidak ditemukan. pastikan di database pada tabel nya ada field telp.

  3. Siti latifah

    jika seperti ini gmn kak

    An uncaught Exception was encountered
    Type: Error
    Message: Call to undefined function validation_errors()
    Filename: C:\xampp\htdocs\crud_ci\application\views\siswa\form_tambah.php
    Line Number: 9
    Backtrace:
    File: C:\xampp\htdocs\crud_ci\application\controllers\Siswa.php
    Line: 25
    Function: view
    File: C:\xampp\htdocs\crud_ci\index.php
    Line: 315
    Function: require_once

    • cek pada file application/config/autoload.php. pastikan isi dari $autoload[‘helper’] seperti ini :

      $autoload['helper'] = array('form','url');

  4. muhammad yudhi

    sore om, saya ada pertanyaan, kenapa datanya tidak bisa tersimpan ya? saya sudah mengikuti langkah2nya. terima kasih

  5. Rizki maulana

    bang ko yang saya forbidden ya?
    kaya gini
    Access forbidden!

    You don’t have permission to access the requested object. It is either read-protected or not readable by the server.

    If you think this is a server error, please contact the webmaster.
    Error 403
    localhost
    Apache/2.4.39 (Win64) OpenSSL/1.1.1b PHP/7.3.5

  6. SULTAN_PROS

    BANG PADA FILE FORM_UBAH SAMA FORM_TAMBAH TIDAK BISA DI RUBAH TAMPILANYA

    #KUMOHON BANG BANTUANYA…… :-(((((((((((((((((((((((((((((((

  7. dhika1799

    mas saya ada pertanyaan.
    kenapa data yang ada tidak hilang saat kita hapus. padahal tidak ada report error

  8. aswarsalam

    kak errornya dimana ini yah?

    Warning: require_once(/Applications/XAMPP/xamppfiles/htdocs/crud_ci/system/core/CodeIgniter.php): failed to open stream: Permission denied in /Applications/XAMPP/xamppfiles/htdocs/crud_ci/index.php on line 315

    Fatal error: require_once(): Failed opening required ‘/Applications/XAMPP/xamppfiles/htdocs/crud_ci/system/core/CodeIgniter.php’ (include_path=’.:/Applications/XAMPP/xamppfiles/lib/php’) in /Applications/XAMPP/xamppfiles/htdocs/crud_ci/index.php on line 315

  9. Efmi maiyana

    Hebat..Tx ya atas materi-materinya..smg berkah…selalu berkarya

  10. Aditia R

    Bang kok datanya tidak muncul, (tulisannya data tidak ada) database sudah diisi

  11. Ardhillah

    punya saya kok bermasalah di function set radio nya,gak bisa manggil function nya kenapa ya

  12. Dimas Aji N

    mau tanya lagi om hehe, kalau biar auto reload habis crud gimana yakk

    • maksudnya autoreload gimana om ?
      Ditutorial ini kan memang sudah reload ketika proses simpan/ubah/hapus berhasil langsung reload ke halaman view datanya

      • Dimas Aji N

        udah ketemu om hehe, cara join table gimana ya om, pakai query builder di ci, data nya gak bisa tampil

  13. Dimas Aji N

    { "render": function ( data, type, row ) { // Tampilkan kolom aksi
    var html = "<a href='' rel="nofollow">DETAIL</a> | "
    html += "<a href='' rel="nofollow">EDIT</a> | "
    html += "<a href='' rel="nofollow">DELETE</a>"
    return html

    bantuanya dong gan, untuk script delete jika digabung dengan datatables gimana ya, makasih sebelumnya gan

    • kan tinggal di arahin saja om url tag a nye ke controller/function deletenya om. untuk ngambil ID (Primary Key) si data yang mau di deletenya, dalam tutorial ini kita kan bikin function hapus di controller siswa. jadi url nya seperti ini : siswa/hapus/{nis}. Disini kita delete berdasarkan nis sebagai primary key nya. jadinya nanti di a href pada datatablenya dibuat gini om :

      { "render": function ( data, type, row ) { // Tampilkan kolom aksi
      var html = "<a href='' rel="nofollow">DETAIL</a> | "
      html += "<a href='' rel="nofollow">EDIT</a> | "
      html += "<a href='<?php echo base_url(); ?>/siswa/hapus/" + row.nis + "' rel="nofollow">DELETE</a>"
      return html

  14. Muhammad Ridwan

    Bang, gimana ya bang cara nya agar tombol tombol aksi nya bisa dipadukan dengan button bootstrap
    agar tampilannya link aksi nya lebih cantik,
    saya sudah nyoba tapi ga work bang…

  15. nova airlangga

    sudah sesuai contoh tp data dari database tdk muncul. gimana ya?

    • Ga ada error yang muncul?
      Coba kirimkan source code yang sudah dibuat via fans page fb kami om biar saya bisa cek

      • nova legacy

        mas sudah sama dan sesuai. database sudah saya isi tapi tidak muncul

      • nova airlangga

        apa ada alamat email aja? udah gak pake fb mas. ini buat tugas kuliah. saya buat biodata siswa di database dan sy pengen munculin di page biodata

  16. mochamad

    mas mau nanya, crud seassion gimana ya ? cara pakainya ?

  17. Anisa Dwi Noviandari

    mas saya mau nanya pas saya mau tambah data tetapi error padahal step 4 sudah saya ikutin mas., mohon sekali mas bantuannya mas karena tugas juga tentang membuat ini . semoga sukses terus terima kasihhh :’)). kaya gini errornya ..
    Object not found!
    The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.

    If you think this is a server error, please contact the webmaster.

    Error 404
    localhost
    Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7

    • sama-sama mba. Amiin terimakasih doa nya.
      itu error mungkin karena htaccess nya salah. coba screenshot struktur foldernya mba. lalu kirim screenshot nya via fans page kami

      • Anisa Dwi Noviandari

        Maaf mas, yg htaccess nya sudah bisa, tetapi ketika mau tambah data dan setelah menekan tombol ‘simpan’ muncul error seperti ini.. Mohon bantuannya mass..
        A Database Error Occurred
        Error Number: 1048

        Column ‘jenis_kelamin’ cannot be null

        INSERT INTO `siswa` (`nis`, `nama`, `jenis_kelamin`, `telp`, `alamat`) VALUES (‘1501062’, ‘Anisa Dwi Noviandari’, NULL, ‘085787919222’, ‘Jl. Belibis 3’)

        Filename: C:/xampp/htdocs/crud_ci/system/database/DB_driver.php

        Line Number: 691

        • Anisa Dwi Noviandari

          maaf mas, yg diatas gausah dijawab karna sudah bisa. tlong jawab ini saja mas.. punya saya sudah tidak ada errornya dan bisa digunakan.. akan tetapi saat saya mau kenapa di bagian NIS itu tidak bisa diklik ya? atau tidak bisa diubah dan tidak bisa diketik ulang buat nis nya. tetapi bagian lain masih bisa, cuma bagian NIS nya saja yg tidak bisa di ketik. tidak bisa muncul kursornya buat ngetik… apakah memang codingnya begitu ya mas??

          • Iyaaa emang di tutorial ini buat nis saya readonly kan mba. Tapi kalau mau bisa di edit, tinggal hapus atribut “readonly” pada textbox nis nya mba. Lalu jangan lupa pada file SiswaModel.php di ubah juga pada function edit yg asalnya :
            $data = array(
            “nama” => $this->input->post(‘input_nama’),
            “jenis_kelamin” => $this->input->post(‘input_jeniskelamin’),
            “telp” => $this->input->post(‘input_telp’),
            “alamat” => $this->input->post(‘input_alamat’)
            );
            .
            Ubah jadi gini :
            .
            $data = array(
            “nis” => $nis,
            “nama” => $this->input->post(‘input_nama’),
            “jenis_kelamin” => $this->input->post(‘input_jeniskelamin’),
            “telp” => $this->input->post(‘input_telp’),
            “alamat” => $this->input->post(‘input_alamat’)
            );

  18. iped

    kak ,kok saya tidak bisa menambah data ya tapi page setelah tambah data bisa muncul

    • Rizaldi Maulidia Achmad

      maksudnya gimana om? kurang mengerti saya

  19. dewikusuma

    gan, untk ubah data tidak bisa Fatal error: Call to undefined function validation_errors()

    • Rizaldi Maulidia Achmad

      coba kirim source code + database yang sudah dibuatnya mba. biar saya bisa cek. kirim via fans page fb kami

  20. ghibertrhan

    bang saya mau tanya.. setelah di peraktekan kok hasilnya seperti ini yah

    404 Page Not Found

    The page you requested was not found.

    • Rizaldi Maulidia Achmad

      Sudah melakukan dan mengikuti step 4? Silahkan periksa lagi om. Kalo masih error silahkan kontak saya lagi

  21. Adhik mulat

    Gan punya saya gak keluar apa apa , gada erornya :v , gimana ya ?

    • Rizaldi Maulidia Achmad

      ga keluar gimana om? ketika melakukan apa?

  22. Bagaprasetyo

    cara deletenya gimana bang?

    • Bagaprasetyo

      gak usah di jawab bang udah bisa

      • Rizaldi Maulidia Achmad

        sip mantap om

  23. mudiono1413

    bang untuk tombol tambah data saya nda fungsi selalu not found . padahal source udah ada.

    • Rizaldi Maulidia Achmad

      sudah ikuti STEP 4 nya om?

  24. Devi Aprilia Ayu Santoso

    terimakasih kak,berguna banget,sehat terus ya kak.

    • Rizaldi Maulidia Achmad

      sama-sama mba. senang bisa membantu hehe
      amiin amiin terimakasih doa nya mba 😀

  25. fani theresa

    maaf bg, untuk “ubah” saya kenapa tidak bisa ya?
    tidak ada yang error, tetapi datanya tidak mau terupdate.
    kesalahan saya dimana ya bg?
    terimakasih

    • Rizaldi Maulidia Achmad

      yakin tidak ada errornya? coba kirim kan saja source code + databasenya via fans page kami mba. nanti saya cek

  26. lanawahyu

    Maaf bang untuk menampilkan di sementar sampai langkai index tidak tp eror di DBnya
    sperti ini dibawah ini

    A Database Error Occurred
    Error Number: 1046

    No database selected

    SELECT * FROM `siswa`

    Filename: C:/xampp/htdocs/crud_ci/system/database/DB_driver.php

    Line Number: 691

    • Rizaldi Maulidia Achmad

      Itu errornya jelas om. No database selected. Periksa di file koneksi nya apakah sudah benar menulis nama databasenya

  27. Inacio Gusmao

    Mohon bantuan gang
    <a href='’>Tambah Data

    Tidak berfungsi gan
    link download juga tidak terkonek bisa dishare saja di google drive?

    ============================================
    http://localhost/crud_ci/siswa/tambah
    Object not found!
    The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.

    If you think this is a server error, please contact the webmaster.

    Error 404
    localhost
    3/7/2018 3:29:35 PM
    Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o PHP/5.3.4 mod_perl/2.0.4 Perl/v5.10.1

    ============================================

    • Rizaldi Maulidia Achmad

      saya kirim ke email om yg ini saja : ser***me@gmail.com source nya

    • Rizaldi Maulidia Achmad

      itu STEP 4 nya sudah di ikuti kan? soalnya error 404. saya curiga karena STEP 4 belum benar di ikuti oleh om nya

  28. sadika umara

    Mas kok untuk halaman edit tetap tercek oleh validasi padahal di model sudah menggunakan if($mode == “save”)

    • Rizaldi Maulidia Achmad

      $mode kan itu di bawa dari function update, mungkin ada skrip yang lupa untuk ngeset bahwa mode nya adalah “update”. coba periksa kembali

  29. munsyi dafi'

    Kang…kalo mau nambah kolom password, padahal password gak boleh kebaca banyak orang, gimana caranya?
    Nuhun….

    • Rizaldi Maulidia Achmad

      Kalau passeword ga usah di tampilkan di tabel untuk view ke user nya om. Saya juga ga pernah menampilkan password di user interface

  30. Jaka Perdana

    Bang, sewaktu saya klik tambah data, gak mau load form nya bang, error.. salah dimana ya bg? Errornya Object not found

    • Rizaldi Maulidia Achmad

      sudah saya balas lewat fans page fb om

  31. Jaka Perdana

    bang itu nis nya bener varchar bukan int? soalnya pas varchar gak bisa dijadiin primary key

    • Rizaldi Maulidia Achmad

      primary key walau bukan tipe data int bisa om, asal jangan di jadikan “auto increment”

  32. ilhamfajar

    permisi mau tanya, kenapa kok data yang saya view hanya data yang terakhir saja? data yang awal sampai tengah tidak tampil

    • Rizaldi Maulidia Achmad

      mungkin ada kesalahan pada query sql nya om. coba kirim file model nya ke saya. kirim via fans page fb om. biar saya bisa cek

      • ilhamfajar

        maaf, itu looping saya untuk menampilkannya sudah saya benarkan. tadi karena ada ; di foreach

  33. rahmadian

    gan bagaimana caranya agar ketika kita menginput nis yang sama dengan yang telah ada, tidak terjadi eror pada database?
    mohon pencerahannya

    • Rizaldi Maulidia Achmad

      berarti harus ada pengecekan dulu terhadap data NIS yang sudah ada di databasenya om. coba pada file SiswaModel.php, tambahkan skrip berikut sebelum baris ke 67 :

      public function cekNIS($nis){
      $this->db->where(‘nis’, $nis);
      $count = $this->db->get(‘siswa’)->row();

      if($count > 0){ // Jika data ada
      return false;
      }else{ // Jika data tidak ada
      return true;
      }
      }

      lalu pada file controller nya (Siswa.php), ubah skrip berikut :
      $this->SiswaModel->save();

      menjadi seperti ini :

      if($this->SiswaModel->cekNIS($this->input->post(‘input_nis’))){ // Jika hasil dari fungsi cekNIS adalah true
      $this->SiswaModel->save(); // Lakukan simpan data
      }else{ // Jika hasil dari fungsi cekNIS adalah false
      // keluarkan alert dengan javascript
      echo “<script>alert(‘Data Siswa dengan NIS tersebut sudah ada’);</script>”;
      redirect(‘siswa/tambah’);
      }

      lalu coba running

      • Muhammad Ridwan

        Bang script nya sudah saya tambahin, hasilnya work.
        Tapi kenapa script alert nya engga muncul ya bang ? Gada alert sama sekali..
        Mohon pencerahannya bang

  34. dikadika

    Mau bantu koreksi kodingannya agan, di SiswaModel.php pada baris ke 41 seharusnya jenis_kelamin bukan jeniskelamin

    • Rizaldi Maulidia Achmad

      oh iyaah om benar. sebenarnya sudah ketahuan bug ini tuh. cuman waktu itu saya cuman update source code nya aja. Sudah saya perbaharui. Terimakasih atas koreksinya om

NOTE ARCHIVES