
Alhamdulillah, Tutorial Code Igniter Part 8: CRUD Modul Berita akhirnya release juga. Pada Tutorial Part 8 ini Anda akan belajar untuk menggunakan fasilitas CRUD (Create, Read, Update & Delete) yang ada dalam Code Igniter. Setelah mengikuti tutorial ini diharapkan Anda dapat menambah, mengubah dan menghapus konten berita yang ada 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
- Mengunduh hasil akhir tutorial Part 7 di sini: https://drive.google.com/file/d/0B5BhV6c89_2YbkxUTkxtVTJwS1k/view?usp=sharing
- Hasil akhir Tutorial Part 8 ini bisa diunduh di: https://drive.google.com/file/d/0B5BhV6c89_2YNzJRS3k2ZFhLOGM/view?usp=sharing
Mengkatifkan library dan helper form
Untuk bekerja dengan form, Anda harus mengaktifkan library dan helper form yang ada di Code Igniter.

Berikut langkah-langkahnya:
- Buka file autotoload.php yang ada dalam folder tutorial_ci/application/config/
- Pada baris ke-55, aktifkan library untuk vaslidasi form sehingga kode menjadi:
$autoload[‘libraries’] = array(‘database’,’form_validation’);
- Pada baris ke-67, aktifkan helper form untuk fungsi form CI sehingga menjadi:
$autoload[‘helper’] = array(‘url’,’form’);
- Simpan file autoload.php
Membuat berita_model.php di folder tutorial_ci/application/models/admin
Class dengan nama berita_model ini nanti kita simpan di dalam folder tutorial_ci/application/model/admin berfungsi untuk menampilkan, menambah, mengubah dan menghapus data berita.
Membuat folder admin
Folder admin digunakan untuk menyimpan seluruh model yang akan digunakan di halaman administrator.
- Buka folder tutorial_ci/application/models
- Buat folder baru dalam folder models tersebut dengan nama admin

Membuat berita_model di folder tutorial_ci/application/models/admin
Selanjutnya adalah membuat file model yang nantinya akan meng-handle seluruh aktivitas data modul berita.

Berikut langkah-langkahnya:
- Buat file PHP baru dengan nama berita_model dalam folder tutorial_ci/application/models/admin
- Ketik kode di bawah ini:
<?php
class Berita_model extends CI_Model {
public function __construct() {
$this->load->database();
}// Menampilkand data berita
public function daftar_berita() {
$query = $this->db->query(‘SELECT berita.judul, berita.status_berita, berita.slug, berita.id_berita, berita.tanggal, users.nama FROM berita, users WHERE berita.id_user = users.id_user ORDER BY id_berita DESC’);
return $query->result_array();
}
} - Simpan file berita_model.php tersebut
Membuat controller berita.php dalam folder tutorial_ci/application/controllers/admin
Controller berita ini nantinya akan dipakai untuk mengontrol model dan view mana yang harus tampil untuk menampilkan data berita yang ada.

Berikut langkah-langkahnya:
- Buat file PHP baru dengan nama berita.php dalam folder tutorial_ci/application/controllers/admin
- Ketik kode di bawah ini:
<?php if ( ! defined(‘BASEPATH’)) exit(‘No direct script access allowed’);
class Berita extends CI_Controller {public function __construct() {
parent::__construct();
$this->load->model(‘admin/berita_model’);
}public function index() {
$query = $this->berita_model->daftar_berita();
$data=array(‘title’=>’Manajemen Berita – Java Web Media’,
‘berita’ => $query,
‘isi’ =>’admin/berita/berita_view’
);
$this->load->view(‘admin/layout/wrapper’,$data);
}
} - Simpan file berita.php
Membuat view untuk modul berita di administrator
Modul berita yang di administrator nantinya dapat diakses melalui alamat http://localhost/tutorial_ci/admin/berita atau bisa Anda akses dengan mengklik link navigasi berita yang ada di halaman http://localhost/tutorial_ci/admin/dasbor/.
Membuat folder berita dalam folder tutorial_ci/application/views/admin
Folder berita ini nanti akan digunakan sebagai tempat penyimpanan seluruh view untuk modul berita.

Berikut langkah-langkahnya:
- Buka folder tutorial_ci/application/views/admin
- Buat folder baru dengan nama berita
Membuat view berita dalam folder tutorial_ci/application/views/admin/berita
View berita untuk menampilkan daftar berita yang telah ada, menampilkan link untuk mengedit dan menghapus berita.

Berikut langkah-langkahnya:
- Buat file PHP baru dengan nama berita_view.php dalam folder tutorial_ci/application/views/admin/berita
- Ketik kode di bawah ini:
<div class=”konten”>
<h1>Manajemen berita</h1>
<div align=”right”>
<a href=”<?php echo base_url() ?>admin/berita/tambah” class=”tambah”>Tambah berita</a>
</div>
<p>Daftar berita</p>
<table width=”100%” border=”0″ cellspacing=”0″ cellpadding=”0″ class=”myform”>
<tr>
<th scope=”col”>Judul</th>
<th scope=”col”>Status</th>
<th scope=”col”>Penulis</th>
<th scope=”col”>Tanggal</th>
<th scope=”col”> </th>
</tr>
<?php foreach($berita as $list) { ?>
<tr>
<td>
<a href=”<?php echo base_url() ?>home/read/<?php echo $list[‘slug’] ?>” target=”_blank”>
<?php echo $list[‘judul’]; ?></a></td>
<td><?php echo $list[‘status_berita’]; ?></td>
<td><?php echo $list[‘nama’]; ?></td>
<td><?php echo $list[‘tanggal’]; ?></td>
<td>
<a href=”<?php echo base_url() ?>admin/berita/edit/<?php echo $list[‘id_berita’] ?>”>EDIT</a> | <a href=”<?php echo base_url() ?>admin/berita/delete/<?php echo $list[‘id_berita’] ?>”>DELETE</a></td>
</tr>
<?php } ?>
</table></div>
- Simpan file berita_view.php
Menguji hasil pembuatan
Untuk mengetesnya, Anda bisa mengaksesnya secara langsung di http://localhost/tutorial_ci/admin/berita.
Anda bisa mendownload hasil tutorial ini di link ini: https://drive.google.com/file/d/0B5BhV6c89_2YNzJRS3k2ZFhLOGM/view?usp=sharing
Berikut hasil akhirnya:

keren” :D makin semangat nih buat belajar :D makasih banyak gan
Alhamdulillah…selamat belajar yah
maaf pak, ini sdh sampe sesion 8, cuma daftar beritanya ga mau tampil di list webnya,
SELECT berita.judul, berita.status_berita, berita.slug, berita.id_berita, berita.tanggal, users.nama FROM berita, users WHERE berita.id_user = users.id_user ORDER BY id_berita DESC—-> diquery di lgsung di database kosong pak, mhon sarannya pak
trimakasih
Coba bandingkan kode mas dengan hasil akhir tutorial Part 8, apakah ada perbedaan atau tidak yah. Unduh di sini: https://drive.google.com/file/d/0B5BhV6c89_2YNzJRS3k2ZFhLOGM/view?usp=sharing
Silakan bandingkan dengan kode akhir part 8 yah. Bisa diunduh di https://drive.google.com/file/d/0B5BhV6c89_2YNzJRS3k2ZFhLOGM/view?usp=sharing
sy download yg dilink dari bpk, lalu sy drop tabel user n berita, kmdian sy impor tabel lagi yg difolder tutorial_ci 8, hsilnya jg sama pak… list beritanya msh blm tampil
Inilah kalo langsung download tanpa baca part-part sebelumnya. Pasti bingung. Saran saya silakan baca part2 sebelumnya…
saya juga begitu brow, saya sudah coba dengan cara join seperti ini di Berita_model:
$this->db->select('*');
$this->db->from('berita');
$this->db->join('users', 'berita.id_user = users.id_user ORDER BY id_berita DESC' );
$query = $this->db->get();
return $query->result_array();
Tetep ga bisa muncul, tapi aneh nya ga ada error, saya penasaran jadi saya buka tabel users di mysql, ternyata tabel usernya memang kosong ga ada isinya.
setelah saya isi 1 user, baru deh di halaman admin muncul semua list beritanya.he..
jadi yang dari file download tersebut untuk table user memang kosong belum diisi, silahkan diisi dulu nanti kan muncul.he..
semoga membantu.
Buat penulis, terimakasih anda sangat membantu newbie seperti saya :)
Teknik lain: gunakan query “SELECT * FROM berita ORDER BY id_berita DESC.
Tapi untuk view-nya data nama user tidak usah di cetak
yAAA KASIHAN GKK DIBALESSS ADMIN
di ganti tanda kutip ‘codingannya’ jadi gini (‘SELECT…’) coba aja mau kok
sip banget ini tutornya mas
Terima kasih atas tutorialnya, sangat mengena sekali.
sekedar saran ni … emang kalo penulis/atau user nggak di isi ya ngak bisa keluar.. di kode scriptnya kan uda di masukkan nama usernya coba di isi usernya insyallah bisa…
coba lihat ini :
/ Menampilkand data berita
public function daftar_berita() {
$query = $this->db->query(‘SELECT berita.judul, berita.status_berita, berita.slug, berita.id_berita, berita.tanggal, users.nama FROM berita, users WHERE berita.id_user = users.id_user ORDER BY id_berita DESC’);
return $query->result_array();
}
}
saya uda coba dan berhasil.. terima kasih.. admin java webmedia… anda memang sempurna….hehehehe
tambahan : maksud di isi … itu di databasenya….
Terimakasih..
Tapi memang ada beberapa kesalahan, karena saya coba di beberapa PC ada yang tampil dan ada yang tidak.
Makasih Solusinya
terimakasih sekali min atas tutorialnya…luar biasa :D salut…bisa membantu sekali
saya sudah mengikuti dari part 1 sampai 7 min,semua lancar,aman dan sesuai screenshot anda…
tapi di part 8, saya juga memiliki kendala seperti user yg lain, yakni data berita tidak dapat tampil di list…saya juga sudah mencoba querinya langsung di phpmyadmin…hasilnya sama “empty result”
ada solusi min?
==SOLUSI sementara==
tambahkan 1 user di tabel ‘users’ :D ==>> karena tabel ‘users’ belum ada isinya
mungkin mimin punya jawaban yg lebih tepat…
Terima kasih banyak mas/pak , tutorial di web ini sangat sangat jelas dan sangat memberi motivasi saya untuk lebih mempelajari CI ke depannya :)
saya binggung setiap mau menampilkan di web pemanggilanya harus ditambah index.php baru mau tampil, jadi ketika dari menu home langsung di klik ex:kontak not found
http://localhost/ci/index.php/home/read/latihan-static-page -> mau
http://localhost/ci/home/read/latihan-static-page -> tidak mau
di tambah htaccess nya sist, silakan cek lagi tutorial sebelum nya
nggak sekaliah paging nya om ?
terimakasih kepada javawebmedia,, tutorialnya sangat bagus,, sederhana dan mudah di pahami
selama ini saya menggunakan php nativ,, tp setelah sy belajar framework ci melalui javawebmedia, ada pencerahan,, tentang framework ci
terimakasih admin javawebmedia :)
mas ini cuma tambah? edit hapus ada?
cara nambah gambarnya gmana gan?
kak, mau nanya dong kalo digunakan untuk coding yang sejenis seperti ini
load->database();
}
// Menampilkand data berita
public function daftar_berita() {
$query = $this->db->query(‘SELECT * FROM daftar_mobil ORDER BY id_mobil DESC’);
return $query->result_array();
}
}
kok error nya gini ya ? Call to a member function database() on a non-object in C:\xampp\htdocs\dimasrent\application\models\admin\daftarmobil_model.php on line 4
itu solusinya gimana kak? Terimakasih
tks java web media atas tutorialnya, memang benar daftar tidak muncul, karena di statemennya SQLnya saya lihat memang yang dimunculkan adalah daftar berita yang di tulis oleh user tersebut, jadi pertama harus ada minimal 1 user yang menulis 1 berita. baru muncul daftar tersebut, persis statemen querynya berikut. karena berita akan di cocokkan dengan user penulisnya baru ditampilkan. kalau tidak ada yang cocok ya tidak ada yang ditampilkan. seperti potongan statement berikut:
WHERE berita.id_user = users.id_user ORDER BY id_berita DESC’);
java media sip banget deh. lanjutkannn …. : )!!!
A PHP Error was encountered
Severity: Notice
Message: Only variable references should be returned by reference
Filename: core/Common.php
Line Number: 257
tuh kenapa ya broo ? help
kalo kasus saya pas mau login ga bs, karena tidak tau user n pasawednya,, mohon pencerahannya dong
mas, kok di part 8 halaman nya not found ? padahal saya sudah mengikuti step by step. mohon bantuannya.
mas kok file not found? apakah berbeda bila menggunakan CI 3.0? mohon pencerahannya
izin rombak , otak-atik dan dan pake gan,
ini pake Slug kan bg pas akses beritanya ??
Bukan Bang
Sekedar INFO,
yang nampilin data pada tabel gagal ada beberapa kemungkinan kesalahan, salah satunya
tabel users pada database belum ada isinya kakak. Terimakasih,
Informasi ini menarik
OWGHEI