BAB 9 Framework : CodeIgniter Lanjut

dokumen-dokumen yang mirip
BAB III IMPLEMENTASI LIBRARY CODEIGNITER

Pemrograman Web Berbasis Framework. Pertemuan 8 : Penanganan File dan Image. Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

CODEIGNITER 3. Belajar Mandiri. Zamah Sari

Bab 5 CodeIgniter (CI)

Modul Pelatihan Framework CodeIgniter

Pemrograman Web Berbasis Framework. Pertemuan 5 : Konsep MVC : View. Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

Pemrograman Web Berbasis Framework. Pertemuan 7 : Keamanan Aplikasi. Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

Pemrograman Web Berbasis Framework. Pertemuan 4 : Konsep MVC : Controller. Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

Materi 2 E-Commerce Lanjut (CodeIgniter) 3 SKS Semester 7 S1 Sistem Informasi UNIKOM 2015 Nizar Rabbi Radliya

STMIK DIKTAT SINGKAT MACROMEDIA DREAMWEAVER 8 SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER TASIKMALAYA.

Pengantar. Persyaratan Sistem. Cara Menginstall

E-Book PEMROGRAMAN CLIENT SERVER BERBASIS PHP DENGAN FRAMEWORK CODEIGNITER. Disusun Oleh: Arfian Hidayat, S.Kom

Bab 4 Pembahasan Dan Hasil Pengujian

CodeIgniter.

Form Mampu membuat form dan dan mengirim data ke halaman lain Pengaturan Validasi dan keamanan form. Sesi 5

LAPORAN PRAKTIKUM TEKNOLOGI FRAMEWORK PERTEMUAN KE 1

PHP dan Framework CodeIgniter

Sering kita mendengar tentang MVC Framework PHP tetapi kurang mengerti belum arti dari

Mengenal Codeigniter (CI) Framework

Upload File dengan Metode AJAX

PRAKTIKUM. Rekayasa Web. Modul 2: CRUD CodeIgniter Part I. Laboratorium Teknik Informatika Universitas Pasundan

SMH2D3 Web Programming. 7 BAB V PHP SESSION & COOKIES. H a l IDENTITAS. Kajian Teknik pemrograman menggunakan PHP

BAB 3 LANDASAN TEORI. Pada bab 3 ini akan membahas mengenai landasan. teori mengenai data, sistem informasi, sistem informasi

BERKENALAN DENGAN MODEL CODEIGNITER

Tag dasar yang akan kita gunakan untuk membuat form di HTML adalah tag form, input, textarea, select dan option.

Framework CodeIgniter Part 1


PEMROGRAMAN PHP DASAR

Multiple Upload dengan Jumlah Dinamis Menggunakan Javascript dalam Framework CodeIgniter

TUGAS KELOMPOK SECURITY COMPUTER TOOL HACKING SQL INJECTION

LAPORAN PRAKTIKUM 5 SESSION & COOKIE

Gambar 4.28Konfigurasi Base Path dan Sistem

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

BAB I PENDAHULUAN LATAR BELAKANG CONTOH KASUS. Diktat Mata Kuliah Aplikasi Teknologi Online Oleh : Andri Heryandi

PHP & MYSQL. Universitas Komputer Indonesia 2004 Taryana. S

Praktikum 3 Cookie, Session, dan Database MySQL

3.1 APLIKASI YANG DITANGANI OLEH CODE GENERATOR

Belajar dasar codeigniter framework

Pengenalan Script. Definisi HTML

E-Book PEMROGRAMAN CLIENT SERVER BERBASIS PHP DENGAN FRAMEWORK CODEIGNITER. Disusun Oleh: Arfian Hidayat, S.Kom

Codeigniter : Membuat kalkulator sederhana

TUTORIAL CODEIGNITER Langkah Tepat menjadi Web Developer Handal, menguasai CodeIgniter, jalan membuat aplikasi berbasis website lebih mudah

Fungsi Insert Data dalam CRUD (CREATE READ UPDATE DELETE) di Codeigniter

Pemrograman Web II DANU WIRA PANGESTU

Pengenalan Perancangan Web 2017

I. Pengenalan Play Framework

BAB 5 MEMAHAMI METHOD GET DAN POST PADA PHP

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

Form identik dengan formulir

Menangani Input dari User

PANDUAN PENGGUNAAN. Joomla! Versi 1.5. Oleh: Anon Kuncoro Widigdo

[FORM AND FRAME] PEMROGRAMAN WEB MODUL [ O L E H : Y U N I T A P R A S T Y N I N G S I H, S. K O M ]

MEMBUAT PAGINATION PADA FRAMEWORK CODEIGNITER

Fungsi fungsi tambahan dalam PHP Session dan Cookie

BAB XIII BEKERJA DENGAN SESSION

RANCANG BANGUN SISTEM INFORMASI INVENTARISASI LAPORAN TUGAS AKHIR MAHASISWA PROGRAM STUDI TEKNIK INFORMATIKA BERBASIS FRAMEWORK CODEIGNITER

MODUL 6 Redirect,Session, dan Cookies

Bab 13 Tentang SESSION

9. Membuat Halaman Transaksi Penjualan

PERTEMUAN 2 PEMROGRAMAN WEB LANJUT- Pokok Bahasan :

TUTORIAL PHP MYSQL Langkah Tepat menjadi Web Developer Handal, menguasai PHP dan MySQL, jalan terbaik membuat website dan aplikasi berbasis web

LAMPIRAN. KUESIONER (Siswa) (Mohon menjawab pertanyaan-pertanyaan berikut dengan baik untuk keperluan survey pembuatan website e-learning)

PHP (1) Topik. Intro. Pemrograman Internet. Sekilas tentang PHP 06/11/2012

KEAHLIAN PEMROGAMAN JAVA

Secara umum, eksploit dapat dibagi atas dua jenis, yaitu eksploit lokal (local exploit), dan eksploit remote (remote exploit).

Web Programming (WP) Step 2 [ HTML & PHP BASIC]

Mengembangkan Component Joomla Oleh : Garry B.

Modul 5. Membuat Formulir Pada Template. Disusun oleh. Sri Siska Wirdaniyati JURUSAN STATISTIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

Advantages. Keunggulan :

Pemrograman Basis Data Berbasis Web

TUTORIAL CODEIGNITER Langkah Tepat menjadi Web Developer Handal, menguasai CodeIgniter, jalan membuat aplikasi berbasis website lebih mudah

Oleh: Ahmad Syauqi Ahsan

Mahasiswa memahami Pengertian, fungsi, aplikasi untuk menjalankan JavaScript, cara menjalankan kode, cara memasukkan kode JavaScript ke dalam HTML

Pemrograman Web Week 2. Team Teaching

MODUL 11 MEMBUAT LOGIN USER

IMPLEMENTASI MVC PADA SITUS PORTAL PENCARIAN UNIVERSITAS DI DAERAH ISTIMEWA YOGYAKARTA. Rionaldi Sugiarto Katon Wijana, Wimmie Handiwidjojo

Validasi Form dengan CakePHP

2. DASAR TEORI 2.1 PHP5

Methods of Manual Penetration Testing (Actual Exploit)

BAB X AKSES DAN MANIPULASI DATA

Bagian II Dasar-Dasar CodeIgniter

Dengan asumsi bahwa aplikasi masih menggunakan cookie, maka query untuk membuka profil adalah seperti berikut:

PHP (HYPERTEXT PREPROCESSOR)

Pemrograman Web. Koneksi dan Manipulasi Basis Data. 7 Adam Hendra Brata

Tutorial Code Igniter 2010

Bab 2 Tinjauan Pustaka

Dasar PHP. Wiratmoko Yuwono

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

5.2 Keuntungan dan Kelemahan Cookie

WAP (3) Muhammad Zen S. Hadi, ST. MSc. WAP - The Wireless Application Protocol

Membuat Login Dengan PHP dan MYSQL

Pemrograman Web PRAKTIKUM 1 PENGANTAR

Pemrograman PHP Lanjut. Ahmad Zainudin, S.ST Pemrograman Internet

MODUL PEMROGRAMAN WEB

IKG3A3 / Software Project II

Belajar PHP dengan Framework Code Igniter

Oleh: Ahmad Syauqi Ahsan

BAB IV HASIL DAN PEMBAHASAN

E-trik Ajax. Database MySQL. Dedi Alnas

Pertemuan 2. Muhadi Hariyanto

Transkripsi:

BAB 9 Framework : CodeIgniter Lanjut A. TUJUAN 1. Memahami Framework PHP tingkat lanjut. 2. Mempelajari dan Mengimplementasikan Library, helper dan komponen pendudukungnya pada CodeIgniter. B. LANDASAN TEORI CodeIgniter menyediakan dua jenis sarana yang dapat digunakan untuk membantu proses pengembangan aplikasi, antara lain: 1. Library Library dapat dikatakan sebagai kumpulan tools yang dapat digunakan untuk membantu sebuah proses. CodeIgniter telah menyediakan banyak library yang dapat digunakan secara langsung. Library pada dasarnya adalah sebuah kelas yang diletakkan di dalam folder system/libraries atau application/libraries. Library yang terletak di dalam folder system merupakan library bawaan dari CodeIgniter yang secara default di beri awalan CI_. 2. Helper Helper adalah kumpulan fungsi yang diletakkan di dalam folder system/helper atau applications/helpers. Biasanya helper sering digunakan dalam view untuk membantu proses-proses yang berulang, seperti generate html, url, security, dan lain-lain. Menggunakan Library dan Helper di CodeIgniter Agar dapat menggunakan library dan helper maka harus di load terlebih dahulu. Ada dua cara yang dapat dilakukan untuk men-load sebuah library dan helper, antara lain : a. Menambah pada Konfigurasi Autoload Menambahkan sebuah library di autoload berarti seluruh aplikasi anda akan dapat menggunakan library tersebut secara langsung. Sebaliknya library yang di load dengan cara ini adalah jenis library yang dipakai di seluruh aplikasi login, template, dan lain-lain. b. Menggunakan Perintah Loader Library Kita dapat juga menggunakan library loader untuk men-load library. Library loader adalah sebuah library CodeIgniter yang otomatis di load. Loader berfungsi sebagai CodeIgniter Lanjut 1

pengatur dari sumberdaya-sumberdaya yang ada di dalam CodeIgniter, seperti: Model, View, Library, Helper. Cara penggunaanya adalah : $this->load->library( nama_library ); $this->load->helper( nama_helper ); Nama library dan helper harus di isi dengan huruf kecil. Ketika sebuah library sudah di-load maka library tersebut menjadi property pada object Controller. Adapun cara penggunaannya adalah sebagai berikut: $this->nama_library->fungsi (); 1. Library CodeIgniter Secara default CodeIgniter telah menyediakan library yang dapat digunakan secara langsung. Adapun library yang telah tersedia antara lain: a. Benchmarking Class Library Benchmarking digunakan untuk melakukan pengukuran terhadap aplikasi yang dibuat. Seperti untuk mengetahui berapa lama waktu eksekusi dan berapa jumlah memori yang digunakan. Library ini sudah digunakan dan diload secara otomatis oleh CodeIgniter. b. Calendar Class Library Calendar berfungsi untuk menampilkan dan men-generate kalender. c. Cart Class Library Cart berfungsi untuk mengambil data-data di dalam file konfigurasi. Library ini sudsh di load secara otomatis oleh CodeIgniter. d. Database Class Library Database digunakan untuk memanipulasi serta mendapatkan data dari sebuah system database. Secara default database yang sudah didukung oleh CodeIgniter adalah mysql, mssql, oracle, postgres. Sedangkan database yang tidak didukung secara langsung oleh CodeIgniter dapat dijembatani dengan driver odbc. Kita perlu mengaktifkan sebelum nya, dengan cara : $this->load->database() atau dengan $this->load->library('database'); Untuk loading otomatis, kita perlu mengaktifkan library tsb dengan cara memberikan perintah $this>load->library('database'); 1. Query standard dengan hasil multiple (object version) 1. $query= select nama,alamat,telp from mahasiswa ; 2. $hasil=$this->db->query( $query ); 3. foreach ($hasil as $row) 4. { 5. echo $row->nama; 6. echo $row->alamat; 7. echo $row->telp; CodeIgniter Lanjut 2

8. } 9. echo Hasil Nilai :. $hasil->num_rows(); 2. Query standard dengan hasil multiple (Array version) 1. $query= select nama,alamat,telp from mahasiswa ; 2. $hasil=$this->db->query( $query ); 3. foreach ($hasil as $row) 4. { 5. echo $row['nama']; 6. echo $row['alamat']; 7. echo $row['telp']; 8. } 9. echo Hasil Nilai :. $hasil->num_rows(); 3. Query dengan hasil tunggal Untuk menampilkan sebuah hasil query, kita dapat menggunakan syntax sbb : $query->row() Contoh : 1. $query= select nama from mahasiswa limit 1 ; 2. $hasil=$this->db->query( $query ); 3. $hasilnya=$hasil->row(); 4. echo $hasilnya->nama; 4. Query Bindings Yaitu membuat query dengan nilai yang dapat berubah-ubah. $sql= select * from mahasiswa where nama=? And kota=? ; $this->db->query($sql,array('andi','jakarta'); 5. Active Record Class CI menggunakan teknik active record, di samping juga dapat memproses perintah sql. Cara ini adalah cara lain yang di gunakan di CI untuk memproses query. d. Email Class Library Email digunakan untuk mengirimkan email. Pengiriman email tersebut bisa dilakukan dengan menggunakan protocol mail, sendmail, dan smtp.sqawd. Contoh: 1. $this->load->library( email ); 2. // Kita perlu meload library e-mail di dalam controller atau di taruh di autoload.php 3. $this->email->from( 4. sofwan@sofwan.net 5., Akhmad Sofwan ); 6. $this->email->to( 7. sofwan@sofwan.net 8. ); 9. $this->email->cc( 10. wansofwan@yahoo.co.id 11. ); 12. $this->email->bcc( 13. wansofwan@gmail.com 14. ); 15. $this->email->subject( Test Email ); 16. $this->email->message( Hallo apa kabar nich...? ); 17. $this->email->send(); Setting E-mail : Setting e-mail di set secara default di dalam file config.php. CodeIgniter Lanjut 3

Kita dapat melakukan setting manual seperti contoh di bawah ini : 1. $config[ protocol ]= sendmail ; 2. $config[ mailpath ]= /usr/sbin/sendmail ; 3. $config[ charset ]= iso-8859-1 ; 4. $config[ wordwrap ]=TRUE; 5. $this->email->initialize($config); e. Encryption Class Library Encryption digunakan untuk melakukan penyandian terhadap string tertentu. f. File Uploading Class Library Uploading digunakan untuk meng-upload file. Kelas ini sudah dilengkapi dengan pengecekan jenis file, dan ukuran file. Contoh: 1. <?php 2. class Upload extends Controller { 3. function Upload() 4. { 5. parent::controller(); 6. $this->load->helper(array('form', 'url')); 7. } 8. function index() 9. { 10. $this->load->view('upload_form', array('error' => ' ' )); 11. } 12. function do_upload() 13. { 14. $config['upload_path'] = './uploads/'; 15. $config['allowed_types'] = 'gif jpg png'; 16. $config['max_size'] 17. = '100'; 18. $config['max_width'] = '1024'; 19. $config['max_height'] = '768'; 20. $this->load->library('upload', $config); 21. if (! $this->upload->do_upload()) 22. { 23. $error = array('error' => $this->upload->display_errors()); 24. $this->load->view('upload_form', $error); 25. } 26. else 27. { 28. $data = array('upload_data' => $this->upload->data()); 29. $this->load->view('upload_success', $data); 30. } 31. } 32. } 33.?> Agar form dapat melakukan uploading file, maka tipe enctype suatu form haruslah berbentuk multipart/form-data. <form method= post enctype= multipart/form-data > g. Form Validation Class Library Form Vlidation digunakan untuk mengecek kesalahan form-form yang sudah di submit oleh user. CodeIgniter Lanjut 4

h. FTP Class Library FTP digunakan untuk meng-upload atau download file melalui ftp server. i. HTML Table Class Library HTML Table table adalah sebuah kelas yang berfungsi untuk mengenerate table dari data array. Contoh : 1. $this->load->library( table ); 2. $data=array( 3. array( Nim, Nama, Kota ), 4. array( 090012, Andi, Jakarta ), 5. array( 090014, Umar, Jakarta ), 6. array( 090013, Udin, Semarang )); 7. echo $this->table->generate($data); Menampilkan tabel dari data yang di peroleh dari database. Contoh nya adalah sbb : 1. $this->load->library( table ); 2. $query=$this->db->query( select * from mahasiswa ); 3. echo $this->table->generate($query); j. Image Manipulation Class Library Image Manipulation berfungsi untuk mengolah gambar. Adapun fungsi yang telah disediakan adalah Image Resizing, Thumbnail Creation, Image Cropping, Image Rotating dan Image Watermarking. k. Input and Security Class Library Input dan Security berfungsi untuk menjamin bahwa inputan dari form telah bersih dari karakter-karakter aneh. l. Loader Class Library ini disebut sebagai pengatur sumberdaya CodeIgniter. Semua sumberdaya yang ada akan dikendalikan oleh kelas ini. Library ini sudah di-load secara otomatis oleh CodeIgniter. m. Language Class Library Language digunakan untuk mengatur bahasa apa yang akan dipakai oleh CodeIgniter. n. Output Class Library Output bertujuan untuk meng-handle output dari CodeIgniter, mulai dari cache sampai ke profiling bias dilakukan kelas ini. o. Pagination Class Untuk mem-paginate hasil database untuk performance dan usability, kita bisa mengontrol beberapa banyak record untuk ditampilkan disetiap halaman website, berapa banyak record untuk ditarik dari database dan tampilan dari bagian pagination. CodeIgniter Lanjut 5

Contohnya: 1. $this->load->library( pagination ); // Loading library pagination 2. $config[ base_url ]= 3. http://localhost/dkpnew 4. ; // base_url 5. $config[ total_rows ]= 100 ; // Total baris 6. $config[ per_page ]= 20 ; // per page 7. $this->pagination->initialize($config); 8. echo $this->pagination->create_links(); p. Session Class Library Session dapat digunakan untuk memelihara informasi status tentang user (seperti layaknya session di PHP). Tetapi library ini tidak menggunakan session built-in datri PHP, library Session men-generate session datanya sendiri yang disimpan di dalam Cookies. Contohnya : 1. $data=array( 2. 'nim'=>'0900189', 3. 'nama'=>'andi Hasan', 4. 'logged_in'=>true); 5. $this->session->set_userdata($data); q. Trackback Class Library Trackback digunakan untuk mengirim dan menerima data trackback. r. Template Parses Class Library Tamplate Parses digunakan untuk membuat template yang berisi parsable pseudo-template. s. Unit Testing Class Library Unit Testing digunakan untuk unit test fuction dalam aplikasi yang sedang dibuat. CodeIgniter menyediakan fungsi evaluasi dan dua fungsi hasil dalam library ini. t. URL Class Library URL digunakan untuk memparsing URL, lalu memecahkan ke dalam beberapa segmen dan kemudian di passing ke controller atau disimpan sebagai variable. u. User Agent Class Library User Agent digunakan untuk mengidentifikasi browser, mobile device, atau robot yang mengunjungi website. Kita juga bias menggunakannya untuk mendeteksi dukungan bahasa, sekumpulan karakter, dan referrer. v. XML-RPC Class Library XML-RPC digunakan untuk men-setup client XML-RMP dan server. w. Zip Encoding Class Library Zip Encoding digunakan untuk membuat ZIP baik yang berjenis teks maupun data binary. CodeIgniter Lanjut 6

2. Helper CodeIgniter Helpers seperti namanya akan membantu membangun aplikasi dengan tugas tertentu. Tidak seperti library, helper bukanlah object Oriented tapi berupa procedural. Setiap helper berisi satu atau lebih fungsi, masing-masing berfokus pada tugas tertentu yang tidak ada ketergantungan dengan fungsi lainnya. Helper dapat juga di-load secara otomatis dalam system/application/config/autoload.php. Adapun helper yang ada di dalam CodeIgniter antara lain : a. Array Helper Array berisi fungsi yang membantu pekerjaan berhubungan dengan array. Sebagai contoh: fungsi random_element() mengambil array sebagai input dan mengasilkan elemen random darinya. b. Cookie Helper Cookie berisi fungsi yang membantu pekerjaan berhubungan dengan pemberian nilai, pembacaan data cookies, dan penghapusan data cookie. Sintaknya: $this->load->helper( cookie ); 1. set_cookie() Fungsi : Setting cookie 2. get_cookie() Fungsi : Fetch Cookie 3. delete_cookie() Fungsi : Menghapus Cookie c. Date Helper Date berisi fungsi yang membantu pekerjaan berhubungan dengan tanggal. Sebagai contoh: fungsi now() menghasilkan waktu sekarang sebagai UNIX timestamp. d. Directory Helper Directory berisi fungsi tunggal yang membantu pekerjaan berhubungan dengan directory. Sebagai contoh: fungsi directory_map() adalah untuk membaca path directory tertentu dan membangun array-nya yang berisi semua file-filenya dan sub directorynya. CodeIgniter Lanjut 7

e. Download Helper Download berisi fungsi tunggal yang membantu men-download data dengan mudah. Fungsi forve_download() menghasilkan header server yang memaksa data di-download. f. File Helper File berisi fungsi yang membantu untuk membaca, menulis, dan menghapus file. g. Form Helper Form berisi fungsi-fungsi yang membantu membangun form. Syntax yang ada pada helper ini adalah : 1. form_open() Fungsi : Untuk membuat form pada awal form. Sama dengan <form method= post action= <?=base_url();?>index.php/input > 2. form_open_multipart() Fungsi : Sama dengan form_open(). 3. form_input() Fungsi : Untuk membentuk fungsi input text Contoh : $data=array( name => username, size => 10 ); echo form_input ($data) // Sama dengan : <input type= text name= username size= 10 > 4. form_password() h. HTML Sama dengan form_input. Hanya saja form ini masukkan nya berupa password. Sama dengan : <input type= password > Helper HTML berisi fungsi yang membantu membuat blok HTML dengan cepat dan mudah. Sebagai contoh fungsi: ul() bias mengubah array item ke bulleted list. i. Inflector Helper Inflector berisi fungsi yang membantu mengubah kata-kata menjadi bentuk plural atau singular, memberlakukan camel case atau mengubah kata-kata yang dipisahkan oleh spasi menjadi phrase yang digaris bawahi, sebagai contoh fungsi: singular bisa mengubah string girls menjadi girl. CodeIgniter Lanjut 8

j. Security Helper Security berisi fungsi yang berhubungan dengan keamanan yang akan menyaring setiap kode yang mungkin digunakan dalam cross site scripting hack. Security helper terdiri dari 2 syntax, yaitu : 1. xss_clean() Menyediakan Cross Site Script Hack filtering. Function ini termasuk juga ke dalam input class. 2. dohash() k. Smiley Akan membentuk SH1 atau MD5 encrypting password. Contoh : $str =dohash($str) // SHA1 $str =dohash($str,'md5') // MD5 Helper smiley berisi fungsi-fungsi yang membantu pengolahan emoticons. l. String Helper string berisi fungsi-fungsi yang membantu pekerjaan berhubungan dengan string, seperti fungsi random_string() yang akan membuat string random berdasarkan tipe dan panjang argument. m. Text Helper text berisi fungsi-fungsi yang membantu kita untuk bekerja dengan teks. Sebagai contoh: fungsi word_limiter, dapatb membatasi string ke sejumlah kata tertentu yang berguna untuk membatasi input user pada form. n. Typography Helper typography berisi fungsi tunggal yang membantu menformat teks dengan cara yang tepat. Sebagai contoh: fungsi auto_typography() me_wrap paragraph dengan <p> dan </p>, mengkonversi line breaks ke </br> dan menkonversi tanda kutip, dash, dan ellips dengan baik. o. URL Helper URL berisi fungsi-fungsi yang membantu bekerja dengan URL. Kita akan menggunakan fungsi dalam setiap projek. Syntax yang ada di dalam URL Helper, yaitu : 1. base_url() Fungsi: Mengembalikan base_url, seperti yang tertulis di dalam file config.php CodeIgniter Lanjut 9

2. uri_string() Fungsi : Mengembalikan URL Segment di halaman yang berisi fungsi ini. Jika URL anda : http://sofwan.net/blog/comments/123, Fungsi akan mengembalikan nilai : blog/comments/123 3. anchor() Fungsi : membuat standard html anchor link berdasarkan url local anda. Contoh : 1. echo anchor ( berita/local/123, berita ); 2. <a href= 3. http://localhost/local/123 4. >Click Here</a> 4. redirect() Fungsi : Untuk redirect ke function tertentu. Redirect ( form/index ); Maka akan menuju ke syntax tertentu. p. E-mail Helper Helper E-mail berisi fungsi untuk membantu developer bekerja dengan E-mail. Syntax yang ada pada helper email ini adalah : 1. $this->load->helper( email ); Untuk loading helper email. 2. Valid_email('email'); Untuk mengecek format e-mail yang benar. Contoh : 1. if (valid_email( 2. sofwan@sofwan.net 3. )) 4. { echo Mail is valid ; } 5. Else 6. { echo Mail is invalid ;} 3. Send_email( recipient, subject, message ) q. XML Syntax untuk Mengirim e-mail. Helper XML berisi fungsi tunggal yang membantu bekerja XML. Fungsi xml_convert berfungsi untuk mengkonversi string menjadi teks XML, mengkonversi ampersand dan angle bracket menjadi entity. CodeIgniter Lanjut 10

C. LANGKAH-LANGKAH PERCOBAAN Sebelum melakukan percobaan sebaiknya kita mendownload CodeIgniter terlebih dahulu, disini penulis memakai CodeIgniter 2.2 dan kemudian di simpan ke dalam Appserv/www/CI atau bias juga dengan xampp/htdoct/ci. 1. Membuat HTML.php Contoh sederhana untuk membuat tulisan dengan menggunakan CodeIgniter. Berikut ini kita membuat script pada Controller dengan nama html.php 1. <?php 2. class Html extends CI_Controller{ 3. function index(){ 4. $this->load->helper('html'); 5. echo heading("belajar CodeIgniter",1); 6. echo heading("di Akademi Komunitas Negeri Lamongan",2); 7. echo heading("jurusan : Teknik Informatika",3); 8. echo heading("materi : Teknologi Web",4); 9. echo heading("tentang",5); 10. echo heading("helper dan Library",6); 11. } 12. } Penjelasan: Pada baris ke-4 kita akan mencoba menggunakan helper, kelas tersebut akan memanggil sebuah tulisan yang ada pada script html tersebut. Baris ke-5-10, berisi tulisan yang akan di tampilkan. Berikut ini adalah hasil output dari percobaan helper Gambar 9.1 hasil percobaan dari helper Pada Gambar 9.1 ditunjukan hasil dari percobaan helper yang menampilkan hasil fungsi index dengan menggunakan class Controller. CodeIgniter Lanjut 11

2. Membuat form_validasi Pada percobaan ini, kita akan membuat sebuah form data yang menyimpan username, password dan alamat email. a. Membuat script pada View dengan nama myform.php 1. <html> 2. <head> 3. <title>my Form</title> 4. </head> 5. <body> 6. <?php echo validation_errors();?> 7. <?php echo form_open('form');?> 8. <h5>username</h5> 9. <input type="text" name="username" value="" size="50" /> 10. <h5>password</h5> 11. <input type="text" name="password" value="" size="50" /> 12. <h5>password Confirm</h5> 13. <input type="text" name="passconf" value="" size="50" /> 14. <h5>email Address</h5> 15. <input type="text" name="email" value="" size="50" /> 16. <div><input type="submit" value="submit" /></div> 17. </form> 18. </body> 19. </html> Penjelasan: Baris ke-6, menampilkan data validasi yang eror. Baris ke-7, menampilkan data yang telah dibuka di data form yang meliputi username, password, dan email address.. b. Membuat script pada View dengan nama formsuccess.php 1. <html> 2. <head> 3. <title>my Form</title> 4. </head> 5. <body> 6. <h3>your form was successfully submitted!</h3> 7. <p><?php echo anchor('form', 'Try it again!');?></p> 8. </body> 9. </html> Penjelasan : Baris ke-7, menampilkan data form yang ada pada view. c. Membuat script pada Controller dengan nama form.php 1. <?php 2. class Form extends CI_Controller { 3. function index() 4. { 5. $this->load->helper(array('form', 'url')); 6. $this->load->library('form_validation'); 7. $this->form_validation->set_rules('username', 'Username', 'required'); 8. $this->form_validation->set_rules('password', 'Password', 'required'); 9. $this->form_validation->set_rules('passconf', 'Password Confirmation', 'required'); 10. $this->form_validation->set_rules('email', 'Email', 'required'); 11. if ($this->form_validation->run() == FALSE) 12. { 13. $this->load->view('myform'); 14. } 15. else 16. { CodeIgniter Lanjut 12

17. $this->load->view('formsuccess'); 18. } 19. } 20. } 21.?> Penjelasan: Baris ke-3, memanggil fungsi dari index Baris ke-5, memanggil data dari helper form array Baris ke-6, menmanggil data dari library form validasi. Baris ke-13, memanggil data dari view yang bernama myform.php Baris ke-17, memanggil data dari view yang bernama formsuccess.php Berikut ini adalah hasil dari outputnya Gambar 9.2 hasil percobaan dari index form Pada Gambar 9.2 ditunjukan hasil dari percobaan library yang menampilkan hasil fungsi index dengan menggunakan class view. Apabila pada salah satu menu di klik maka akan muncul isi konten dari menu yang dipanggil. Default tampilan awalnya adalah menampilkan isi konten dari menu form. Jika data tersebut di isi dan data tersebut benar kemudian di submit, maka akan muncul tampilan: CodeIgniter Lanjut 13

Gambar 9.3 hasil index jika success Pada gambar 9.3 di tunjukkan hasil percobaan index jika data tersebut diisi semua dengan benar maka akan tampil successfully. Dan sebaliknya jika data tersebut hanya diisi salah satu maka akan muncul tampilan seperti gambar 9.4 Gambar 9.4 jika tidak diisi datanya semua Pada gambar 9.4 di tunjukkan hasil percobaan index jika data tersebut hanya diisi satu maka akan tampil tulisan required. 3. Membuat form hitung Perlu diingat hal pertama yang harus dilakukan di konfigurasi pada setiap aplikasi base_url. Setelah melakukan konfigurasi base_url pada file application maka kita akan membuat sebuah controller yang menangani proses penambahan, pengurangan, CodeIgniter Lanjut 14

perkalian dan pembagian. Konfigurasi pada base_url dilakukan supaya penggunaan library url menghasilkan keluaran yang tepat. Perhatikan code berikut ini: a. Application/controllers/hitung.php. 1. <html> 2. <head> 3. <title>carikode</title> 4. </head> 5. <body> 6. <h1>carikode</h1> 7. <form action="<?php echo base_url();?>index.php/kalkulator/hitung" method="post"> 8. <table> 9. <tr> 10. <td>masukkan bilangan pertama</td> 11. <td><input type="text" name="bil1"></td> 12. </tr> 13. <tr> 14. <td>masukkan bilangan kedua</td> 15. <td><input type="text" name="bil2"></td> 16. </tr> 17. <tr> 18. <td>operasi</td> 19. <td> 20. <select name="operasi"> 21. <option value="+">+</option> 22. <option value="-">-</option> 23. <option value="x">x</option> 24. <option value=":">:</option> 25. </select> 26. </td> 27. </tr> 28. <tr> 29. <td></td> 30. <td><input type="submit" value="hitung"></td> 31. </tr> 32. </table> 33. </form> 34. </body> 35. </html> Penjelasan: Baris 20-24, memasukkan operasi bilangan dari penjumlahan, pengurangan, perkalian dan pembagian. Baris 30, terdapat tombol submit oleh fungsi hitung. b. Proses kedua yaitu menggunakan application/views/kalkulator.php Setelah membuat controller maka kita akan membuat view yang merupakan interface aplikasi tersebut. Code berikut ini adalah view menu_hitung. View ini berisi navigasi ke fungsi perkalian dan pembagian. 1. <?php if (! defined('basepath')) exit('no direct script access allowed'); 2. class Kalkulator extends CI_Controller{ 3. function construct(){ 4. parent:: construct(); 5. $this->load->helper(array('url','form')); 6. } 7. function index(){ 8. $this->load->view('hitung'); 9. } 10. function hitung(){ 11. $bil1=$this->input->post('bil1'); 12. $bil2=$this->input->post('bil2'); 13. $operasi=$this->input->post('operasi'); CodeIgniter Lanjut 15

14. if($operasi=="+"){ 15. $hasil=$bil1+$bil2; 16. }else if($operasi=="-"){ 17. $hasil=$bil1-$bil2; 18. }else if($operasi=="x"){ 19. $hasil=$bil1*$bil2; 20. }else if($operasi==":"){ 21. $hasil=$bil1/$bil2; 22. } 23. $data['bil1']=$bil1; 24. $data['bil2']=$bil2; 25. $data['operasi']=$operasi; 26. $data['hasil']=$hasil; 27. $this->load->view('v_hasil',$data); 28. } 29. } 30.?> Penjelasan : Baris 5, dilakukan loading terhadap helper url dan form sekaligus. Loading tersebut dilakukan dalam fungsi konstruktor karena kedua helper tersebut digunakan pada semua fungsi dan view yang ada. Pada kelas hitung tersebut, terdapat 4 fungsi, yaitu penjumlahan, pengurangan, perkalian dan pembagian. Baris 14-21, kita melakukan pengecekan terhadap bilangan yang diset. Fungsi tersebut akan menghasilkan nilai TRUE apabila semua bilangan terpenuhi dan menghasilkan nilai FALSE jika tidak terpenuhi. Baris 23, menginputkan bilangan pertama yang akan di ketik. Baris 24, menginputkan bilangan kedua yang akan di ketik. Baris 27, memanggil hasil dari script yang ada pada view. c. Lalu yang terakhir kita tulis script hasil.php dan simpan di view. 1. <html> 2. <head> 3. <title>carikode</title> 4. </head> 5. <body> 6. <h1>carikode</h1> 7. <?php 8. echo " $bil1 "." $operasi "." $bil2 "." = "." $hasil "; 9.?> 10. <br/> 11. <?php echo anchor('kalkulator/','kembali')?> 12. </body> 13. </html> Penjelasan : Baris 8, menampilkan hasil operasi dari bilangan pertama dan bilangan kedua Baris 11, menampilkan tulisan kembali Berikut ini adalah hasil output dari percobaan helper CodeIgniter Lanjut 16

Gambar 9.3 hasil dari percobaan hitung Pada Gambar 9.3 ditunjukan hasil dari percobaan yang menampilkan bilangan pertama dan bilangan kedua dari operasi perkalian. Gambar 9.5 hasil dari percobaan hitung Pada Gambar 9.5 ditunjukan hasil dari inputan perkalian bilangan pertama dan bilangan kedua. Dan terdapat menu link kembali CodeIgniter Lanjut 17

4. Membuat upload form Pada percobaan ini, kita akan membuat sebuah form yang bias mengupload sebuah gambar. a. Menggunakan menu dengan nama upload_form.php 1. <html> 2. <head> 3. <title>upload Form</title> 4. </head> 5. <body> 6. <?php echo $error;?> 7. <?php echo form_open_multipart('upload/do_upload');?> 8. <input type="file" name="userfile" size="20" /> 9. <br /><br /> 10. <input type="submit" value="upload" /> 11. </form> 12. </body> 13. </html> Penjelasan : Baris ke-6, menampilkan hasil eror jika salah. Baris ke-7, memanggil subuah gambar dari menu upload dari view. Baris ke-10, terdapat tombol submit menu yang akan di upload dari controller. b. Menggunakan menu view dengan nama upload_success.php 1. <html> 2. <head> 3. <title>upload Form</title> 4. </head> 5. <body> 6. <h3>your file was successfully uploaded!</h3> 7. <ul> 8. <?php foreach ($upload_data as $item => $value):?> 9. <li><?php echo $item;?>: <?php echo $value;?></li> 10. <?php endforeach;?> 11. </ul> 12. <p><?php echo anchor('upload', 'Upload Another File!');?></p> 13. </body> 14. </html> Penjelasan : Baris ke-8, memanggil isi dari upload_data di menu view. Baris ke-10, jika data upload tersebut selesai di panggil. Baris ke-11, memanggil data upload dari controller. c. Menggunakan menu controller dengan nama upload.php 1. <?php 2. class Upload extends CI_Controller { 3. public function construct() 4. { 5. parent:: construct(); 6. $this->load->helper(array('form', 'url')); 7. } 8. public function index() 9. { 10. $this->load->view('upload_form', array('error' => ' ' )); 11. } 12. public function do_upload() 13. { 14. $config['upload_path'] = './uploads/'; 15. $config['allowed_types'] = 'gif jpg png'; 16. $config['max_size'] = 100; CodeIgniter Lanjut 18

17. $config['max_width'] = 1024; 18. $config['max_height'] = 768; 19. $this->load->library('upload', $config); 20. if (! $this->upload->do_upload()) 21. { 22. $error = array('error' => $this->upload->display_errors()); 23. $this->load->view('upload_form', $error); 24. } 25. else 26. { 27. $data = array('upload_data' => $this->upload->data()); 28. $this->load->view('upload_success', $data); 29. } 30. } 31. } 32.?> Penjelasan: Baris ke-6, memanggil data helper dari array form url. Baris ke-10, memanggil class view dari upload_form. Baris ke-12, memanggil fungsi upload. Baris ke 14-18, berisi ukuran gambar yang tersedia pada menu upload. Baris ke-20, jika gambar tersebut akan diupload. Baris ke-22, muncul eror jika gambar tadi tidak berhasil di upload. Baris ke 23, memanggil upload_form pada menu view yang eror tadi. Baris ke-25, akan muncul else jika salah. Baris ke-27, memanggil data array dari upload_data dari class view. Baris ke-28, memanggil data upload_success dari class view. Berikut ini adalah hasil output dari form upload Gambar 9.6 index dari form upload Pada gambar 9.6 ditunjukkan gambar index yang akan kita upload dari percobaan menu helper yang berisi tombol browser dan upload. CodeIgniter Lanjut 19