0

0

0

share


0 Reaksi

0 Komentar

Belajar Codeigniter 3 : (Database) Controller dan Model

Halo coders bertemu lagi di seri artikel Belajar Codeigniter 3, dalam tutorial sebelumnya kita sudah mempelajari tentang Controller dan View dan hubungan diantara keduanya. Pada step Belajar Codeigniter 3 kali ini kita akan membahas Controller dan Model serta hubungannya.

Karena pada tutorial sebelumnya pula kita sudah mempelajari menampilkan view dengan controller, sekarang kita akan mencoba melakukan operasi database sederhana di Codeigniter 3 dengan cara menampilkan data dari satu table dalam sebuah database.

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.
CREATE TABLE IF NOT EXISTS `mahasiswa` (
	`no_induk` int(8) NOT NULL AUTO_INCREMENT,
	`nama` varchar(50) NOT NULL,
	`alamat` varchar(50) NOT NULL,
	PRIMARY KEY (`no_induk`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO mahasiswa (no_induk,nama,alamat) VALUES (1, 'John Smith', 'Cicaheum'), (2, 'John Doe', 'Cibodas'), (3, 'Justin Bieber', 'Tajur'), (4, 'Scott Summer', 'Bandung'), (5, 'Xanders', 'Jakarta'), (6, 'Xavier', 'Bogor');

Setelah kita membuat Database, sekarang kita mulai konfigurasi database dalam Codeigniter. Buka database.php yang terdapat di dalam folder application/config. Di dalam database.php ada banyak konfigurasi yang bisa dirubah, dan yang paling utama adalah hostname, username, password, dan database.

  • Hostname, diperuntungkan untuk mengatur alamat server client database yang kalian gunakan, bisa juga mengandung port seperti 'example.com:3307'.
  • Username, digunakan agar kita dapat memasuki server client database dengan credentials tertentu.
  • Password, sama dengan username, agar client database dapat memvalidasi username yang dimasukan.
  • Database, digunakan untuk mengarahkan database mana yang ingin kita gunakan.
Sekarang kita ubah kode dalam database.php yang memiliki hostname, username, password, dan database menjadi seperti berikut :
	'hostname' => 'localhost', /*tergantung hostname yang digunakan*/
	'username' => 'root', /*tergantung credential username yang ada, biasanya default username berupa 'root'*/
	'password' => '', /*tergantung username, masukan password yang sesuai*/
	'database' => 'belajar_ci',
Setelah kita mengatur konfigurasi database, sekarang kita harus memasang library database pada Codeigniter. Kenapa? karena jika kita tidak memasang library database maka kode dan function yang berhubungan dengan pengoperasian database tidak akan berfungsi. Begitu pula dengan beberapa kode dan function lain seperti session, form, url harus memperkenalkan library dalam penggunaannya.

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.
  1. Packages, digunakan untuk menambahkan package yang berisi custom resource ke dalam codeigniter.
  2. Libraries, digunakan untuk menambahkan library kedalam codeigniter.
  3. Drivers, digunakan untuk menambahkan drivers, drivers adalah libraries yang memiliki parent class dan child class didalamnya.
  4. Helpers, digunakan untuk menambahkan helpers yang diperuntungkan dalam membantu setiap task dan berisi function.
  5. Config, digunakan untuk menambahakan preferensi konfigurasi, dapat berasal dari config.php atau konfigurasi custom buatan sendiri.
  6. Language, digunakan untuk menambahkan file bahasa bahasa untuk meninternasionalisasikan sebuah web.
  7. Model, digunakan jika kita ingin menambahkan model alternative kedealam controller.
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

Operasi Database dengan Controller

Kembali lagi ke controller helloworld.php. sekarang kita ganti kode yang ada di dalam function index yang sudah kita buat pada tutorial sebelumnya menjadi berikut :
 public function index(){
      $data = $this->db->query("SELECT * FROM mahasiswa");
           foreach ($data->result_array() as $mahasiswa) {
                echo "Nama : ".$mahasiswa['nama']."<br/>";
                echo "Alamat : ".$mahasiswa['alamat']."<hr/>";
           }
 }
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
defined('BASEPATH') OR exit('No direct script access allowed');

class Mymodel extends CI_Model{
	public function GetMahasiswa(){
		$data = $this->db->query("SELECT * FROM mahasiswa");
		return $data->result_array();
	}
}
?>

Setelah itu, kita modifikasi sedikit function index yang terdapat di controller helloworld.

	public function index(){
                $this->load->model('mymodel');

                $data = $this->mymodel->GetMahasiswa();
		foreach ($data as $mahasiswa) {
			echo "Nama : ".$mahasiswa['nama']."<br/>";
			echo "Alamat : ".$mahasiswa['alamat']."<hr/>";
		}
	}

Kode $this->load->model('mymodel'); berfungsi untuk memuat model yang akan kita gunakan. Sekarang jika kita mengakses controler helloworld, yang tampil sama persis dengan tampilan sebelumnya. Namun, perbedaan dari keduanya adalah jika kita menggunakan model kita benar benar memanfaatkannya sebagai penyedia data kepada Controller, dimana disitulah letak kegunaan model dalam arsitektur MVC.

Penutup

Begitulah bagaimana pengoperasian dasar database dalam Codeigniter 3. Pada dasarnya semua bagian dalam arsitektur MVC terhubung. Model membawa data kepada controller, view membawa tampilan kepada controller, Controller yang mengolah keseluruhan cara kerja dan ditampilkan kepada User dalam browser.

Pada tutorial selanjutnya kita akan mempelajari bagaimana caranya untuk menjalankan fungsi CRUD (Create, Read, Update, dan Delete) pada Codeigniter 3. Karena untuk pembahasan CRUD sangat luas, standy selalu di Codepolitan untuk update tutorial selanjutnya.

0

0

0

share