PHP – Enterprise – Symfony – Integration – Web Engineeering – FREE

<? start the magic

Kursus PHP (2) :: Numbers output

leave a comment »

Sebelumnya kita telah membahas bagaimana mengoutputkan string/ huruf. Namun karena pada dasarnya PHP tidak mengenal tipe data, penulisan untuk string seperti dalam kasus hai programmer kursus sebelumnya dapat juga digunakan untuk mengoutputkan angka.

Yang akan kita bahas disini berkaitan dengan angka dan penanganan khusus PHP dalam mengoutputkan angka.

 $angka1 = 5;
 $angka2 = '3';
 $hasil = $angka1 + $angka2;
 echo 'Hasilnya $angka1 + $angka2 = '.$hasil.' = '.($angka1 + $angka2).'<br />';

Akan menghasilkan

Hasilnya $angka1 + $angka2 = 8 = 8

Dari baris-3 dapat kita lihat, tidak peduli anda menulis angka dalam kutip atau tidak (tipe string), PHP hanya akan melihat nilainya apakah berupa angka atau string. Dan pada baris ke-5, Operasi bilangan dapat anda langsung lakukan pada output dengan menggunakan kurung ( ) sebagai penanda bahwa yang disisipkan adalah berupa operasi bilangan yang mempunyai return value. Operasi dasar bilangan dalam PHP adalah

+ : penjumlahan. Misal : 7 + 3 hasilnya adalah 10
- : pengurangan. Misal : 7 – 3 hasilnya adalah 4
* : perkalian. Misal : 7 * 3 hasilnya adalah 21
/ : pembagian. Misal : 7/2 hasilnya adalah 3.5
% : modulus/sisa pembagian. Misal 7%3 hasilnya adalah 1

Untuk bermacam kepentinan, kadang kita memerlukan penulisan angka dengan format tertentu, untuk itu kita dapat menggunakan fungsi sprintf(), panduan lengkapnya dapat dilihat disini.

Untuk lebih meyakinkan bahwa yang kita outputkan sudah ssuai dengan tipe data yang kita inginkan kita dapat melakukan casting seperti contoh dibawah ini untuk mengoutput bialngan integer (bilangan bulat)

<code>
 $i = 8;
 echo (int) $i;
</code>

Selain cast untuk (int) ada juga

  • (integer) – cast untuk integer
  • (bool), (boolean) – cast untuk boolean
  • (float), (double), (real) – cast untuk float
  • (string) – cast untuk string
  • (binary) – cast untuk binary string (PHP 6)
  • (array) – cast untuk array
  • (object) – cast untuk object

Hmm.. kursus ke-2 tentang bilangan dan operasi bilangan sampai disini dulu, ada pertanyaan silahkan tinggalkan komentar anda, kami dengan senang hati mencoba menjawabnya. peace sign. Salam, enjoy your day coffee. wave - New!

Written by Ali

October 3, 2007 at 6:19 am

Posted in PHP, PHP Course

Kursus PHP (1) :: String output

with 3 comments

Selamat datang di posting pertama kursus PHP. Disini saya akan membagi apa yang saya thu tentang PHP, from zero (dari awal mula) to hero (jadi Batman :evil: ) WHAT?!?!? 8O

Mari kita mulai dengan berdoa praying

Aplikasi pertama kita, bukan sekedar hello world :!: namun lebih kepada mengenal sifat string di PHP nerd. Sebelum memulai, kita buat kesepakatan terlebih dulu. Berdasarkan ini, kita akan lebih cenderung menggunakan echo untuk menuliskan output. Dan berdasarkan ini, kita akan menggunakan single-quote/ kutip satu untuk delimiter string kita. Deal :?:


echo 'Hai.';
echo '         Hai<br />$programmer. ';
$programmer = 'PHP';
echo '         Hai '.$programmer.'.';

$programmer .=  'HANIFA';
echo '                Hai '.$programmer.'.<br />';
$hari = 'Jum\'at';
echo ' Hai '.$programmer.', ini hari '.$hari.'.';</pre>
<pre>

Dan outputnya akan menjadi

Hai.Hai
$programmer. Hai PHP. Hai PHPHANIFA.
Hai PHPHANIFA, ini hari Jum’at.

Kita dapat melihat hasil dari baris ke-3 bahwa $programmer akan di outputkan apa adanya, karena berada dalam single-quote string, tetapi tag HTML dan karakter spesial HTML tidak terlihat karena sudah diterjemahkan menjadi break dan non-breakingspace kecuali kita view source browser kita.

Sedangkan baris ke-4 dan baris ke-5 menunjukkan delimiter dan penggabungan antara variabel dengan string. Pada baris ke-6, kita menyambung variabel programmer kita dengan string ‘HANIFA’ menghasilkan PHPHANIFA sebagai nilai dari variabel programmer.

Perhatikan, berapapun banyaknya spasi yang klita berikan pada baris ke-7, output hanya akan menghasilkan satu spasi saja.

Baris ke-8 dan 9 menunjukkan cara menggunakan kutip satu/single-quote ( ' ) di dalam string yang delimiternya kutip satu juga, yaitu dengan melakukan escape character dengan memberikan tanda backslash ( \ ) sebelum karakter. Hal ini juga berlaku jika kita ingin menggunakan kutip dua/double-quote ( " ) di dalam string yang delimiternya kutip dua.

Baik, hari ini cukup sekian. Tentang menampilkan variabel bertipe string. Rencananya post kursus selanjutnya membahas tipe bilangan dan operasinya. daydreaming - New!Terimakasih.. wave - New!

Written by Ali

October 2, 2007 at 8:23 am

Posted in HTML, PHP, PHP Course

Tagged with , ,

Mencegah browser mengingat password

leave a comment »

Anda membuat web-web berisi informasi sensitif seperti trading, forex, e-shopping? Anda sudah menggunakan clean URL, https, captcha, honeypot, blackhole, dannnn segala macam pencegahan dalam berbagai layer aplikasi, namun masih saja jebol hanya karena kelalaian user yang awam, memilih opsi “remember password” pada browser di komputer yang digunakan secara bersama-sama, misal di warnet, atau bahkan di kantor dan institusi-institusi, baik pendidikan hingga pemerintahan (Angkatan Bersenjata, POLISI, Dinas Rahasia, dll). Cukup gawat bukan??

Lalu saya melihat situs ini dan ini, kita tidak di prompt untuk penyimpan password :!: Mengapa?? Ternyata ada script trik tertentu, dengan menambahkan variabel

autocomplete=“off”

pada tag

<form>

Sehingga tag form kita menjadi

<form method="post" action="" autocomplete = “off” >

Mudah bukan??

Semua hal di dunia seperti dua muka mata uang, selalu ada kebalikannya. Demikian pun untuk script ini, anda dapat melakukan kebalikannya, maksudnya disini, anda dapat meng-bypass blocking autocomplete milik Yahoo! (yang sudah saya ujicoba), namun cara ini hanya berlaku pada browser Mozilla

Caranya..

  • Buka halaman target yang anda ingin simpan passwordnya namun situs itu menonaktifkan autocompletenya
  • Copy script berikut dan paste pada addressbar Firefox browser javascript:(function(){var ca,cea,cs,df,dfe,i,j,x,y;function n(i,what){return i+" "+what+((i==1)?"":"s")}ca=cea=cs=0;df=document.forms;for(i=0;i<df.length;++i){x=df[i];dfe=x.elements;if(x.onsubmit){x.onsubmit="";++cs;}if(x.attributes["autocomplete"]){x.attributes["autocomplete"].value="on";++ca;}for(j=0;j<dfe.length;++j){y=dfe[j];if(y.attributes["autocomplete"]){y.attributes["autocomplete"].value="on";++cea;}}}alert("Removed autocomplete=off from "+n(ca,"form")+" and from "+n(cea,"form element")+", and removed onsubmit from "+n(cs,"form")+". After you type your password and submit the form, the browser will offer to remember your password.")})();
  • Akan muncul pesan berikut jika anda melakukannya dengan benar
    Turn off autocomplete
  • Masukkan username dan password anda seperti biasa
  • Dan Firefox akan meng by-pass autocomplete=”off” dan akan mengingat username dan password anda.

beres.. ;)

Written by Ali

October 2, 2007 at 7:37 am

Posted in HTML, Security, tips, trick

Memilih bahasa pemrograman

with one comment

Sebenarnya, seluruh bahasa pemrograman mempunyai kemampuan yang sama untuk membangun suatu program. Mereka memiliki statement:

  1. pengkondisian (if..then..else..; switch/ case..of.. )
  2. Perulangan dengan pengecekan kondisi berhenti di awal (while..do..)
  3. Perulangan dengan pengecekan kondisi berhenti di akhir (do..while..; repeat..until..)
  4. Perulangan dengan jumlah yang ditentukan (for..to..do..; foreach..)
  5. Memberikan pesan (write; print; echo)
  6. Kemampuan membaca/ menulis/ menghapus/ memindahkan file (fread; fwrite; ulink; cp; touch;) *
  7. Berinteraksi dengan aplikasi/ modul lain (fopen; include; use) *
  8. Menangkap kesalahan/ menyimpan/memberikan pesan error (catch Exception; try) *
  9. Koneksi dengan basisdata (connect; open) untuk aplikasi client server berbasis data *

CMIIW jika ada yang keliru atau terlewat. Pada dasarnya kemampuan tersebut dimiliki oleh seluruh bahasa pemrograman tingkat rendah. Dan kemampuan (*) pada bahasa yang lebih tinggi, seperti bahasa visual dan PHP sendiri.

Artinya, anda diberikan kebebasan menggunakan bahasa apapun untuk membangun suatu program aplikasi. Yang penting program memberikan output yang diharapkan dengan input yang diharapkan juga.

Namun terdapat beberapa pertimbangan dalam memilih bahasa pemrograman

  1. Lingkungan/ environment implementasi program. Apakah  pengguna disana lebih mudah berbasis windows atau web, sistem operasi yang digunakan, usia pengguna, dan lain sebagainya.
  2. Penguasaan dan kemahiran. Anda mungkin meguasai suatu bahasa pemrograman, namun belum tentu anda mahir. Maksud saya, saat anda mengetahui suatu bahas anda juga diharakan dapat menggunakan bahas tersebut seoptimal mungkin, mengurangi jumlah LOC dan penggunaan resource yang optimal.
  3. Avaibility/ ketersediaan. Anda boleh jadi menguasai VB.Net, ORACLE, MS-SQLServer dan berbagai bahasa propietary. Tapi apakah ada ketersediannya (dengan legal tentunya). Jika anda/ client anda mempu untuk pengadaan aplikasi propietary, kenapa tidak, dan biasanya project dengan bahasa propietary nilainya lumayan “njomplang” dibanding dengan aplikasi yang dibangun dengan bahasa opensource.
  4. Support. Sebelum (mengklaim) anda mencapai tingkat mahir, anda pasti sering berhubungan dengan elemen yang satu ini. Support dapat berupa dokumentasi bahasa pemrograman (help) yang memadai, manual, forum diskusi, online/ offline custumer support yang dapat dihubungi dan jaringan pengguna yang luas dan berpengalaman akan sangat membantu dalam memberikan saran dan ide pembuatan program.

Selamat memilih.. :)

Written by Ali

October 2, 2007 at 3:01 am

Posted in Articles

No to all

leave a comment »

Jika anda pengguna W®, anda pasti pernah berhadapan dengan dialog box seperti ini

Dialog confirm replace atau ini Dialog confirm delete

Anda akan menemui dialog box seperti itu saat anda akan menghapus file setup.exe atau file beratribut readonly, atau saat memindahkan file, terdapat nama file yang sama.
Ada pilihan Yes atau No, yang kosekuensinya anda harus kembali memilih jika kembali menemui kondisi yang sama.

Dan ada pilihan Yes to all, jika anda ingin “meng-Yes-kan” setiap kali anda menemui kondisi seperti itu.

Lalu kenapa tidak ada pilihan No to all, padahal saya seringkali menemui kondisi dimana saya memerlukan No to all, sebenarnya, ADA :!: Caranya:

Tekan dan tahan tombol [Shift] saat anda mengklik No

Dengan demikian anda seolah-olah selalu No jika menemui kondisi file setup.exe, readonly, file replace. Neat ;)

Written by Ali

October 2, 2007 at 2:15 am