Tampilkan postingan dengan label Pemrograman Web. Tampilkan semua postingan
Tampilkan postingan dengan label Pemrograman Web. Tampilkan semua postingan

Senin, 31 Oktober 2011

Konfigurasi CodeIgniter: Alamat URL dan Routing

Alamat URL dalam CodeIgniter
CodeIgniter menghasilkan clean URL yang mudah dikenali oleh search engine dan manusia. Sebagai contoh :
www.nama-website.com/index.php/blog/post/
Dengan blog sebagai nama controller dan post adalah nama fungsi didalam controller blog. URL dalam CodeIgniter dibagi-bagi kedalam segment-segment dengan tanda slash (/) sebagai tandanya. Dalam contoh diatas blog adalah segment pertama dan post adalah segment kedua dan seterusnya.

Konfigurasi Routing
Konfigurasi routing digunakan untuk memetakan permintaan atau request kedalam class controller didalam website yang kita buat. Misalnya saja jika kita membuka alamat http://www.nama-website.com, permintaan tersebut tidak menyertakan nama controller apa yang ingin dibuka tetapi kita bisa secara default mengarahkannya agar secara otomatis akan membuka controller sesuai yang kita definisikan.
Untuk melakukan konfigurasi routing buka file konfigurasinya di direktori system/application/config dengan nama file adalah routes.php. Settingan utama yang ada adalah sebagai berikut :

$route['default_controller'] = "welcome";
$route['scaffolding_trigger'] = "";
Artinya secara default semua permintaan yang tidak menyertakan nama controllernya akan diarahkan untuk membuka controller “welcome”. Sehingga saat alamat http://www.nama-website.com dibuka secara otomatis akan membuka http://www.nama-website.com/index.php/welcome.
$route['scaffolding_trigger'] = "", digunakan jika ingin menggunakan fitur scaffolding. Kita diijinkan untuk membuat sebuah kata rahasia untuk keperluan mengakses basis data. Fitur ini nanti akan dibahas tersendiri pada bab selanjutnya.
Beberapa contoh konfigurasi routing :
$route['default_controller'] = "blog";
Secara default semua permintaan tanpa menyertakan alamat controller akan diarahkan untuk membuka controller “blog”.
$route['blog'] = "blog/hasil";
Jika membuka controller blog maka akan secara default mengarah ke fungsi “hasil”.
Kita juga bisa memanfaatkan regular expression dalam melakukan konfigurasi routing ini.

$route['blog/:any'] = "blog/hasil";
Kata apapun yang diletakan setelah blog/ baik nama fungsinya ada atau tidak maka akan diarahkan untuk membuka fungsi “hasil”.
$route['blog/([a-z]+)/(\d+)'] = "$1/id_$2";
Misalnya kita membuka alamat http://www.nama-website/blog/post/2 maka akan menghasilkan http://www.nama-website/blog/post/id_2.

Anda dapat mempelajari beberapa artikel kami tentang CodeIgniter di sini.

Submit Website to Search Engines - Add URL

Instalasi CodeIgniter: Konfigurasi Database

File konfigurasi untuk basis data terdapat didalam direktori system/application/config dengan nama file database.php. Disinilah kita dapat memasukan konfigurasi basis data sesuai dengan aplikasi basis data yang kita miliki, misalnya saja hostname temapt server basis data berada, nama basis data yang akan digunakan, nama user yang digunakan untuk mengakses basis data beserta passwordnya.

$active_group = "default";
$active_record = TRUE;
$db['default']['hostname'] = "localhost";
$db['default']['username'] =”[“nama_user]”;
$db['default']['password'] = "[password]";
$db['default']['database'] = "[nama_database]";
$db['default']['dbdriver'] = "[nama_basisdata]";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";
Keterangan:
$active_group=”default” , digunakan untuk memilih group koneksi ke basis data yang mana yang akan digunakan.
$active_record = TRUE, apakah akan me load active record class atau tidak.
$db['default']['hostname'] = "localhost", adalah nama host server basis data.
$db['default']['username'] = "[nama_user]", adalah nama user yang digunakan untuk mengakses basis data.
$db['default']['password'] = "[password]", adalah password user yang digunakan untuk mengakses basis data.
$db['default']['database'] = "[nama_basisdata]", adalah nama basis data yang digunakan untuk menyimpan data.
$db['default']['dbdriver'] = "[driver_basisdata]", adalah nama server basisdata yang digunakan, contoh diatas adalah mysql.
$db['default']['dbprefix'] = "", nama prefix tabel, misalnya saja jika semua tabel berawalan "ci_" maka masukan value "ci_".
$db['default']['pconnect'] = TRUE , apakah akan menggunakan koneksi persistent ataukah tidak.
$db['default']['db_debug'] = TRUE, apakah akan menampilkan error ataukah tidak.
$db['default']['cache_on'] = FALSE, apakah akan menggunakan caching atau tidak.
$db['default']['cachedir'] = "", jika menggunakan caching maka tentukan direktori caching yang akan digunakan.
$db['default']['char_set'] = "utf8", character set yang akan digunakan untuk berkomunikasi dengan basis data.
$db['default']['dbcollat'] = "utf8_general_ci", character collation yang akan digunakan untuk berkomunikasi dengan basis data.

Jika misalnya ingin membuat group lain maka tinggal ganti default pada array dengan nama group baru tersebut, kemudian rubah nilai variabel $active_group, misalnya saja kita membuat group baru dengan nama blog maka konfigurasinya akan menjadi :
$db['blog']['hostname'] = "localhost";
$db['blog']['username'] =”[“nama_user]”;
$db['blog']['password'] = "[password]";
$db['blog']['database'] = "[nama_database]";
$db['blog']['dbdriver'] = "[nama_basisdata]";
$db['blog']['dbprefix'] = "";
$db['blog']['pconnect'] = TRUE;
$db['blog']['db_debug'] = TRUE;
$db['blog']['cache_on'] = FALSE;
$db['blog']['cachedir'] = "";
$db['blog']['char_set'] = "utf8";
$db['blog']['dbcollat'] = "utf8_general_ci";
Anda dapat mempelajari beberapa artikel kami tentang CodeIgniter di sini.

Submit Website to Search Engines - Add URL

Instalasi Codeigniter di Windows

Jika Anda belum memiliki paket aplikasi framework CodeIgniter, silahkan download paket Codeigniter yang terbaru di sini.
Bagi pembaca yang belum mengenal Framework Codeigniter silahkan baca penjelasannya di sini.
Kebutuhan server untuk penggunaan Codeigniter ialah:
a)  PHP Engine atau yang lebih baru (yang terbaru umumnya PHP versi 5)
b)  Database server
Codeigniter mendukung beberapa database seperti MySQL, MySQLi, MS SQL, PostgreSQL, Oracle, SQLite dan ODBC.

Pada kali ini kita menggunakan paket aplikasi XAMPP yang di dalamnya sudah terdapat aplikasi Web Server Apache, Database Server MySQL dan PHPMyAdmin. Sehingga akan lebih memudahkan Anda dalam menginstal kebutuhan server tersebut.Jika telah terinstall Web Server Apache dan Database Server MySQL, serta Codeigniter versi 1.6.1 telah Anda download, maka lakukan langkah-langkah berikut.

Instalasi CodeIgniter
Meskipun namanya instalasi tetapi karena CodeIgniter adalah aplikasi berbasis website maka yang sebenarnya kita lakukan adalah meng-copy folder aplikasi CodeIgniter kedalam DocumentRoot dari web server yang sudah kita install sebelumnya. Bukan melakukan instalasi seperti pada aplikasi sistem.
Sebelum melakukan instalasi yang perlu dilakukan pertama kali adalah mendapatkan kode sumber dari CodeIgniter itu sendiri, jika tidak punya maka bagaimana mungkin bisa melakukan instalasi. CodeIgniter bisa di download http://www.codeigniter.com/download.php, versi terbaru sampai artikel ini ditulis adalah versi 1.6.1. Untuk melakukan instalasi cukup ektraks file hasil download, yaitu file CodeIgniter_1.6.1.zip, kemudian letakan folder hasil ekstrak tadi di DocumentRoot web server, yaitu folder htdocs didalam direktori C:\\apachefriends\xampp bagi yang menggunakan XAMPP di Windows. Folder hasil ekstraks tersebut bisa dirubah namanya agar memudahkan kita, misal di-rename menjadi "ci" (default hasil ekstrak adalah CodeIgniter_1.6.1). Didalam folder tersebut ada 2 folder lagi yaitu system dan user_guide, silahkan saja untuk memindahkan folder user_guide ke tempat lain karena inti aplikasi ada di folder system dan folder user_guide berisi dokumentasi dari CodeIgniter.


Didalam folder system masih terdapat beberapa folder lain, yang akan sering kita akses adalah folder application karena di folder inilah script-script kita akan disimpan. Beberapa folder yang ada di dalam direktori system adalah :
1.  application, di folder inilah kode-kode yang kita buat nantinya akan disimpan didalam folder yang sesuai. Model disimpan di folder models, Controller di folder controller dan View di folder views. Folder-folder yang terdapat di dalam direktori application adalah :
   a.  models untuk menyimpan model yang kita buat.
   b.  controller untuk menyimpan controller.
   c.  views untuk menyimpan view tampilan website.
   d.  config untuk menyimpan konfigurasi website yang akan kita buat. Mulai dari konfigurasi dasar, basis data, routing dan lain-lain.
   e.  error berisi file-file yang akan ditampilkan jika ada error pada script yang kita buat.
   f.  libraries untuk menyimpan pustaka yang kita tambahkan atau pustaka buatan kita sendiri.
   g.  hooks untuk meyimpan hook yang kita buat.
2.  cache, untuk meyimpan caching dari website.
3.  codeigniter, berisi file-file yang akan me-load inti dari framework.
4.  database, berisi class-class yang akan digunakan untuk bekerja dengan basis data, termasuk didalamnya driver-driver untuk beberapa server basis data yang didukung oleh CodeIgniter.
5.  fonts, digunakan untuk menyimpan font yang nanti akan kita gunakan di dalam website.
6.  helpers, berisi helper.
7.  language, digunakan untuk menyimpan file-file dukungan bahasa.
8.  libraries, berisi pustaka-pustaka yang disediakan untuk digunakan untuk pembuatan website.
9.  logs, berisi file-file catatan yang mencatat log dari website kita.
10.  plugins, untuk menyimpan plugin.
11.  scafollding, berisi file-file untuk keperluan scafollding.

Setelah itu, misal foldernya bernama "ci" maka website bisa diakses lewat http://localhost/ci, tapi sebelum itu jangan lupa untuk melakukan sedikit modifikasi pada bagian konfigurasi CodeIgniter. Buka file system/application/config/config.php. Di file inilah konfigurasi dasar CodeIgniter disimpan. Yang perlu dirubah untuk instalasi awal ini adalah pada bagian base URL Setelah nanti kita siap membuat sebuah website yang sebenarnya maka akan banyak pengaturan yang harus dilakukan.
$config['base_url'] = "www.your-site.com";
Pada bagian www.your-site.com ganti dengan url anda. Karena saya hanya mencoba di localhost dengan nama folder ci, maka base URL nya saya ganti menjadi :
$config['base_url'] = "http://localhost/ci/";
Base URL adalah URL default dari website yang kita buat, secara default URL tersebut akan selalu digunakan untuk pembuatan link di halaman website, tentu saja untuk link-link internal bukan link eksternal ke website lain. Setelah itu silahkan dibuka alamat http://localhost/ci.
Tampilan awal setelah CodeIgniter berhasil di install.

Instalasi sudah selesai dan sekarang kita siap membuat website menggunakan framework CodeIgniter.
Selanjutnya Anda perlu melakukan setting untuk Konfigurasi Database serta Kofigurasi Alamat URL dan Routing di CodeIgniter.

Selamat Belajar semoga bermanfaat...!!!

Submit Website to Search Engines - Add URL

Jumat, 06 Mei 2011

Model View Controller (MVC) pada CodeIgniter

Seperti sudah saya sampaikan pada posting sebelumnya (Mengenal PHP Framework: CodeIgniter) bahwa CodeIgniter menerapkan lingkungan pengembangan dengan metode MVC (Model View Controller). MVC memisahkan antara logika pembuatan kode dengan pembuatan template atau tampilan website. Penggunaan MVC membuat pembuatan sebuah proyek website menjadi lebih terstruktur dan lebih sederhana.

Secara sederhana konsep MVC terdiri dari tiga bagian yaitu bagian Model, bagian View dan bagian Controller. Didalam website dinamis setidaknya terdiri dari 3 hal yang paling pokok, yaitu basis data, logika aplikasi dan cara menampilkan halaman wesite. Tiga hal tersebut direpresentasikan dengan MVC yaitu model untuk basis data, view untuk cara menampilkan halaman website dan controller untuk logika aplikasi.

Model
Merepresantiskan struktur data dari website yang bisa berupa basis data maupun data lain, misalnya dalam bentuk file teks atau file xml. Biasanya didalam model akan berisi class dan fungsi untuk mengambil, melakukan update dan menghapus data website. Karena sebuah website biasanya memnggunakan basis data dalam menyimpan data maka bagian Model biasanya akan berhubungan dengan perintah-perintah query SQL.
Model bisa dibilang khusus digunakan untuk melakukan koneksi ke basis data oleh karena itu logika-logika pemrograman yang berada didalam model juga harus yang berhubungan dengan basis data. Misalnya saja
pemilihan kondisi tetapi untuk memilih melakukan query yang mana.

View
Merupakan informasi yang ditampilkan kepada pengunjung website. Sebisa mungkin didalam View tidak berisi logika-logika kode tetapi hanya berisi variabel-variabel yang berisi data yang siap ditampilkan. View bisa dibilang adalah halaman website yang dibuat menggunakan HTML dengan bantuan CSS atau JavaScript.
Di dalam view jangan pernah ada kode untuk melakukan koneksi ke basis data. View hanya dikhususkan untuk menampilkan data-data hasil dari model dan controller.

Controller
Controller merupakan penghubung antara Model dan View. Didalam Controller inilah terdapat class dan fungsi-fungsi yang memproses permintaan dari View kedalam struktur data didalam Model.
Controller juga tidak boleh berisi kode untuk mengakses basis data. Tugas controller adalah menyediakan berbagai variabel yang akan ditampilkan di view, memanggil model untuk melakukan akses ke basis data, menyediakan penanganan error, mengerjakan proses logika dari aplikasi serta melakukan validasi atau cek terhadap input.

Submit Website to Search Engines - Add URL

Mengenal PHP Framework: CodeIgniter

CodeIgniter adalah salah satu dari sekian banyak framework PHP yang kini mulai banyak digunakan dalam mengambangkan aplikasi berbasis web.
Sebelum melangkah lebih lanjut, ada baiknya kita mengenal dulu apa yang disebut dengan "Framework"??? Jawaban dari pertanyaan tersebut akan sangat membantu pemahaman kita dalam belajar CodeIgniter. Ilustrasi berikut mungkin membantu Anda memahami tentang Framework.

Seorang teman saya bernama Komeng, saat kuliah dulu dia adalah seorang programer freelance. Dia sering mendapatkan proyek-proyek pembuatan sistem informasi berbasis web.
Awalnya dia mendesain sistem dan melakukan coding dari awal, sehingga cukup menguras energi, bahkan kuliah pun di-nomordua-kan. Singkat kata dalam waktu dua bulan dia berhasil menyelesaikan proyek pertamanya. Honor pun diterimanya (kuliah makin malas... ha...ha...).

Satu bulan kemudian, datang lagi pesanan pembuatan website dengan fitur yang hampir sama dengan proyek pertama. Langsung saya dia menerima proyek itu dan mengerjakannya.

Dalam mengerjakan proyek yang kedua ini Komeng melihat kembali kode program yang proyek pertamanya, mengedit bagian yang perlu dan menggunakannya pada proyek yang kedua. Sehingga proyek yang kedua ini berhasil dia selesaikan dalam waktu satu bulan.

Saat mengerjakan proyek kedua, Komeng menyadari bahwa ada bagian program yang harus selalu ada untuk digunakan, misalnya kode untuk koneksi ke database, mengirim email, mengatur pagination untuk tampilan data, dll. Sehingga Komen mengumpulkan dan membuat koleksi kode-kode yang dia perlukan sehingga sewaktu-waktu dapat dia gunakan. Dengan begitu dapat menghemat energi dan waktu dalam mengerjakan sebuah website.

Apa yang dilakukan Komeng adalah cikal bakal dari Framework....

Framework dapat disimpulkan sebagai sebuah kumpulan atau koleksi kode-kode program yang memiliki fungsi spesifik, yang terintegrasi dan diorganisasikan sedemikian rupa sehingga dapat digunakan untuk membantu membuat sebuah program aplikasi utuh secara fleksibel dengam memanfaatkan kode-kode yang sudah ada tanpa membuat dari awal.

CodeIgniter
CodeIgniter merupakan salah satu dari sekian banyak framework PHP yang ada. CodeIgniter dikembangkan oleh Rick Ellis (http://www.ellislab.com).

Tujuan dari pembuatan framework CodeIgniter ini menurut user manualnya adalah untuk menghasilkan framework yang akan dapat digunakan untuk pengembangan proyek pembuatan website secara lebih cepat dibandingkan dengan pembuatan website dengan cara koding secara manual, dengan menyediakan banyak sekali pustaka yang dibutuhkan dalam pembuatan website, dengan antarmuka yang sederhana dan struktur logika untuk mengakses pustaka yang dibutuhkan. CodeIgniter membiarkan kita untuk memfokuskan diri pada pembuatan website dengan meminimalkan pembuatan kode untuk berbagai tujuan pembuatan website.

Kenapa CodeIgniter?

Ada banyak sekali framework PHP yang beredar di internet. Lantas kenapa kita memilih CodeIgniter bukan yang lain?? Berikut alasan-alasannya:
  1. Gratis
    CodeIgniter dilisensikan dibawah lisensi Apache/BSD style open source license, ini berarti kita dapat menggunakannya sesuai dengan keinginan kita.
  2. Berjalan di PHP versi 4 dan 5
    Sekarang ini PHP sudah mencapai versi ke 5, meskipun begitu masih banyak orang yang tetap menggunakan PHP versi 4, oleh sebab itu CodeIgniter dikembangkan agar tetap kompatibel dengan PHP versi 4 dan dapat dijalankan pada PGP versi 5.
  3. Ringan dan cepat
    Secara default CodeIgniter hanya berjalan dengan me-load beberapa pustaka saja, dengan demikian hanya membutuhkan resource yang sedikit sehingga ringan dan cepat dijalankan. Pustaka-pustaka lain yang nantinya akan digunakan bisa di load sesuai dengan kebutuhan.
  4. Menggunakan MVC
    CodeIgniter menggunakan lingkungan pengembangan dengan metode Model View Controller (MVC) yang membedakan antara logika dan presentasi/tampilan, sehingga tugas bisa lebih mudah dipecah-pecah. Ada bagian yang khusus membuat tampilan dan bagian yang membuat core programnya.
  5. Dokumentasi
    Salah satu hal yang bisa dijadikan barometer apakah sebuah aplikasi benar-benar dikembangkan atau tidak bisa dilihat dari dokumentasinya. Dalam hal ini CodeIgniter sangat luar biasa, terdapat dokumentasi yang sangat lengkap tentang semua hal yang ada dalam CodeIgniter. Mulai dari langkah instalasi sampai dokumentasi fungsi-fungsi nya tersedia. Adanya dokumentasi sangat memudahkan bagi pemula dalam mempelajari lingkungan pengembangan website dengan CodeIgniter.
  6. Pustaka yang lengkap
    CodeIgniter dilengkapi dengan berbagai pustaka siap pakai untuk berbagai kebutuhan, misalnya saja koneksi database, email, session dan cookies, keamanan, manipulasi gambar dan banyak lagi.
 Fitur-Fitur CodeIgniter
  1. Sistem berbasis Model View Controller (MVC)
  2. Kompatibel dengan PHP versi 4
  3. Ringan dan Cepat
  4. Terdapat dukungan untuk berbagai basis data
  5. Mendukung Active Record Database
  6. Mendukung form dan validasi data masukan
  7. Keamanan dan XSS filtering
  8. Tersedia pengaturan session
  9. Tersedia class untuk mengirim email
  10. Tersedia class untuk manipulasi gambar (cropping,resizing, rotate dan lain-lain) 
  11. Tersedia class untuk upload file
  12. Tersedia class yang mendukung transfer via FTP
  13. Mendukung lokalisasi bahasa
  14. Tersedia class untuk melakukan pagination (membuat tampilan perhalaman)
  15. Mendukung enkripsi data
  16. Mendukung benchmarking
  17. Mendukung caching
  18. Pencatatan error yang terjadi
  19. Tersedia class untuk membuat calendar
  20. Tersedia class untuk mengetahui user agent, misalnya tipe browser dan sistem operasi yang digunakan pengunjung
  21. Tersedia class untuk pembuatan template website
  22. Tersedia class untuk membuat trackback
  23. Tersedia pustaka untuk bekerja dengan XMP-RPC
  24. Menghasilkan clean URL
  25. URI routing yang felksibel
  26. Mendukung hooks, ekstensi class dan plugin
  27. Memiliki helper yang sangat banyak jumlahnya

Submit Website to Search Engines - Add URL