Kamis, 05 Februari 2015

CRUD Dengan Codeigniter

Pada artikel kali ini, kita akan membahas bagaimana melakukan CRUD dengan codeigniter. jika anda belum paham bagaimana cara melakukan instalasi codeigniter, maka silahkan anda baca artikel saya sebelumnya disana anda akan mengerti bagaimana cara melakukan instalasi dan juga konfigurasi codeigniter.
ok, langsung saja, saya beranggapan bahwa dikomputer anda sudah terpasang local web server. pada komputer saya terinstal paket instalasi XAMPP yang di dalamnya ada apache, mysql, php dll. sehingga saya tidak harus menginstal nya satu persatu. jika anda belum memiliki file instalan nya. anda bisa mendownloadnya pada alamat berikut : https://www.apachefriends.org/download.html silahkan anda sesuaikan paket yang akan ada download.
  1. Cara melakukan instalasi untuk xampp sangat  lah mudah, anda cukup mengikuti pentunjuk istalasi saja, maka itu sudah cukup.
  2. kemudian langkah selanjutnya, silahkan anda akses alamat : localhost/phpmyadmin pada browser anda.
  3. Kemudian setelah muncul jendela phpmyadmin, anda klik tombol "database" kemudian anda isi kolom database name nya "db_kampus"
    Codeigniter Membuat Database
    Membuat Database
  4. kemudian kita akan buat table "tb_mahasiswa", silahakan anda tuliskan query dibawah ini pada SQL editor phpmyadmin
    1. "
    2. CREATE TABLE IF NOT EXISTS `tb_mahasiswa` (
    3.   `id` int(11) NOT NULL AUTO_INCREMENT,
    4.   `nim` varchar(15) NOT NULL,
    5.   `nama` varchar(25) NOT NULL,
    6.   `angakatan` varchar(5) NOT NULL,
    7.   `jurusan` varchar(20) NOT NULL,
    8.   PRIMARY KEY (`id`)
    9. ) "
  5. Sampai disini database sudah siap. kemudian kita akan lanjut pada codeigniter.
  6. Lakukan instalasi codeigniter, jika anda belum memiliki file codeigniter ataupun belum memahami bagaimana cara melakukan instalasi dan konfigurasu codeigniter, silahkan anda kunjungi artikel saya yang berjudul instalasi setting awal codeigniter di artikel itu dijelaskan bagaimana cara melakukan instalasi dan juga konfigurasinya codeigniter
  7. Saya anggap anda sudah paham tentang bagaimana cara melakukan instalasi codeigniter.
  8. Setelah anda mengcopy folder codeigniter dan mempastenya di web server (htdocs/www), rename folder codeigniter menjadi kampus
  9. Langsung saja buka file config.php dan lakukan perubahan pada : 
    1. $config['base_url'] = ''; menjadi $config['base_url'] = 'http://localhost/kampus';
    2. $config['encryption_key'] = ''; menjadi $config['encryption_key'] = '[sesuai dengan yang anda inginkan]';
  10. Setelah itu lakukan perubahan juga pada file database.php, lakukan perubahan pada :
    1. $db['default']['hostname'] = 'localhost'; *jika memakai localhost
    2. $db['default']['username'] = '[sesuaikan dengan username anda]';
    3. $db['default']['password'] = '[sesuaikan password anda]';
    4. $db['default']['database'] = 'db_kampus';
    5. $db['default']['dbdriver'] = 'mysql';
  11. Setelah itu, lakukan perubahan juga pada file autoload.php
    1. $autoload['libraries'] = array('database','form_validation');
    2. $autoload['helper'] = array('url','form');
  12. Sampai disini konfigurasi sudah cukup.
  13. Sekarang kita buat controller, buat file baru di folder kampus/application/controllers/ dan beri nama c_kampus.php dan ketikan sitak berikut :
    1. <?php Class C_kampus extends CI_Controller
    2. {
    3. function __construct()
    4. {
    5. parent::__construct();
    6. $this->load->model('m_kampus');
    7. }
    8. function index()
    9. {
    10. $list_mahasiswa = $this->m_kampus->m_list_siswa();
    11. $data = array('list_mahasiswa'=>$list_mahasiswa);
    12. $this->load->view('v_kampus.html',$data);
    13. }
    14. function c_simpan_data()
    15. {
    16. $nim = $this->input->post('nim');
    17. $nama = $this->input->post('nama');
    18. $angkatan = $this->input->post('angkatan');
    19. $jurusan = $this->input->post('jurusan');
    20. $this->m_kampus->m_simpan_data($nim,$nama,$angkatan,$jurusan);
    21. redirect('c_kampus','location');
    22. }
    23. function c_tampil_edit()
    24. {
    25. $row_mhs = $this->m_kampus->m_row_id_siswa($this->uri->segment(3,0));
    26. $data = array('row_mhs'=>$row_mhs);
    27. $this->load->view('v_kampus_edit.html',$data);
    28. }
    29. function c_simpan_edit()
    30. {
    31. $this->load->library('form_validation');
    32. $this->form_validation->set_rules('nim', 'NIM', 'required');
    33. $this->form_validation->set_rules('nama', 'Nama', 'required');
    34. $this->form_validation->set_rules('jurusan', 'Jurusan Confirmation', 'required');
    35. $this->form_validation->set_rules('angkatan', 'Angkatan', 'required|numeric');
    36. if ($this->form_validation->run() == FALSE)
    37. {
    38. $row_mhs = $this->m_kampus->m_row_id_siswa($this->uri->segment(3,0));
    39. $data = array('row_mhs'=>$row_mhs);
    40. $this->load->view('v_kampus_edit.html',$data);
    41. }
    42. else
    43. {
    44. $id = $this->uri->segment(3,0);
    45. $nim = $this->input->post('nim');
    46. $nama = $this->input->post('nama');
    47. $angkatan = $this->input->post('angkatan');
    48. $jurusan = $this->input->post('jurusan');
    49. $this->m_kampus->m_edit_mhs($id,$nim,$nama,$jurusan,$angkatan);
    50. $list_mahasiswa = $this->m_kampus->m_list_siswa();
    51. $data = array('list_mahasiswa'=>$list_mahasiswa);
    52. $this->load->view('v_kampus.html',$data);
    53. }
    54. }
    55. function c_hapus_data()
    56. {
    57. $this->m_kampus->m_hapus_data($this->uri->segment(3,0));
    58. redirect('c_kampus','location');
    59. }
    60. }



    61. /* End of file c_kampus.php */
    62. /* Location: ./application/controllers/c_kampus.php */
  14. Kemudian anda buat file baru untuk menjadi view. Buat file baru di folder kampus/application/view/ dan beri nama v_kampus.html dan ketikan sitak berikut  :
    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    2. <html xmlns="http://www.w3.org/1999/xhtml">
    3. <head>
    4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    5. <title>CRUD Dengan CI</title>
    6.     <script>
    7. function hapusBarang(pesan) 
    8. {
    9. if (confirm(pesan)) 
    10. {
    11. return true;
    12. }
    13. else 
    14. {
    15. return false;
    16. }
    17. }
    18. </script>
    19. </head>

    20. <body>
    21. <div id="container">
    22. <div id="form_input">
    23. <?php
    24.     echo '<table>';
    25.        
    26.                 echo form_open('c_kampus/c_simpan_data');
    27.                     $data = array(
    28.                       'name'        => 'nim',
    29.                       'class'       => 'input',
    30.                       'placeholder' => 'isi dengan angka'
    31.                     );
    32.                     echo '<tr>';
    33.                     echo'<td>NIM :</td>';
    34.                         echo '<td>';
    35.                         echo form_input($data);
    36.                         echo '</td>';
    37.                     echo '</tr>';
    38.                     
    39.                     $data = array(
    40.                       'name'        => 'nama',
    41.                       'class'       => 'input',
    42.                       'placeholder' => 'isi nama lengkap'
    43.                     );
    44.                     echo '<tr>';
    45.                     echo'<td>Nama :</td>';
    46.                         echo '<td>';
    47.                         echo form_input($data);
    48.                         echo '</td>';
    49.                     echo '</tr>';
    50.                     
    51.                     $data = array(
    52.                       'name'        => 'angkatan',
    53.                       'class'       => 'input',
    54.                       'placeholder' => 'isi dengan angka'
    55.                     );
    56.                     echo '<tr>';
    57.                     echo'<td>Angkatan :</td>';
    58.                         echo '<td>';
    59.                         echo form_input($data);
    60.                         echo '</td>';
    61.                     echo '</tr>';
    62.                     
    63.                     $data = array(
    64.                       'name'        => 'jurusan',
    65.                       'class'       => 'input',
    66.                       'placeholder' => 'isi jurusan lengkap'
    67.                     );
    68.                     echo '<tr>';
    69.                     echo'<td>Jurusan :</td>';
    70.                         echo '<td>';
    71.                         echo form_input($data);
    72.                         echo '</td>';
    73.                     echo '</tr>';
    74.                     
    75.                     echo '<tr>';
    76.                         echo '<td colspan="2">';
    77.                     echo form_submit('mysubmit', 'Submit Post!');
    78.                     echo '</td>';
    79.                     echo '</tr>';
    80.                 echo form_close();
    81.         echo '</table>';
    82.     
    83.     ?>
    84. </div>
    85.         <div id="list_data">
    86.         <table>
    87.             <thead>
    88.                 <tr>
    89.                     <th>NO</th>
    90.                         <th>NIM</th>
    91.                         <th>Nama Mahasiswa</th>
    92.                         <th>Jurusan</th>
    93.                         <th>Angkatan</th>
    94.                         <th>Aksi</th>
    95.                     </tr>
    96.                 </thead>
    97.                 <tbody>
    98.                 <?php
    99.                     if(!empty($list_mahasiswa))
    100.                         {
    101.                             $list_result = $list_mahasiswa->result();
    102.                             $no =1;
    103.                             foreach($list_result as $row)
    104.                             {
    105.                                 echo'<tr>';
    106.                                     echo'<td>'.$no.'</td>';
    107.                                     echo'<td>'.$row->nim.'</td>';
    108.                                     echo'<td>'.$row->nama.'</td>';
    109.                                     echo'<td>'.$row->jurusan.'</td>';
    110.                                     echo'<td>'.$row->angkatan.'</td>';
    111.                                     echo'<td> <a class="edit" href="'.base_url().'index.php/c_kampus/c_tampil_edit/'.$row->id.'" onclick="return hapusBarang(\'Data Barang '.$row->nama.' Yakin mau Dirubah ? \')"> Edit </a> | <a href="'.base_url().'index.php/c_kampus/c_hapus_data/'.$row->id.'" class="delete" onclick="return hapusBarang(\'Data Barang '.$row->nama.' Yakin mau dihapus ? \')"> Hapus </a> </td>';
    112.                                 echo'</tr>';
    113.                                 $no += 1;
    114.                             }
    115.                         }
    116.                     ?>
    117.                 </tbody>
    118.             </table>
    119.         </div>
    120.     </div>
    121. </body>
    122. </html>
  15. Kemudian anda buat file baru untuk menjadi view ketika akan melakukan perubahan data. Buat file baru di folder kampus/application/view/ dan beri nama v_kampus_edit.html dan ketikan sitak berikut :
    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    2. <html xmlns="http://www.w3.org/1999/xhtml">
    3. <head>
    4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    5. <title>Untitled Document</title>
    6. </head>

    7. <body>
    8. <div id="container">
    9. <div id="form_input">
    10. <?php
    11.     echo '<table>';
    12.        
    13.                 echo form_open('c_kampus/c_simpan_edit/'.$row_mhs->id);
    14.                     $data = array(
    15.                       'name'        => 'nim',
    16.                       'class'       => 'input',
    17.                       'placeholder' => 'isi dengan angka',
    18.                       'value' => $row_mhs->nim
    19.                     );
    20.                     echo '<tr>';
    21.                     echo'<td>NIM :</td>';
    22.                         echo '<td>';
    23.                         echo form_input($data);
    24.                         echo form_error('nim');
    25.                         echo '</td>';
    26.                     echo '</tr>';
    27.                     
    28.                     $data = array(
    29.                       'name'        => 'nama',
    30.                       'class'       => 'input',
    31.                       'placeholder' => 'isi nama lengkap',
    32.                       'value' => $row_mhs->nama
    33.                     );
    34.                     echo '<tr>';
    35.                     echo'<td>Nama :</td>';
    36.                         echo '<td>';
    37.                         echo form_input($data);
    38.                         echo form_error('nama');
    39.                         echo '</td>';
    40.                     echo '</tr>';
    41.                     
    42.                     $data = array(
    43.                       'name'        => 'angkatan',
    44.                       'class'       => 'input',
    45.                       'placeholder' => 'isi dengan angka',
    46.                       'value' => $row_mhs->angkatan
    47.                     );
    48.                     echo '<tr>';
    49.                     echo'<td>Angkatan :</td>';
    50.                         echo '<td>';
    51.                         echo form_input($data);
    52.                         echo form_error('angkatan');
    53.                         echo '</td>';
    54.                     echo '</tr>';
    55.                     
    56.                     $data = array(
    57.                       'name'        => 'jurusan',
    58.                       'class'       => 'input',
    59.                       'placeholder' => 'isi jurusan lengkap',
    60.                       'value' => $row_mhs->jurusan
    61.                     );
    62.                     echo '<tr>';
    63.                     echo'<td>Jurusan :</td>';
    64.                         echo '<td>';
    65.                         echo form_input($data);
    66.                         echo form_error('jurusan');
    67.                         echo '</td>';
    68.                     echo '</tr>';
    69.                     
    70.                     echo '<tr>';
    71.                         echo '<td colspan="2">';
    72.                     echo form_submit('mysubmit', 'Submit Post!');
    73.                     echo '</td>';
    74.                     echo '</tr>';
    75.                 echo form_close();
    76.         echo '</table>';
    77.     
    78.     ?>
    79. </div>
    80.     </div>
    81. </body>
    82. </html>
  16. Kemudian anda buat file baru untuk menjadi model yang akan menyediakan data untuk ditampilkan. Buat file baru di folder kampus/application/models/ dan beri nama m_kampus.php dan ketikan sitak berikut :
    1. <?php
    2. Class M_kampus extends CI_Model
    3. {
    4. function __construct()
    5. {
    6. parent::__construct();
    7. }
    8. function m_list_siswa()
    9. {
    10. $query = $this->db->query('SELECT * FROM tb_mahasiswa ORDER BY nim');
    11. if($query->num_rows() > 0)
    12. {
    13. return $query;
    14. }
    15. else
    16. {
    17. return false;
    18. }
    19. }
    20. function m_row_id_siswa($id)
    21. {
    22. $query = $this->db->query('SELECT * FROM tb_mahasiswa WHERE id="'.$id.'" ORDER BY nim');
    23. if($query->num_rows() > 0)
    24. {
    25. return $query->row();
    26. }
    27. else
    28. {
    29. return false;
    30. }
    31. }
    32. function m_simpan_data($nim,$nama,$angkatan,$jurusan)
    33. {
    34. $query = $this->db->query('INSERT INTO tb_mahasiswa (nim,nama,angkatan,jurusan) VALUES ("'.$nim.'","'.$nama.'","'.$angkatan.'","'.$jurusan.'")');
    35. }
    36. function m_edit_mhs($id,$nim,$nama,$jurusan,$angkatan)
    37. {
    38. $query = $this->db->query('UPDATE tb_mahasiswa SET nim = "'.$nim.'",nama = "'.$nama.'",jurusan = "'.$jurusan.'",angkatan = "'.$angkatan.'" WHERE id="'.$id.'"');
    39. }
    40. function m_hapus_data($id)
    41. {
    42. $query = $this->db->query('DELETE FROM tb_mahasiswa WHERE id = "'.$id.'";');
    43. }
    44. }



    45. /* End of file m_kampus.php */
    46. /* Location: ./application/models/m_kampus.php */
  17. Anda cukup melakukan copy paste saja, aplikasi sudah bisa dijalankan. Berikut saya sertakan gambar hasil nya :
    Codeigniter CRUD dasar
    Hasil Jalannya Program

Senin, 02 Februari 2015

Instalasi Setting Awal Codeigniter

Framework codeigniter merupakan framework yang handal dan sudah dikenal oleh banyak programmer php. jadi saya pikir anda sudak tidak asing lagi dengan framework ini.
Pada artikel saya kali ini, saya akan menjelaskan bagaimana cara instalasi dan juga melakukan setting awal codeigninter. jika artikel - artikel saya sebelumnya, saya membahas tentang penggunaan construct 2 kali ini saya akan membahas tentang web programing

  1. Download codeigniter disini
  2. Kemudian kita siap melakukan instalasi, untuk langkah ini, sebenarnya bukan instalasi seperti pada program-program aplikasi desktop yang berekstension .exe, tapi lebih pada penempatan file codeigniter saja.
  3. Ekstrak file hasil download yang berekstension .rar, kemudian copykan folder hasil ekstrak ke direktory web kita (ex: htdoc,www). biasanya folder tersebut bernama seperti : CodeIgniter_2.2.0
  4. sebagai contoh pada kasus ini, saya menggunakan XAMPP V.1.8
  5. Setelah anda berhasil mengcopykan, sekarang anda bisa merubah nama folder default dari codeigniter (ex : CodeIgniter_2.2.0 menjadi e_commerce)
  6. Kemudian anda buka e_commerce/application/config/config.php. kemudian lakukan beberapa perubahan pada  :
    1. Sebelum :  $config['base_url'] = ''; Sesudah : $config['base_url'] = 'http://localhost/commerce/'; configurasi ini, berguna untuk menentukan alamat url dari web kita.
    2. Sebelum : $config['encryption_key'] = ''; Sesudah : $config['encryption_key'] = 'adelina'; nama adelina diatas adalah optional, jadi anda bebas merubah nama untuk encryption key nya. configurasi ini berguna untuk memberika enkripsi pada data yang kita kirim nantinya.
    3. Hanya itu yang harus anda setting pada file config.php yang lainnya silahkan anda lakukan setting sesuai kebutuhan anda
  7. Kemudian anda buka e_commerce/application/config/database.php, file ini merupakan file configurasi untuk database yang akan kita gunakan nantinya, berikut adalah beberapa hal yang harus anda setting 
    1. $db['default']['hostname'] = ''; isikan nama hostnya disini, jika anda memakai localhost, maka anda cukup mengisinya dengan "localhost"
    2. $db['default']['username'] = ''; isikan dengan username database anda
    3. $db['default']['password'] = ''; isikan dengan password database anda
    4. $db['default']['database'] = ''; isikan dengan nama database anda
    5. $db['default']['dbdriver'] = 'mysql'; default dari setting ini adalah mysql, selain dari mysql masih ada driver lain, untuk info lebih lengkap tentang database class silahkan lihat disini
  8. Sampai disini anda suda bisa mengakses halaman web anda dengan mengetikan http://[nama_host]/e_commerce/
  9. Pada artikel ini, saya hanya menjelaskan yang harus/wajib di setting saja. sedangkan yang lainnya adalah optional/tidak wajib, diantaranya :
    1. autoload.php, file ini untuk meload class dan helper secara otomatis, jadi anda tidak harus menulis kembali class atau helper yang akan di load pada controller, view dan model
    2. routes.php, digunakan untuk melakuakn routing url
cukup sekian artikel saya kali ini, pada artikel selanjutnya, saya akan menjelaskan konsep dari MVC (Model View Control) yang dipakai oleh codeigniter.

Translate