Kursus Web Design Depok

Tutorial Code Igniter Part 10: CRUD Modul Berita (Bagian 3: Update dan Delete Berita)

Kursus Web Design Depok
Kursus Web Design Depok

Pada Tutorial Part 10 ini, Anda akan belajar mengupdate dan menghapus berita yang telah tersimpan di database.

Sebelum mengikuti tutorial ini, pastikan Anda telah mengikuti:

  1. Mengikuti Tutorial Code Igniter Part 1: Installasi Code Igniter
  2. Mengikuti Tutorial Code Igniter Part 2: Membuat halaman home
  3. Mengikuti Tutorial Code Igniter Part 3: Membuat halaman kontak
  4. Mengikuti Tutorial Code Igniter Part 4: Membuat halaman login administrator
  5. Mengikuti Tutorial Code Igniter Part 5: Membuat halaman dasbor administrator
  6. Mengikuti Tutorial Code Igniter Part 6: Mempersiapkan database dan konfigurasinya di Code Igniter
  7. Mengikuti Tutorial Code Igniter Part 7: Menampilkan daftar berita dan detailnya
  8. Mengikuti Tutorial Code Igniter Part 8: CRUD Modul Berita (Bagian 1)
  9. Mengikuti Tutorial Code Igniter Part 9: CRUD Modul Berita (Bagian 2: Tambah berita dan Installasi TinyMCE)
  10. Mengunduh hasil akhir tutorial Part  9: https://drive.google.com/file/d/0B5BhV6c89_2YZFI4X1ZTQmdzTTQ/view?usp=sharing
  11. Mengunduh hasil akhir tutorial Part 10 sebagai  bahan review: https://drive.google.com/file/d/0B5BhV6c89_2YRUQzSTZYYjB1eXM/view?usp=sharing

Menambahkan fungsi update dan delete berita pada model (berita_model)

Pada tutorial Part sebelumnya Anda telah membuat model untuk mengelola database berita, yaitu berita_model.php yang ada di folder tutorial_ci/application/models/admin/. Model yang sudah ada tersebut baru meng-cover fungsi untuk menampilkan listing data (daftar_berita)  dan menambah data (tambah_berita).

Dalam tutorial kali ini, Anda akan menambahkan fungsi untuk menampilkan per-item data yang akan diedit/hapus.

Fungsi menampilkan detail berita (detail_berita)

Fungsi model detail_berita adalah untuk memanggil item berita dengan parameter id_berita.

Kursus Web Programming Depok
Kursus Web Programming Depok

Berikut langkah-langkahnya:

  1. Buka file berita_model.php yang ada di folder tutorial_ci/application/models/admin/
  2. Letakkan cursor Anda sebelum kurung kurawal terakhir (sekitar baris ke-18), lalu tekan Enter.
  3. Lalu ketik kode ini:

    // Detail berita
    public function detail_berita($id = FALSE) {
    if ($id === FALSE) {
    $query = $this->db->get(‘berita’);
    return $query->result_array();
    }
    $query = $this->db->get_where(‘berita’, array(‘id_berita’ => $id));
    return $query->row_array();
    }

  4. Simpan kembali file berita_model.php

Fungsi mengupdate/mengedit data berita (edit_berita) dan menghapus berita (delete_berita)

Kedua model ini nanti akan digunakan untuk mengubah dan menghapus berita.

Kursus Web Programming
Kursus Web Programming

Berikut langkah-langkahnya:

  1. Buka file berita_model.php yang ada di folder tutorial_ci/application/models/admin/
  2. Letakkan cursor Anda sebelum kurung kurawal terakhir (sekitar baris ke-28), lalu tekan Enter.
  3. Lalu ketik kode ini:

    // Update berita
    public function edit_berita($data) {
    $this->db->where(‘id_berita’, $data[‘id_berita’]);
    return $this->db->update(‘berita’, $data);
    }

    // Hapus berita
    public function delete_berita($id) {
    $this->db->where(‘id_berita’,$id);
    return $this->db->delete(‘berita’);
    }

  4. Simpan kembali file berita_model.php

Membuat view untuk form update berita

Untuk mengedit berita, Anda membutuhkan form yang akan digunakan untuk mengeditnya.

Kursus Desain Web di Depok
Kursus Desain Web di Depok

Berikut langkah-langkahnya:

  1. Buat file PHP baru dengan nama edit_berita.php dalam folder tutorial_ci/application/views/admin/berita/
  2. Lalu ketik kode di bawah ini:

    <div class=”konten”>
    <h1>Mengubah berita</h1>
    <?php require_once(‘tinymce.php’) ?>
    <form name=”form1″ method=”post” action=”<?php echo base_url(); ?>admin/berita/edit” class=”myform”>
    <p><label for=”judul”>Judul berita</label>
    <input name=”judul” type=”text” id=”judul” size=”70″ value=”<?php echo $detail[‘judul’] ?>”>
    </p>
    <p><label for=”ringkasan”>Ringkasan berita</label>
    <textarea name=”ringkasan” id=”ringkasan” cols=”45″ rows=”5″><?php echo $detail[‘ringkasan’] ?></textarea>
    </p>
    <p><label for=”isi”>Isi berita</label>
    <textarea name=”isi” id=”isi” cols=”45″ rows=”5″><?php echo $detail[‘isi’] ?></textarea>
    </p>
    <p>
    <label for=”status_berita”>Status berita</label>
    <select name=”status_berita” id=”status_berita”>
    <option value=”Published” <?php if($detail[‘status_berita’]==”Published”) { echo ‘selected’; } ?>>Publikasikan</option>
    <option value=”Draft” <?php if($detail[‘status_berita’]==”Draft”) { echo ‘selected’; } ?>>Simpan sebagai draft</option>
    </select>
    <input name=”id_user” type=”hidden” id=”id_user” value=”1″>
    <input name=”id_berita” type=”hidden” id=”id_berita” value=”<?php echo $detail[‘id_berita’] ?>”>
    </p>
    <p>
    <input type=”submit” name=”submit” id=”submit” value=”Submit”>
    <input type=”reset” name=”submit2″ id=”submit2″ value=”Reset”>
    </p>
    </form>
    </div>

  3. Simpan kembali file edit_berita.php

 Menambahkan controller untuk mengubah berita

Anda telah berhasil membuat model dan view untuk mengubah dan menghapus berita. Langkah selanjutnya adalah menambahkan fungsi pada controller yang memungkinkan untuk mengupdate dan menghapus berita.

Kursus Code Igniter
Kursus Code Igniter

Berikut langkah-langkahnya:

  1. Buka file berita.php yang ada dalam folder tutorial_ci/application/controllers/admin/
  2. Letakkan kursor Anda sebelum kurung kurawal tutup yang terakhir (sekitar baris 42). Tekan Enter
  3. Masukkan kode di bawah ini:

    // Menampilkan halaman edit
    public function edit($id) {
    $this->form_validation->set_rules(‘judul’, ‘Judul’, ‘required’);
    $this->form_validation->set_rules(‘ringkasan’, ‘Ringkasan’, ‘required’);
    $this->form_validation->set_rules(‘isi’, ‘Isi berita’, ‘required’);
    if ($this->form_validation->run() === FALSE) {
    $data[‘berita’] = $this->berita_model->detail_berita();
    $data[‘detail’] = $this->berita_model->detail_berita($id);
    $data=array(‘title’ => ‘Mengubah berita: ‘.$data[‘detail’][‘judul’],
    ‘berita’ => $this->berita_model->detail_berita(),
    ‘detail’ => $this->berita_model->detail_berita($id),
    ‘isi’ =>’admin/berita/edit_berita’
    );
    $this->load->view(‘admin/layout/wrapper’,$data);
    // Kalau tidak ada error berita diupdate
    }else{
    $slug = url_title($this->input->post(‘judul’), ‘dash’, TRUE);
    $data = array(
    ‘id_berita’ => $this->input->post(‘id_berita’),
    ‘judul’ => $this->input->post(‘judul’),
    ‘slug’ => $slug,
    ‘ringkasan’ => $this->input->post(‘ringkasan’),
    ‘isi’ => $this->input->post(‘isi’),
    ‘status_berita’ => $this->input->post(‘status_berita’),
    ‘id_user’ => $this->input->post(‘id_user’)
    );
    $this->berita_model->edit_berita($data);
    redirect(base_url().’admin/berita/’);
    }
    }

  4. Simpan kembali file berita.php

Menambahkan controller untuk mengghapus berita (delete)

Langkah selanjutnya adalah menambahkan controller yang berfungsi untuk menghapus berita.

Kursus Desain Grafis Depok
Kursus Desain Grafis Depok

Berikut langkah-langkahnya:

  1. Buka file berita.php yang ada dalam folder tutorial_ci/application/controllers/admin/
  2. Letakkan kursor Anda sebelum kurung kurawal tutup yang terakhir (sekitar baris 73). Tekan Enter
  3. Masukkan kode di bawah ini:

    // Menghapus berita
    public function delete($id) {
    $this->berita_model->delete_berita($id);
    redirect(base_url().’admin/berita/’);
    }

  4. Simpan kembali file berita.php

Uji coba mengubah dan menghapus berita

Langkah selanjutnya adalah melakukan uji coba.

Kursus Web Design Depok
Kursus Web Design Depok

 

Untuk mengubah berita, berikut langkah-langkahnya:

  1. Buka halaman daftar berita http://localhost/tutorial_ci/admin/berita/
  2. Klik salah satu link Edit yang ada di halaman tersebut
  3. Form edit berita akan muncul, lakukan perubahan pada judul, ringkasan dan isi berita
  4. Klik tombol Submit. Pastikan berita mengalaman perubahan

Untuk menghapus berita, berikut langkah-langkahnya:

  1. Buka halaman daftar berita http://localhost/tutorial_ci/admin/berita/
  2. Klik salah satu link Delete yang ada di halaman tersebut
  3. Pastikan berita terhapus

Source Code hasil akhir tutorial

Anda dapat mendownload hasil akhir tutorial ini di: https://drive.google.com/file/d/0B5BhV6c89_2YRUQzSTZYYjB1eXM/view?usp=sharing

Java Web Media: Web Design di Kota Depok

Java Web Media adalah perusahaan yang bergerak di bidang web design, web programming, web application, web education, graphic design dan graphic education yang berbasis di kota depok.

26 thoughts to “Tutorial Code Igniter Part 10: CRUD Modul Berita (Bagian 3: Update dan Delete Berita)”

  1. Thanks alot? di download dulu terus pelajari lagi dari awal kemaren lupa lanjut, bingung dalam hal pembagian menu nya, thanks agan 😀 lanjut donk 😀

  2. terimakasih atas tutorial nya, minta ijin sedot untuk mempelajari, tutorial ini sangat membantu saya dalam menyelesaikan tugas kuliah saya.

  3. gan ane udah coba ikuti sesuai tutor tapi setelah ane jalanin pas proses delete berjalan tapi yang pas edit setelah di submit malah muncul keterangan ini

    A PHP Error was encountered

    Severity: Warning

    Message: Missing argument 1 for Berita::edit()

    Filename: admin/berita.php

    Line Number: 46

    A PHP Error was encountered

    Severity: Warning

    Message: Cannot modify header information – headers already sent by (output started at C:\xampp\htdocs\ci\system\core\Exceptions.php:185)

    Filename: helpers/url_helper.php

    Line Number: 542

    pas ana back status menjadi published tapi dilihat di home dia tidak muncul, saya download source dari agan juga sama hasilnya… mohon pencerahaannya

    1. gini kak solusinya

      // Menampilkan halaman edit
      public function edit($id =’ ‘) {
      $this->form_validation->set_rules(‘judul’, ‘Judul’, ‘required’);
      $this->form_validation->set_rules(‘ringkasan’, ‘Ringkasan’, ‘required’);
      $this->form_validation->set_rules(‘isi’, ‘Isi berita’, ‘required’);
      if ($this->form_validation->run() === FALSE) {
      $data[‘berita’] = $this->berita_model->detail_berita();
      $data[‘detail’] = $this->berita_model->detail_berita($id);
      $data=array(‘title’ => ‘Mengubah berita: ‘.$data[‘detail’][‘judul’],
      ‘berita’ => $this->berita_model->detail_berita(),
      ‘detail’ => $this->berita_model->detail_berita($id),
      ‘isi’ =>’admin/berita/edit_berita’
      );

      sok dicobain, insyaallah bisa hehe

  4. Gan…mau nanya ne..plisss banget….kalo nambahin image gimana ya..kalo klik insert image kok gak ada tombol browsenya..yang ada source doang…giman ya cara nambahin biar bisa insert image..thanksr

  5. Assalamualaikum. Saya sudah mengikuti semua tutorial ini dari bagian 1 sampai bagian 10 ini. Terima kasih mau berbagi. Untuk bagian login belum dimulai ya? semoga bisa sampai keseluruhan bagian bisa dishare semua. Terima kasih

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.