Anda di halaman 1dari 35

BELAJAR KODING

Membuat CRUD dengan CodeIgniter dan


Relasi mySQL
29 Oktober 2018Nasution

Bismillah,

Assalamu’alaykum wa Rahmatullahi wabarokatuh…

Sebelumnya kita sudah belajar MVC dengan framework PHP, kali ini kita akan
belajar sedikit lebih tinggi yaitu membuat CRUD,

Pada kesempatan Kali ini saya akan sharing beberapa tutorial membuat CRUD


menggunakan salah satu framework php yaitu CodeIgneter, dan database mySQL
serta relasi antara tabel.
A.  Memahami CRUD

CRUD, istilah tersebut merupakan singkatan dari Create, Read,


Update dan Delete. ada 4 karakter disini, yaitu :
1. C (Create):    yang berarti membuat sebuah data baru, contoh kita sedang
melakukan registrasi disebuah web itu sudah merupakan Create dari CRUD
karena kita membuat dan menyimpan data registrasi ke database.
2. R (Read):     Membaca atau menampilkan suatu data yang tadinya berada
didatabase MySQL misalnya, kemudian ditampilkan di WEB menggunakan bahasa
pemrograman Php
3. U (Update):       nah untuk yang satu ini prosesnya adalah mengedit sebuah
data dari database yang kemudian di edit menggunakan bahasa pemrograman Php
berupa WEB. Contoh edit profil facebook.
4. D (Delete):          Pastinya Anda tahu fungsinya apa bukan? Fungsinya hampir
sama dengan Update akan tetapi proses ini adalah untuk melakukan penghapusan
data di database melalui bahasa Php. Contoh pada sebuah blog terkadang ada
komentar, kemudian kita hapus komentar tersebut, nah itu sudah termasuk
proses delete dalam CRUD.
B.  Memahami MySQL
          MySQL adalah database SQL open source yang paling populer. Ini biasanya
digunakan untuk pengembangan aplikasi web, dan sering diakses menggunakan PHP.
C.  Memahami Database Relasional
         Database adalah sarana menyimpan informasi sedemikian rupa sehingga
informasi dapat diambil dari itu. Dalam istilah yang paling sederhana, database
relasional adalah salah satu yang menyajikan informasi dalam tabel dengan baris dan
kolom. Sebuah tabel disebut sebagai relasi dalam arti bahwa itu adalah kumpulan
objek dari jenis yang sama (baris). Data dalam tabel dapat dikaitkan sesuai dengan
kunci atau konsep umum, dan kemampuan untuk mengambil data terkait dari tabel
adalah dasar untuk istilah database relasional.
Baiklah, begitulah penjelsan umum mengenai materi yang akan kita pelajari berikut,
yaitu membuat CRUD dengan CodeIgniter dan MySQL relasi.

Beberapa hal yang akan kita buat dalam kesempatan kali ini:

1. Membuat View
2. Membuat Model
3. Membuat Controller
4. Membuat fitur Create
5. Membuat fitur Read
6. Membuat fitur Update
7. Membuat fitur Delete

1. Membuat View
Pada kesempatan kali ini saya akan menggunakan Bootstrap dalam mengerjakan
tampilan/view dari aplikasi CRUD yang akan kita buat, untuk itu teman-teman bisa
mendownload template Bootstrap di sini.
contoh tampilan template:
1. Membuat Database
Pastikan teman-teman sudah mengaktifkan XAMPP, lalu masuk ke browser dan
ketikkan localhost/phpmyadmin untuk membuat table databasenya.

Pertama, buat databasenya dengan SQL,


CREATE DATABASE mahasiswaku;

Kedua,  buat tabel jurusan,


CREATE TABLE tb_jurusan (

      id INT(50) NOT NULL AUTO_INCREMENT PRIMARY KEY,


      nama_jurusan VARCHAR(50) NOT NULL

);

Ketiga,  buat tabel mahasiswa (ini merupakan tabel utama),


CREATE TABLE tb_mahasiswa (

       id INT(50) NOT NULL AUTO_INCREMENT PRIMARY KEY,

       nama VARCHAR(200) NOT NULL,

       alamat TEXT NOT NULL,

       id_jurusan INT(50) NOT NULL,

       KEY id_jurusan (`id_jurusan`),

       CONSTRAINT id_jurusan FOREIGN KEY (`id_jurusan`) REFERENCES `tb_jurusan` (`id`)

);

Keempat, tambahkan/insert data pada tb_jurusan


INSERT INTO tb_jurusan VALUES

(NULL, 'Teknik Informatika'),

(NULL, 'Teknik Elektro'),

(NULL, 'Teknik Industri'),

(NULL, 'Teknik Kimia'),

(NULL, 'Teknik Mesin);

Kelima, tambahkan/insert data pada tb_mahasiswa


INSERT INTO tb_mahasiswa VALUES

(NULL, 'Nasution', 'Bima, NTB', 3,),

(NULL, 'Abdul', 'Ngaglik, Yogyakarta', 4),


(NULL, 'Ivon', 'Ngelanjaran, Yogyakarta', 3),

(NULL, 'Dzakir',  'Kulonprogo, Yogyakarta', 1);

Jika sudah selesaimaka struktur databasenya akan seperti ini:

Tampilan database mahasiswaku


 Tampilan tb_jurusan
Tampilan tb_mahasiswa

Oke, kita telah berhasil membuat databasenya. lanjut ke tahap lainya

2.  Menghubungkan Database MySQL


dengan CodeIgniter
Pertama, pastikan anda sudah download CodeIgniter dan install XAMPP atau
sejenisnya. Anda bisa mempelajari keduanya di sini.
Kedua, jika belum Install XAMPP dan Ekstrasi CodeIgniter.zip.
Ketiga, buatlah folder mahasiswaku pada htdocs, kemudian simpan file CodeIgniter
kedalam folder mahasiswaku yang sudah kita buat dalam file htdocs tersebut yaitu
pada direktori instalasi XAMPP.
C:\xampp\htdocs\mahasiswaku\CodeIgniter

kita bisa melakukan pengecekan terhadap CodeIgniternya,


ketikan localhost/mahasiswaku/Codeigniter, maka akan tampil seperti ini:

Keempat, sesuaikan Codeigniter anda dengan mySQL:


'username' => 'root',
'password' => ' ',

'database' => 'mahasiswaku', (yang kita buat tadi)

*(sesuaikan dengan punya kalian)

Sekarang Database Anda Terhubung !


Kelima, buka file config/autoload.php, lalu pada $autoload[‘libraries’] tambahkan
‘database’ dan ‘session’
$autoload['libraries'] = array('database', 'session');

*penjelasan:
database      : digunakan untuk meload otomatis database yang kita buat
session         : untuk menyimpan informasi yang dibutuhkan oleh aplikasi dan dapat
dibagi  keseluruh halaman web, dan session ini tersimpan di dalam file pada
lingkungan server web.

3. Membuat Model
pertama kita akan membuat model, dimana di model ini kita akan membaca data.
yaps, data dari databasenya,

Pada folder Codeigniter masuk ke CodeIgniter/aplication/models, lalu buat sebuah


file dengan nama ModMhs.php (untuk model dari table mahasiswa). teman-teman
bisa sesuaikan dengan nama yang diinginkan.
db->select('tb_mahasiswa.*, tb_jurusan.nama_jurusan'); $this->db-
>from('tb_mahasiswa'); $this->db->join('tb_jurusan', 'tb_jurusan.id =
tb_mahasiswa.id_jurusan'); $query = $this->db->get(); return $query-
>result(); }

tampilan model ModMhs.php


penjelasan:
$this->db->select(‘tb_mahasiswa.*, tb_jurusan.nama_jurusan’);
            syntaks tersebut, digunakan untuk melakukan select ke dua table pada databse
yang telah kita buat, jadi maksudnya data dari database yang mana sih yang mau kita
tampilkan, untuk itu kita harus select atau memilih.
$this->db->from(‘tb_mahasiswa’);
             nah, pada syntaks ini kita akan memilih tb_mahasiswa untuk dihubungkan
dengan tb_jurusan
$this->db->join(‘tb_jurusan’, ‘tb_jurusan.id = tb_mahasiswa.id_jurusan’);
             lalu pada syntaks ini baru kita gabungkan data dari tb_jurusan yaitu id
tabelnya, dengan id jurusan pada tb_mahasiswa
$query = $this->db->get();
nah, tinggal panggil deh, untuk ditampilkan ke browser karena data udah siap untuk
dipanggil

4. Membuat Controller
Setelah,modelnya jadi, maka selanjutnya kita akan membuat sebuah controller dari
model yang kita buat tadi, untuk membuat perintah panggil ke databsenya,

Pada folder Codeigniter masuk ke CodeIgniter/aplication/Controllers, lalu buatlah


file dengan nama Universitas.php. Teman-teman bisa sesuaikan dengan nama yang
diinginkan.
load->model("ModMhs"); } public function index() { $data["tb_mahasiswa"] = $this->ModMhs-
>getTable(); $this->load->view("ruang.php", $data); }
tampilan controller Universitas.php
penjelasan:
public function __construct()
            pada syntaks ini method –construct method yang pertama kali dijalanakan
pada saat sebuah kelas dijalankan, jadi apabila kita menjalankan atau menginstansiasi
sebuah kelas maka method construct yang pertama kali dijalankan. seperti ini
$this->load->model(“ModMhs”);
             nah, inilah perintah yang memanggil model yang kita buat tadi.
$data[“tb_mahasiswa”]=$this->ModMhs->getTable();  dan  $this->load-
>view(“ruang.php”, $data);
             lalu pada dua syntaks, kita akan menyimpan/menampilkan model yang kita
panggil dengan controllers tadi ke dalam view, dimana $data[“tb_mahasiswa”] =
$this->ModMhs->getTable(); untuk model yang diambil dan $this->load-
>view(“ruang.php”, $data); untuk mengarahkan ke view yang bernama ruang.php
dan $data adalah variabel untuk manampung model tadi

5. Membuat View
Pada view ini kita akan membuat beberapa tampilan, dimana tampilan header,
content, footer, javaScript, dan CSS dibedakan, ini bertujuan agar penulisan kode
menjadi rapi.

nah, teman-teman bisa membuat sebuah folder untuk menampung beberapa bagian
view tersebut.

Pertama, buatlah folder pada menu view CodeIgniter/aplication/views, buat folder


denfan nama _isi lalu pada folder tersebut buatlah file navbar.php, head.php,
footer.php, dan js.php.
Kedua, download file view template disini lalu ekstrak,
Ketiga, setelah itu pindahkan file js dan CSS yang di ekstrak ke dalam
folder assetss, jika belum ada buatlah folder tersebut. buat dalam folder Codeigniter
Keempat, nah, untuk isi dari content nya sendiri kita akan menuliskannya
pada CodeIgniter/aplication/views (bukan dalam folder _isi). buatlah file dengan
nama ruang.php 
lalu untuk head, navbar, footer, dan js nya yang ada pada folder _isi tadi di isi seperti
ini:

Kelima, masuk ke dalam file autoload.php yang ada


pada Codeigniter/aplication/config/autoload.php. kemudian tambahkan URL. seperti
ini autoload[‘helper’] = array(‘url’). 
Maka tampilan akan seperti ini jika tidak ada error yang terjadi
 

6. Menambah fitur Create, Update, Delete


a. Create (Insert data)

untuk membuat fitur Create sendiri, konsepnya sama saja, yaitu:

Pertama, kita akan membuat modelnya, tambahkan syntaks di bawah ke


file ModMhs.php yang kita buat tadi.
public function insert($data)

{
return $this->db->insert('tb_mahasiswa', $data);

public function get($id) {

return $this->db->where('id', $id)->get('tb_mahasiswa')->row();

tampilan model ModMhs.php


Kedua, karena tablenya relasi, maka kita akan membuat model baru untuk meload
data dari database yaitu pada tb_jurusan. buatlah file ModJur.php.  untuk model
dari tb_jurusan 
<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class ModJur extends CI_Model {

public function getAll()

return $this->db->get('tb_jurusan')->result();
}

/* End of file ModJur.php */

/* Location: ./application/models/ModJur.php */

?>

tampilan model ModJur.php


Ketiga, buat controller dengan menambahkan function pada Universitas.php
public function tambahData()

{
$this->load->model('ModJur');

$data['tb_jurusan'] = $this->ModJur->getAll();

$this->load->view('action/tambah', $data);

public function simpanData()

$this->load->model('ModMhs');

$nama = $this->input->post('nama');

$alamat = $this->input->post('alamat');

$jurusan = $this->input->post('jurusan');

$data = [

'nama' => $nama,

'alamat' => $alamat,

'id_jurusan' => $jurusan

];

$simpan = $this->ModMhs->insert($data);

if ($simpan) {
$this->session->set_flashdata('msg_success', 'Data sudah tersimpan');

}else {

$this->session->set_flashdata('msg_error', 'Data gagal disimpan');

redirect('Universitas');

}
tampilan Controller Universitas.php
Keempat,  nah, sekarang buatlah view form untuk user menambah/create data ke
databasenya. Agar filenya rapi, buatlah folder dengan nama action dan buatlah file
dengan nama Tambah.php
tampilan View Tambah.php

Jika sudah, maka tampilan akan menjadi seperti ini


tampilan view Tambah.php
dan ini ketika berhasil
tampilan redirect ketika data berhasil disimpan
b. Update (Edit data)

Pada fitur Update(Edit data) ini sama saja sama tambah data konsepnya,
Pertama, Membuat model,Tambahkan syntaks function pada ModMhs.php tadi.
public function Update($data, $id)

return $this->db->where('id', $id)->update('tb_mahasiswa', $data);

}
tampilan function Update pada ModMhs.php
Kedua, buat controller, tambahkan syntaks function pada Universitas.php
public function edit($id)

$this->load->model('ModJur');

$this->load->model('ModMhs');

$data['tb_jurusan'] = $this->ModJur->getAll();

$data['tb_mahasiswa'] = $this->ModMhs->get($id);

$this->load->view('action/update', $data);

public function update(){

$this->load->model('ModMhs');

$id = $this->input->post('id');

$nama = $this->input->post('nama');

$alamat = $this->input->post('alamat');

$id_jurusan = $this->input->post('jurusan');

$data = [

'nama' => $nama,


'alamat' => $alamat,

'id_jurusan' => $id_jurusan

];

$save = $this->ModMhs->update($data, $id);

if($save) {

$this->session->set_flashdata('msg_success', 'Data telah diubah!');

} else {

$this->session->set_flashdata('msg_error', 'Data gagal disimpan, silakan isi ulang!');

redirect('Universitas');

}
tampilan controller untuk update pada Controller.php
Ketiga, buatlah file update.php pada folder action tadi, untuk membuat form edit
untuk user, tampilan  ini sama seperti tambah data, akan tetapi pada fieldnya udah
otomatis terisi oleh data sebelumnya
tampilan view Update.php
Maka tmapilannya akan seperti ini

tamplan sebelum di edit


tampilan ketika di edit
tampilan sesudah di edit
 

c. Delete (Hapus data)

Pertama, kita akan melakukan hal yang sama yaitu, menambahkan model


di ModMhs.php
public function delete($id) {

return $this->db->where('id', $id)->delete('tb_mahasiswa');

}
tampilan model Function ModMhs.php
Kedua, menambahkan Controllernya di Universitas.php
public function delete($id){

$this->load->model('ModMhs');

$delete = $this->ModMhs->delete($id);

if ($delete) {

$this->session->set_flashdata('msg_success', 'Data yang anda pilih telah terhapus');

} else {

$this->session->set_flashdata('msg_error', 'Tidak bisa hapus pesan');

redirect('Universitas');

}
tampilan controller Functionc Universitas.php
Maka tampilannya akan seperti ini
tampilan ketika tombol “Hapus” di klik dan ada konfirmasi
tampilan ketika sudah terhapus
Untuk link download filenya:

https://s.id/nasutioncode
Sekian, Semoga Membantu Terimakasih ^_^

Anda mungkin juga menyukai