Kamis, 13 Agustus 2009

Membandingkan PHP Framework

Membandingkan PHP Framework saat ini menjadi kebutuhan dalam membangun sebuah aplikasi berbasis PHP. banyak orang bertanya mengnai kelebihan 1 framework dengan framework lain. CodeIgniter vs CakePHP, CodeIgniter vs Zend, CodeIgniter Vs Symfony, dan lain-lain.

Mengapa 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
  • CodeIginter
  • CakePHP
  • Akelos
  • Zend
  • Symfony
  • Prado
  • Yii
  • Kohana
  • dll...
CodeIgniter
Kelebihan
  • Mudah digunakan dan tidak memerlukan konfigurasi yang rumit
  • Fungsi-fungsi pendukung yang cukup lengkap
  • Mendkung PHP4 dan PHP5
  • Mungkin merupakan Framework MVC paling populer dan paling banyak digunakan
  • Dokumentasi yang sangat bagu, friendly dan didukung oleh forum, wiki, dan komunitas yang besar
Kekurangan
  • Tidak mendukung AJAX, dan ORM
  • Meyediakan dan memisahan file-file dalam MVC pattern, tapi masih memberikan kebebasan user untuk melanggar aturan MVC
CakePHP
Kelebihan
  • Dukungan terhadap AJAX, ORM
  • Automagic function seperti validasi input, dll, yang mempercepat coding
  • Support PHP4 dan PHP5
  • Lebih mencerminkan MVC yang sesungguhnya dibandingkan CI
  • Komunitas pengguna yang besar dan forum cukup baik
Kekurangan
  • Manual yang ada tidak selengkap CI.
  • Butuh waktu belajar yang lebih lama untuk menguasai framework ini dibanding CI. Tapi jika sudah benar-benar mengerti, banyak kelebihan dibanding CI. Beberapa situs menyarankan anda untuk belajar dan terbiasa dulu dengan CodeIgniter baru kemudian mempelajari CakePHP
  • (http://www.zenperfect.com/2007/07/15/faceoff-codeigniter-vs-cakephp/)

Symfony
Kelebihan
  • Dukungan terhadap AJAX, ORM
  • Kompatibel dengan berbagai macam database
  • Banyak library dan fungsi symfony yang sudah tersedia. Bahkan hampir mendekati CMS. Sehingga ada yang mengatakan ”Symphony is a CMS with a heart of a framework.” ini menjadi kelebihan sekaligus kekurangan.
Kekurangan
  • Tidak mendukung PHP4
  • Relatif butuh waktu lama untuk mengerti framework ini
  • Instalasi dan konfigurasinya cukup rumit

Zend
Kelebihan
  • Dukungan terhadap AJAX, ORM
  • Berdasarkan informasi dari situs resminya, disebutkan bahwa fokus dari Zend Framework ini adalah untuk membangun aplikasi berbasis Web dan untuk memudahkan dalam mengakses API dari berbagai vendor seperti Google, Amazon, Yahoo!, dan Flickr
Kekurangan
  • Tidak mendukung PHP4
  • Manual yang ada kurang mengakomodasi kebutuhan
  • Performanya relatif lambat (mungkin karena banyaknya library)
  • Konon katanya Framework ini hanya cocok untuk orang dengan skill PHP yang sudah sangat tinggi.

Akelos
Merupakan Framework yang relatif baru dengan kemampuan yang handal dan lengkap

Kelebihan
  • Dukungan terhadap PHP4, PHP5, AJAX, ORM (cukup lengkap dan cukup mengakomodasi semua kebutuhan yang umum dari aplikasi php)

Kekurangan
Tabel Perbandingan PHP Framework
(http://www.phpframeworks.com/)

Kesimpulan
  • Ternyata dokumentasi dan manual merupakan salah satu kunci sukses CodeIgniter. Padahal Framework lain memiliki banyak keungulan. Produk yang hebat tanpa didukung dokumentasi yang bagus ternyata tetap kalah dibanding produk yang biasa-biasa saja
  • Faktor lain yang membuat CodeIgniter unggul adalah dukungan forum yang friendly, dan hampir setiap pertanyaan, walaupun yang sepele dijawab. Orang-orang tau kemana harus pergi ketika menemukan kesulitan. Produk yang bagus membuat client tertarik untuk membelinya. Tapi support dan servis yang bagus akan mempertahankan client yang sudah ada"
  • Jika dikaitkan dengan sebuah tim? ” Tim yang berisi orang-orang pintar berpotensi untuk jadi tim yang hebat. Tapi hanya akan jadi tim yang benar-benar hebat jika antar anggota tim bisa saling support.

Akhung Berithel Ina
Software Developer
(PT Traspac Makmur Sejahtera)


Read More ..

Kalo ada yang gratis, ngapain bajak?

Alternatif Windows Software di Linux

Kalo sudah urusan bajak membajak software, kayaknya sudah jadi dosa bersama. ^^. Dari yang ngaku rohani sampe yang sekuler, ternyata sama aja banyak pakai software bajakan. Ada yang alasannya sih kayaknya klasik dan masuk akal. “Ga cukup uang buat beli yang asli”. Apa ya bedanya alasan itu dengan kalo ada maling ketangkap maling, terus alasannya, ga ada uang untuk biayai anak sakit. Sama aja kayaknya.
Yah, aku pun masih banyak menggunakan software bajakan. Tapi sekarang sudah lumayan berkurang juga.. hehe. Nih. Mau sedikit berbagi ilmu tentang software-software alternatif. Supaya kita bisa sama-sama belajar untuk menghindari pembajakan. Di sini tidak akan dibahas secara mendalam. Mungkin dalamtulisan-tulisan berikutnya, aku akan coba bagikan secara lebih mendalam.

Yang Perlu di Ingat

  1. Namanya software gratis, kita jangan menuntut software itu setara dengan software berbayar. Percayalah bahwa vendor pembuat sofware gratispun berusaha sebisa mungkin untuk menyamai software yang bayar. Tapi ingat juga kalo software yang bayar mana mungkin mau kalah secara kemampuan sama software gratis? Jadi memang posisinya software gratis akan selalu ada di belakang mengejar software yang bayar.

  2. Kalau mau cepat bisa menguasai, jangan terus-menerus mengingat-ingat kelebihan software yang sudah biasa kita akai. Akhirnya akan membawa kita kembali pake bajakan lagi. Hehe. Anggaplah kamu berada di tempat dimana software yang biasanya kamu pakai sudah tidak ada lagi dan satu-satunya jalan untuk pekerjaan bisa selesai adalah anda harus menggunakan software gratis di depan anda. Walaupun dengan fasilitas yang kurang lengkap.

  3. Namanya gratis, emang harus berusaha lebih keras. Kalo memang punya uang, ya beli aja yang bayar. Supaya aman.

  4. Ketika anda dulu belajar komputer, pasti anda banyak bingungnya. Demikian juga ketika anda belajar operating system yang baru seperti linux, pasti anda banyak bingungnya juga. Tapi semua akan jadi lancar ketika anda telah terbiasa. Yang pasti, ingat catatan nomer 2. itu penting banget.

Kali ini saya hanya akan membahas tentang operating system yang cocok sebagai alternatif. Nantikan tulisan-tulisan berikutnya untuk mengetahui software alternatif untuk aplikasi Office, Multimedia, Image Editing, Masenger, dan lain-lain.

Sistem Operasi : Linux-Ubuntu

Kalau masalah sistem operasi yang gratis dan handal, Linux tentu menjadi pilihan utama. Tapi Linux memiliki banyak sekali varian dengan kelebihan dan kekurangannya masing-masing. Varian Linux yang cukup terkenal antara lain Red Hat, Fedora, Suse, Ubuntu, dan lain-lain. Tapi saya pribadi lebih menyarankan ubuntu, karena kesederhanaan ubuntu dan sangat mudah untuk dipelajari untuk pemula. Bahkan konon perusahaaan sekelas Google pun menggunakan Ubuntu di kantornya. Ubuntu berasal dari bahasa kuno Afrika yang berarti “rasa perikemanusiaan terhadap sesama manusia”.

Kelebihan Ubuntu

  • Kompatibilitas. Ubuntu kompatibel dengan hampir semua hardware terbaru.

  • Kemudahan dalam instalasi. 1 CD ubuntu sudah mewakili hampir semua kebutuhan anda, termasuk Office application, Music player, Driver untuk hardware anda, dan lain. Bandingkan dengan windows yang ana harus menginstal operating system, microsoft office, dan program-program lain secara terpisah dan memakan waktu.

  • Kemudahan Migrasi. Banyak software alternatif yang bisa bekerja dengan baik pada ubuntu. Anda bisa mengunjungi https://help.ubuntu.com/community/SwitchingToUbuntu untuk mengetahui petunjuk melakukan migrasi dan berbagai software padanan windows di sini.

  • Dukungan komunitas yang kuat. Komunitas ubuntu bisa dibilang cukup besar, juga di Indonesia. Jadi jangan kuatir mengenai tempat untuk bertanya ketika anda mengalami kesulitan. Minimal tanya aja ke saya ^^.

  • Aman dari serangan Virus. Ini merupakan salah satu kelebihan OS non Windows. Anda tidak perlu kuatir data anda tiba-tiba hilang, atau berubah. Anda tidak perlu mengeluarkan biaya lebih untuk membeli antivirus (kalau tidak pake yang gratis or bajak ^^). Ada perasaan aman ketika menyimpan data anda di komputer.

  • Mudah diperoleh. Anda cukup mendownload secara grats di website resminya (http://www.ubuntu.com/), Atau anda bisa juga memesan dari berbagai distributor Linux di Indonesia

  • Interface 3D yang Bagus. Anda pernah melihat tampilan animasi dari Vista Aero yang bagus itu? Ternyata itu belum ada apa-apanya dibanding tampilan 3D ubuntu. Ga percaya? Anda bisa lihat di http://www.youtube.com/watch?v=xC5uEe5OzNQ


Sekian dulu sekilas artikel tentang alternatif software pengganti windows. Tunggu tulisan-tulisan berikutnya akan membahas perbandingan software-software yang ada. Bagi teman-teman yang punya info, boleh dibagikan lewat comment ya.. thanks


Read More ..

Minggu, 09 Agustus 2009

Membandingkan PHP Framework

Membandingkan PHP Framework saat ini menjadi kebutuhan dalam membangun sebuah aplikasi berbasis PHP. banyak orang bertanya mengnai kelebihan 1 framework dengan framework lain. CodeIgniter vs CakePHP, CodeIgniter vs Zend, CodeIgniter Vs Symfony, dan lain-lain.
Mengapa 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
  • CodeIginter
  • CakePHP
  • Akelos
  • Zend
  • Symfony
  • Prado
  • Yii
  • Kohana
  • dll...
CodeIgniter
Kelebihan
  • Mudah digunakan dan tidak memerlukan konfigurasi yang rumit
  • Fungsi-fungsi pendukung yang cukup lengkap
  • Mendkung PHP4 dan PHP5
  • Mungkin merupakan Framework MVC paling populer dan paling banyak digunakan
  • Dokumentasi yang sangat bagu, friendly dan didukung oleh forum, wiki, dan komunitas yang besar
Kekurangan
  • Tidak mendukung AJAX, dan ORM
  • Meyediakan dan memisahan file-file dalam MVC pattern, tapi masih memberikan kebebasan user untuk melanggar aturan MVC
CakePHP
Kelebihan
  • Dukungan terhadap AJAX, ORM
  • Automagic function seperti validasi input, dll, yang mempercepat coding
  • Support PHP4 dan PHP5
  • Lebih mencerminkan MVC yang sesungguhnya dibandingkan CI
  • Komunitas pengguna yang besar dan forum cukup baik
Kekurangan
  • Manual yang ada tidak selengkap CI.
  • Butuh waktu belajar yang lebih lama untuk menguasai framework ini dibanding CI. Tapi jika sudah benar-benar mengerti, banyak kelebihan dibanding CI. Beberapa situs menyarankan anda untuk belajar dan terbiasa dulu dengan CodeIgniter baru kemudian mempelajari CakePHP
  • (http://www.zenperfect.com/2007/07/15/faceoff-codeigniter-vs-cakephp/)

Symfony
Kelebihan
  • Dukungan terhadap AJAX, ORM
  • Kompatibel dengan berbagai macam database
  • Banyak library dan fungsi symfony yang sudah tersedia. Bahkan hampir mendekati CMS. Sehingga ada yang mengatakan ”Symphony is a CMS with a heart of a framework.” ini menjadi kelebihan sekaligus kekurangan.
Kekurangan
  • Tidak mendukung PHP4
  • Relatif butuh waktu lama untuk mengerti framework ini
  • Instalasi dan konfigurasinya cukup rumit

Zend
Kelebihan
  • Dukungan terhadap AJAX, ORM
  • Berdasarkan informasi dari situs resminya, disebutkan bahwa fokus dari Zend Framework ini adalah untuk membangun aplikasi berbasis Web dan untuk memudahkan dalam mengakses API dari berbagai vendor seperti Google, Amazon, Yahoo!, dan Flickr
Kekurangan
  • Tidak mendukung PHP4
  • Manual yang ada kurang mengakomodasi kebutuhan
  • Performanya relatif lambat (mungkin karena banyaknya library)
  • Konon katanya Framework ini hanya cocok untuk orang dengan skill PHP yang sudah sangat tinggi.

Akelos
Merupakan Framework yang relatif baru dengan kemampuan yang handal dan lengkap

Kelebihan
  • Dukungan terhadap PHP4, PHP5, AJAX, ORM (cukup lengkap dan cukup mengakomodasi semua kebutuhan yang umum dari aplikasi php)

Kekurangan
Tabel Perbandingan PHP Framework
(http://www.phpframeworks.com/)
Kesimpulan
  • Ternyata dokumentasi dan manual merupakan salah satu kunci sukses CodeIgniter. Padahal Framework lain memiliki banyak keungulan. Produk yang hebat tanpa didukung dokumentasi yang bagus ternyata tetap kalah dibanding produk yang biasa-biasa saja
  • Faktor lain yang membuat CodeIgniter unggul adalah dukungan forum yang friendly, dan hampir setiap pertanyaan, walaupun yang sepele dijawab. Orang-orang tau kemana harus pergi ketika menemukan kesulitan. Produk yang bagus membuat client tertarik untuk membelinya. Tapi support dan servis yang bagus akan mempertahankan client yang sudah ada"
  • Jika dikaitkan dengan sebuah tim? ” Tim yang berisi orang-orang pintar berpotensi untuk jadi tim yang hebat. Tapi hanya akan jadi tim yang benar-benar hebat jika antar anggota tim bisa saling support.

Akhung Berithel Ina
Software Developer

Read More ..