. Ndi …

They may forget Ur Good deeds, Just do Good…

Archive for the ‘PHP’ Category

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

PHP for Lazy Programmer #4

leave a comment »

Menulis nama variable, function, class, table … dsb.

NAMA UNTUK VARIABLE
0. Biasakan nama dalam bahasa Inggris. Kalau anda menggunakan bahasa
Turki, kesulitannya adalah: pertama anda sulit membuat nama, kedua
anda sulit memahaminya, ketiga anda menyulitkan orang lain.

contoh:
$açýklama
$baþkanlarýmýz

baru mengetik, anda sudah kehilangan pekerjaan, karna anda nggak
menemukan character ç di keyboard anda.

1. Nama adalah sesuatu yang membuat kita mengenali, saling mengenal,
memulai perkenalan, dan membuat kita jadi ingat dan jadi lupa.

2. Namun berbeda dengan pemberian nama untuk anak, yang banyak
dijual bukunya, nama untuk elemen-elemen dalam bahasa pemrograman,
tidak dijual secara khusus dalam bentuk buku atau CD. Hanyasaja, di
setiap buku programming tingkat dasar, biasanya disajikan saran-
saran pemberian nama.

2. Prosedur pembuatan nama yang umum adalah:

a. buatlah nama yang singkat dan menjelaskan dirinya sendiri.

contoh:

$client
$customer

contoh buruk:

$clnt
$xyz
$dodol

b. konsistenlah dalam pemberian nama, dalam hal ini anda bisa
menciptakan aturan pemberian nama.

dalam aturan pemberian nama, berilah PREFIX untuk menandai kelompok-
kelompok variable.

sebagai contoh:
nama-nama varible yang berkaitan dengan client:

$clientname
$clientphone
$clientfax
$clientemail … dst.

dan konsisten!

contoh yang tidak konsisten:

$clientname
$client_phone
$clientFax
$ClientEmail

Keuntungan dengan konsistensi dalam pemberian nama adalah:

– jika anda bekerja di perusahaan, anda akan mudah mengelola code-
code programming yang dikerjakan oleh berbeda-beda orang
– jika anda freelancer, anda akan mudah mengelola code-code
programming yang anda kerjakan untuk berbagai client dari tahun ke
tahun

NAMA UNTUK FUNCTION
0. Aturan dasar penamaan variable berlaku disini. Namun untuk nama
function, anda nggak perlu peduli dengan hurup besar dan kecil,
nggak ada artinya membedakannya di php.

1. PHP sendiri hadir dengan cara pemberian nama yg kurang konsisten,
dimana ada nama yg menggunakan underscore dan ada juga yang nggak.

contoh:
nama-nama function berkaitan dg image, tidak menggunakan “_”
seperti: imagecolorat, imagejpeg, …

nama-nama function berkaitan dg swf, selalu diawal dg “swf_”
seperti: swf_actiongeturl, swf_actionstop, …

semenara nama-nama function yg berkaitan dg string tidak konsisten.

2. Namun demikian, anda sebaiknya konsisten dalam memberikan nama
function. Ikuti sedikit gaya penamaan seperti function2 untuk SWF,
yakni diawali dengan nama kelompok/kategori function diikuti
underscore, lalu diikuti dengan katakerja.

contoh:
thumbnail_create()
thumbnail_getsize()
thumbnail_resize() … dsb

Untuk nama-nama function di dalam ruang lingkup terbatas atau di
dalam sebuah CLASS, tidak perlu pake prefix.

NAMA CLASS
Konsensus penamaannya adalah menggunakan kata benda dan diawali
dengan hurup kapital.

NAMA TABLE
1. Ada yang membiasakan diri menamai table dengan prefix “tbl_”
atau “table_”, hal ini dimaksudkan untuk memudahkan mengenalinya
ketika menulis script yg melibatkan query. Namun hal seperti ini
tidak menjadi kenizcayaan.

2. Lebih penting lagi adalah ketika menamai field, usahakan
prefixnya adalah nama tablenya.

Contoh:
nama table: clients
nama fields: clientname, clientphone, clientfax, …

NAMA FIELD-FIELD FORM
1. Namai form anda dengan katakerja diikuti kata benda.

contoh: addclient, …

2. Namai field-field dengan prefix yg sesuai.

contoh: clientname, clientphone, clientfax, … dst

NAMA FILE
1. Mencari file di seribu tumpukan file dalam folder anda bukanlah
perkerjaan mudah. File akan mudah ditemukan kalo mempunyai ciri-ciri.

2. Sebaiknya, namai file-file anda seperti anda menamai function,
karena umumnya file-file anda adanya adalah karena melakukan suatu
proses.

Huda M Elmatsani

Written by ndi

March 26, 2009 at 8:17 pm

Posted in PHP

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

PHP for Lazy Programmer #2

leave a comment »

Wahai “Programmer PHP Pemalas”

Anda harus punya kursi malas, kalo belum punya, coba berinvestasi dengan membelinya.

Supaya cukup waktu bagi anda untuk bermalas-malasan di kursi malas, anda harus menyelesaikan waktu yang lebih singkat dalam penulisan program anda.

Persiapan untuk Menulis Script dengan Cepat

  1. Pastikan keyboard dan mouse anda berfungsi dengan baik. Berat rasanya kalau ada salah satu keynya macet, apalagi key $ untuk tulis variable, kalau gak bisa ketik $ bagaimana dapat dollar?
  2. Saya percaya, kebanyakan dari anda tidak bisa mengetik dengan 10 jari. Tetapi, jangan khawatir, untuk mengetik cepat anda cukup gunakan lima jari.
    • jempol kanan untuk tekan space
    • telunjuk kanan untuk ngetik area key kanan
    • telunjuk kiri ngetik area key kiri
    • jarimanis kiri untuk mencet SIFT
    • jarimanis kanan untuk mencet ENTER
  3. Tetapi kembali kepada kebiasaan anda dalam mengetik, jangan mendadak belajar menggunakan 5 jari gara-gara baca tips ini, 2 jari pun cukup sebagai modal awal menjadi “pemalas yang banyak duitnya”.
  4. Usahakan script anda pake hurup kecil semua. Meskipun VARIABLE boleh ditulis hurup besar, abaikan kebolehan itu. Keuntungan dari ini adalah:
    1. mengurangi kemungkinan salah ketik, karna untuk mengetik hurup besar anda perlu tekan SHIFT.
    2. saya termasuk orang yang senang mengikuti konvensi, karena itu untuk penulisan CONSTANTA gunakan CAPSLOCK.
  5. Sayangnya PHP hadir dengan variable yang diawali $. Kalau anda mampu menggantinya dengan Rp, gantilah. Seperti orang Jepang mengganti prompt DOS dengan Yen. Ini hanya intermezo. Yang saya maksud adalah tanda $ adanya di key yang memaksa anda tekan SHIFT.
    1. Cobalah download software yang dapat memprogram keyboard anda sehingga anda bisa menempatkan tanda $ di key yang tak perlu tekan SHIFT, misalnya di ALT.
  6. Jangan duduk terlalu lama, 1 jam sudah terlalu lama, cobalah bangkit dan jalan sebentar untuk memberi kelegaan pada kaki, lengan, pantat dan pikiran. Jangan sampe istirahat anda di rumah sakit karena wasir, kram, dan lain-lain.
  7. Sediakan minuman secukupnya, di depan monitor anda akan cepat kehausan, karna anda berlari dari satu jendela ke jendela lain, dari satu situs ke situs lain, dan energi monitor menyerap kerongkongan anda.
  8. Gunakan monitor LCD/TTF selagi mampu, selagi nggak mampu, bayangkan suatu ketika anda mampu. Namun selama anda menggunakan monitor CRT, setlah Resolusi dan Frequesinya agar nyaman di mata.
    Kalau monitor anda terasa bergetar, cepatlah sesuaikan, caranya: getarkanlah kepala anda sesuai dengan frekwensi getaran layar monitor 🙂

Persiapan Menulis Script PHP dengan cepat

  1. Siapkan buku LOG anda.
  2. Gunakan software editor yang mendukung PHP, seperti Zend Studio, PHP NuSphere, PHPExpert, dsb. Contoh yang salah: Anda membuat script php menggunakan FrontPage! Lebih menyedihkan lagi pake Ms Word.
  3. Aktif-kan PHP manual, SQL Manual, dan Script Library anda.
  4. Mulailah menulis berdasarkan catatan terakhir di LOG anda.
  5. Sesudah selesai, jangan lupa catat lagi status terakhir programming anda di LOG anda.

Tambahan penting …

  1. Pastikan sistem pengembangan PHP anda bekerja dengan baik dan settingnya sesuai yang dibutuhkan/diinginkan, seperti extension, global variable, session, dsb.
    • Sistem PHP tersebut meliputi Apache yang mendukung PHP, MySQL, dan browser. Saya anjurkan anda menyimpan source instalasi software, petunjuk instalasi dan manual masing-masing software dalam satu directory, dengan demikian anda mudah menemukannya kalau mau install ulang, atau mau membakarnya ke CD.
  2. Seandainya anda belum pernah menginstal PHP, baca petunjuk instalasi yang saya taruh di direktori Files/Tutorial di milis group ini. Saya malas menulis ulang di sini. Harap segera download file tersebut, sebelum saya berubah pikiran. Kalau ada kesalahan dari apa yang saya tulis, harap kabari saya.
  3. Saya anjurkan anda menginstal satu per satu. Sehingga jika ada versi terbaru dari masing-masing software PHP, Apache dan MySQL, anda akan lebih mudah melaksanakannya. Saya tidak anjurkan untuk menggunakan software paket yang mengistal segalanya sekaligus. Meskipun untuk alasan malas, ini sangat masuk akal.
  4. Mengapa tips ini penting, karena banyak kasus ERROR yang disebabkan oleh masalah instalasi dan setting. Jadi memiliki kompetensi meng-install dan men-setting adalah keharusan bagi Lazy Programmer. Kalau anda “OOT” cari programmer, ngetesnya gampang, suruh install dan setting Sistem PHP.

Huda M Elmatsani

Written by ndi

March 26, 2009 at 8:09 pm

Posted in PHP