Saturday, February 14, 2009

Kami Bukan Hebat - Tetapi Kami Terlatih

Siang itu saya sedang dalam perjalanan menuju daerah ciledug, menuju kampus biru budi luhur. Saat berada dalam jalan Tendean menuju arah blok M, saya terhenti ditengah kemacetan .. persis didepan saya adalah mobil kijang biru gelap. Kaca mobil belakang ini ada ada gambar stiker besar bergambar senapan yang terarah ke suatu sasaran, yang menarik stiker besar ini adalah tulisan besar di sampingnya
“ Kami Bukan Hebat Tetapi Kami Terlatih “
Hantaran kata-kata yang sangat dalam artinya.. dan kata-kata yang membentuk kalimat ini saya rasa berarti universal.. untuk semua aktifitas kehidupan manusia. Mungkin tak terasa makna kata inilah yang saya alami dari separuh lebih kehidupan yang saya lewati di dunia fana ini, saya bisa melakukan aktifitas sekarang yakni sebagai instruktur (guru) dan praktisi IT yang khusus dibidang pemrograman adalah karena terbiasa berlatih.
Dulu saya pertama kali mengajar ( belajar mengajar ) dari otodidak alias belajar sendiri, dengan mengamati, melihat gaya instruktur mengajar komputer di depan kelas terus langsung terjun mengajar .. alhasil maka siswa2 pertama saya jadi kelinci percobaan ' duh maaf yaaa '. Namun seiring waktu saya sudah menemukan ritme, irama dan nada bagaimana menyampaikan materi kepada siswa menjadi lebih fun dan tidak monoton alias membosankan.
Begitu pula didunia oprek-mengoprek program, dulu saya di kampus memang dapat mata kuliah komputer yang isinya belajar Fotran dan Pascal (Struktur Data). Namun sepertinya hasilnya adalah hanya sebuah logika berpikir pemrograman dan saya terus terang ngak bisa coding dengan Fotran atau Pascal, kalo dikasih nilai ya dapat minimal lulus aja. Waktu itu diakhir2 semester saya tekuni belajar Visual Basic, waktu itu versinya 3.0 dan dari situ saya mengenal bagaimana nikmatnya membuat program, terus saya belajar Java yang saya rasa sulit banget (learning curvenya tinggi) dan saya harus memidahkan paradigma berpikir saya yang procedural ala Visual Basic untuk migrasi ke pemrograman yang OOP ala Java. Hampir dua tahun saya berada dalam kubangan Java dan alhamdulillah akhirnya bisa keluar dengan selamat dan anehnya dengan mengerti konsep OOPnya Java dan eh malah tambah mengerti Visual Basic, ternyata belajar clik & drak dulu waktu pake GUI saya hanya ngikuti naluri dari buku2 yang saya pelajari tidak mengerti falsafah yang ada dibelakangnya, bahwa component2 yang ada di visual basic itu adalah sebenarny class yang saya pelajari di Java.
Habis belajar Java saya belajar PHP, waktu itu web sedang mulai booming. Tahapan belajarnya ya dari HTML dulu terus baru PHP, untuk belajar PHP kali ini saya ngak sesusah belajar Java. Alhamdulillah lancar ...
Kembali lagi ke judul blog ini yang sangat relefan dengan pepatah arab kuno " Siapa yang sungguh2 pasti berhasil " atau pepatah lain "Bisa karena Biasa" .. jadi kalo mau sukses sepertinya harus terus berlatih, mengasah diri, menyempurnakan pikiran dan fokus pada profesi yang ditekuni. Insya Allah jalan didepan semakin lebar seiring skill dan ilmu bertambah dan jangan lupa pepatah lain harus dijalani "Padi makin berisi makin merunduk " merunduk mensyukuri karunia ilahi ...


Thursday, February 05, 2009

Framework Apa sih ?

Framework di lihat dari kacamata programmer

Definisi Frameworks

Frameworks atau kerangka kerja digunakan untuk membangun aplikasi, dimana aturan-aturan dalam proses pengembangan aplikasi mengikuti ketetapan yang ada pada kerangka kerja. Aturan-aturan dalam kerangka kerja meliputi kode standar, konfigurasi program, dan alur kerja framework.

Frameworks adalah kumpulan dari file-file pustaka (libraries) atau class-class yang terdapat dalam suatu kerangka kerja yang mendukung dalam pengembangan aplikasi secara terstruktur dan independent terhadap aplikasi.

Software Framework adalah sebuah desain yang bisa digunakan berulang-ulang (re-usable design) untuk sebuah sistem atau sub sistem piranti lunak.

Didalam software frameworks mungkin terdapat bagian-bagian berikut :

  • Program-program pendukung

  • Kode pustaka (libraries)

  • Skrip bahasa pemrograman

  • Software lain yang membantu pengembangan aplikasi.

Kesemua bagian bekerja sama menyatukan komponen-komponen yang berbeda pada sebuah aplikasi yang dikembangkan.

Beberapa bagian frameworks dijelaskan melalui dokumentasi tentang class-class pada aplikasi yang berisi variabel dan fungsi-fungsi atau disebut API (Application Program Interfaces).

Manfaat Frameworks

Dalam mengembangkan program aplikasi dengan pendekatan RAD (Rapid Application Development), seharusnya programmer dalam membuat kode program tidak berulang-ulang. Programmer dapat membuat metode atau fungsi yang dapat di kustomisasi dan kelak program tersebut dapat digunakan kembali (re-usable program). Programmer dapat membuat komponen-komponen program yang dapat digunakan pada beberapa project yang berbeda.

Tren pengembangan software saat ini menghendaki program yang re-usable, berbasis komponen dan program berorientasi object. Paradigma praktisi IT kini berubah dari yang awalnya melakukan peng-kodean (coding) dari awal “code from stretch” menjadi pengembang (developers) yang cenderung membangun sesuatu dari sesuatu, membangun sebuah aplikasi berdasarkan kerangka kerja atau frameworks.

Programmer atau developers dapat menggunakan frameworks yang sudah ada dalam pembuatan suatu aplikasi program. Dengan menggunakan frameworks akan didapat banyak manfaat diantaranya :

  1. Speed of Development : Mempercepat pengembangan aplikasi.

  2. Robustness: Aplikasi yang mempunyai performa dan keamanan yang tangguh.

  3. Simple : Kode dan logika yang terdapat dalam aplikasi tertata dengan rapi, terjaga tetap teratur, mudah dibaca sehingga akan mempermudah proses maintenance-nya.

Namun demikian ada juga hal-hal yang perlu diperhatikan dalam menggunakan frameworks, diantaranya :

  1. High Curve of Learning : Untuk mempelajari sebuah frameworks diperlukan energi yang cukup besar, proses awal belajar akan menemui banyak kendala dan kesulitan, dibeberapa kasus frameworks didapatkan minimnya dokumentasi dan contoh program, namun demikian biasanya terdapat komunitas atau forum yang dapat membantu mempelajari frameworks. Semua hal ini akan terbayarkan oleh kecepatan dan kemudahan pada saat anda telah menguasai frameworks.

  2. Large Resouces : Beberapa pihak mengklaim penggunaan frameworks dapat berpengaruh pada performa aplikasi karena banyaknya kode pustaka (libraries) yang dibutuhkan oleh sebuah arsitektur frameworks yang komplek. Hal ini masih dalam perdebatan, namun dengan memahami kekurangan framework yang berakibat pada performa aplikasi, programmer dapat melakukan tuning atau menyempurnakan kekurangan program, karena sesuatu hal tidak ada yang sempurna, demikian halnya dengan framework. Perbaikan dengan melaporkan bugs ke forum atau milis dan melakukan patch dapat membuat frameworks lebih baik dari sebelumnya.