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..

2 komentar:

  1. Mas boleh minta kontaknya atau wa k 085211989399

    BalasHapus
  2. In this manner my buddy Wesley Virgin's tale launches with this SHOCKING and controversial VIDEO.

    You see, Wesley was in the military-and soon after leaving-he discovered hidden, "mind control" tactics that the government and others used to get whatever they want.

    As it turns out, these are the same SECRETS tons of famous people (especially those who "come out of nowhere") and the greatest business people used to become wealthy and famous.

    You probably know that you only use 10% of your brain.

    Mostly, that's because most of your BRAINPOWER is UNCONSCIOUS.

    Perhaps this conversation has even taken place INSIDE your very own head... as it did in my good friend Wesley Virgin's head about 7 years ago, while riding an unregistered, beat-up garbage bucket of a vehicle with a suspended driver's license and with $3.20 on his banking card.

    "I'm very fed up with living paycheck to paycheck! When will I finally make it?"

    You've taken part in those questions, ain't it right?

    Your success story is waiting to happen. You just have to take a leap of faith in YOURSELF.

    Watch Wesley Virgin's Video Now!

    BalasHapus

Popular Posts

Recent Posts

Unordered List

Pages

Kunjungan

Diberdayakan oleh Blogger.