. Ndi …

They may forget Ur Good deeds, Just do Good…

PHP for Lazy Programmer #3

leave a comment »

Memahami Persoalan dan Menyusun Algoritma

1. Sebelum anda memulai pekerjaan anda, hal pertama yang harus anda ketahui adalah “permasalahan yang akan diselesaikan”.

2. Tanpa mengetahui permasalahan yang akan anda selesaikan dengan program anda, anda akan seakan seseorang yang pergi berbelanja ke sebuah mall, anda hanya punya keinginan berbelanja, tanpa mengetahui apa yang akan dibeli, maka yang terjadi adalah anda berputar-putar mengarungi mall, berbelanja entah apa dan entah seberapa banyak dan entah berapa lama waktu dihabiskan, setiap anda melihat barang, anda tertarik dan membelinya, atau anda merasa itu perlu dan membelinya, atau anda merasa nampaknya ponakan tetangga sebelah akan senang dan anda membelinya, atau anda membelinya dengan harapan bisa disimpan untuk suatu ketika diperlukan. Maka ketika keluar dari mall, anda pulang dengan segunung belanjaan … sementara anda masih tidak mengerti belanjaan apa yang benar-benar berguna bagi anda, sementara anda sudah kelelahan untuk memahami belanjaan anda.

3. Cerita di atas mungkin pernah terjadi pada diri anda, apakah sebagai tukang belanja atau sebagai tukang web.

4. Sekarang lihatlah seorang programmer yang terlebih dahulu memahami persoalan sebelum bertindak lebih lanjut, skenarionya seperti ini:

4.a. Pertama dia mendefinisikan persoalan terlebih dahulu.
4.b. Kemudian dia membuat algoritma paling efisien.
4.c. Lalu baru menulis program

5. Analogi tukang belanja dengan keuangan terbatas:

5.a. Mencatat apa yang mau dibeli.
5.b. Merencanakan dan melakukan perjalanan paling efisien (urutan pembelian).
5.c. Lalu baru membeli.

6. Kadang-kadang kita menemukan bahwa seorang programmer terjebak macet di salah satu item skenario di atas.

Kemlading6.a. Programmer yang gagal mendefinisikan masalah, akan semakin gagal menemukan algoritma yang tepat untuk persoalan yang ingin diselesaikannya.

6.b. Kadang ditemukan dalam milis ini, seseorang yang gagal dalam membuat program, namun dia tidak mengungkapkan latar belakang masalahnya, dan ketika latar belakang masalahnya diungkapkan, ternyata banyak alternatif untuk menyelesaikan masalah dia, nggak hanya satu cara, anda tinggal memilih mana yang paling sesuai.

6.c. Menyusun algoritma yang efisien dan sederhana juga penting. Di sini anda akan menemukan susunan struktur program, variable dan array, function-function apa saja yang mungkin terbentuk, dan ke mana harus mencari library yang diperlukan, atau bertanya ke milis. Meskipun kadang ada beberapa programmer minta contoh atau bahkan script yang sudah jadi, tanpa algoritma. No problem, itulah manisnya jadi pemalas.

6.d. Ada baiknya jika anda sudah berkali-kali tanya ke milis ini, tetapi nggak ada yang jawab, cobalah anda bikin algoritma kemudian diteruskan dengan menyusun pseudo-code, mungkin jawabannya sudah anda bikin sendiri.

6.e. Dengan mengetahui persoalan anda dan mendesain algoritma, akan mudah bagi anda dalam mengadopsi atau memodifikasi script-script yang sudah jadi yang bertebaran di Internet tanpa henti dan terus menjadi-jadi.

6.f. Kenapa anda pernah mengalami hal di mana anda kesulitan memahami program yang dibuat orang lain, kunci kesalahan anda adalah karena anda tidak tahu bagaimana program itu bekerja, bagaimana algoritma program tersebut.

Huda M Elmatsani

Written by ndi

March 26, 2009 at 8:11 pm

Posted in PHP

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: