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

Berikut langkah-langkahnya:
- Buka file berita_model.php yang ada di folder tutorial_ci/application/models/admin/
- Letakkan cursor Anda sebelum kurung kurawal terakhir (sekitar baris ke-18), lalu tekan Enter.
- 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();
} - 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.

Berikut langkah-langkahnya:
- Buka file berita_model.php yang ada di folder tutorial_ci/application/models/admin/
- Letakkan cursor Anda sebelum kurung kurawal terakhir (sekitar baris ke-28), lalu tekan Enter.
- 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’);
} - Simpan kembali file berita_model.php
Membuat view untuk form update berita
Untuk mengedit berita, Anda membutuhkan form yang akan digunakan untuk mengeditnya.

Berikut langkah-langkahnya:
- Buat file PHP baru dengan nama edit_berita.php dalam folder tutorial_ci/application/views/admin/berita/
- 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> - 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.

Berikut langkah-langkahnya:
- Buka file berita.php yang ada dalam folder tutorial_ci/application/controllers/admin/
- Letakkan kursor Anda sebelum kurung kurawal tutup yang terakhir (sekitar baris 42). Tekan Enter
- 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/’);
}
} - Simpan kembali file berita.php
Menambahkan controller untuk mengghapus berita (delete)
Langkah selanjutnya adalah menambahkan controller yang berfungsi untuk menghapus berita.

Berikut langkah-langkahnya:
- Buka file berita.php yang ada dalam folder tutorial_ci/application/controllers/admin/
- Letakkan kursor Anda sebelum kurung kurawal tutup yang terakhir (sekitar baris 73). Tekan Enter
- Masukkan kode di bawah ini:
// Menghapus berita
public function delete($id) {
$this->berita_model->delete_berita($id);
redirect(base_url().’admin/berita/’);
} - Simpan kembali file berita.php
Uji coba mengubah dan menghapus berita
Langkah selanjutnya adalah melakukan uji coba.

Untuk mengubah berita, berikut langkah-langkahnya:
- Buka halaman daftar berita http://localhost/tutorial_ci/admin/berita/
- Klik salah satu link Edit yang ada di halaman tersebut
- Form edit berita akan muncul, lakukan perubahan pada judul, ringkasan dan isi berita
- Klik tombol Submit. Pastikan berita mengalaman perubahan
Untuk menghapus berita, berikut langkah-langkahnya:
- Buka halaman daftar berita http://localhost/tutorial_ci/admin/berita/
- Klik salah satu link Delete yang ada di halaman tersebut
- 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
part 11 nya bagian apa lagi nih gan ?? :D huraaaa
Thanks alot? di download dulu terus pelajari lagi dari awal kemaren lupa lanjut, bingung dalam hal pembagian menu nya, thanks agan :D lanjut donk :D
kok login admin ndak mau ya ? malah not found :(
liat-liat bagian controller nya gan :D mungkin ada kesalahan :D
Controller yang mana gan? Hehe…
controller login nya gan :D mungkin agan freddy nulis function nya bukan index :D hahahahaha
Ia gan yang part 4 itu yang di dalem file login_view.php actionnya masih manual gan,
mas buat tutorial upload gambar dong….dengan CI
terimakasih atas tutorial nya, minta ijin sedot untuk mempelajari, tutorial ini sangat membantu saya dalam menyelesaikan tugas kuliah saya.
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
Sama gan.. punya ane juga gitu,,
ini ane msih berjuang benerin tu script wkwkwk..
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
Terima kasih mas, tutorialnya. saya sukses dari tahap awal sampai akhir.
mohon kelanjutannya
Mantap Toturialnyo….
Terimakasih
mas untuk, upload gambarnya belum bisa?
Belum mas…hehe…
gan masih error untuk updatenya, kalo ane update di databse ke update tapi di tampilannya ilang
terimakasih tutorialnya,
mohon dilanjut untuk login administratornya di tunggu
absen kang..
tak pantengin trus nih tutor, sampe rampung.. :)
nuhun buat ilmunya kang, barokah euy..
Thkans for taking the time to post. It’s lifted the level of debate
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
kenapa setelah di update tampilan berita di home nya ilang?
thanks bro ..sangat manfaat..
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
Reques pak fungsi save sama searchnya :v
Terimakasih berkat javaweb media site saya http://www.zaradroid.my.id semakin bagus dan berkembang