Plug-In CRUD Untuk CodeIgniter : Grocery CRUD

Saya baru tau, ternyata banyak plug-in di internet yang disediakan untuk CodeIgniter (#efek kebanyakan bertapa di Goa Hiro). Dari yang gratisan sampe yang berbayar alias kelas premium. Dan tadi sore setelah sampai di rumah, saya iseng-iseng browsing tentang CodeIgniter. Akhirnya ketemu deh referensi tentang plug-in untuk CodeIgniter. Salah satunya ialah Grocery CRUD. “Apa sih Grocery CRUD itu?”. Menurut website resminya, Grocery CRUD adalah sebuah library yang dapat mempermudah kita dalam manajemen data-data yang terdapat di dalam database. Yupzz, fungsinya sesuai dengan namanya, CRUD dengan kepanjangan Create, Read, Update, dan Delete. Fungsi CRUD bisanya kita perlukan saat kita membangun halaman admin.

Terus terang, selama ini saya biasanya membuat sendiri fungsi CRUD untuk di setiap aplikasi web yang saya bangun dengan CodeIgniter maupun tanpa CodeIgniter alias coding manual :D. Dan memang sangat membosankan dalam proses pembuatannya yang diulang-ulang. Nah, dengan adanya Grocery CRUD ini saya tidak akan lagi dibuat bosan dalam proses pembuatan fungsi CRUD. Karena dengan plug-in yang gratis ini, saya hanya tinggal memanggil fungsi-fungsi yang sudah ada. Enaknya lagi, Grocery CRUD ini sudah menggunakan Ajax dengan frameowrk javascript jQuery. Kebetulan saya juga sudah sempat mencobanya tadi. Maka dari itu, akan saya jelaskan juga sedikit cara penggunaan Grocery CRUD di postingan ini.

1. Download Grocery CRUD di website resminya. Alamatnya disini http://www.grocerycrud.com/crud/view/downloads. Tentukan versi Grocery CRUD yang akan di download dengan versi CodeIgniter yang akan dipakai. Karena ada sedikit perbedaan antara CodeIgniter 1.7.x dengan 2.0.x.

2. Sambil menunggu proses download (step ini gak berlaku untuk yang punya koneksi kenceng), siapkan file CodeIgniter yang masih fresh alias perawan masih belum diotak-atik. Agar seragam, rename folder CodeIgniter tersebut dengan nama grow. Copy file CodeIgniter tersebut ke folder htdocs. Disini, saya menggunakan CodeIgniter 2.0.0.

3. Setelah proses download selesai, ekstrak file Grocery CRUD di folder yang berbeda agar lebih mudah untuk memindahkannya nanti ke dalam folder grow yang sudah kita siapkan di step 2. Setelah di-ekstrak, akan terdapat folder application, public, dan templates. Serta sebuah file test_database.sql.

4. Nah, sekarang saatnya kita untuk memindahkan file yang terdapat di dalam folder Grocery CRUD ke folder grow.

  • folder public pada folder Grocery CRUD -> htdocs/grow/public
  • folder templates pada folder Grocery CRUD -> htdocs/grow/templates
  • dan untuk isi-isi yang terdapat di dalam folder application Grocery CRUD, copy ke dalam folder application yang terdapat di dalam folder grow sesuai dengan nama foldernya.

5. Untuk konfigurasi file config.php, database.php, dan route.php, saya anggap rekan-rekan sudah paham cara untuk melakukan konfigurasinya.

6. Saatnya pembahasan ke kode yang terdapat dalam file controller-nya. File controller yang saya pakai dibawah ini sudah saya edit.

function index()
{
$this->load->library(‘grocery_Exceptions’);  /* memanggil library seperti try catch, sebagai metode penanganan error */
try{
$crud = new grocery_CRUD(); /*definisi objek baru*/

$crud->set_theme(‘flexigrid’);  /*memilih theme UI yang ingin digunakan*/
$crud->set_table(‘tblmhs’);  /*memilih tabel yang ingin ditampilkan isinya*/
$crud->set_subject(‘Data Mahasiswa’);  /*memberikan judul deskripsi tentang data yang di edit*/
$crud->columns(‘nim’,’nama’,’angkatan’,’jurusan’,’program’);  /*kolom-kolom yang ingin ditampilkan pada datatable*/
$crud->render(); /*tahap akhir setelah semua konfigurasi selesai dilakukan*/

}
catch(Exception $e) /*penanganan bila ada error*/
{ $this->grocery_exceptions->show_error($e->getMessage(), $e->getTraceAsString());
}
}

7. Setelah selesai, mari kita coba di browser. Kalau sudah berhasil, akan tampil tampilan seperti gambar di bawah ini :

Kalau belum berhasil, silahkan dicoba-coba lagi 😀 dan dipelajari dokumentasinya. Nah, sekian dulu sedikit penjelasan saya tentang plug-in/library Grocery CRUD ini. Semoga ke depannya lebih banyak plug-in/library gratis dan powerfull untuk CodeIgniter seperti ini, sehingga para web developper lebih cepat dalam membangun aplikasinya. Dibawah ini, sudah saya sediakan link demo dan link download contoh file yang sudah saya modifikasi sedikit. Semoga bisa membantu rekan-rekan yang mempunyai masalah yang sama dengan saya :).

Happy Blogging and Keep Coding…
Cheers..!!!

Download Aplikasi

26 comments

  1. gusBombom Reply

    brow itu basic grid nya masih pake flexigrid ya ……
    itu sudah ketauan karena sifat buruk dari flexigrid untuk javaprosesnya menconvert semua list out satu persatu…. kalau limit data kecil sih ndak masalah tapi coba ambil data dari data base 100 record aja pasti dah javascript browser error….

    ini semua pengalaman pribadi

    • Gede Lumbung Post authorReply

      hehe
      iyaw bom…
      pas tadi dicoba di localhost, data yg lebih dari 100 enteng dan gak ada masalah…
      pas online, langsung deh gak sip…
      hehe…
      mudah2an ke depan ada solusi yg lainnya…

  2. dew Reply

    mw tanya.. aq bru belajar CI dan udb coba plug in grocery crud,,, hanya saja setelah aq setting,, dan aq run di localhost…
    tampilan add nya kosong (maksud q list dari database yang aq tampilkan di lokalhost kosong)
    tapi,,, jumlah recordnya sama seperti di database q…
    jika aq edit, dan aq add ,,, mw teredit dan tersimpan di database hanya saja ttp gag muncul datanya pada saat aq run localhostnya

    tolong di bantu,,,, saya bru belajar CI… 🙂

    • Gede Lumbung Post authorReply

      hehe…
      sama kasusnya seperti teman saya…
      gak mau tampil juga…
      ternyata masalahnya terletak pada web server yg dipakai, versi xampp yg dipakai berbeda…
      kebetulan saya pakai linux, dan web server xampp yang saya pakai versi lawas…

  3. dew Reply

    ow,,, iya,, tp udah mw kok bli gede…. udh mw tampil.. n aq juga dah nyoba” dari example di grocery crudnya…
    btw,, klo mw gabungin ke template codeigniter qta gmn caranya bli gede? tolong di bantu.. hehehe

  4. jhono Reply

    Ok…Bisa mas gede lumbung…!!!au tanya lagi…kalo form inputnya Radio atau combo gimana…???misal field Jenis kelamin…memakai Radio box…???

  5. jhono Reply

    Satu Lagi mas Gede…???punyaku kok gak ada fasilitas Search nya…???apa tergantung versinya ya…??

    • Gede Lumbung Post authorReply

      kolom search biasanya langsung muncul, udah bawaan tema-nya kok…
      kalo yang terbaru, saya belum perbah nyoba.. 😀

  6. JJ Reply

    Makasih banget tutornya mas Gede, sangat membantu nubi seperti saya, yang ingin saya tanyakan, bisakah kita mengganti themes nya grocery crud dari defaultnya (flexigrid / datatables) menjadi jqgrid?? mohon petunjuknya, terima kasih.

  7. rezki Reply

    mas mau nanya klau nambah datanya menggunaka enkripsi MD5 bagaimana, khusunya untuk manajemen tabel user, yg filed passwordnya di enkrip pakai MD5, mohon bantuannya mas.. terima kasih

  8. lukman Reply

    sudah coba ni grocerynya..simple untuk membuat CRUD..tapi ada satu ni yang mengganjal..kalau mau nampilin gambar di gridnya gimana ya..atau saat gambar berhasil di input langsung tampil gambarnya..bukan nama filenya saja

  9. Bertho Reply

    Bro…kalo mau masukin template CRUD-nya kedalam view qta gmana ya?

  10. boy Reply

    Mas Bro, ada sedikit pertanyaan
    Share aja ya mas bro …
    1. Bagaimana Controller di grocery crud yang di gabung denagn ION_auth
    2. Intinya membuat session login baru masuk ke grocery crud
    3. Kalo Penangangan template di grocery crud nya gimana gan

    selalu di tunggu mas dab bro gan
    hahahha

  11. jacky Reply

    gan Aq pkek XAMPP for Windows Version 1.6.6a , tp knapa di browsernya kagak mau muncul ya,apanya yg salah gan?

  12. Edi santoso Reply

    brow dah coba ditampilkan di template belum?! gmn caranya? misal kayak aplikasi ente yang kpu ada header, sidebar, content($output), footer

  13. aldy Reply

    gan, tahu koding relasi antar colom enggak pada grocery CRUD ini? dimisalkan ada colom nik, nama sama organisasi. nik ada di tabel master pegawai, nik dalam bentuk combobox. ketika nik terpilih, secara otomatis nama dan organisasi berubah sesuai data nik yang terpilih yang ada di tabel pegawai.

    mohon pencerahannya gan..

    koding awal saya seperti ini

    function sia()
    {
    try{
    $crud = new grocery_CRUD();

    $crud->set_theme(‘datatables’);
    $crud->set_table(‘t_sia’);
    $crud->set_subject(‘Sia’);

    $crud->display_as(‘NIK’,’NIK’);
    $crud->set_relation(‘NIK’,’t_pegawai’,’NIK’);

    $crud->display_as(‘kd_alasan’,’Alasan’);
    $crud->set_relation(‘alasan’,’t_alasan’,’alasan’);

    $output = $crud->render();

    $this->_output_data($output);

    }catch(Exception $e){
    show_error($e->getMessage().’ — ‘.$e->getTraceAsString());
    }
    }

    • Gede Lumbung Post authorReply

      ane udah gak pernah pake plugin ini brow
      kalo mau buat kyk gini, pake jquery autocomplete aja
      artikelnya udah pernah ane tulis, coba browsing2 aja di kategori tutorial php atau jquery