Codeigniter CRUD - Contact List

15
Codeigniter CRUD (Create, Read, Update, Delete) Subject : Contact List Project Date : 27-11-2013 Pendahuluan Pada modul ini akan dibahas bagaimana konsep CRUD dan implementasinya dalam aplikasi contact List /Daftar kontak dengan menggunakan Framework Codeigniter. Framework adalah sekumpulan pustaka atau sekumpulan fungsi yang dibuat untuk menangani masalah-masalah umum yang bersifat kompleks. Seperti Form Validation , penanganan database , email , security dan lain- lain. Sedangkan Codeigniter adalah salah satu Framework PHP yang bersifat open source, gratis dan siap pakai. Bahkan jika kita sudah mahir bisa berkontribusi untuk ikut mengembangkan Framework Codeigniter ini agar lebih baik lagi. Selain itu Codeigniter juga sangat ringan, ukuran filenya sangat kecil, hanya sekitar 3 Mega Bites, sedikit dalam konfigurasi atau pengaturan agar aplikasi dapat berjalan. Codeigniter ini dibuat oleh pembuatnya dengan tujuan agar membantu kita sebagai depelover dalam membangun aplikasi website dengan cepat tanpa harus membuat dari awal. Persiapan Ada beberapa persiapan yang harus kita lakukan untuk dapat membuat aplikasi Ini, sebagai berikut : 1. Browser (Google Chrome , Firefox , IE, Opera dll) 2. Web Server (Windows: Wamp atau Xampp , Linux: Lampp ) 3. Text Editor (Windows: Notepad++ atau Sublime Text , Linux: Gedit, KWrite dll) 4. Installer Codeigniter Tahap Pertama: Membuat Database dan Table 1. Nama database : contact_list. 2. Buat table categories dan table contacts, dengan struktur sebagai berikut : Nama Tabel : categories FieldNam e DataType Nul l Extra Key Referen si Category _id Smallint (6) No Auto_increm ent Primar y Category Varchar( 30) No Nama Tabel : contacts FieldNam e DataType Nul l Extra Key Referensi Contact_ id Int(11) No Auto_increm ent Primar y Name Varchar(5 0) No Email Varchar(3 5) No

Transcript of Codeigniter CRUD - Contact List

Page 1: Codeigniter CRUD - Contact List

Codeigniter CRUD (Create, Read, Update, Delete)Subject : Contact List ProjectDate : 27-11-2013

PendahuluanPada modul ini akan dibahas bagaimana konsep CRUD dan implementasinya dalam aplikasi contact List /Daftar kontak dengan menggunakan Framework Codeigniter. Framework adalah sekumpulan pustaka atau sekumpulan fungsi yang dibuat untuk menangani masalah-masalah umum yang bersifat kompleks. Seperti Form Validation, penanganan database, email, security dan lain-lain. Sedangkan Codeigniter adalah salah satu Framework PHP yang bersifat open source, gratis dan siap pakai. Bahkan jika kita sudah mahir bisa berkontribusi untuk ikut mengembangkan Framework Codeigniter ini agar lebih baik lagi. Selain itu Codeigniter juga sangat ringan, ukuran filenya sangat kecil, hanya sekitar 3 Mega Bites, sedikit dalam konfigurasi atau pengaturan agar aplikasi dapat berjalan. Codeigniter ini dibuat oleh pembuatnya dengan tujuan agar membantu kita sebagai depelover dalam membangun aplikasi website dengan cepat tanpa harus membuat dari awal.

PersiapanAda beberapa persiapan yang harus kita lakukan untuk dapat membuat aplikasi Ini, sebagai berikut :1. Browser (Google Chrome, Firefox, IE, Opera dll)2. Web Server (Windows: Wamp atau Xampp, Linux: Lampp)3. Text Editor (Windows: Notepad++ atau Sublime Text, Linux: Gedit, KWrite dll)4. Installer Codeigniter

Tahap Pertama: Membuat Database dan Table1. Nama database : contact_list.2. Buat table categories dan table contacts, dengan struktur sebagai berikut :

Nama Tabel : categoriesFieldName DataType Null Extra Key ReferensiCategory_id

Smallint(6) No Auto_increment Primary

Category Varchar(30) No

Nama Tabel : contactsFieldName DataType Null Extra Key ReferensiContact_id Int(11) No Auto_increment PrimaryName Varchar(50) NoEmail Varchar(35) NoPhone Varchar(15) NoAddress Varchar(150) NoCategory_id Smallint(6) No Foreign Categories(Category_id)

Perintah membuat foreign key ( bias dilakukan di console mysql atau phpmyadmin)ALTER TABLE contacts ADD CONSTRAINT contacts_ibfk_1 FOREIGN KEY (category_id) REFERENCES categories(category_id) ON UPDATE CASCADE;

Page 2: Codeigniter CRUD - Contact List

Masukan data berikut ke dalam masing-masing table :

Tabel categories :

Tabel contacts:

Tahap Kedua: Instalasi & Konfigurasi Codeigniter1. Download installer codeigniter di alamat ini: http://ellislab.com/codeigniter/download2. Ekstrak installer codeigniter yang sudah Anda download. Beri nama contact_list.3. Pindahkan direktori contact_list tadi ke root direktori web server Anda. (Xampp -> X:\xampp\htdocs,

Wamp -> X:\wamp\www)4. Pada browser, buka alamat http://localhost/contact_list. JIka muncul pesan seperti ini, maka Anda telah

berhasil menginstal codeigniter.

Page 3: Codeigniter CRUD - Contact List

5. Buka file contact_list/application/config/autoload.php dan lakukan perubahan pada kode berikut:

$autoload['libraries'] = array('database', 'session');$autoload['helper'] = array('url', 'html', 'form');

6. Karena kita memuat library database pada langkah sebelumnya, maka kita juga perlu mendefinisikan informasi database yang akan kita pakai pada contact_list/application/config/database.php seperti berikut ini:

$db['default']['hostname'] = 'localhost';$db['default']['username'] = 'root';$db['default']['password'] = '';$db['default']['database'] = 'contact_list';

7. Karena kita memuat library session pada langkah sebelumnya, maka kita juga perlu mendefinisikan encryption_type pada contact_list/application/config/config.php seperti berikut ini:

$config['encryption_key'] = 'rahasia';

8. Refresh browser Anda untuk memastikan tidak ada konfigurasi yang salah

Tahap ke-3: Menampilkan Data Setalah kita berhasil melakukan Instalasi dan configurasi Codeigniter, sekarang saatnya membuat modul untuk menampilkan daftar kontak dari Database MySQL ke dalam Tabel HTML.Buat file baru dengan nama contact.php pada alamat direktori contact_list/application/controllers. Kemudian tambahkan kode program berikut:

Dalam konsep MVC(Model-View-controller) yang bertindak sebagai pengatur lalu lintas program adalah Controller. Dalam class Controller ini kita bisa mengakses class Model atau View atau bisa juga langsung menampilkan ke browser, tergantung kebutuhan.Nama File dan nama class controller harus sama, dan nantinya akan kita akses dalam browser. Pada kode program di atas, kita membuat class controller dengan nama contact dan di dalamnya kita membuat satu method dengan nama index(). Maka dalam browser kita bisa mengaksesnya dengan alamat/url : http://localhost/contact_list/index.php/contact/index

Page 4: Codeigniter CRUD - Contact List

Jika alamat url tersebut dijalankan masih muncul Error, nanti kita akan sempurnakan setelah dijelaskan beberapa kode program di atas.

$this->load->model("contact_model", "contact");

Kita memuat class model contact_model.php dan membuat alias/nama samaran dengan nama contact. Kita akan buat class ini nanti.

$param["data"] = $this->contact->get_all($this->limit, $offset);

method get_all digunakan untuk mengambil data dari tabel contact dan menyimpannya dalam variabel array.

$this->load->view("contact_table", $param);

Baris kode ini digunakan untuk menampilkan data ke dalam Web Browser.Buat file baru pada alamat direktori contact_list/application/models dengan nama contact_model.php, lalu tambahkan kode program berikut:

Class model biasanya digunakan untuk mendefinisikan fungsi-fungsi yang berhubungan dengan perintah SQL seperti INSERT, UPDATE, DELETE dan SELECT. Meskipun sebenarnya perintah-perintah SQL bisa di definisikan dalam class Controller.

return $this->db->limit($limit, $offset)->get($this->table);

Kode di atas akan men-generate kode SQL yang kurang lebih seperti ini

SELECT * FROM `contacts` LIMIT 10 OFFSET 0

$rs['total_rows'] = $this->db->query("SELECT COUNT(*) total_rows FROM {$this->table}")->row()->total_rows;

Kode ini tidak lain adalah untuk menghitung jumlah record keseluruhan. Ini nanti digunakan untuk membuat Paging halaman.

Terakhir dalam tahap ini adalah bagaimana menampilkan data ke browser. Pada alamat direktori contact_list/application/views, buat satu file baru dengan nama contact_table.php, kemudian tambahkan kode program berikut:

Page 5: Codeigniter CRUD - Contact List

Refresh browser Anda dan pastikan yang tampak seperti gambar berikut:

Page 6: Codeigniter CRUD - Contact List

Sekarang kita sudah dapat menampilkan data dari tabel contacts ke dalam tabel HTML. Namun jika dilihat data yang tampil hanya 10 record. Record yang berikutnya akan ditampilkan di halaman berikutnya. Methode seperti ini dinamakan paging halaman.

Di dalam Codeigniter kita bisa menggunakan library pagination yang sangat membantu kita dalam membuat paging/halaman. Kita hanya memerlukan 3 nilai yaitu:

base_url: mendefinisikan alamat url kemana akan diarahkan ketika halaman dipilih total_rows: diisi dengan jumlah keseluruhan data per_page: mendefinisikan berapa record yang akan ditempilkan dalam satu halaman

Modifikasi file controller class contact.php sehingga seperti ini:

Kemudian di dalam file view contact_table.php setelah tag penutup </table> tambahkan kode berikut:

<?php echo $this->pagination->create_links(); ?>

Refresh browser Anda dan perhatikan hasilnya seperti akan tampak seperti gambar berikut:

Page 7: Codeigniter CRUD - Contact List

Kemudian pada aplikasi ini, kita tambahkan fasilitas kategori kontak, sehingga memungkinkan untuk menampilkan kontak tertentu, misalnya menampilkan kontak dengan kategori keluarga, dan lain-lain. Buka kembali class controller contact.php kemudian modifikasi sehingga seperti berikut:

Buat class model baru dengan nama category_model.php. Tambahkan kode probram seperti berikut ini:

Page 8: Codeigniter CRUD - Contact List

Lalu pada file contact_table.php kita tambahkan beberapa baris kode seperti berikut:

Jangan lupa untuk melakukan modikasi pada class model contact_model.php seperti ini:

Refresh browser Anda kemudian coba memilih salah satu kateogori kontak yang Ada.

Tahap ke-4: Membuat Form Tambah KontakPada tahap ini akan ditambahkan fitur tambah kontak. Pada tahap ini kita akan menggunakan codeigniter libray/helper berikut:

Form Helper Session Library Form validation

Page 9: Codeigniter CRUD - Contact List

Buka kembali class controller contact.php lalu tambahkan baris kode seperti berikut

Pada alamat direktori contact_list/application/views buat file baru dengan nama contact_form dan tuliskan kode program berikut

Page 10: Codeigniter CRUD - Contact List

Pada browser arahkan pada url ini: http://localhost/contact_list/index.php/contact/add. Atau bisa klik tombol tambah pada halaman Daftar Kontak. Jika berhasil akan tampak seperti gambar berikut:

Tambahkan method baru pada class model contact_model.php seperti berikut

Untuk menandakan berhasil tidaknya kontak baru disimpan, kita perlu menapilkan pesan. Kita telah menyimpan pesan dalam session. Agar benar-benar tampilk kita perlu melakukan sedikit modifikasi pada file contact_table.php seperti berikut:

Page 11: Codeigniter CRUD - Contact List

Tahap ke-5: Membuat Form Edit KontakKonsep Form edit ini sebagian besar memiliki kesamaan dengan Form tambah kontak. Oleh karena itu Kita bisa melakukan copy-paste dari method add() pada class contact.php dan sedikit melakukan modifikasi. hasilnya seperti berikut:

Jangan lupa untuk melakukan modifikasi pada clas model contact_model dengan menambahkan method get_one() seperti berikut:

Kemudian lakukan modifikasi pada method save() seperti berikut:

Terakhir dalam tahap ini adalah mengaktifkan link pada file contact_table.php agar kita bisa mengakses form Edit dari sini.

Page 12: Codeigniter CRUD - Contact List

Pada browser, arahkan kembali ke url http://localhost/contact_list/index.php/contact. Coba anda klik salah satu link Edit, modifikasi data dan simpan. Jika data berhasil diubah, berarti Anda sudah berhasil menuju babak final

Tahap ke-6: Mengaktifkan Link DeletePada tahap sebelumnya kita sudah membuat link Delete untuk menghapus data. Namun link ini masih belum berfungsi dengan baik dikarenakan belum ada definisi metho delete() di dalam class controller contact.php. Jadi mari kita tambahakn method tersebut seperti ini.

Lalu dalam class contact_model.php kita tambahkan method delete() seperti berikut:

Sekarang link Delete bisa kita gunakan. Anda bisa melakukan test dengan mengklik satu atau beberapa baris data.

Tahap ke-6: Menghilangkan index.phpPada tahap ini kita akan mencoba menghilangkan index.php pada url aplikasi agar url kita lebih singkat dan lebih cantik. Buat sebuah file baru tepat di bawah direktori contact_list beri nama .htaccess. Tambahkan kode program ini pada file .htaccess tersebut:

Page 13: Codeigniter CRUD - Contact List

Buka kembali file contact_list/application/config/config.php lalu kosongkan nilai index_page.

$config['index_page'] = '';

Refresh browser Anda kemudian cobalah klik Link Edit atau link dalam pagination. Perhatikan sekarang index.php sudah tidak muncul dalam URL.

Catatan :Secara default XAMPP dan web server semacamnya yang dapat dijalankan dari Windows tidak bisa mengaktifkan mod_rewrite. Hal ini menyebabkan Apache menolak file .htaccess. Berikut cara agar .htaccess pada Apache web server dapat digunakan di Windows ::1. Gunakan teks editor, buka file httpd.conf. Pada XAMPP , file ini ditemukan di direktori \apache\conf2. Cari baris kode berikut : #LoadModule rewrite_module modules/mod_rewrite.so3. Hilangkan # dari baris yang terlihat dibawah untuk mengaktifkan module : LoadModule rewrite_module

modules/mod_rewrite.so4. Simpan perubahan pada file httpd.conf dan restart server Anda5. Restart Apache Server Anda jika berhasil, Anda seharusnya dapat menggunakan file .htaccess sekarang.