PRAKTIKUM Rekayasa Web Modul 2: CRUD CodeIgniter Part I Laboratorium Teknik Informatika Universitas Pasundan
Konten modul: 1. Read Data 2. Create Data 3. Delete Data Tujuan praktikum: 1. Praktikan diharapkan mampu memahami read data menggunakan CI. 2. Praktikan diharapkan mampu memahami proses create data menggunakan CI. 3. Praktikan diharapkan mampu memahami proses delete data menggunakan CI. TIM DOSEN IF 1
1 Bagian 1 Teori 1.1 Read Data Create Data pada codeigniter bisa dilakukan dengan menggunakan Query Builder Lihat pada gambar 1.1 disana terdapat method untuk mengambil sebuah data dari table. Kemudian untuk menampilkan data tersebut bisa menggunakan foreach(). Foreach sendiri yaitu merupakan perulangan khusus untuk pembacaan nilai array. Gambar 1. 1 Method Read Data 1.2 Create Data Create Data pada codeigniter bisa dilakukan dengan menggunakan standar Query Builder Insert. Lihat pada gambar 1.1 disana terdapat kumpulan array dimana Key berisikan field yang tersedia pada table sedangkan Value Berisikan sebuah variable yang berisi sebuah input dari post. Kemudian gunakan method $this->db->insert() untuk melakukan proses insert data dimana parameter pertama berisikan nama table, parameter kedua berisikan data array Gambar 1. 2 Method Insert Data [Sumber : https://www.codeigniter.com/user_guide/database/examples.html?highlight=insert] TIM DOSEN IF 2
1.3 Delete Data Delete Data pada codeigniter bisa dilihat sesuai documentasi yang tersedia pada codeignter bagian Query Build Class. Sederhananya proses delete sebuah data hanya memerlukan method $this->db->delete( nama tabel, kondisi), namun ada beberapa tahapan yang perlu diperhatikan seperti halnya dalam php native dimana proses delete dilakukan ketika mendapatkan sebuah parameter id pada codeigniter sangat serupa dimana membutuhkan parameter pemicu untuk proses delete sebuah data. Perhatikan gambar 1.2 disana terdapat nama table dan kondisi. Gambar 1. 3 Method Delete Data [Sumber: https://www.codeigniter.com/user_guide/database/query_builder.html?highlight=delete] TIM DOSEN IF 3
2 Bagian 2 Latihan 2.1 Read Data Pada pertemuan sebelumnya, kita telah berhasil menampilkan data buku dan kategori buku dari tanpa menggunakan database. Nah, Agar data yang ditampilkan pada web dinamis, pertama kita import dulu database yang telah tersedia buat database dengan nama rekweb_buku lalu import database nya, selanjutnya, kita harus melakukan konfigurasi pada file database.php, seperti yang ada pada gambar 2.1. Gambar 2. 1 Configurasi Database Jika sudah melakukan konfigurasi database, Beralih ke file autoload.php. cari bagian library lalu isi sesuai pada gambar 2.2 Gambar 2. 2 autoload library Jika sudah melakukan konfigurasi autoload, Beralih ke file config.php. masukan value base url seperti yang tersedia pada gambar 2.3 Gambar 2. 3 configurasi base_url Jika sudah melakukan konfigurasi autoload, config, dan database. Ketikkan kode yang ada pada gambar 2.4 dan simpan sebagai m_buku.php. Ketikkan juga kode yang ada pada gambar 2.5 dan simpan sebagai m_kategori.php. TIM DOSEN IF 4
Gambar 2. 4 m_buku.php Gambar 2. 5 m_kategori.php Hal yang dibutuhkan selanjutnya adalah sebuah wadah yang berguna menampung data yang kita ambil dari model. Untuk itu, modifikasi fungsi index yang ada pada setiap controller, seperti yang dapat dilihat pada gambar 2.6 dan gambar 2.7. Gambar 2. 6 Hasil modifikasi buku.php Gambar 2. 7 Hasil Modifikasi kategori.php Sekarang, modifikasi halaman dashboard.php yang digunakan untuk menampilkan data buku, seperti yang ada pada gambar 2.8. TIM DOSEN IF 5
Gambar 2. 8 Tabel untuk Menampilkan Data Buku Dan untuk menampilkan daftar kategori buku, modifikasi halaman dashboard.php pada folder kategori, seperti yang ada pada gambar 2.9. Gambar 2. 9 Tabel untuk Menampilkan Data Kategori TIM DOSEN IF 6
2.2 Create Data Pada latihan ini, kita akan mencoba untuk menambahkan data buku dan data kategori buku ke dalam database. Persiapannya cukup mudah. Gunakan project yang telah kalian buat pada pertemuan pertama. Pertama, tambahkan fungsi add() pada controller buku, seperti yang ada pada gambar 2.10. Gambar 2. 10 Fungsi Add pada Controller Buku.php Kemudian, buat juga fungsi insert() di controller buku, seperti yang ada pada gambar-gambar berikut ini: TIM DOSEN IF 7
Gambar 2. 11 Fungsi insert pada controller buku.php Kemudian buatlah sebuah fungsi upload_img() di controller buku. Seperti gambar dibawah ini. Gambar 2. 12 Fungsi konfigurasi image pada controller buku Setelah selesai membuat fungsi insert() dan upload_img(), apakah proses penambahan data akan berhasil? Tentu saja tidak. Itu karena kita belum membuat query ke database. Buatlah sebuah fungsi insert() pada model buku, seperti yang ada pada gambar 2.12. Gambar 2. 13 function insert pada model buku.php Silakan coba untuk menambah data buku! Jika sudah berhasil, lakukan hal yang hampir serupa untuk menambah daftar kategori buku! 2.3 Delete Data Setelah berhasil menambah data, sekarang kita akan berlatih untuk menghapus data. Silakan buat fungsi delete() di controller buku, seperti yang ada pada gambar 2.13. TIM DOSEN IF 8
Gambar 2. 14 Fungsi Delete pada Controller Buku.php Jangan lupa untuk membuat query untuk menghapus datanya. Lihat gambar 2.14 untuk membuat query penghapusan data buku. Gambar 2. 15 Query Delete Data Buku.php Silakan coba untuk menghapus salah satu data buku yang ada! Jika penghapusan data gagal, silakan diskusikan dengan asisten agar mendapatkan solusinya! Jika sudah berhasil, silakan lakukan hal yang hampir serupa untuk menghapus data kategori buku! TIM DOSEN IF 9
3 Bagian 3 TUGAS 1. Silahkan Lanjutkan Kembali Progress dari studi kasus kalian masing masing dengan menambahkan fitur read data, insert data dan delete data. 2. Tugas dikumpulkan Maksimal 3 X 24 Jam kealamat email asisten masing masing atau sesuai ketentuan pengirim dari setiap asistenya masing masing. TIM DOSEN IF 10