Belajar Codeigniter 3
Belajar Codeigniter 3
View
Model mewakili struktur data anda, secara umum Class Model yang anda
miliki berisi function untuk melakukan CRUD (Create, Read, Update, dan
Delete) Informasi dalam Database.
View adalah informasi yang di tampilkan kepada User, sebuah View
secara normal adalah sebuah laman web, tetapi di Codeigniter,
sebuah View bisa dibuat menjadi sebuah penggalan halaman web
seperti header atau footer. Bahkan bisa berupa RSS Page, atau
jenis "Page" lainnya.
Controller berguna sebagai perantara antara Model, View dan
berbagai resources yang dibutuhkan untuk memproses HTTP Request dan
mengenerate sebuah web page.
Hello World!
Sekarang kita akan coba membuat hal paling mendasar dalam pemrograman,
yaitu Hello World!, walaupun paling dasar tapi akan menjadi fondasi yang baik
dalam membiasakan diri dengan Codeigniter 3. Pertama - tama bukalah Text
Editor yang Kamu gunakan dan buka Welcome.php yang terdapat dalam folder
instalasi Codeigniter 3 Kamu dan di dalam folder Application/controller, dan
di dalamnya sudah tertulis kode seperti berikut
<?php
/**
* http://example.com/index.php/welcome
* - or -
* http://example.com/index.php/welcome/index
* - or -
* map to /index.php/welcome/
* @see https://codeigniter.com/user_guide/general/urls.html
*/
$this->load->view('welcome_message');
<?php
{
echo "Hello World!";
Source code yang terlampir diatas merupakan struktur umum sebuah Controller
Sederhana dalam Codeigniter 3.
dalam class. Sama seperti pembuatan php pada umumnya jika kita
membuat index.php maka apabila kita membuka parent folder, akan
langsung terhubung ke halaman index.php, begitu pula dengan public
function index, jika kita mengakses suatu Controller yang memiliki
function index. maka Controller yang dipilih akan langsung memproses
function index.
Berformat PHP
Nama file tidak mengandung karakter special seperti spasi, @, dan lain-
lain kecuali underscore (_)
Nama file controller harus sama dengan class di dalam controller.
sekarang buat sebuah file dalam folder Controller dengan nama helloworld.php,
dan bukalah menggunakan text editor pilihan Kamu dan masukkan kode berikut
:
Sebelum kita membuka sebuah Controller, kita harus mengatur controller mana
yang akan dijadikan default, karena jika kalian membuka URL
: http://localhost/hello-ci/ maka yang akan muncul adalah controller welcome,
karena controller welcome masih menjadi default.
Tiap tiap fungsi tersebut memiliki cara membuka yang berbeda beda. Saya akan
jelaskan berikut
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1>Selamat Datang</h1>
</body>
</html>
lalu di controller helloworld.php ubah kode yang ada di dalam function index
menjadi :
$this->load->view('hello_ci');
Sekarang bagaimana kalo kita mau mengoper data ke dalam view? mari kita
coba. Ubah tampilan yang ada di view hello_ci.php menjadi seperti berikut :
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1>Selamat Datang</h1>
</body>
</html>
$nama diambil dari Associative Array yang dibuat di dalam Controller, maka
dari itu buatlah sebuah Associative Array dengan beberapa data serta tambahkan
beberapa kode berikut di function index dalam controller helloworld
$data = array(
);
$this->load->view('hello_ci', $data);
}
Penutup
Dalam tutorial kali ini Kamu berhasil membuat controller mu sendiri dan bisa
mengoper data secara static dari controller menuju view. Dari tutorial ini
diharapkan Kamu sudah dapat mengerti tentang hubungan antara Controller dan
View terlebih dahulu, sebelum kita menghubungkanya dengan Model.
Database Configuration
Pertama tama, buatlah sebuah database dengan nama belajar_ci, setelah itu
jalankan query berikut di salah satu aplikasi database client yang Kamu
gunakan.
Autoloads
Untuk memperkenalkan library kedalam Codeigniter kita menggunakan
konfigurasi Autoloads, mari kita buka Autoloads.php yang terdapat di
dalam directory yang sama dengan database.php. Di dalam autoloads terdapat
tujuh konfigurasi yang dapat kita atur.
pada tutorial kali ini kita akan menambahkan library 'database' kedalam
autoloads dan mengarahkan sebuah model. Rubahkah
kode $autoload['libraries'] =
array(); menjadi $autoload['libraries'] = array('database'); .
Cukup untuk konfigurasi, setelah ini kita akan mulai mencoba memanggil data
dari tabel masahasiwa dalam database belajar_ci lewat
Controller helloworld.php
Setelah itu coba Kamu akses controller helloworld (jika kamu mengikuti tutorial
sebelumnya seharusnya anda sudah mengetahui cara mengakses), Akan terlihat
tampilan seperti berikut
Membuat Model Sendiri
Dalam pembuatan Web App, model direpresentasikan sebagai struktur data.
Model berisi class yang mengandung function yang membantu menjalankan
fungsi CRUD (Create, Read, Update dan Delete) terhadap suatu database.
Silahkan Kamu buat file php dengan nama mymodel.php dalam directory
application/model, dan masukan kode berikut kedalamnya :
<?php
return $data->result_array();
?>
Setelah itu, kita modifikasi sedikit function index yang terdapat di
controller helloworld.
$this->load->model('mymodel');
$data = $this->mymodel->GetMahasiswa();
Kode diatas akan menampilkan data dalam bentuk tabel, namun $data yang
digunakan pada kode diatas diambil dari Model melewati Controller, karena kita
belum menghubungkan data dari model ke dalam view maka jika kita
menggunakan kode $this->load->view('data_mahasiswa'); maka yang
muncul adalah sebuah Error.
Menghubungkan Data
Untuk menghubungkan Kedua Model dan View yang sudah kita sambungkan
kedalam Controller, kita akan mengubah beberapa kode yang terdapat
dalam function index di controller helloworld menjadi seperti berikut :
data yang sudah kita panggil dari model menjadi sebuah array.
memanggil View, namun kita menambahkan , $data untuk membawa data dari
model ke dalam View, sehingga $data dalam view merupakan sebuah array
yang berisi data dari model.
Sekarang kamu sudah bisa menghubungkan antara Model, View dan Controller.
Penutup
Pada tutorial kali ini Kamu sudah bisa memahami konsep arsitektur Model
View dan Controller dengan baik. Untuk tutorial selanjutnya kita akan
membahas fungsi CRUD (Create, Read, Update dan Delete) dalam Codeigniter
3 menggunakan konsep arsitektur Model View dan Controller. Terus Update
tentang seri tutorial Belajar Codeigniter 3 di Codepolitan.
Pada kode diatas kita hanya menambahkan link Edit, Delete, dan Insert sebagai
pengarah ke controller yang akan menjadi perantara view dan model untuk
diolah berdasarkan record yang kita pilih. Namun, jika kita mengakses
controller helloworld sekarang, yang akan dihasilkan adalah berupa Error.
Kenapa? karena pada view data_mahasiswa.php kita menggunakan
fungsi base_url() dan memerlukan helper yang bernama 'url'. base_url()
digunakan untuk mengembalikan url yang sudah kita atur di
dalam config.php pada tutorial sebelumnya. Contohnya, apabila kita
mengeksekusi kode echo base_url("index.php");, yang akan tercetak ke
dalam Web Page adalah http://localhost/hello-ci/index.php.
Ada dua cara untuk menambahkan sebuah helper ke dalam aplikasi yang sedang
kita buat, yang pertama adalah dengan menyisipkannya di
dalam autoloads.phpseperti yang sudah kita bahas pada tutorial sebelumnya.
Yang kedua adalah dengan memanggilnya di dalam Controller. Karena kita
akan menggunakan base_url() di dalam semua web page yang akan kita buat.
tambahkan 'url'kedalam helper autoloads ($autoload['helper'] =
array();) seperti yang pernah kita bahas di tutorial Belajar Codeigniter 3 :
Jadi, dengan kita menggunakan Query Builder kita memanfaatkan salah satu
prinsip penting dalam Software Development yaitu DRY (Don't Repeat
Yourself) karena kita tidak perlu membuat model baru untuk setiap proses
CRUD yang ingin kita lakukan, kita tinggal mengakses Model yang sudah
tersedia.
Untuk menunjang Model yang sudah kita buat, buka Controller helloworld dan
ubahlah function index menjadi seperti berikut :
CRUD : Create
Karena kita sudah selesai membuat model, sekarang kita akan membuat form
untuk memasukan data baru kedalam database. Pertama, buatlah view baru
dengan nama form_add.php dan masukan kode berikut :
dalam kode tersebut kita membuat form untuk memasukan data baru kedalam
database dan kita pula sudah mengarahkan ke function insert apabila
tombol simpan di tekan dengan menggunakan action="<?php echo
base_url()."index.php/helloworld/insert";?>".
Maka jika kita memasukan data yang sesuai kedalam form dan menekan tombol
simpan, akan terpanggil function insert dari controller helloworld.
Pada function insert Kamu bisa lihat, kita mengambil data mahasiswa berupa
nomor_induk, nama dan alamat kedalam associative array yang kita
deklarasikan sebagai $data, Property dari associative array tersebut seperti
nama, alamat, no_induk merupakan nama Field dari tabel yang kita gunakan.
Kemudian dengan associative array tersebut kita menjalankan model Insertyang
sudah kita buat. Setelah semuanya di proses, Controller akan kembali ke
function index dengan menggunakan redirect(base_url(),'refresh');
Halo coders, bertemu kembali dengan saya dalam seri tutorial Belajar
Codeigniter 3. Sekarang kita akan melanjutkan seri tutorial Belajar Codeigniter
sebelumnya yaitu CRUD. Pada tutorial sebelumnya kita sudah berhasil
memasukkan ke 4 fungsi CRUD ke dalam Model sehingga pada tutorial kali ini
kita hanya akan belajar bagaimana menggunakan model tersebut di dalam
controller.
CRUD : Delete
Karena kita sudah membuat function Delete di dalam Model dan mengarahkan
link Delete yang terdapat di view ke dalam function delete_data di dalam
Controller helloworld. Hal yang sekarang kita lakukan hanyalah
menghubungkannya dengan controller.
Silahkan coders akses controller helloworld dan buatlah function baru bernama
delete_data dengan parameter $noinduk seperti berikut :
Sekarang coba coders akses localhost/hello-ci sendiri dan klik link Delete.
Maka data yang kita pilih akan terhapus.
Query Builder get_where berfungsi untuk mengambil data yang hanya kita
pilih. Setelah kita membuat model tersebut, yang akan kita lakukan sekarang
adalah membuat view baru yang bernama form_edit. Silahkan kamu buat view
baru bernama form_edit dan masukan kode berikut kedalamnya :
form_edit ini digunakan agar kita dapat mengubah data yang kita ambil
menggunakan model get_where dan disalurkan lagi ke model dengan
menggunakan function update_data. Sekarang untuk hal yang terakhir kita
akan membuat 2 function di dalam Controller helloworlod. Yang pertama
buatlah function controller dengan nama edit_data seperti berikut :
Yang kedua kita akan membuat function update_data. Buatlah sebuah function
bernama update_data dan masukan kode berikut :
Jika kamu mencoba mengklik tombol update maka data akan terubah dan
langsung redirect ke tampilan data_mahasiswa.
Selamat Belajar.