Archive for April, 2009

Ubuntu 9.04 Jaunty Jackalope

Hmmm sebenarnya hari ini lagi malas nulis-nulis sesuatu… Badan ini rasanya malas banget, pikiran lagi ruwet banget… seperti ada yang muter-muter di dalam kepala, mungkin gwa lagi ngidam kali ya ( halah ! )

Yah intinya hari ini rasanya madesu (masa depan suram) sekali… mungkin kata populernya lagi melan mungkin ya… Pokoknya hari ini bawaannya malas banget dan merasa gimana gitu… yah mungkin besok lebih baik lagi deh rasanya…

Nah makanya untuk menghilangkan rasa madesu ini, iseng-iseng pengen review sedikit tentang linux versi terbaru ( tadi sih sempat mikir lebih baik main dota daripada review ubuntu 9.04). Tapi ternyata Tuhan masih beritikat baik untuk mengembalikan gwa ke jalan yang benar….

Ya sudah, daripada ntar malah jadi ajang curhat lebih baik gwa mulai reviewnya… Jadi sekarang gwa bakal review tentang ubuntu 9.04 ( FYI gwa sudah makai ubuntu itu sejak ubuntu versi 8.04 ) jadi sebenarnya gwa blum punya kapabilitas buat nulis review tentang ubuntu sih… ( tapi daripada gwa melan2 ga jelas bagusan gwa nulis sesuatu yang berguna… hohoho jadi curhat lagi zzzz )

Jadi perjalanan gwa untuk mencoba Ubuntu 9.04 ini dimulai dengan nongkrongin channel #ubuntu-release di server irc.freenode.net pada tanggal 24 April kemarin… Ternyata pada saat gwa masuk ( sekitar jam 11 siang WIB ) channel itu sudah dipenuhi oleh kurang lebih 300 orang ( tapi yang berisik tanya2 kapan keluarnya sih paling cuman 20 orang )… Jadi banyak insiden yang terjadi di channel #ubuntu-release… dimulai dari ribut-ribut sama bot IRC… ribut sama OP di channel… sampai ada yang posting-posting link downloadnya ( padahal di websitenya blum ada linknya ) tapi pas gwa coba itu link bisa jalan… tapi malas sih download dari international ( bagusan dari server lokal yaitu dari kambing UI )

Setelah menunggu berjam-jam akhirnya ubuntu 9.04 resmi keluar sekitar jam 6 sore WIB tanggal 24 april… Tapi tetep aja gwa ga download saat itu juga ( maklum internet kos2an cuma 20kb/s )… Jadi gwa cuma nunggu selama lebih dari 5 jam cuma buat melihat para bule2 di channel #ubuntu-release ngomong “I am proud to give you Ubuntu 9.04″ bener2 wasting time bener ( tapi menarik sih, lucu2 gimana gitu… hohoho makin malam makin ga jelas… ya udah BTT )..

Intinya gwa mendownload Ubuntu 9.04 itu malamnya dari server UI ( kambing.ui.edu ) server lokal bro… kira-kira jam 8an gitu… pertama-tama sempet ragu jangan2 yang gwa download itu RC version… alias release candidate yang masih banyak bug… tapi pas dicek-cek lagi ternyata bener… jadi mulai dah download dari server lokal ( kalo lokal dapat 40kb/s ) lumayan la…

Trus tinggal tidur… besok baru mulai deh install Ubuntu 9.04… dimulai dari burn ISO ke dalam CD… trus restart PC… trus ganti Boot Sequence… masukin cd… trus install deh…

Sedikit banyak menu install Ubuntu 9.04 ini tidak berubah dari Ubuntu 8.04 tapi dalam langkah-langkah penginstallan banyak yang berubah.. mulai dari interface pemilihan zona waktu dan pemilihan jenis keyboard… Intinya design yang sekarang lebih yahud dah dari yang sebelumnya…

Setelah next-next dan yes yes ( install linux sekarang tinggal next-next dan yes yes ) akhirnya berhasil install ubuntu 9.04 di komputer… mulai deh restart komputer… pas pertama restart komputer ternyata muncul error message soal GRUB error ( Grub itu buat atur dual booting di linux )…

Ternyata problemnya karena gwa install ubuntunya di hard disk kedua dan dia install Grub itu di hard disk pertama… jadi gwa musti ganti boot sequence ke hard disk yang pertama… trus jalan deh… Abis itu muncul deh loading screen ubuntu 9.04 yang baru ( keren cuy yang baru… ga sih biasa aja :P )

Beberapa hal yang berubah jadi keren di ubuntu 9.04 adalah :

  • Loading Screen
  • Login Screen
  • Fitur pidginnya mirip yahoo messenger di Mac, bisa muncul online message di kiri atas layar ( keren deh pokoknya windows punya lewat..

Yah beberapa yang keren sih itu aja secara dari segi interface mirip2 dengan Ubuntu 8.04… neh gwa kasih screenshot… itu fitur yang gwa bilang keren… liat kanan atas gambar…

Pidgin

Hohoho jadi bagi para jawara2 windows yang pengen coba-coba ubuntu silakan saja… menurut gwa ubuntu adalah linux yang paling user friendly sekarang dan paling ringan ( dibanding install suse 4 dvd ) wakakakaka atau pakai slackware… beh bisa botak…

Hidup open source !~~! 5 star buat ubuntu deh ( hohoho semua review gwa kasih 5 star, ga pernah kurang ) + brb utak atik ubuntu lagi…

Review CakePHP

Setelah sekian lama ga update blog, akhirnya update blog lagi deh… Untuk kali ini ga bakalan cerita-cerita yang aneh-aneh ataupun yang lucu-lucu… soalnya emang lagi ga ada kejadian yang benar-benar “klik” yang bisa diceritakan ( beberapa hari ini semua terasa semu hix ).

Jadi kali ini gwa akan melakukan review terhadap framework PHP yang sudah gwa pelajari kurang lebih 5 bulan lamanya yaitu CakePHP. Selama 5 bulan ini gwa lewati dengan mempelajari CakePHP, dari baca ebook, nonton video tutorial sampai tanya-tanya sama orang-orang di channel #cakephp di irc.freenode.net.

Dalam waktu 5 bulan ini sudah banyak yang gwa pelajari dari CakePHP, tapi tetep masih lebih banyak lagi yang harus dipelajari dari CakePHP… Jadi intinya gwa bakal sharing apa yang sudah gwa dapatkan setelah lebih kurang 5 bulan mempelajari CakePHP ( FYI, gwa belom pernah pakai framework lain selain CakePHP ).

Salah satu hal yang gwa dapatkan dari mempelajari CakePHP adalah mengerti arsitektur MVC ( Model View Controller ). Untuk yang pengen tahu lebih banyak tentang MVC dapat dibaca di http://en.wikipedia.org/wiki/Model-view-controller.

Tapi gwa coba rangkum beberapa hal yang gwa mengerti tentang MVC, dalam pemprograman MVC seluruh program dibagi menjadi 3 bagian utama yaitu Model ( berhubungan dengan database ), Controller ( berhubungan dengan logic ), View ( berhubungan dengan tampilan program). Jadi jika pada pemprograman procedural atau pemprograman barbar kita bagi dalam function-function, maka pada MVC kita harus membaginya menjadi 3 bagian besar.

Jika kita ingin melakukan query,validasi, edit data kita masukkan ke dalam Model. Kalau kita ingin mengatur aliran data maka kita memasukkannya ke dalam Controller, dan yang terakhir kali jika kita ingin mengatur tampilan dari program kita ( designnya ) maka kita atur di View. 3 hal tersebut saling berhubungan dan mempunyai peran masing-masing.

Selain MVC tentu saja gwa banyak mempelajari penggunaan dari CakePHP itu sendiri. Penggunaan Helper-helper seperti AJAX, Session, Javascript, dan HTML. Jadi CakePHP secara default sudah menyediakan beberapa helper. Helper itu sendiri adalah sebuah class yang dapat digunakan untuk membantu kita dalam membuat aplikasi sesuai dengan helper yang kita gunakan. Jadi jika kita ingin membuat sebuah website yang menggunakan AJAX, kita dapat menggunakan AJAX helper yang dapat meringankan tugas kita dalam membuat aplikasi AJAX itu. Sama halnya jika kita ingin membuat session maka kita dapat menggunakan session helper untuk membantu kita mengatur session di CakePHP.

Selain helper dikenal juga istilah element di dalam CakePHP. Element disini bukan berarti elemen air, elemen api, elemen tanah. Element di dalam CakePHP itu lebih dapat diartikan sebagai view yang reuseable. Jadi misalnya kita mempunyai sebuah form dan kita ingin membuat form tersebut di 2 view yang berbeda maka kita dapat menggunakan element. Jadi kita tidak perlu membuat ulang kembali form tersebut di 2 view yang berbeda, cukup buat sebuah element dan panggil element tersebut di 2 view itu.

Paging dengan element

Paging dengan element

Dan satu hal lagi yang harus diperhatikan dalam merancang sebuah aplikasi dengan menggunakan konsep MVC adalah Model sebaiknya lebih memiliki banyak method dibandingkan controller. Hal itu dikarenakan konsep dari OOP itu sendiri yaitu ‘reuseable’.

Jadi gwa bisa menyimpulkan selama 5 bulan apa saja keuntungan yang didapatkan dari mempelajari CakePHP

  • Mengerti konsep MVC.
  • Waktu untuk mendevelop program menjadi lebih cepat.
  • Source code menjadi lebih terstruktur.
  • Kemampuan berbahasa inggris meningkat ( banyak baca cookbook + tanya2 pakai bahasa inggris wakaka.

Walaupun gwa tidak menampik adanya kerugian-kerugian yang didapatkan dari mempelajari CakePHP, ini beberapa kerugian tersebut :

  • Harus belajar kembali karena dengan menggunakan framework tentu saja kita harus mempelajari API yang sudah tersedia.
  • Aplikasi jadi lebih lemot.
  • Jadi makin malas karena sudah dimanjakan dengan fitur-fitur walaupun tidak semalas karena menggunakan CMS
  • Makin lupa syntax2 PHP yang dasar karena keseringan menggunakan syntax CakePHP

Tapi walaupun begitu semua kekurangan itu tertutupi oleh kelebihan-kelebihan yang didapatkan dari mempelajari CakePHP tersebut. Yah jelas, kalau banyak ruginya napaen gwa capek-capek belajar framework. Mungkin ada yang beranggapan kalau menggunakan framework itu sendiri dapat memperbodoh diri sendiri, dan gwa pun tidak menampik hal tersebut.

Tapi gwa menganalogikan mempelajari framework ini seperti sedang memasak mie goreng. Bedanya jika kita menggunakan framework maka kita menggunakan mie yang sudah dijual di pasaran tanpa kita tahu cara membuat mie tersebut. Sementara orang yang tidak menggunakan framework adalah orang yang membuat mienya sendiri.

Pertanyaannya adalah apakah mie goreng yang dibuat dengan mie jualan di pasar pasti lebih enak daripada mie yang dibuat sendiri ? bagaimana sebaliknya ? tentu saja jawabnya tergantung dari banyak faktor ( bisa kualitas mie, bisa kemampuan orang yang memasak ).

Sama halnya dalam menggunakan framework, seberapa bagusnya aplikasi kita bukan saja ditentukan dari framework apa yang kita gunakan, bukan juga ditentukan dari apakah kita menggunakan framework atau tidak. Tetapi juga ditentukan dari kemampuan orang tersebut, karena di mata client tetap saja yang dilihat itu adalah hasil jadinya, bukan codingannya ( kebanyakan client kan ga ngerti2 banget :P ). Jadi client mana mo tau itu mie hasil buat sendiri ato hasil beli di pasar, yang mereka tahu cuma “mie ini enak”, “mie ini ga enak”. Udah itu aja, simple sekali kan ?

Yah sebenarnya kalau mau didebatkan lagi sebenarnya banyak yang bisa didebatkan tapi intinya sekarang gwa malas nulis panjang-panjang dan juga tentu saja gwa mendukung semua orang untuk mempelajari framework. Kenapa ? karena sekarang persaingan sudah semakin ketat, kita sekarang membuat aplikasi semakin mudah dan semakin cepat. Ibarat kata pepatah “Siapa cepat dia dapat”. Sekarang itu ada di tangan anda, apakah anda ingin memakai mie yang dijual atau buat mie sendiri :P hohoho yang penting untuk sekarang 5 star buat CakePHP deh :)