Tutorial Codeigniter 4 – Part 9 – Cara Membuat CRUD dengan Codeigniter 4

Selamat datang di warung belajar, kita akan melanjutkan pembahasan mengenai tutorial Codeigniter 4, dalam tutorial ini kita akan membahas cara Membuat CRUD di Codeigniter 4.

Buat teman – teman yang belum tahu apa itu CRUD, CRUD adalah singkatan dari (Create, Read, Update, Delete) jadi teman – teman akan membuat fitur untuk menambah data, menampilkan data, update data dan delete data di database menggunakan Codeigniter 4.

Study kasus ini CRUD yang kita buat kali ini adalah data pegawai, baik kita akan mulai pembahasannya dari step – awal instalasi Codeigniter 4, hingga jadi sebuah fitur CRUD..

 


Video Tutorial Codeigniter 4 – Part 9 – Membuat CRUD dengan Codeigniter 4 – (Bagian 1) Persiapan

Buat teman – teman yang biasanya belajar menggunakan Video, kita juga ada video tutorial membuat CRUD dengan Codeigniter 4, Bagian 1 di tahap persiapan  (Instalasi, Membuat Migration, Seeding, Pembuatan Template)


 

 

 

Install Codeigniter 4

Untuk langkah awal kita perlu menginstall codeigniter 4 terlebih dahulu, dalam contoh ini kita install codeigniter 4 dalam folder dengan nama pegawai.

karena dalam contoh ini kita gunakan xampp, dan secara default untuk web direktori xampp berada di C:/xampp/htdocs, jadi silahkan masuk kedalam folder tersebut, melalui terminal, lalu berikutnya ketikkan perintah seperti gambar dibawah ini :

Sehingga gambarnya seperti dibawah ini :

lalu tekan enter, tunggu hingga proses instalasi selesai.. untuk mempelajari lebih lanjut terkait dengan cara menginstall Codeigniter 4 silahkan buka tutorial kita sebelumnya : Cara Menginstall Codeigniter 4


 

 

Membuat Migration

Berikutnya kita akan membuat bagian migration, karena nantinya kita akan buat tabel di database, karena dalam contoh ini kita akan membuat crud untuk data pegawai, maka nantinya kita akan buat tabel didatabase dengan nama pegawai juga, untuk mempermudah pemahaman.

baik langkah – langkah untuk proses pembuatan migration adalah sebagai berikut :

Silahkan buka terminal dan masuk kedalam direktori : C:\Xampp\htdocs\pegawai, lalu tuliskan perintah

lalu tekan enter

 

Lalu akan terbuat sebuah file didalam folder app/Database/Migrations, nama file tersebut akan diakhiri dengan nama Pegawai, buka file tersebut, dan isi dengan code seperti berikut ini :

Perintah diatas digunakan untuk membuat sebuah tabel dengan nama pegawai, yang berisi kolom antara lain :

  • id_pegawai (Integer – Auto Increment – Primary Key)
  • nama (Varchar 255)
  • jenis_kelamin (Enum[‘pria’,’wanita’])
  • no_telp (Varchar 100)
  • email (Varchar 100)
  • alamat (Varchar 255)
  • created_at (Date Time)
  • updated_at (Date Time)

Membuat Database

Setelah anda menuliskan perintah didalam migration untuk kebutuhan membuat tabel di database, berikutnya kita akan membuat database, didalam database ini akan kita buat tabel didalamnya dengan menggunakan perintah migration yang baru saja kita buat, langkah – langkahnya adalah sebagai berikut :

Silahkan akses alamat localhost/phpmyadmin di browser, tapi sebelum itu jangan lupa untuk mengaktifkan service apache dan MySQL, lalu berikutnya silahkan klik menu Database untuk membuat database baru.

 

Berikutnya dibagian menu database silahkan masukkan nama database yang ingin dibuat.., dalam contoh ini nama database adalah pegawai, lalu kita klik tombol Create


 

 

Setting Codeigniter 4 agar dapat terkoneksi dengan database

Setelah kita membuat database, dalam contoh ini adalah database pagawai, berikutnya kita akan setting codeigniter agar dapat terkoneksi dengan database, langkah – langkahnya adalah sebagai berikut :

didalam folder dari project codeigniter4 terdapat file dengan nama env silahkan rename menjadi .env

 

berikutnya buka file .env tersebut dan edit code didalamnya, untuk konfigurasi database berada pada line 52 – 56, hilangkan tanda # untuk mengaktifkan konfigurasi tersebut.

Keterangan :

  • hostname adalah alamat server dari database
  • database adalah nama database yang barusan kita buat, jadi kita isi nilainya dengan nama pegawai
  • username adalah nama user dari database dalam contoh ini adalah root
  • password adalah password dari database dalam contoh ini saya biarkan kosong, karena default dari password user root di xampp itu kosong
  • DBDriver saya biasakan default yaitu MySQLi

 

 

Menjalankan File Migration untuk membuat tabel di database.

Berikutnya kita akan menjalankan file migration untuk membuat tabel didatabase, silahkan masuk ke project codeigniter anda melalui terminal, lalu jalankan perintah :

Jadi kurang lebih seperti ini tampilannya :

lalu tekan enter, jika proses berhasil maka tampilannya adalah sebagai berikut :

maka sampai pada step ini kita sudah membuat tabel dengan nama pegawai, didatabase pegawai yang sebelumnya sudah kita buat.

untuk pembahasan lebih lanjut terkait dengan migration, kita sudah membahasnya lebih rinci dalam tutorial kita sebelumnya : Mengenal Fitur Migration, Seeding, dan Library Faker di Codeigniter


 

 

Insert Dummy Data menggunakan Seeding

Berikutnya kita akan tambahkan dummy data didalam tabel pegawai menggunakan fitur seeding, sehingga nanti saat kita belajar untuk menampilkan data pegawai ke dalam bentuk tabel kita sudah memiliki beberapa data didalam tabel tersebut, langkah – langkanya adalah sebagai berikut :

Silahkan masuk kedalam project codeigniter 4 anda, melalui terminal, lalu jalankan perintah dibawah ini :

jadi kurang lebih seperti gambar dibawah ini :

lalu tekan enter, jika berhasil maka akan terbuat sebuah file dengan nama PegawaiSeeder didalam folder app\Database\Seeds\

 

buka file tersebut, lalu tuliskan code didalam file PegawaiSeeder.php

Keterangan :

  • dalam perintah diatas, kita menginsert 3 data pegawai dengan nama anton, budi, dan dita.

 

berikutnya kita akan jalankan perintah diatas untuk insert data pegawai tersebut kedalam tabel pegawai, silahkan masuk ke folder project codeigniter melalui terminal, lalu jalankan perintah sebagai berikut ini :

yang perlu teman – teman perhatikan adalah dibagian nama file yaitu PegawaiSeeder silahkan sesuaikan untuk bagian ini sesuaikan dengan nama file Seeder, lalu klik enter untuk menjalankan perintah tersebut

 

Lalu silahkan cek untuk tabel pegawai, harusnya sudah berisi 3 data pegawai yang kita insert melalui fitur seeder ini..


 

 

Membuat Template untuk kebutuhan Tampilan

Berikutnya kita akan membuat template untuk kebutuhan tampilan, sehingga nanti ketika kita membuat bagian fitur untuk tampil data, tambah data, dan update data tampilannya akan sama, langkah – langkanya adalah sebagai berikut :

 

Untuk langkah awal silahkan buat folder dengan nama layout didalam folder app/Views, lalu berikutnya buat file dengan nama template.php didalam folder layout tersebut, jadi kondisi saat ini ada sebuah file dengan nama template.php didalam folder app/Views/layout

jadi posisi filenya adalah seperti berikut ini :

 

lalu buka template.php dan isi dengan code sebagai berikut :

 

Keterangan :

  • untuk tampilan ini saya ambil dari halaman example dari bootstrap, dengan link : https://getbootstrap.com/docs/5.0/examples/sticky-footer-navbar/
  • untuk bagian library css dan javascript yang digunakan dibagian template, kita langsung akses secara online ya, untuk mempersingkat proses pembuatan template, jadi saya sarankan untuk menggunakan koneksi internet untuk menjalankan hasilnya nanti.., untuk Library CSS berada pada line (15 dan 34), Line (71 dan 72) untuk Library Jquery

Template ini memiliki 1 bagian yang akan digunakan sebagai bagian content, dimana nantinya akan berisi tampilan yang bersifat dinamis sesuai menu apa yang ditampilan, untuk section tersebut kita beri nama content (Line 60)

Untuk pembahasan terkait pembuatan template di codeigniter 4 bisa dilihat di tutorial kita sebelumnya : Tutorial Membuat Layout / Template di Codeigniter 4


 

 

Video Tutorial Codeigniter 4 – Part 9 – Membuat CRUD dengan Codeigniter 4 – (Bagian 2) Menampilkan Data Pegawai

Buat teman – teman yang biasanya belajar menggunakan Video, kita juga ada video tutorial membuat CRUD dengan Codeigniter 4, Bagian 2 (Membuat Controller, Model, dan Menampilkan data Pegawai)


Membuat Model untuk komunikasi dengan tabel di database

Sebelum kita memulai proses membuat CRUD, kita persiapkan dulu model yang akan kita gunakan untuk berkomunikasi dengan tabel pegawai di database, untuk langkah awal buat file model dengan nama PegawaiModel.php, simpan file tersebut didalam folder app/Models
lalu isi file PegawaiModel.php dengan code sebagai berikut :

Keterangan :

  • untuk classnya kita beri nama yang sama dengan nama filenya yaitu PegawaiModel
  • beberapa settingan yang kita tulis adalah :
    • $table dengan nilai pegawai karena kita akan komunikasi dengan tabel pegawai
    • $primaryKey dengan nilai id_pegawai karena kolom id_pegawai merupakan primary key dari tabel pegawai
    • $returnType dengan nilai object karena kita ingin untuk return type nanti berupa object
    • $useTimestamps dengan nilai true karena kita akan mengisikan kolom created_at (saat insert data), dan kolom updated_at (saat update data)
    • $allowedFields kita isikan nama kolom di tabel pegawai yang boleh diinsert data..

setelah kita membuat model, berikutnya kita akan membuat menu untuk menampilkan data pegawai.


 

 

Membuat Crud – Menampilkan Data Pegawai

Setelah di tahap persiapan, kita sudah mempersiapkan :

  • Instalasi codeigniter 4
  • Membuat tabel dengan migration
  • Insert data ke tabel pegawai menggunakan seeder
  • Membuat tampilan untuk kebutuhan template
  • Membuat Model untuk komunikasi dengan tabel pegawai

Berikutnya kita akan membuat menu untuk menampilkan data pegawai, langkah – langkahnya adalah sebagai berikut :

Buatlah sebuah controller dengan nama file Pegawai.php didalam folder app/Controllers, dan isi dengan code seperti berikut ini :

Keterangan :

  • kita buat class dengan nama yang sama dengan nama filenya yaitu Pegawai (Line 7)
  • kita load Model dengan PegawaiModel dengan menuliskan perintah use App\Models\PegawaiModel; (Line 5), kita load model ini agar bisa berkomunikasi dengan tabel Pegawai
  • Kita buat variabel didalam class dengan nama $pegawai (Line 9)
  • kita buat method __construct untuk membuat sebuah object $pegawai dengan menggunakan class PegawaiModel (Line 11 – 14)
  • Kita buat method index (Line 16) pada method index ini kita buat variabel $data yang merupakan array.
  • Berikutnya kita tuliskan perintah $this->pegawai->findAll() yang digunakan untuk mengambil data pegawai di tabel pegawai, dan hasil data tersebut kita simpan ke dalam variabel $data yang merupakan array dengan key pegawai.. (Line 18).
  • Berikutnya variabel $data yang telah berisi array akan kita passing ke bagian view dengan nama index didalam folder app/Views/pegawai (Line 19)

 

 

Membuat View untuk menampilkan data pegawai

Setelah kita membuat controller untuk mempersiapkan data pegawai yang akan ditampilkan dibagian view, berikutnya kita perlu membuat view, silahkan buat folder terlebih dahulu dengan nama pegawai didalam folder app/Views, kita buat folder agar lebih mudah dalam management file view untuk kebutuhan fitur CRUD data pegawai ini, setelah itu kita buat file dengan nama index.php didalam folder app/Views/pegawai

kurang lebih posisinya seperti gambar diatas, berikutnya kita isi file index.php dengan code sebagai berikut :

 

Berikutnya kita akan coba menjalankannya terlebih dahulu, kita jalankan dulu untuk local development server, silahkan ketikkan perintah :

lalu akses dengan url :

maka hasilnya harusnya seperti berikut ini :

kurang lebih tampilannya adalah seperti gambar diatas, akan ditampilkan 3 data pegawai yang sudah kita insert melalui fitur seed dibagian sebelumnya..

 

Keterangan Code di view index :

Code (Line 1 – 2) tersebut digunakan untuk menentukan template yang digunakan, dan kita menampilkan data pegawai didalam section content didalam layout yang sebelumnya kita telah buat..

 

Line 9 – 16 kita tuliskan perintah untuk melakukan pengecekan apakah ada session flashdata dengan nama message, jika ada maka akan ditampilkan data dari session flashdata tersebut, session flashdata dengan nama message ini akan terbuat ketika proses insert dan update data berhasil, session ini akan dikirimkan dari controller untuk ditampilkan dibagian view

 

Code (Line 17) ini digunakan untuk menampilkan tombol tambah, yang ketika diklik akan mengakses URL base_url/pegawai/create

 

Line 20 – 28 digunakan untuk membuat tabel header dari mulai kolom no, hingga action

 

Line 31 – 46 kita extract data array di variabel $pegawai dengan menggunakan perintah foreach, dan setiap perulangannya menggunakan variabel $row, dimana kita akan mengisi kolom disetiap baris datanya

Khusus untuk line 41 – 42 kita buat 2 tombol untuk kebutuhan edit dan delete, dimana untuk tombol edit akan mengakses url  : base_url/pegawai/edit/id-pegawai yang diedit, untuk tombol delete akan mengakses : base_url/pegawai/delete/id-pegawai yang didelete


 

 

Video Tutorial Codeigniter 4 – Part 9 – Membuat CRUD dengan Codeigniter 4 – (Bagian 3) Menambahkan Data Pegawai

Buat teman – teman yang biasanya belajar menggunakan Video, kita juga ada video tutorial membuat CRUD dengan Codeigniter 4, Bagian 3 (Menambahkan Data Pegawai)


 

 

 

Membuat Crud – Menambahkan Data Pegawai

Setelah dalam bagian sebelumnya kita telah menampilkan data pegawai, berikutnya kita akan membuat fitur untuk menambahkan data pegawai, langkah – langkahnya adalah sebagai berikut :

 

pada step awal kita bisa menambahkan routing untuk kebutuhan menampilkan form tambah data baru, silahkan buka file dengan nama Routes.php didalam folder app/Config

pada line 35 tambahkan code routing seperti berikut :

Code diatas untuk kebutuhan routing dari fitur tampil data pegawai (Line 1), dan fitur untuk menampilkan form tambah data pegawai (Line 2)

 

Berikutnya kita buka controller pegawai, dan buat method dengan nama create , letakkan setelah method index , sehingga controller Pegawai menjadi seperti berikut ini :

Perintah diatas digunakan saat method create ini diakses, maka akan menampilkan view dengan nama create.php didalam folder app/Views/pegawai

Berikutnya kita perlu membuat file view dengan create.php didalam folder app/Views/pegawai, untuk code di file create.php adalah sebagai berikut :

Kita coba mengakses form tersebut terlebih dahulu, jangan lupa menjalankan local development server dengan perintah terminal :

lalu akses dengan URL :

hasilnya adalah seperti berikut ini :

Tampilannya kurang lebih seperti gambar diatas, berikutnya saya akan bahas code yang saya tulis :

Code (Line 1 – 2) tersebut digunakan untuk menentukan template yang digunakan, dan kita menampilkan data pegawai didalam section content didalam layout yang sebelumnya kita telah buat..

 

Line 9 – 18 kita gunakan untuk menampilkan data error yang kita kirim melalui session flashdata, session flashdata ini kita kirim melalui controller Pegawai, session flashdata ini bernama error yang akan dikirimkan saat form validasi di controller bernilai false, dan ketika error itu terjadi maka akan menampilkan pesan error yang terjadi dari inputan form yang tidak sesuai dengan aturan form validasi

 

Kita gunakan tag form dengan method post, dibagian attribute action akan mengakses  url base_url/pegawai/store, kita akan buat routenya nanti ketika url tersebut diakses akan diarahkan ke method store di controller pegawai, sehingga ketika form ini disubmit, maka akan di proses di method store pada controller pegawai.

 

ini untuk kebutuhan membuat input bertipekan hidden, untuk kebutuhan token csrf

 

berikutnya kita tulis code HTML untuk kebutuhan setiap bagian inputan, yang terpenting setiap inputan form memiliki value di attribute name, dan untuk attribute value disini kita gunakan method old yang artinya akan menampilkan inputan form sebelumnya saat error form validasi terjadi.

 

 

Membuat Proses penyimpanan data pegawai

Setelah dibagian sebelumnya kita sudah membuat form untuk proses tambah data, berikutnya kita akan buat untuk method yang digunakan menyimpan data pegawai, tetapi sebelum itu kita buat routing terlebih dahulu, silahkan buka file dengan nama app/Config/Routes.php, tambah routing seperti berikut ini :

 

Berikutnya kita buka controller Pegawai.php, lalu tambahkan method store, sehingga code controller Pegawai menjadi seperti berikut ini :

Keterangan :

Code untuk kebutuhan method store ada di line 27 – 76

 

Line 29 – 62 kita menuliskan aturan (rules) form validasi, dengan aturan sebagai berikut :

  • inputan nama harus diisi (Line 31)
  • inputan jenis_kelamin harus diisi (Line 37)
  • inputan no_telp harus diisi (Line 43)
  • inputan email harus diisi, dan format email harus valid (Line 49)
  • inputan alamat harus diisi (Line 56)

untuk pembahasan terkait dengan form validasi telah kita bahas dalam tutorial kita sebelumnya : Penanganan Form dan Form Validasi di Codeigniter 4

 

Line 63 – 64 code ini yang akan dijalankan saat validasi inputan form ada yang tidak sesuai dengan rules di form validation, kita akan redirect ke halaman sebelumnya (Form tambah Pegawai) dengan menyertakan inputan di form sebelumnya, selain itu juga membuat session flasdata dengan nama error yang akan berisi list data error.

data error dari session flashdata ini akan dicek di form tambah pegawai, anda bisa perhatikan di file app/Views/pegawai/create.php pada line 9 – 18

 

Line 67 – 73 kita melakukan perintah insert data ke tabel pegawai, kita gunakan object pegawai dan menggunakan method insert.

Pada method insert kita kirimkan parameter yang berisi array, dengan key disesuaikan dengan nama kolom di tabel pegawai dan value berisi inputan dari form, kita menggunakan perintah $this->request->getVar(‘nama inputan form’) untuk menangkap inputan formnya.

 

Line 74 – 75 perintah ini akan dijalankan ketika proses insert data ke tabel pegawai selesai, yang dilakukan adalah redirect ke url base_url/pegawai, dan membuat session flashdata dengan nama message yang berisi text “Tambah Data Pegawai Berhasil“, pesan ini akan ditampilkan pada menu tampil data pegawai dibagian file view yang berada di app/views/pegawai/index.php


 

Testing Proses Insert data

Silahkan akses alamat : localhost:8080/pegawai/create, jangan lupa menjalankan local development server terlebih dahulu, setelah tampil form nya silahkan isi data pegawainya, lalu tekan tombol submit.

 

Hasilnya adalah seperti ini jika proses insert data berhasil, akan terlihat data baru, dan ada notifikasi bahwa “Tambah Data Pegawai Berhasil”

 

Ini tampilan jika terjadi error di bagian form validasi


 

 

Video Tutorial Codeigniter 4 – Part 9 – Membuat CRUD dengan Codeigniter 4 – (Bagian 4) Update dan Delete Data Pegawai

Buat teman – teman yang biasanya belajar menggunakan Video, kita juga ada video tutorial membuat CRUD dengan Codeigniter 4, Bagian 4 (Update dan Delete Data Pegawai)

 

 


 

 

Membuat Crud – Update Data Pegawai

Setelah dalam tutorial sebelumnya kita telah belajar mengenai bagaimana cara menampilkan data pegawai, dan menambahkan data pegawai, berikutnya kita akan membuat fitur yang digunakan untuk update data pegawai, untuk proses update data pegawai ini akan kita bagi 2 bagian antara lain :

  • Menampilkan form edit data pegawai, yang berisi data pegawai yang akan diedit
  • Membuat method untuk proses update data pegawai

 

Membuat Form edit pegawai

Pada saat kita membuat menu untuk menampilkan data pegawai, pada file view yang berada di folder app/views/pegawai/index.php, perhatikan pada line 41 kita buat tombol untuk kebutuhan edit data pegawai

jika kita melihat code untuk link diatas, ketika tombol edit di klik maka akan mengakses url : base_url/pegawai/edit/data-id-pegawai

Langkah awal kita buat routing terlebih dahulu, silahkan buka file Routes.php di folder app/Config/Routes.php tambahkan routing sebagai berikut :

kita buat routing dengan menggunakan fitur placeholder, kita membatasi untuk parameter yang dikirimkan adalah berupa angka, dan routing ini akan di proses di Controller Pegawai pada method edit, untuk pembahasan terkait placeholder bisa membaca di tutorial kita sebelumnya : Mengatur Routing di Codeigniter 4

Setelah proses pembuatan routing, berikutnya kita akan membuat method edit di controller Pegawai, silahkan buka controller Pegawai.php, dan buat method edit sehingga code yang ada di controller Pegawai.php adalah sebagai berikut ini :

Keterangan :

Code method edit berada pada line 78 – 86.

pada method edit ini memiliki 1 parameter yaitu $id, dimana $id akan berisi id data pegawai yang akan di edit

 

Line 80 kita menuliskan perintah untuk mendapatkan data pegawai yang nilai pada kolom id_pegawai sesuai dengan nilai pada variabel $id, karena kita mencari data pegawai berdasarkan kolom yang merupakan primary key sehingga bisa menggunakan method find dengan menggunakan object pegawai, hasil data pegawai ini akan kita simpan pada variabel $dataPegawai

 

Code ini digunakan untuk melakukan pengecekan apakah ada data pegawai hasil dari pencarian pegawai berdasakan kolom primary key, jika tidak ada maka akan memuncul pesan “Data Pegawai Tidak ditemukan

 

Setelah itu data pegawai yang telah ditemukan akan disimpan pada variabel $data yang merupakan array, kita simpan pada array $data dengan key pegawai, dan kita load view dengan nama edit didalam folder app/views/pegawai dan kita passing variabel $data yang berisi data pegawai, pada form edit nanti kita bisa menampilkan data pegawai yang akan di edit

 

Berikutnya kita akan membuat file view dengan nama edit.php didalam folder app/Views/pegawai, untuk code didalam file tersebut adalah sebagai berikut :

Keterangan :

Line 1 – 2 digunakan untuk menset template mana yang digunakan dan untuk tampilannya diletakkan di bagian section content di template

 

Line 9 – 18 kita gunakan untuk menampilkan data error yang kita kirim melalui session flashdata, session flashdata ini kita kirim melalui controller Pegawai, session flashdata ini bernama error yang akan dikirimkan saat form validasi di controller pada method edit ada yang tidak sesuai rules yang dibuat, dan ketika error itu terjadi maka akan menampilkan pesan error dan ditampilkan di form edit

 

Kita menggunakan tag form HTML dengan method Post, dengan attribute action bernilai : <?= base_url(‘pegawai/update/’ . $pegawai->id_pegawai) ?> yang artinya ketika tombol submit di form update ini di klik maka akan mengakses url:  base_url/pegawai/update/data-id-pegawai, nantinya kita akan buat routing untuk handling url ini agar mengakses method update di controller Pegawai

 

Menampilkan form input nama dan memiliki value dari data nama pegawai yang di edit, hal tersebut karena kita menset nilai dari attribute value dengan perintah $pegawai->nama, yang artinya menampilkan nilai dari kolom nama di tabel pegawai, hal ini juga berlaku untuk inputan jenis_kelamin,no_telp, email, dan alamat

 

 

Membuat Method Update untuk memproses update data Pegawai

Setelah kita membuat form untuk kebutuhan edit pegawai, berikutnya kita perlu membuat method update di controller Pegawai yang digunakan untuk memproses update data pegawai, tetapi sebelumnya itu kita perlu menambahkan routing untuk kebutuhan proses update data ini, silahkan buka file Routes.php di folder app/Config/Routes.php, tambahkan code routing seperti berikut ini :

Routing tersebut digunakan untuk handling untuk proses update data, jadi ketika submit form update, akan mengarah ke URL : base_url/pegawai/update/id-pegawai, dan karena ada routing diatas akan diarahkan ke Controller Pegawai dengan method update

Berikutnya kita akan buat method update didalam controller Pegawai, silahkan buka Controller Pegawai lalu tambahkan method update, sehingga codenya menjadi seperti berikut ini :

Keterangan :

Method Update berada pada Line 88 – 137

Line 90 – 123 adalah code untuk kebutuhan form validasi, pada validasi ini kita buat beberapa rules antara lain :

  • inputan nama harus diisi (Line 92)
  • inputan jenis_kelamin harus diisi (Line 98)
  • inputan no_telp harus diisi (Line 104)
  • inputan email harus diisi, dan format email harus valid (Line 110)
  • inputan alamat harus diisi (117)

 

Line 124 – 125 akan dijalankan ketika ada error dibagian form validasi, akan membuat session flashdata dengan nama error yang berisi daftar errornya, dan kan redirect ke tampilan sebelumnya, dalam hal ini adalah form edit.

 

Perintah Line 128 – 134 digunakan untuk proses update data pegawai, kita gunakan object $this->pegawai, dan kita gunakan method update untuk proses update data ke tabel pegawai

pada method update, terdapat 2 parameter yaitu :

  • $id merupakan id data yang ingin diupdate, dalam hal ini adalah id_pegawai dari data pegawai yang akan diupdate
  • parameter kedua adalah data yang diupdate, kita bisa menggunakan data array, dimana untuk key kita gunakan nama kolom di tabel pegawai, dan untuk value adalah hasil inputan dari form edit kita gunakan perintah $this->request->getVar(”);

Terkait penjelasan penggunaan method update, anda bisa membaca tutorial kita sebelumnya : Membuat Model di Codeigniter 4 disana dibahas beberapa method yang bisa digunakan pada model, salah satunya adalah method update.


 

Testing Fitur Update data di data Pegawai

Setelah kita belajar bagaimana cara membuat fitur update data, berikutnya kita akan coba untuk melakukan update data pegawai, silahkan buka menu tampil data pegawai, jangan lupa menjalankan local development server terlebih dahulu dengan perintah :

lalu akses urlnya :

Maka akan menampilkan daftar pegawai :

 

semisal kita ingin edit data pegawai dengan nama Anton, maka anda bisa klik tombol Edit..

 

Semisal kita coba edit datanya menjadi seperti berikut :

lalu kita klik tombol update…

 

maka ketika proses update pegawai berhasil, akan redirect ke halaman tampil data pegawai, dan data pegawai tersebut sudah terupdate sesuai dengan yang kita isikan di form edit, dan ada notifikasi bahwa “Update Data Pegawai Berhasil”.


 

 

Membuat Crud – Delete Data Pegawai

Setelah anda belajar bagaimana cara proses membuat menu untuk menampilkan, menambahkan, dan mengaupdate data pegawai.

dalam tutorial berikutnya kita akan belajar bagaimana membuat fitur delete data.

Kalau kita melihat di file view di app/views/pegawai/index.php pada line 42 ada perintah untuk membuat tombol delete :

dalam perintah diatas kita buat tombol delete yang ketika di klik akan mengarah ke URL : base_url/pegawai/delete/id-pegawai, sehingga sebelum kita membuat proses deletenya kita buat dulu routing untuk kebutuhan delete data ini, silahkan buka file Routes.php di folder app/Config/Routes.php, lalu tambahkan perintah routing dibawah ini :

Keterangan :

Route diatas digunakan ketika ada yang mengakses URL : base_url/pegawai/delete/id-pegawai maka akan diproses pada Controller Pegawai dengan method delete, dan method delete ini memiliki 1 parameter didalamnya.

dalam route ini juga saya menambahkan placeholder agar parameternya hanya diperbolehkan berupa numeric atau angka saja.

 

Setelah itu kita akan buat method delete di Controller Pegawai, sehingga code dari controller Pegawai menjadi sebagai berikut :

Keterangan :

Method delete ada pada line 139 – 147, pada method delete ini kita berikan 1 parameter yaitu variabel $id, dimana variabel $id ini akan berisi id-pegawai yang akan didelete.

 

berikutnya pada line 141 kita mencari data pegawai sesuai dengan primary key, sehingga kita menggunakan method find dengan menggunakan object pegawai.

 

berikutnya kita lakukan pengecekan apakah ada data pegawai yang dicari tersebut, jika tidak ada maka akan menjalankan baris code 143 dan menampilkan tulisan “Data Pegawai Tidak ditemukan !

 

jika data pegawai ternyata ada maka akan menjalankan line 145, kita dapat menghapus data pegawai dengan menggunakan method delete, karena kita menghapus data pegawai menggunakan nilai pada kolom id_pegawai yang merupakan kolom primary key.

 

Line 146 digunakan untuk mengirimkan flashdata dengan menggunakan session, dengan value “Delete Data Pegawai Berhasil“, lalu berikutnya akan di redirect ke url Pegawai., session flashdata ini digunakan untuk menampilkan notifikasi dibagian view tampil data pegawai saat proses delete data pegawai berhasil, pesan yang ditampilkan adalah “Delete Data Pegawai Berhasil”.


 

 

Testing Proses Delete Data

Setelah kita buat fitur delete datanya, berikutnya kita akan coba delete data pegawai, kita akses terlebih dahulu data tampil pegawai, jangan lupa untuk jalankan local development server terlebih dahulu, jika sudah silahkan akses URL :

semisal kita akan menghapus data pegawai pertama dengan nama Anton Sucipto, klik tombol Delete..

 

akan tampil alert konfirmasi proses menghapus data, klik tombol OK.

 

jika proses delete data selesai.. maka data akan hilang, dan terdapat notifikasi bertuliskan “Delete Data Pegawai Berhasil”.


 

Akhir Tutorial

Jadi kurang lebih seperti itu tutorial yang bisa saya tuliskan, untuk code hasil akhir dari controller, model, dan views , akan saya tampilkan dibagian bawah ini :

Controller Pegawai.php

 

Model PegawaiModel.php

 

View views/pegawai/index.php

 

View Views/pegawai/create.php

 

View Views/pegawai/edit.php

 

Untuk download Source Code lengkap bisa download disini :

Link Source – Via Git Hub

 

Baik sekian dulu teman – teman tutorial kali ini, kita sudah belajar bagaimana cara membuat sebuah menu CRUD dengan menggunakan Codeigniter 4, jika ada yang ingin didiskusikan silahkan di kolom komentar, sampai jumpa codeigniter selanjutnya

One thought on “Tutorial Codeigniter 4 – Part 9 – Cara Membuat CRUD dengan Codeigniter 4

Leave a Reply

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