Alhamdulillah, It Works!!!

Alhamdulillah, hanya itu yang ada di benakku. Senin, 27 September 2010.

Akhirnya saya bisa melewati tahap sidang Proyek Akhir saya dengan lancar, dengan penguji Ibu Retno Novi Dayawati dan Ibu Niken Dwi Cahyani, setelah penantian dan perjuangan pra lebaran & pasca lebaran. Dan mendapatkan nilai yang bisa dibilang memuaskan dan revisi yang tidak terlalu banyak :).

Selamat Arif, anda lulus dengan nilai A, dengan syarat harus menyelesaikan beberapa revisi, … kata pembimbingku Ibu Hetti Hidayati.

Ternyata seperti ini rasanya setelah sidang, saya sempat berpikir saya tidak mampu menyelesaikan program dengan baik dengan menerapkan konsep dan analisis yang sudah saya tulis di buku :mrgreen:.

Revalina, revalina, revalina, yah itulah yang selalu ada di benakku selama bulan Ramadhan dan Syawal. Setelah menemui beberapa masalah, termasuk request untuk penundaan sidang, karena programnya masih ada yang error, terima kasih sekali ibu :).

Revalina (RSS Based, Collaborative Authoring and Personal Learning Environments), merupakan nama final project saya untuk memenuhi syarat kelulusan dari program studi D3 Informatika IT Telkom, dengan judul asli Implementasi E-Learning dengan Pendekatan Personal Learning Environments pada Pembelajaran Framework PHP CodeIgniter”.

Di revalina ini, saya membuat mini lms yang menerapkan pendekatan PLE, bukan lms yang menerapkan pendekatan VLE seperti Moodle, Dokeos, Sakai, dll.

Continue reading

Advertisements

Bagaimana CodeIgniter Bekerja?

Bagaimana sih CI sebenarnya???

Ketika sebuah page di request, maka request tersebut akan dihandle oleh file “index.php” yang berada di root folder Codeigniter. Pada file tersebut akan disetting semua config environment dari codeigniter. Setelah itu akan dipanggil file “system/codeigniter/CodeIgniter.php”. File CodeIgniter.php disini bertindak sebagai front controller dari framework ini. Pada file ini class Config, Router, Input, URL dan hook di instant. Setelah me-load semua libary tadi maka barulah fitur HOOKING (pre_system), CACHING pada codeigniter dijalankan.

Setelah itu Codeigniter.php akan memanggil file “system/codeigniter/Base4.php” atau “system/codeigniter/Base5.php”, tergantung versi PHP yang digunakan. Base4/5.php ini digunakan untuk membuat pattern singleton yang berarti hanya satu instant yang dapat dibuat. karena setiap public methodnya akan dipanggil &get_instance function. Object tersebutlah yang menjadi object induk dari framework ini.

Setelah Base4/5 dipanggil barulah router beraksi dengan memanggil default controller atau controller yang diminta. Lalu di lakukan pengecekan sekuriti, jika sukses maka HOOKING pre_controller akan dilakukan. Setelah itu barulah object $CI terbentuk.

$CI = new $class();

Continue reading

Ignite Your Code!!!

CodeIgniter

Code Igniter (biasa disingkat CI) adalah Framework PHP ..

http://codeigniter.com

CI adalah peralatan bagi orang yang membuat web berbasis PHP. Tujuannya untuk memudahkan anda dengan menyediakan banyak library / fungsi untuk berbagai macam tugas, termasuk akses untuk ke library itu sendiri.

Code Igniter is Free ..

CodeIgniter is licensed under an Apache/BSD-style open source license so you can use it however you please. For more information please read the license agreement.

Code Igniter bisa jalan di PHP 4

Secara default, CI berjalan di PHP 5, tapi dengan mudah dapat anda jalankan di PHP 4

Code Igniter itu enteng ..

Truly light weight. The core system requires only a few very small libraries. This is in stark contrast to many frameworks that require significantly more resources. Additional libraries are loaded dynamically upon request, based on your needs for a given process, so the base system is very lean and quite fast.

Code Igniter itu cepat ..

Really fast. We challenge you to find a framework that has better performance than CodeIgniter.

Menggunakan M-V-C

CI menggunakan pendekatan Mode-View-Controller, memudahkan anda memisahkan antara logic dan presentation.

* The Model menggambarkan struktur data. Biasanya model akan berisi fungsi yang berhubungan dengan database.
* The View adalah informasi yang nanti akan ditampilkan ke pengguna. View biasanya adalah halaman web, tetapi dengan CI, view bisa sebagai ‘fragment’ seperti header / footer / RSS page / dll.
* The Controller adalah yang melakukan logic dan menggabungkan antara View dan Model.

Menghasilkan Permalink / Clean URL

The URLs generated by CodeIgniter are clean and search-engine friendly. Rather than using the standard “query string” approach to URLs that is synonymous with dynamic systems, CodeIgniter uses a segment-based approach:

example.com/news/article/345

Note: By default the index.php file is included in the URL but it can be removed using a simple .htaccess file.

Tidak memerlukan template-engine / template-language

Tidak diperlukan template-engine, tetapi tetap disediakan library untuk template parser.

Dokumentasi yang baik.

FITUR

* Model-View-Controller Based System
* PHP 4 Compatible
* Extremely Light Weight
* Full Featured database classes with support for several platforms.
* Active Record Database Support
* Form and Data Validation
* Security and XSS Filtering
* Session Management
* Email Sending Class. Supports Attachments, HTML/Text email, multiple protocols (sendmail, SMTP, and Mail) and more.
* Image Manipulation Library (cropping, resizing, rotating, etc.). Supports GD, ImageMagick, and NetPBM
* File Uploading Class
* FTP Class
* Localization
* Pagination
* Data Encryption
* Benchmarking
* Full Page Caching
* Error Logging
* Application Profiling
* Scaffolding
* Calendaring Class
* User Agent Class
* Zip Encoding Class
* Template Engine Class
* Trackback Class
* XML-RPC Library
* Unit Testing Class
* Search-engine Friendly URLs
* Flexible URI Routing
* Support for Hooks, Class Extensions, and Plugins
* Large library of “helper” functions

Application Flow Chart


1. index.php adalah controller, mensetting resources yang dibutuhkan untuk menjalankan CI
2. Router mengecek HTTP request
3. Jika ada file cache, kirim langsung ke browser.
4. Security. Sebelum controller application di – load, HTTP request di filter untuk security.
5. Controller load model, library, plugins, helpers dll yang dibutuhkan sesuai permintaan.
6. View di render kemudian dikirim ke web browser.
7. Jika cache enabled, view di cached dulu.

Continue reading

PHP Frameworks

Sedang geje ngutek2 framework buat coding php, hehehe. Pusing :p, tapi harus dipelajari :mrgreen:. Ada banyak macemnya. Bisa dilihat di sini.

Kenapa pakai Framework?

  • Mempercepat dan mempermudah pembangunan sebuah aplikasi PHP.
  • Relatif memudahkan dalam proses maintenance karena sudah ada pola tertentu dalam sebuah framework (dengan syarat programmer mengikuti pola standar yang ada).
  • Umumnya framework menyediakan fasilitas-fasilitas yang umum dipakai sehingga kita tidak perlu membangun dari awal (misalnya validasi, ORM, pagination, multiple database, scaffolding, pengaturan session, error handling, dll).
  • Lebih bebas dalam pengembangan jika dibandingkan CMS.

MVC Pattern

MVC (Model View Controller) merupakan suatu metode untuk memisahkan pengedali logika dan pengendali tampilan.

Terdiri dari :

  • Model : mengandung fungsi-fungsi untuk berkomunikasi dengan database
  • View : Berurusan dengan tampilan yang terlihat user
  • Controller : Proses logika, pemeriksaan input, relasi view dan model, dan pengaturan hal-hal yang dilakukan diatur di sini

Framework dengan konsep MVC

  • CodeIgniter
  • CakePHP
  • Akelos
  • Zend
  • Symfony
  • Prado
  • Yii
  • Kohana
  • dll…

Kebanyakan orang pasti bertanya, mana yg lebih enak frameworknya? jawabannya : ga tau :p, karena tergantung kebiasaan programmernya gmn ngodingnya :D. Spesifikasi dari masing-masing framework juga udah ada di sini.

Continue reading