. Ndi …

They may forget Ur Good deeds, Just do Good…

Ada buruknya, Ada baiknya

leave a comment »

Tulisan ini dibuat setelah saya baca tulisan di blog temen, cuma saya ingin menambahkan saja karena ada beberapa hal yang saya kira juga cocot eh cocok dengan situasi yang terjadi.
Bagi yang sudah bekerja entah bekerja di bidang apa tentunya ada suka dukanya. Menurut saya dunia kerja yang sesuai dengan apa yang diinginkan tentunya akan banyak sukanya dibanding dukanya.

“Dunia kerja memang enjoy dan menyenangkan bagi saya, bisa fokus dan memang benar-benar fokus mana yang harus dikerjakan dan mana yang harus dipelajari. Entah kenapa semua pekerjaan yang dikerjakan merupakan kerjaan borongan, semuanya asal jadi, asal pakai, asal hidup tapi tidak sampai asal-asalan. Kenapa saya tidak berpikir membuat desain sistem dan perencanaan yang matang untuk pengerjaan sistem tersebut.
Kenapa sebagian orang berpikir “instant” dan tidak pernah berpikir “process”, segalanya siap saji, siap pakai,siap coba dan selalu siap. Gelap deh.. “.

Semuanya terkesan terburu-buru dan harus jadi seperti yang diminta. Seperti kata temen “pasal 1 : bahwa bos tidak pernah salah”.
Kenapa tidak ada rencana sebelumnya sehingga waktu pengerjaan jadi lebih tertata dan hasilnya bisa dimaksimalkan.

Mungkin ini berhubungan dengan segala bidang pekerjaan, namun saya sendiri memfokuskan tulisan pada bidang IT. Karena kebetulan pekerjaan saya ya ga jauh-jauh dari dunia IT.

Written by ndi

June 27, 2009 at 4:29 pm

Posted in Religi, What's On

Coding Standard

leave a comment »

Artikel ini sepenuhnya bukan milik saya, saya mendapatkan dari rekan Adi, saya share disini siapa tahu berguna bagi rekan-rekan yang lain.

Coding standard berikut merupakan terapan yang sama digunakan dengan Coding standard PHP-Pear dengan beberapa modifikasi.

1a. Nama Class, Fungsi & Metode
berdasarkan hirarki parent & child, Bisa menggunakan kombinasi huruf besar dan kecil. misal:
nama class = html
nama fungsi = html_print()
nama class = DBconnect
nama fungsi = DBconnect_FetchData()
nama fungsi = DBconnect_Close()

1b. Konstan

[php]
define(EMAIL_WEBMASTER, ‘webmaster@foo.com’);
define(EMAIL_SUPPORT, ‘support@foo.com’);
define(NL, ‘\n’);
[/php]

2. Indenting
indent/margin menggunakan spasi 4 karakter. TIDAK menggunakan tab

3. Struktur kontrol
struktur kontrol dipisahkan satu spasi sebelum keyword dan kurung kurawal buka. mis:

[php]
if ((condition1) || (condition2)) {
action1;
} elseif ((condition3) && (condition4)) {
action2;
} else {
defaultaction;
}
[/php]

4. memanggil fungsi
tidak ada spasi antara nama fungsi, kurung buka dan parameter pertama, spasi setelah koma diantara parameter, dan tidak ada spasi antara parameter terakhir dan kurung tutup.

[php]
$var = foo($bar, $baz, $quux);
[/php]

juga ada spasi diantara tanda “=”. atau jika ada beberapa assignment dalam satu blok, posisi tanda “=” bisa dibuat sama.

[php]
$short = foo($bar);
$long_variable = foo($baz);
[/php]

5. Deklarasi Fungsi
deklarasi fungsi menggunakan konvensi “one true brace”

[php]
function fooFunction($arg1, $arg2 = ”) {
if (condition) {
statement;
}
return $val;
}
[/php]

argumen dengan nilai default dimasukan di akhir argumen. selalu menghasilkan value yang berguna.

[php]
function connect(&$dsn, $persistent = false) {
if (is_array($dsn)) {
$dsninfo = &$dsn;
} else {
$dsninfo = DB::parseDSN($dsn);
}
if (!$dsninfo || !$dsninfo[‘phptype’]) {
return $this->raiseError();
}
return true;
}
[/php]

6. Comment
Untuk dokumentasi di dalam skrip, bisa menggunakan gaya C /* */ atau C++ //. Untuk lebih memudahkan pengaturan dokumentasi, bisa menggunakan aturan PHPDoc yang mirip dengan JavaDoc. Untuk detail silakan lihat http://www.phpdoc.de

Dokumentasi/catatan di dlm skrip sangat dianjurkan untuk memudahkan kita mengetahui jalan dan alur skrip.

7. Including Code
Jika ingin memasukkan file lain, mis: file-file class/library sebaiknya menggunakan statement require_once() atau include_once() untuk memastikan bahwa file tsb hanya dipanggil sekali.

8. Header Comment
Dianjurkan utk setiap file terdapat informasi header, menggunakan struktur berikut:

[php]
/* —————————————————————————
Copyright (C) 2002 by IDE Development Team.
http://www.ide.or.id
——————————————————————————
File Name: db.lib.php
Author: Slamet
——————————————————————————
Purpose of File:
class for database abstraction layer. currently only support MySQL.
——————————————————————————
Requirement:
PHP 4.02 or later version
——————————————————————————
License
To read the license please visit
http://www.gnu.org/copyleft/gpl.html
——————————————————————————
Changelog
2002/05/05:Slamet – minor fix
————————————————————————— */
[/php]

Written by ndi

March 26, 2009 at 8:28 pm

Posted in PHP

Trik kamuflase ekstensi .php

leave a comment »

Anda pernah mengunjungi situs http://techscape.co.id/home.ts (maap nih, bukan iklan dan bukan karyawan disana)? Disitu kita akan sulit untuk mengidentifikasi bahasa pemrograman yang digunakan untuk membangun situs tersebut. Begitu juga seperti situs http://koni-sumut.or.id kita tidak dapat mengidentifikasinya dengan mudah. Hal itu dikarenakan ekstensi dari script tersebut disembunyikan.
Berikut ini salah satu tip dan trik untuk menyembunyikannya:

Cara Pertama:
1. Pastikan hosting di tempat anda support penggunaan .htaccess
2. Buat file .htaccess dan letakkan file tersebut di root direktori
3. Isikan file .htaccess dengan script seperti ini:
AddType application/x-httpd-php .alias
4. Simpan file .htaccess tersebut.

Cara Kedua:
Tambahkan mime pada cpanel (seperti dalam gambar)

add mime

Setelah salah satu cara tersebut dilakukan maka Anda dapat mengubah eksetensi dari .php menjadi .alias. Pengubahan ekstensi ini boleh seluruhnya atau sebagian saja, itu terserah Anda.

Setelah hal-hal tersebut selesai maka Anda dapat mengakses script php Anda dengan cara seperti ini http://alamat.url.nya/namafile.alias
Selamat mencoba.

Written by ndi

March 26, 2009 at 8:26 pm

Posted in PHP

PHP for Lazy Programmer #6

leave a comment »

Menyelesaikan masalah. Sesuaikan saja.

#1
Terhadap sebuah persoalan, buatlah solusi anda sesederhana mungkin.
Jika anda tak dapat menciptakan solusi yang sederhana,
maka sederhanakalah persoalan tersebut.

#2
Anda dua cara menyelesaikan persoalan:
1. Anda buat solusi berdasarkan persoalan yang ada, atau
2. Anda punya solusi, dan persoalan dipaksa nurut mengikuti solusi
anda.

Contoh dalam hal entri data:
– Seekor ular dapat menelan “data” sebesar apa saja. Mulut dan
rahangnya memberikan “solusi” sesuai data yang masuk.

– Seekor harimau akan mencabik-cabik “data” menjadi ukuran yang
lebih kecil, karena ukuran “solusi”-nya yg limited.

Menyelesaikan masalah tanpa masalah.

Slogan kantor pegadaian tersebut sangat bagus dan harus menjadi pegangan The Lazy Programmer. Untuk menghindari tugas yang tidak ada habisnya, karena anda abadi mengabdi dalam memperbaiki masalah baru akibat memperbaiki masalah lama.

Walau pada kenyataannya, dalam software development hal tersebut senantiasa terjadi, karenanya selalu ada versi baru. Sebelum akhirnya software mengalami kematian.

Huda M Elmatsani
http://lentera.web.id

Written by ndi

March 26, 2009 at 8:21 pm

Posted in PHP

PHP for Lazy Programmer #5

leave a comment »

Seorang programmer apakah itu ia ber-title Software Developer,
Software Analyst, atau Software Engineer, akan selalu
mengatakan “bisa” ketika ia diberikan sebuah “persoalan”.

Seorang programmer selalu bisa menyelesaikan persoalan dalam
kerangka tugasnya.

Seseorang bertanya, “kemampuan programmer itu seperti apa?”

Saya menjawab, “Programmer itu seperti Pelukis”.

Seorang pelukis bisa melukis apa saja.
Kecuali melukis yang dilarang.

Seorang pelukis bisa melukis apa saja sesuai alirannya. Dan seorang
pelukis akan mengerahkan segala kemampuanya untuk menghasilkan karya
terbaiknya.

Anda sudah seperti pelukis? Jadilah pelukis maestro.

Huda M Elmatsani

Written by ndi

March 26, 2009 at 8:19 pm

Posted in PHP