Cara mudah belajar pemrograman komputer

Senin, 09 Mei 2016

Koneksi database MySQL dengan CodeIgniter (CI)

Kali ini kita akan melanjutkan Tutorial Codeigniter, pada tulisan ini kita akan membahas Koneksi database MySQL dengan CodeIgniter (CI).
Pada tutorial sebelumnya kita telah belajar bagaimana cara instalasi codeigniter.
Sebelum kita menlanjutkan tentang menhubungkan codeigniter dengan MySQL kita akan mengenal terlebih dahulu konsep MVC (Model-View-Control) yang diusung oleh codeigniter.
Oke apa itu MVC? terlepas dari pengertian MVC secara resmi, MVC menurut programmer GoBlog adalah sebuah konsep untuk pengorganisasian/pengelompokan file-file berdasarkan fungsi dan kegunaanya. Seperti konsep MVC pada codeigniter yaitu memisahkan fungsi Pengolahan data (Model), fungsi kontrol alur data oleh Controller, dan fungsi untuk menampilkan data oleh View. Meskipun fleksibilitas dari codeigniter memungkinkan kita untuk tidak mengikuti konsep MVC ini, namun agar kita lebih mudah dalam pengorganisasian file ada baiknya kita mengikuti juga konsep MVC ini. Mengapa saya katakan kita bebas untuk memilih tidak mengikuti konsep MVC ini? karena kita bisa meletakkann fungsi view di controller, kita bisa meletakkan fungsi model juga pada controller.
Namun pada tulisan ini kita akan mencoba mengadopsi konsep MVC ini. Tidak perlu pusing, yang perlu kita pahami adalah, semua yang berhubungan dengan tampilan ada di View, semua yang berhubungan dengan pengolahan data maupun database kita serahkan pada model, dan controller kita gunakan untuk menggabungkan data yang diperoleh dari model dengan view.

Oke kita lanjut ke praktek.
Pada tulisan ini penulis mengasumsikan bahwa anda sudah tahu cara instalasi codeinginer, jika belum silahakan baca tutorial programmer goblog sebelumnya tentang cara instalasi codeiniter disini.

kita mulai dengan membuat database dengan nama 'website' dan buat satu table didalamnya dengan nama 'artikel'

-----------------------------SQL QUERY-------------------------------------------
create database website;
use website;
create table artikel(
 id_artikel int not null auto_increment primary key,
 judul_artikel text not null,
 isi_artikel text
);

------------------------------End of Query-----------------------------------------


sintak sql diatas akan membuat database dan tabel serta field untuk tabel tersebut, untuk tutorial sederhana ini kita hanya akan menggunakan id_artikel, judul dan isi artikel.

untuk melakukan koneksi database terlebih dahulu kita harus melakukan pengaturan koneksi databse di file application/config/database.php


selanjutnya kita buat contoller terlebih dahulu.
buat file php dengan nama Controllersaya.php dan simpan didalam folder application/controller/



Karena Codeigniter juga menganut konsep pemrograman berorientasi object atau OOP maka kita membuat sebuah class Controllersaya yang merupakan turunan (extends) dari class CI_Controller.

selanjutnya didalam file controller kita tadi (didalam class) kita buat function untuk mengambil semua data di tabel artikel.


public function artikel(){
   $this->load->model('modelsaya'); // Baris ini akan me-load file modelsaya.php
   $data['dataartikel'] = $this->modelsaya->ambildataartikel();
   /*
    Baris diatas akan mengambil data dari function ambildataartikel dan memasukkanya kedalam array data dengan key 'datartikel'
   **/

   $this->load->view('viewsemuaartikel',$data); // bari ini akan memanggil file viewsemuaartikel.php dan mengirim data $data;
  }


selanjutnya buat file model yang akan bertugas mengolah data (menjalankan query untuk mengambil data dari database)
pertama buat file php dengan nama Modelsaya.php dan simpan di application/model

dan file modelsaya.php yang baru kita buat ini adalah turunan dari class CI_Model.
kemudian buat function yang akan menangani query mengambil semua data dari table artikel.



selanjutnya pada file controllersaya.php tepatnya didalam function artikel kita akan memanggil fuction ambildataartikel di file Modelsaya.php

selanjutnya kita akan membuat file view yang akan menangani/menampilkan data.
pertama buat file viewsemuaartikel.php dan simpan di application/views



baiklah mari kita cek dengan membuka browser dan akses url http://localhost/mysite/index.php/nama_controller/nama_function
contoh: http://localhost/mysite/index.php/controllersaya/artikel



apa yang muncul? halaman kosong? yups, sebab database kita masih kosong.
mari kita coba isi beberapa baris kedalam database kita.


------------------------------------------------SQL Query-----------------------------------------------------
use website;
insert into artikel (judul_artikel,isi_artikel) values ('Judul Artikel 1', '<p> ini isi artikel 1</p>');
insert into artikel (judul_artikel,isi_artikel) values ('Judul Artikel 2', '<p> ini isi artikel 2</p>');
insert into artikel (judul_artikel,isi_artikel) values ('Judul Artikel 3', '<p> ini isi artikel 3</p>');
insert into artikel (judul_artikel,isi_artikel) values ('Judul Artikel 4', '<p> ini isi artikel 4</p>');
insert into artikel (judul_artikel,isi_artikel) values ('Judul Artikel 5', '<p> ini isi artikel 5</p>');

-------------------------------------------------End Of SQL Query ---------------------------------------------


refresh halaman web kita tadi.
nah muncul kan daftar artikelnya.



pada contoh diatas kita menggunakan fasilitas db->get('table_name') punya si codeigniter, namun codeigniter bukan framework yang kaku sehingga kita harus menggunakan fasilitas serta aturan milik CI, kita juga bisa menggunakan custom query untuk mengambil data dari database.
Contoh penggunaan custom query ini akan kita terapkan di langkah selanjutnya yaitu menampilkan 1 artikel dari kumpulan artikel halaman pertama tadi.

Pertama buka controller 'Controllersaya.php' yang kita buat sebelumnya, tambah lagi satu function dibawah function artikel.

kita beri nama satuartikel.

-----------------------------------------function satuartikel-------------------------------------------------------
public function satuartikel($idartikel='')
  {
   $this->load->model('modelsaya');
   $data['dataartikel'] = $this->modelsaya->ambilsatuartikel($idartikel);
   /*
    Baris diatas akan mengambil data dari function ambilsatuartikel (pada file Modelsaya.php) dan memasukkanya kedalam array data dengan key 'datartikel'
   **/
   $this->load->view('viewsatuartikel',$data); // bari ini akan memanggil file viewsatuartikel.php dan mengirim data $data;

  }

----------------------------------------end of script satuartikel-----------------------------------------------------


selanjutnya buka file Modelsaya.php dan tambahkan function ambilsatuartikel()

----------------------------------------------------------------------------------------------------------------------

public function ambilsatuartikel($idartikel='')
  {
   $this->load->database();
   $hasilQuery = $this->db->query("SELECT * FROM artikel where id_artikel=$idartikel");
   /** Perhatikan perbedaan baris ini dengan yang ada di function ambildataartikel diatas. */

   return $hasilQuery->result();

  }

----------------------------------------------------------------------------------------------------------------------


terakhir buat file viewsatuartikel.php dan simpan di folder application/view
untuk menghemat waktu, isinya copas dari file view sebelumnya juga boleh.

dan untk mencoba mengakses satu artikel di browser kita maka ikuti format URI berikut.
http://localhost/mysite/index.php/nama_controller/nama_function/argumen_function
jadi dalam contoh kita, maka urlnya adalah http://localhost/mysite/index.php/controllersaya/satuartikel/1

http://localhost/mysite/index.php/  : adalah url website
controllersaya : adalah nama controller nya
satuartikel  : adalah function didalam controller yang ingin kita panggil
1 : adalah variable atau nilai yang akan kita kirim kedalam function tersebut, dalam hal ini adalah idartikel.

silahkan dicoba ganti angka di belakang sesuai dengan idartikel yang akan diakses.

demikian catatan singkat si programmerGoBlog kali ini.
apabila ada pertanyaan kritik saran silahkan tinggalkan jejak di kolom komentar..

Rabu, 04 Mei 2016

Keuntungan menggunakan framework Codeigniter

Pada tulisan kali ini programmerGoBlog akan membahas mengenai keuntungan menggunakan framework khususnya framework Codeigniter.

Apasih framework itu? secara bahasa framework diartikan sebagai kerangka kerja, kalau pengertian bebas versi programmer goblog sih framework itu(dalam pemgrograman) adalah sekumpulan fungsi-fungsi siap pakai. Nah tujuan menggunakan framework adalah mempermudah kita dalam penulisan kode-kode program yang sering digunakan.
Kalau programming best practice sering menyebutkan kalau kita seharusnya "tulisa satu kode dan gunakan berulang-ulang" nah dengan konsep framework maka kita tinggal menggunakan berulang-ulang tanpa menuslinya  (fungsi-fungsi tersebut) terlebih dahulu.

Oke lantas seperti apa sih yang dimaksud dengan fungsi yang sering digunakan itu?

Misal contohnya kita akan membuat sebuah aplikasi PHP dengan Database MySQL maka tentu untuk memulai hubungan PHP dan MySQL baik untuk operasi Insert, update, delete, dll kita perlu membuka hubungan PHP dengan MySQL dengan format (misal)

<?php
$connection = mysql_connect("mysql_host","db_username","db_password");
$database = mysql_select_db("nama_database",$connection);

?>

nah setiap kita mau melakukan koneksi ke database kita selalu menggunakan kode (kurang lebih) seperti diatas.

Jika kita menggunakan framework maka fungsi ini kemungkinan sudah ada di framework, seperti di codeigniter kita tinggal load library database, dan setup mysql login detailnya di file
 application/config/database.php

oke lanjut, masih dengan database. Ketika kita akan melakukan operasi database misalnya mengambil data dari database.
Pada pure php tanpa framwork kita akan menggunakan script yang kurang lebih seperti ini

<?php
$query = "select * from berita";
$hasil = mysql_query($query);

?>

nah kalau di framework (dalam hal ini codeigniter) kita tinggal memanggil fungsi yang disediakan oleh si framework ini.
Untuk melakukan hal yang sama seperti diatas dengan menggunakan framwork cukup dengan

<?php
   $hasil = $this->db->get('berita');
?>



ini baru satu dari sekian fungsi fungsi siap pakai yang disediakan framework codeiniter.

-----------------------------------------------------------------------------------------------
kita bisa lebih menghemat waktu dan tenaga ketika menggunakan framework.
so kenapa masih tidak mau menggunakan framework?
karena framework itu ribet, gak ngerti dll dll.

tenang, framework codeiniter ini gak ribet kok. cukup download file codeigniter nya di https://github.com/bcit-ci/CodeIgniter/archive/3.0.6.zip

extract, lalu upload file hasil extract tadi ke hosting atau xampp lah kalau masih develop dengan web server local.

isi file zip yang di download tadi cuma tiga yang penting.
index.php     ->file
application   ->folder
system        ->folder

selain itu boleh di delete.

Tempatkan semua folder dan file tersebut di web hosting, atau dalam kasus penulis diletakkan di web server lokal (xampp) pada folder “mysite”. selanjutnya kita coba dengan mengakses ke halaman web tersebut (dalam kasus penulis http://127.0.0.1/mysite ) jika tampil halaman seperti gambar berikut maka codeigniter telah terinstal dengan benar.
Image
Selanjutnya kita akan mencoba menampilkan “Hello World” dengan CI. pertama yang harus kita buat adalah file controller.
<?php if ( ! defined(‘BASEPATH’)) exit(‘No direct script access allowed’);
class chello extends CI_Controller {
    public function index()
    {
        $this->load->view(‘vhello’);
    }
}
?>
Kemudian simpan didalam folder ../application/controllers dengan nama chello.php
selanjutnya buat file view.
<html>
    <head>
        <title> Hello World </title>
    </head>
    <body>
        <h1>Hello World</h1><hr>
        <p>selamat datang di web development dengan codeigniter<p>
    </body>
</html>
file view yang kita buat ini sejatinya adalah file html biasa yang membuat tampilan website di browser. simpan file ini di
folder ../application/views dengan nama vhello.php
kemudian kita coba menampilkan halaman yang kita buat tadi di browser. silahkan masukkan alamat website anda diikuti dengan index.php, nama controller dan nama function didalam controller tersebut yang akan kita kases. misal dalam kasus penulis alamat website nya adalah http://127.0.0.1/mysite dan nama controller nya adalah chello dan nama function nya adalah index maka yang harus diketikkan adalah http://127.0.0.1/mysite/index.php/chello/index
Ini merupakan cara default untuk mengakses controller dan function-function didalamnya, namun apabila kita ingin menjadikan controller ini sebagai default homepage sehingga kita tidak harus mengakses secara penuh dengan cara diatas misal hanya dengan menetikkan alamat situsnya, maka kita dapat melakukan konfigurasi di dalam file../application/config/routes.php
kemudian cari baris 
    $route[‘default_controller’] = “welcome”;
dan ganti menjadi 
    $route[‘default_controller’] = “chello”;
Dengan demikian setiap kali kita melakukan akses ke site_name (dalam kasus penulishttp://127.0.0.1/mysite) maka browser akan diteruskan ke controller chello secara default dan akan diarahkan ke function index apabila ada.

Popular Posts

Recent Posts

Unordered List

Pages

Kunjungan

Diberdayakan oleh Blogger.