X
Showing posts with label Codeigniter. Show all posts
Showing posts with label Codeigniter. Show all posts

Saturday, March 20, 2021

Cara Menghubungkan Database Firebase dengan Codeigniter

 


Sebelumnya pada postingan Cara Membuat dan Menghubungkan Firebase dengan Project Android Studio telah dijelaskan cara membuat project firebase dan menghubungkannya dengan Android Studio.

Sekarang yang akan dibahas adalah Cara Menghubungkan Database Firebase dengan Project Codeigniter. Sebelum itu silahkan buat project firebase terlebih dahulu, caranya bisa di lihat pada postingan Cara Membuat dan Menghubungkan Firebase dengan Project Android Studio.

Jika sudah punya project firebase di akun google kalian, silahkan tambahkan library firebase di project Codeigniter kalian, dengan menggunakan Composer.


composer require eelkevdbos/firebase-php dev-master



Untuk controller silahkan buat seperti berikut :
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

use Firebase\Firebase;

class CFirebase extends CI_Controller {

public function __construct()
{
parent::__construct();
$this->load->model('Mdata');

}
public function index()
{
$this->load->view('firebase');

}
public function add_data()
{
$fb = Firebase::initialize('YOUR_FIREBASE_URL', 'YOUR_FIREBASE_SECRET');
$d = [
"notif" => "0",
"tipe" => "0",
];
$a = $fb->push('/data', $d);
echo json_encode($a);

}
public function get_data()
{
$fb = Firebase::initialize('YOUR_FIREBASE_URL', 'YOUR_FIREBASE_SECRET');
$a = $fb->get('/data');
echo json_encode($a);

}
public function update_data()
{
$key = $this->input->get("key");
$fb = Firebase::initialize('YOUR_FIREBASE_URL', 'YOUR_FIREBASE_SECRET');
$d = [
"notif" => "1",
"tipe" => "0",
];
$a = $fb->update('/data/'.$key, $d);
echo json_encode($a);

}
public function delete_data()
{
$key = $this->input->get("key");
$fb = Firebase::initialize('YOUR_FIREBASE_URL', 'YOUR_FIREBASE_SECRET');
$d = [
"notif" => "1",
"tipe" => "0",
];
$a = $fb->delete('/data/'.$key, $d);
echo json_encode($a);

}
}

Jangan lupa untuk mengganti "YOUR_FIREBASE_URL" dan "YOUR_FIREBASE_SECRET", sesuai dengan firebase kalian.

Penjelasan Kode

Add Data

Kode untuk menambah data terletak pada method :
public function add_data(){
$fb = Firebase::initialize('YOUR_FIREBASE_URL', 'YOUR_FIREBASE_SECRET');
$d = [
"notif" => "0",
"tipe" => "0",
];
$a = $fb->push('/data', $d);
echo json_encode($a);
 }
Pada kode di atas program akan menambahkan data kedalam database firebase menggunakan fungsi "push" dimana data yang ditambahkan berupa data array dengan nama variabel "$d". Nantinya data yang ditambahkan akan memiliki key tersendiri.





Get Data

public function get_data()
{
$fb = Firebase::initialize('YOUR_FIREBASE_URL', 'YOUR_FIREBASE_SECRET');
$a = $fb->get('/data');
echo json_encode($a);

}


Kode di atas menginstruksikan untuk mengambil semua data yang ada pa Path "/data" sehingga nantinya akan mengembalikana data berupa JSON.





Update Data

public function update_data()
{
$key = $this->input->get("key");
$fb = Firebase::initialize('YOUR_FIREBASE_URL', 'YOUR_FIREBASE_SECRET');
$d = [
"notif" => "1",
"tipe" => "0",
];
$a = $fb->update('/data/'.$key, $d);
echo json_encode($a);

}


Kode di atas menginstruksikan untuk mengupdate data menggunakan perintah update. Dimana terdapat variabel "$key" yang berfungsi untuk menentukan data mana yang akan diubah.

Delete Data

public function delete_data()
{
$key = $this->input->get("key");
$fb = Firebase::initialize('YOUR_FIREBASE_URL', 'YOUR_FIREBASE_SECRET');
$d = [
"notif" => "1",
"tipe" => "0",
];
$a = $fb->delete('/data/'.$key, $d);
echo json_encode($a);

}


Sama halnya seperti update data, kode di atas juga menggunakan "$key" untuk menentukan data tertentu yang ingin di hapus. Jika ingin menghapus semua data dalam path silahkan ganti kode menjadi "$a = $fb->delete('/data/', $d);".

Friday, March 19, 2021

CARA MUDAH UPLOAD FILE DI CODEIGNITER

 


Proses upload seringkali dibutuhkan dalam pengelolaan website, seperti upload file berupa gambar user, kelengkapan berkas, file postingan dan lain sebagainya. Framework tidak lupa memberikan fungsi atau library yang memudahkan development dalam mengupload file.

Berikut akan kita buat sebuah web sederhana untuk mengupload file menggunakan Codeigniter.

1. Buat folder baru di folder root dengan nama asset.





2. Buat sebuah view dengan nama upload.php isi dengan kode di bawah ini.

<!DOCTYPE html>
<html>
<head>
<title>Upload file</title>
</head>
<body>
<form method="post" action="upload/aksi" enctype="multipart/form-data">
<input type="file" name="file">
<br>
<button>upload</button>
</form>
</body>
</html>


3. Buat sebuah Controller baru dengan nama Upload.php isi dengan kode di bawah ini.

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

class Upload extends CI_Controller {


public function index()
{
$this->load->view("upload");
}
public function aksi()
{
$config['upload_path'] = './asset/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = 2024;
$config['encrypt_name'] = TRUE;
$config['file_name'] = "sembarang";

$this->load->library('upload');
$this->upload->initialize($config);

if (!$this->upload->do_upload('file')) {
$error = array('error' => $this->upload->display_errors());
$ar = array('result'=>'error', 'data'=>$error);
echo json_encode($ar);
} else {
$data = array('image_metadata' => $this->upload->data());
$nama = $data['image_metadata']['file_name'];
$tipe = explode('.', $nama);
$ret = array(
'nama_file'=> $nama,
'tipe_file'=>$tipe[1]
);
$ar = array('result'=>'success', 'file'=>$ret);
echo json_encode($ar);
}
}
}


4. Silahkan jalankan aplikasi dan lihat hasilnya.

Penjelasan kode


$config['upload_path'] = './asset/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = 2024;
$config['encrypt_name'] = TRUE;


Kode di atas merupakan konfigurasi dari file yang akan di upload.

  • upload_path adalah lokasi atau folder dimana file upload akan di tempatkan.
  • Pada bagian "allowed_types" merupakan jenis file yang dapat di upload, untuk mengizinkan semua jenis file silahkan isi dengan '*'.
  • max_size, batas maksimal ukuran file yang di upload.
  • encrypt_name, membuat nama file otomatis dengan menggunakan kode unik



Baca Juga : Menampilkan Gambar Sebelum di Upload dengan Javascript 

 

 

 

Menampilkan Data dari Database Kedalam DataTables di Codeigniter

 


DataTables merupakan sebuah library javascript yang mempermudah kita dalam menampilkan data kedalam bentuk table. Penggunaannya yang sangat simple dan memiliki banyak fitur membuat datatables banyak digunakan.

Pada postingan kali ini kita akan mencoba menampilkan data dari database kedalam table menggunakan DataTables dan framework Codeigniter 3. Langsung saja ikuti langkah-langkah di bawah.

1. Buat struktur database yang akan ditampilkan.





2. Hubungkan Codeigniter dengan database yang akan ditampilkan, caranya masuk ke application -> config -> database.php lalu masukkan atur sesuai database kalian contohnya seperti dibawah.

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

$active_group = 'default';
$query_builder = TRUE;

$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'cmsku',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);


3. Buat view dengan nama coba.php kemudian isi dengan kode di bawah :

<!DOCTYPE html>
<html>
<head>
<title>Coba Data Tables</title>
<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.6/css/jquery.dataTables.css">

<!--Import jQuery before export.js-->
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>


<!--Data Table-->
<script type="text/javascript" src=" https://cdn.datatables.net/1.10.13/js/jquery.dataTables.min.js"></script>
</head>
<body>
<table id="tabelku" class="display" style="width:100%">
<thead>
<tr>
<th>No</th>
<th>Judul</th>
<th>Isi</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>


</tbody>
</table>

<script type="text/javascript">
$(document).ready(function(){
let RefTable = {
init() {
RefTable.table=$('#tabelku').DataTable({

bSort : true,
destroy : true,
iDisplayLength : 10,
processing : true,
serverSide : true,
order : [],
ajax : {
"url" : "<?php echo base_url()?>Coba/load",
"type" : "POST",
},

});

$("body").on("click", "[data-action]", function(e) {
e.preventDefault();

let action = $(this).data("action");
if (action === "edit") {
//aksi edit disini
}
});
}

}
RefTable.init();

});

</script>





</body>
</html>


4. Buat Model dengan nama DataModel.php lalu isi dengan kode dibawah

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

class DataModel extends CI_Model {

var $table = 'postingan a';//nama tabel

var $column_order = array(null,'a.tanggal',null); //order berdasarkan

var $column_search = array('a.judul_postingan, a.tanggal', 'a.isi'); //cari berdasarkan

var $select_column = array('a.*'); //select all
var $order = array('a.tanggal' => 'desc'); // default order


public function __construct()
{
parent::__construct();
$this->load->database();
}

private function _get_datatables_query()
{
$this->db->select($this->select_column);
$this->db->from($this->table);
$i = 0;

foreach ($this->column_search as $item) // loop column
{
if($_POST['search']['value']) // if datatable send POST for search
{

if($i===0) // first loop
{
$this->db->group_start(); // open bracket. query Where with OR clause better with bracket. because maybe can combine with other WHERE with AND.
$this->db->like($item, $_POST['search']['value']);
}
else
{
$this->db->or_like($item, $_POST['search']['value']);
}

if(count($this->column_search) - 1 == $i) //last loop
$this->db->group_end(); //close bracket
}
$i++;
}

if(isset($_POST['order'])) // here order processing
{
$this->db->order_by($this->column_order[$_POST['order']['0']['column']], $_POST['order']['0']['dir']);
}
else if(isset($this->order))
{
$order = $this->order;
$this->db->order_by(key($order), $order[key($order)]);
}
}

function get_datatables()
{

$this->_get_datatables_query();
if($_POST['length'] != -1)
$this->db->limit($_POST['length'], $_POST['start']);
$query = $this->db->get();
return $query->result();
}

function count_filtered()
{
$this->_get_datatables_query();
$query = $this->db->get();
return $query->num_rows();
}

public function count_all()
{
$this->db->from($this->table);
return $this->db->count_all_results();
}
}



Silahkan sesuaikan baris berikut sesuai dengan database kalian.

var $table = 'postingan a';//nama tabel

var $column_order = array(null,'a.tanggal',null); //order berdasarkan

var $column_search = array('a.judul_postingan, a.tanggal', 'a.isi'); //cari berdasarkan

var $select_column = array('a.*'); //select all
var $order = array('a.tanggal' => 'desc'); // default order


5. Buat Controller dengan nama Coba.php lalu isi dengan kode dibawah

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

class Coba extends CI_Controller {

public function __construct()
{
parent::__construct();
$this->load->model('DataModel');

}

public function index()
{
$this->load->view('coba');
}

public function load()
{

$data = array();

$tampil = $this->DataModel->get_datatables();

$no = $_POST['start'];

foreach ($tampil as $key => $r) {
$no++;
$row = array();
$row[] = $no;
$row[] = $r->judul_postingan;
$row[] = $r->isi;
$row[] = $r->status;
$row[] = '<a href="javascript:; type="button" class="btn btn-xs yellow btn-outline btn-edit tooltips " title="Edit" data-action="edit" data-id="'.$r->id_postingan.'"><i class="fa fa-edit"></i> Edit</a>
';
$data[] = $row;
}

$output = array(
"draw" => $_POST['draw'],
"recordsTotal" => $this->DataModel->count_all(),
"recordsFiltered" => $this->DataModel->count_filtered(),
"data" => $data,
);

echo json_encode($output);
}
}


6. Hasil running akan tampak seperti gambar dibawah ini :





Thursday, March 11, 2021

Cara Membuat Login Google dengan Codeigniter

 


Seperti judul postingan Cara Membuat Login Google dengan Codeigniter, kita akan membuat sebuah metode login dengan menggunakan akun google. Framework yang digunakan pada tutorial kali ini adalah Codeigniter 3. Untuk versi lainnya dapat disesuaikan.

Sebelum memulai mengikuti tutorial di bawah ini pastikan anda sudah menginstall Composer sebab dependency manager ini nantinya diperlukan untuk menginstall library google apiclient. Baca Mengenal dan Menginstall Composer.

Daftar isi
1. Membuat Apikey Google
2. Memasang Codeigniter dan Menginstall Library
3. Membuat Kode

1. Membuat Apikey Google


Tahap pertama yang harus anda lalui adalah membuat api key google sehingga nantinya website anda dapat mengakses akun google yang di inginkan. Untuk mendapatkan apikey ini caranya sangat mudah anda hanya memerlukan akun email google kemudian masuk ke alamat https://console.developers.google.com/. Selanjutnya ikuti langkah-langkah di bawah ini.

1) Buat project baru dengan mengklik new project pada jendela select a project





2) Isi project name sesuai keinginan anda, contohnya disini saya menggunakan nama Login Google. Kemudian klik Create





3) Setelah project baru berhasil dibuat klik menu OAuth consent screen





4) Pilih external lalu klik create





5) Isi App Name, User support email dan Email address pada developer contact information kemudian klik Save and continue





Catatan : pada tahapan nomor 5 anda juga bisa menambahkan logo aplikasi.

6) Selanjutnya klik Save and continue





7) Biarkan kosong lalu klik Save and continue





8) Jika sudah muncul tampilan seperti pada gambar dibawah silahkan lanjut dengan mengklik menu Credential





9) Klik Create Credential kemudian pilih OAuth client ID





10) Aplication Type pilih web aplication kemudian add uri pada bagian Authorized redirect URIs kemudian isi dengan halaman aksi login google anda. Misalnya alamat yang akan mengakses login google saya adalah http://localhost/google/login





11) Simpan kode yang muncul untuk nantinya dipasang pada kode website.





2. Memasang Codeigniter dan Menginstall Library

Langkah selanjutnya adalah memasang Codeigniter pada folder root website anda. Untuk cara pemasangan silahkan baca Cara Pemasangan Codeigniter untuk Pemulan. Pada tutorial ini saya memberi nama "google". Sehingga ketika di akses pada browser adalah "http://localhost/google".





Masuk ke folder root website kemudian install library google apiclient dengan memasukkan perintah dibawah pada CMD.


composer require google/apiclient:"^2.0"





Catatan : Apabila muncul error "require-dev.mikey179/vfsStream is invalid, it should not contain uppercase characters. Please use mikey179/vfsstream instead." silahkan baca Cara Mengatasi require-dev.mikey179/vfsStream is invalid, it should not contain uppercase characters. Please use mikey179/vfsstream instead.

Terakhir jangan lupa untuk membuat Url project codeigniter dapat diakses tanpa embel-embel index.php misalnya http://localhost/google/index.php/login sebab nantinya akan berpengaruh ketika melakukan redirect url. Baca Menghilangkan Index.php pada url Codeigniter

.

3. Membuat Kode

1) Buat Contoller "Login.php" , isi dengan kode dibawah ini.

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

class Login extends CI_Controller {

public function index()
{
include_once APPPATH . "../vendor/autoload.php";
$google_client = new Google_Client();
$google_client->setClientId(''); //masukkan ClientID anda
$google_client->setClientSecret(''); //masukkan Client Secret Key anda
$google_client->setRedirectUri('http://localhost/google/login'); //Masukkan Redirect Uri anda
$google_client->addScope('email');
$google_client->addScope('profile');

if(isset($_GET["code"]))
{
$token = $google_client->fetchAccessTokenWithAuthCode($_GET["code"]);
if(!isset($token["error"]))
{
$google_client->setAccessToken($token['access_token']);
$this->session->set_userdata('access_token', $token['access_token']);
$google_service = new Google_Service_Oauth2($google_client);
$data = $google_service->userinfo->get();
$current_datetime = date('Y-m-d H:i:s');
$user_data = array(
'first_name' => $data['given_name'],
'last_name' => $data['family_name'],
'email_address' => $data['email'],
'profile_picture'=> $data['picture'],
'updated_at' => $current_datetime
);
$this->session->set_userdata('user_data', $data);
}
}
$login_button = '';
if(!$this->session->userdata('access_token'))
{

$login_button = '<a href="'.$google_client->createAuthUrl().'"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3H7pNb5IuOT4E9D0cXk2nCPJNiQgWjYSzO0looKmhNtzB-omS5Ls6MAL8kxJ0ocykJ5e18ocTetH6QuyP2cwwcF5tGqzC7KogR4yoz0aoLrsj4MPbaouoQ-lllICroJEAcdVixvCaZ38/s320/google_logo.png" /></a>';
$data['login_button'] = $login_button;
$this->load->view('google_login', $data);
}
else
{
// uncomentar kode dibawah untuk melihat data session email
// echo json_encode($this->session->userdata('access_token'));
// echo json_encode($this->session->userdata('user_data'));
echo "Login success";
}
}
public function logout()
{
$this->session->unset_userdata('access_token');

$this->session->unset_userdata('user_data');
echo "Logout berhasil";
}
}


Jangan lupa isi setClientId dan setClientSecret sesuai dengan apikey yang telah dibuat sebelumnya. Serta setRedirectUri sesuaikan dengan url yang di daftarkan sebelumnya yaitu "http://localhost/google/login".

2) Buat view "google_login" , isi dengan kode dibawah ini.


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Login with Google in Codeigniter</title>
<meta content='width=device-width, initial-scale=1, maximum-scale=1' name='viewport'/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />

</head>
<body>
<div class="container">
<br />
<h2 align="center">Login using Google Account with Codeigniter</h2>
<br />
<div class="panel panel-default">
<?php
if(!isset($login_button))
{

$user_data = $this->session->userdata('user_data');
echo '<div class="panel-heading">Welcome User</div><div class="panel-body">';
echo '<img src="'.$user_data['profile_picture'].'" class="img-responsive img-circle img-thumbnail" />';
echo '<h3><b>Name : </b>'.$user_data["first_name"].' '.$user_data['last_name']. '</h3>';
echo '<h3><b>Email :</b> '.$user_data['email_address'].'</h3>';
echo '<h3><a href="http://localhost/login_google/google/logout">Logout</h3></div>';
}
else
{
echo '<div align="center">'.$login_button . '</div>';
}
?>
</div>
</div>
</body>
</html>



3) Aktifkan library Session, buka application/config/autoload.php, ubah kode "$autoload['libraries'] = array('');" menjadi "$autoload['libraries'] = array('session');" kemudian save.

4) Buka application/config/routes.php, lalu ubah "$route['default_controller'] = 'welcome';" menjadi "$route['default_controller'] = 'login';".

Terakhir silahkan lakukan pengetesan, apabila berhasil akan tampil pilihan akun google yang akan digunakan untuk login setelah memilih akun, akan diredirect ke halaman dengan menampilkan tulisan "Login success".

Tuesday, December 29, 2020

Menghilangkan Index.php pada url Codeigniter

Bagi anda pengguna baru Codeigniter mungkin risih dengan adanya embel-embel index.php pada url ketika hendak mengakses controller lain. Misalnya url yang di inginkan adalah http://localhost/webku/auth/login namun yang dapat di akses adalah http://localhost/webku/index.php/auth/login.

Untuk menghilangkan embel-embel index.php ini sangat mudah anda bisa menggunakan bantuan .htaccess, untuk caranya silahkan ikuti langkah-langkah di bawah :

Langkah pertama buka dan edit file config.php pada directory application/config/config.php kemudian cari "$config['index_page'] = 'index.php';" dan hilangkan index.php sehingga menjadi "$config['index_page'] = '';".

Langkah kedua buat file baru dengan nama .htaccess di directory utama project anda, kemudian isi file tersebut dengan kode dibawah :

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Langkah ketiga , silahkan tes dengan mengakses url yang awalnya terdapat embel-embel index.php, sekarang hapus index.php tersebut pada url. Jika berhasil maka website akan menampilkan sesuai dengan yang di inginkan.

Sunday, December 13, 2020

CARA IMPORT DATA DARI EXCEL KE DATABASE MENGGUNAKAN CODEIGNITER

Menginput satu persatu data kedalam database merupakan hal yang melelahkan apalagi ketika data yang di input berjumlah ratusan atau bahkan ribuan. Untuk mengatasi hal ini bisa menggunakan file excel, dimana terlebih dahulu data di buat dalam bentuk excel kemudian di upload ke WEB yang nantinya akan otomatis di masukkan kedalam database.

Pada postingan kali ini menggunakan framework Codeigniter dan menggunakan library PhpSpreadsheet. Jadi sebelum memulai bergelut dengan pembuatan, silahkan download terlebih dahulu library PhpSpreadsheet dengan menggunakan bantuan composer. Ketikkan perintah dibawah untuk mendownlaod

composer require phpoffice/phpspreadsheet


Berikut adalah contoh penggunaan Import Data Dari Excel Ke Database Menggunakan Codeigniter, dimana pada contoh ini menggunakan struktur database seperti pada gamabar.






<?php
defined('BASEPATH') OR exit('No direct script access allowed');
require 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Reader\Csv;
use PhpOffice\PhpSpreadsheet\Reader\Xlsx;

class Contoller extends CI_Controller {

public function aksi()
{
$file_mimes = array('application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');

if(isset($_FILES['file']['name']) && in_array($_FILES['file']['type'], $file_mimes)) {

$arr_file = explode('.', $_FILES['file']['name']);
$extension = end($arr_file);

if('csv' == $extension) {
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Csv();
} else {
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
}

$spreadsheet = $reader->load($_FILES['file']['tmp_name']);

$sheetData = $spreadsheet->getActiveSheet()->toArray();

for($i = 1;$i < count($sheetData);$i++)
{
$nama = $sheetData[$i]['0'];
$username = $sheetData[$i]['1'];
$password = $sheetData[$i]['2'];

$nra_fix = str_replace(' ', '', $nra);


$ar = array(
'nama' => $nama,
'username' => $username,
'password' => $password
);

$a = $this->Modelku->get('user', "username='$username'")->result_array();
if (count($a)==0) {
$this->Modelku->insert('user', $ar);
}
}

}
}
}
Perlu diperhatikan kode di atas menggunakan sebuah model dengan nama "Modelku", jadi silahkan buat model dengan nama yang sama terlebih dahulu kemudian tambahkan fungsi berikut.

function insert($table, $data)
{
	$this->db->insert($table,$data);
	return $this->db->insert_id();
}
function get($tabel, $where)
{
	$this->db->select("*");
	$this->db->from($tabel);
	$this->db->where($where);
	return $this->db->get();

}

Wednesday, March 18, 2020

Cara Membuat Konfigurasi Ion Auth di Codeigniter 3 - Coding Rakitan


Hai sobat Coding Rakitan, kali ini kita akan membahas tentang Ion Auth yaitu sebuah library authentication (otentikasi) yang berfungsi untuk memudahkan programer dalam melakukan otentikasi terhadap user yang melakukan login. Otentikasi dimaksudkan untuk membatasi akses user, sehingga pada bagian tertentu dalam web hanya dapat diakses oleh orang tertentu.

Secara simplenya otentikasi diperlukan saat user melakukan aksi login, untuk mengetahui apakah akun yang dimasukkan terdaftar di database atau tidak. Otentikasi juga diperlukan untuk menghindari adanya SQL injection.

Berikut langkah-langkah Cara Membuat Konfigurasi Ion Auth di Codeigniter 3.

1. Download library Ion Auth DISINI.




2. Extract file yang telah di download. Ada beberapa folder yang perlu di perhatikan seperti config, controllers, libraries, models, dan Views. Silahkan pindahkan isi dalam masing-masing folder kedalam folder CI seperti:
  • config/ion_auth.php pindahkan ke folder_codeigniter/aplication/config.
  • controllers/Auth.php pindahkan ke folder_codeigniter/aplication/controllers.
  • controllers/Auth.php pindahkan ke folder_codeigniter/aplication/controllers.
  • libraries/ion_auth.php pindahkan ke folder_codeigniter/aplication/libraries.
  • models/Ion_auth_model.php pindahkan ke folder_codeigniter/aplication/models.
  • views/auth pindahkan ke folder_codeigniter/aplication/views.
  • Pindahkan semua folder dalam language pindahkan ke folder_codeigniter/aplication/language.



3. Edit file autoload.php pada folder aplication/config/autoload.php di root codeigniter anda. Ubah kode $autoload['libraries'] = array(); menjadi $autoload['libraries'] = array('database', 'session', 'ion_auth'); kemudian save.



4. Langkah selanjutnya buat sebuah database dengan nama "coba" dan impor database yang ada di dalam folder library tadi sql/ion_auth.sql. Jika sukses akan muncul beberapa tabel database baru seperti berikut.




5. Jangan lupa mengatur database codeigniter pada folder aplication/config/database.php seperti berikut.




6. Jika konfigurasi sudah selesai silahkan buka localhost/nama_web/auth/ di browser anda maka otomatis di arahkan ke localhost/nama_web/auth/login. Tampilan nantinya akan tampak seperti berikut.




Untuk login masukkan akun default email : admin@admin.com dan password : password. Halaman setelah login akan tampak seperti berikut.




Ketikkan localhost/nama_web/auth/logout untuk melakukan logout.

Thursday, October 3, 2019

Pengertian Library dalam dunia Pemrograman




Library merupakan merupakan sekumpulan kode yang memiliki fungsi-fungsi tertentu dan dapat dipanggil kedalam program lain.

Library dibuat untuk mempermudah dalam membangun sebuah aplikasi. Dengam library programer tidak harus membangun kode dari awal untuk suatu fungsi tertentu.

Sekilas mungkin anda menganggap library ini sama dengan Framework, nyatanya tidak karena library biasanya hanya berfokus pada satu tugas saja seperti menangani database. Sedangkan framework menangani banyak tugas. Bahkan framework terdiri dari sekumpulan library.

Hal yang mendasari dibuatnya library disebabkan banyaknya bug yang muncul ketika terjadi peningkatan pada sistem pengkodean. Aplikasi yang harus ditulis  secara keseluruhan menjadi kendalanya.

Pada tahun 1959 JOVIAL memberikan solusi dengan membagi aplikasi menjadi beberapa bagian yang lebih kecil. Solusi inilah yang menjadi dasar pembuatan yang kita kenal sekarang sebagai library.

Sunday, April 7, 2019

Cara Merubah, Membuat, dan Menampilkan Halaman dengan Codeigniter


Setelah kita melakukan pemasangan pada postingan sebelumnya Cara Pemasangan Codeigniter untuk Pemulan, mari kita mulai bekerja dengan Codeigniter. Agar anda semakin paham saya akan menggambarkan sebenarnya bagaimana alur Codeigniter untuk menampilkan sebuah halaman.



Pada gambar di atas kita bisa lihat controller adalah bagian yang akan berfungsi untuk mengatur view apa yang akan di tampilkan. Misalnya jika anda ingin menampilkan halaman 'home.html' maka anda perlu mengaturnya di file Controller.

Untuk mengatur controller apa yang pertama kali dijalankan ketika web di muat anda bisa mengaturnya di "application/config/routes.php" silahkan cari $route['default_controller'] = 'welcome';. Silahkan rubah yang berwarna merah dengan Class anda sendiri.

Itu adalah format awal ketika anda memasang Codeigniter dimana web akan otomatis memuat class 'Welcome' yang ada di folder 'application/controllers/Welcome.php' dimana dalam file ini berisi perintah seperti ini :

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

class Welcome extends CI_Controller {
public function index()
{
$this->load->view('welcome_message');
}
}

Pada kondisi di atas memerintahkan untuk menampilkan view pada folder 'application/views/welcome.php'. Sebagai contoh disini saya akan menampilkan class Home dengan view home.php sebagai class yang default akan dimuat web ketika pertama kali dibuka maka langkahnya akan seperti berikut.

1. Buat foder baru dengan nama BelajarCodeigniter

Pertama buat dulu projet baru di folder Htdoccs XAMP dengan nama BelajarCodeigniter kemudian pindahkan folder root Codeigniter kedalamnya. Silahkan baca : Cara Pemasangan Codeigniter untuk Pemulan.

2. Merubah Default Controller

Silahkan buka "application/config/routes.php" dan cari $route['default_controller'] = 'welcome'; Rubah yang berwarna merah dengan home.

3. Buat class Home di Controllers

Buka folder "application/controllers/" dan buat file baru dengan nama Home.php, Silahkan isi dengan kode seperti berikut :




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

class Home extends CI_Controller {
public function index()
{
$this->load->view('home');
}
}

Dua hal utama yang harus diperhatikan dalam pembuatan class adalah :

  • class Home extends CI_Controller
  • . Bertanda merah harus sama dengan nama filenya.
  • $this->load->view('home');. Ini adalah perintah untuk menampilkan view home pada folder "application/views/home.php".

4. Buat View

Buka folder "application/views/" dan silahkan buat file "home.php". Isi file sesuai keinginan anda misalnya disini kita isi :

<!DOCTYPE html>
<html>
<head>
<title>Belajar Codeigniter</title>
</head>
<body>
Saya sedang belajar Codeigniter di <a href="http://codingrakitan.blogspot.com/">codingrakitan.blogspot.com</a>
</body>
</html>

Setelah ketiga langkah di atas selesai saatnya anda melihat tampilan web melalui browser web anda dengan menuliskan alamat localhost/BelajarCodeigniter. Jika sukses maka anda akan mendapatkan tampilan seperti berikut :


Thursday, April 4, 2019

Cara Pemasangan Codeigniter untuk Pemulan


Hai sobat sekalian kali ini saya akan berbagi seputar framework PHP yang sudah tidak asing lagi. Codeigniter adalah framework PHP yang akan kita bahas dalam postingan ini. Penjelasan tentang Codeigniter telah saya bahas dalam postingan sebelumnya Mengenal Apa itu Codeigniter (CI) beserta Sejarahnya.

Untuk anda para pemula yang baru memulai dari awal belajar menggunakan Codeigniter ada beberapa langkah yang harus anda lakukan di antaranya yaitu :

  • Melakukan penginstalan XAMP yaitu sebuah aplikasi yang akan menjadi server. Klik disini untuk download
  • Download Codeigniter disini.
Tentunya anda sudah tahu bukan cara penginstalan XAMP jadi tidak perlu saya terangkan lagi. Jika di perangkat anda sudah ada XAMPP selanjutnya silahkan download file Codeigniter melalui link yang saya sematkan di atas. File hasil downloatan nantinya akan berupa extensi ".zip". Silahkan extract file tersebut ke dalam directory XAMP yaitu "C:\xampp\htdocs", itu adalah direktori default dari XAMP. Silahkan sesuaikan direktori dengan penyimpanan anda.

Bila anda telah selesai mengextract Codeigniter ke dalam folder XAMP anda selanjutnya silahkan ganti nama foldernya sesuai keinginan anda misalnya "BelajarCodeigniter".



Kurang lebih anda akan mendapatkan tampak folder seperti di atas. Selanjutnya mari kita test untuk menjalankan melalui browser. Sebelumnya silahkan aktifkan Apache dan Mysql pada aplikasi XAMP anda.

Silahkan buka browser anda bisa Mozilla Firefox, Chrome , atau Opera.

Pada address bar silahkan ketikkan "localhost/BelajarCodeigniter", jika sukses maka anda akan mendapatkan tampilan seperti pada gambara di bawah.



Itu pertanda pemasangan Codeigniter telah berhasil dan siap untuk digunakan. Untuk langkah selanjutnya silahkan anda ikuti : Cara Merubah, Membuat, dan Menampilkan Halaman dengan Codeigniter.

Tuesday, January 22, 2019

Mengenal Apa itu Codeigniter (CI) beserta Sejarahnya


Codeigniter merupakan sebuah framework atau kerangka kerja yang digunakan untuk membangun aplikasi web yang dinamis menggunakan bahasa pemrograman php. Dengan framework ini kita akan sangat terbantu sebab, codeigniter berisikan sekumpulan kode-kode atau class-class yang tinggal dipanggil apabila dibutuhkan.

Jika kamu pernah menggunakan Netbeans atau Android studio, maka tidak terlalu sulit untuk memahamainya sebab framework ini hampir sama konsepnya dengan 2 aplikasi yang saya sebutkan.


Framework adalah . . .
Framework adalah kerangka kerja yang akan memudahkan para developer atau pengembang untuk membangun sebuah aplikasi.


Sejarang Codeigniter

CI atau Codeigniter pertama kali dirilis pada tanggal 28 Februari 2006. Rick Ellis adalah sosok yang pertama kali menulis Framework CI ini. Sebelum menjadi seorang programer Rick Ellis merupakan seorang musisi rock.

Tidak hanya menulis framework ini, Rick juga mendirikan EllisLab yaitu sebuah perusahaan yang bergerak di bidang software development berbasis PHP. EllisLab bermarkas di Bend, Oregon negara bagian Deschutes, Amerika Serikat.

Konsep Codeigniter

Konsep yang digunakan Codeigniter adalah OOP (Object Oriented Programming). OOP adalah teknik pemrograman dimana fungsi-fungsi di bungkus kedalam class-class yang dapat dipanggil apabila dibutuhkan.

Struktur dasar yang harus anda ketahui dalam Codeigniter adalah MVC (Model, View, Controller).

  • Model - berfungsi untuk menghubungkan web dengan database. Didalam mengakses database tidak perlu lagi menuliskan panjang-panjang. Model ini akan dibahas lebih jauh di postingan selanjutnya.
  • View - berfungsi untuk menampung tampilan yang akan anda tampilakan pada web anda. View ini terhubung dengan Controller.
  • Controller - berfungsi untuk mengatur apa yang akan ditampilkan pada web, selain itu controller juga berguna menghubungkan antara model dan view.

Struktur Codeigniter


Gambar di atas merupakan gambar struktur folder dari Codeigniter. Dimana pada gambar ini saya menggunakan codeigniter versi 3.1.9. Hingga tulisan ini ditulis versi terbaru dari codeigniter adalah v.3.1.10, dan ada pula versi 4 yang masih dalam pengembangan namun sudah bisa di download langsung di halaman resminya yang akan menuntun ke github.

Kembali membahas tentang struktur codeigniter, jadi folder utama yang harus anda ketahui adalah application karena di dalam folder ini terdapat config, controllers, models, serta views. Folder-folder itu adalah yang pertama harus anda ketahui bila ingin membuat sebuah aplikasi web menggunakan framework codeigniter.


Kelebihan Codeigniter

Sebagai sebuah framework yang sudah sangat terkenal di dunia pemrograman web, tentunya CI memiliki keunggulan atau kelebihan yang membuatnya disukai. Diantara kelebihan itu adalah sebagai berikut :

  • Performa cepat : Ada yang mengatakan bahwa framework codeigniter ini adalah framework tercepat di banding framework yang lainnya.
  • Open source : artinya kode-kode yang terdapat di dalamnya dapat dilihat secara keseluruhan dan bisa di utak atik sesuai keinginan. Tentunya untuk mengutak atik anda harus tahu betul konstruksi codeigniter ini.
  • Mudah dalam penginstalan : sangat mudah dalam menggunakan framework ini sebab anda hanya perlu memasukkan foldernya kedalam htdocs milik anda. Berbeda dengan framework web lain seperti NodeJs yang penginstalannya bisa saya bilang rumit.
  • Memiliki komunitas yang banyak : komunitas menjadi salah satu hal yang harus anda perhitungkan sebab dengan adanya komunitas akan membuat banyaknya tempat anda untuk belajar menggunakan codeigniter.
  • Memiliki banyak documentasi : jika anda kesulitan dalam menggunakan codeigniter anda tinggal searching di google. Beragam documentasi tentang framework ini akan banyak ditemukan, mulai dari lokal hingga documentasi manca negara.


Kekurangan Codeigniter

Dimana ada kelebihan disitu pasti terdapat kekurangan, sebab segala sesuatu yang ada di dunia ini tidak ada yang sempurna. Begitupulah dengan framework codeigniter, ada beberapa kekurangannya yang harus anda ketahui yaitu :

  • Bukan MVC yang sesungguhnya : hal ini dikarenakan beberapa hal, misalnya di dalam file controller kita masih bisa menuliskan echo, sebuah perntah dasar php untuk menampilkan.
  • Tidak ditujukan untuk pembuatan web berskala besar.
  • Koding masih sangat longgar untuk di utak atik. Hal ini sangat tidak menguntungkan untuk pemula yang jika tidak sengaja merubah koding akan berdampak besar pada keseluruhan web.

Keamanan aplikasi menjadi keuntungan lainnya yang bisa di dapatkan bila menggunakan framework codeigniter. Untuk menggunakan Codeigniter anda hanya perlu mengunduhnya di halaman situs resmi Codeigniter. Eits tapi jangan lupa di komputer anda harus sudah terpasang XAMP yang akan digunakan sebagai server. Saya percaya tentunya anda sudah tahu apa itu XAMP dan apa fungsinya jadi tidak perlu saya jelaskan lagi.

Jika sudah anda unduh tinggal anda masukkan kedalam folder Htdocs anda. Kemudian extract file tersebut di dalam htdocs, lalu ubah nama folder sesuai keinginana anda. Sekarang anda sudah siap untuk menggunakan CI.

Perlu di perhatikan juga, CI ini bersifat open source. Jadi jangan khawatir karena anda bebas menggunakannya tanpa biaya, bahkan anda bisa mengembangkannya sendiri.



Gambar di atas adalah tampilan awal dari CI apabila anda membukanya di browser. Untuk lebih jauh nantinya kita akan bahas pada postingan selanjutnya tentang dasar-dasar yang harus diketahui dalam menggunakan Codeigniter.