Selasa, 30 November 2010

DASAR PHP

Anda ingin membuat website dinamis? maka anda perlu mempelajari bahasa pemrograman web server seperti ASP.net, PHP, JSP, Perl, Python, RoR (Ruby on Rails) dan masih banyak lagi. Anda tidak perlu mempelajari semuanya cukup pilih saja salah satu. Dan jika anda memilih PHP, maka anda berada diwebsite yang tepat. Jika anda memilih lainnya silahkan browsing lagi di Google, karena saya belum menguasainya (saya bilang belum karena saya berencana mempelajarinya, hanya saja tidak ada waktu untuk mempelajarinya).

Apa itu PHP?

Salah satu alasan PHP menjadi sukses seperti sekarang ini adalah karena kemampuannya yang menakjubkan. PHP dapat berkomunikasi dengan berbagai macam database dan mengenal semua protokol internet. PHP mudah digunakan dan cepat. Class-class / fungsi-fungsi PHP dapat anda temukan dengan mudah di internet. Apabila anda ingin membuat web dinamis dan belum tau caranya, PHP adalah bahasa pemrograman yang tepat.
PHP merupakan kependekan dari HyperText Preprocessor, awalnya merupakan kependekan dari Personal HomePage. PHP Merupakan bahasa pemrograman yang biasanya ditulis bersama kode HTML. Tidak seperti HTML yang langsung dikirim ke browser, script PHP di parsing dulu oleh PHP binary dalam komputer server. Elemen HTML dibiarkan tetapi kode PHP di eksekusi terlebih dahulu dan hasilnya dalam bentuk HTML dikirim ke browser pengguna. Kode PHP mampu menjalankan perintah database, membuat gambar, membaca dan menulis file, serta kemampuan lainnya yang tidak memiliki batas.
PHP 4 akan dihentikan pengembangannya pada Desember 2007, tapi tenang saja pengguna PHP 4 diseluruh dunia masih diatas 80% dibanding PHP versi lainnya.
Pada saat artikel ini ditulis, PHP telah memasuki versi 5, tetapi versi 4 nya masih banyak digunakan. Bahkan versi 6 Alpha telah keluar sejak akhir 2006. Pada versi 5 keatas PHP telah memiliki konsep OOP (Pemrograman Berorientasi Objek) yang cukup bagus dan sebanding dnegan Java. Jadi jika anda menggunakan PHP 5 anda harus terbiasa dengan konsep OOP. Saya akan membahas konsep OOP lain kali, disini kita menggunakan PHP 4 dan tidak menggunakan konsep OOP. Jadi sangat cocok bagi anda yang merupakan pemula dan ingin belajar PHP.

Cara menginstall PHP

Sudah cukup kita ngomongin PHP, sekarang sebelum kita dapat menggunakan PHP pertama-tama kita perlu menginstall PHP pada komputer kita. PHP dapat dijalankan di berbagai macam sistem operasi dan servers. PHP dapat berjalan di Windows, Unix, Linux dan Macintosh. PHP juga dapat bekerja pada berbagai macam web server termasuk Apache (Apache merupakan opensource dan pasangan sehidup semati dengan PHP), Microsoft IIS (Internet Information Server), Website Pro, iPlanet dan Microsoft PWS (Personal Web Server). Disini kita akan menginstall PHP didalam Windows XP menggunakan server Apache.
Cara termudah menginstall PHP adalah dengan menggunakan appserv. Appserv merupakan sebuah paket untuk Windows dimana didalamnya terdapat :
  • Apache Web Server
  • PHP Script Language
  • MySQL Database
  • Zend Optimizer
  • phpMyAdmin Database Manager
Daripada kita mendownload satu-satu, lebih mudah kita menggunakan apsserv, karena didalamnya sudah terdapat semua. Anda tinggal download dan install.
Pertama-tama bukalah http://www.AppServNetwork.com dan download Appserv versi terbaru. Setelah itu jalankan filenya dan akan muncul layar seperti dibawah ini:
Layar Selamat datang
Klik Next aja.
Pilih Folder Instalasi
Ini merupakan default folder dimana anda akan menginstall Appserv. Saya sarankan biarkan saja menggunakan folder defaultnya tidak usah diubah. Klik Next
Pilih tipe Instalan
Pilihlah typical dan klik Next
Setting Localhost
Biarkan saja Server Name nya dengan localhost dan Port nya 80. Klik Next
Username dan Password untuk mengakses MySQL
Pilihlah Username dan Password untuk mengakses database MySQL. Isi sesuka anda, asal anda jangan lupa dengan username dan passwordnya. Kemudian klik Next, selesailah sudah. Anda sudah berhasil menginstall PHP pada komputer anda. Bagaimana mudah bukan.
Sekarang buka browser anda dan ketik 'localhost', maka browser anda akan menjadi seperti ini:
Tampilan Localhost Appserv
Selamat, PHP sudah terinstall pada komputer anda. Sekarang mari kita mencoba beberapa kode PHP.

PHP pertama saya begitu menggoda

Perlu di ingat jika anda membuat file PHP, maka anda perlu menyimpannya di folder c:\appserv\www\folderanda. Sekarang buka Windows explorer dan buka c:\appserv\www setelah itu buatlah folder dan beri nama folder tersebut 'contoh'. Seperti dokumen HTML, PHP merupakan file text. Karena itu anda dapat membuatnya dengan text editor seperti Notepad atau BBEdit untuk MacOS atau Vi dan Emacs untuk Unix/Linux. Saya pribadi menyukai Editplus atau PHPEdit karena software tersebut memiliki sintax highlighting yang memudahkan kita.
Engine PHP akan mengeksekusi kode PHP setelah (<?) sampai ketemu dengan (?>), jika kode PHP anda benar maka hasilnya akan ditampilkan, tetapi apabila salah maka terdapat pesan error dengan memberi tahu anda pada baris berapa terdapat error nya. Sekarang buka teks editor favorit anda dan cobalah kode berikut ini:
<?
print ("Hello World!");
?>
Sekarang simpan file tersebut di to c:\appserv\www\contoh\hello.php. Buka browser anda dan jalankan 'http://localhost/contoh/hello.php'. Maka pada browser anda akan tampil seperti ini:
Tampilan kode PHP Hello World
print() merupakan fungsi untuk mengoutput data. Apa saja yang dituliskan oleh print() akan ditampilkan pada browser. print() merupakan salah satu fungsi yang terdapat dalam PHP untuk menampilkan data, biasanya dimodifikasi dengan data yang dimasukkan, Dalam kasus ini anda menjalankan fungsi print() yang berisi sekumpulan karakter (Hello World) atau disebut String. String harus diapit oleh tanda ".
Setiap baris dari kode PHP selalu diakhiri dengan tanda titik koma " ; "
Anda dapat memasang kode PHP didalam HTML, cukup seperti ini:
<html>
<head>
<title>My first PHP</title>
</head>
<body>
<?
print "Hello <b>World</b>";
?>
</body>
Tetapi anda tidak bisa menyimpannya dalam format .html, anda harus menyimpannya dalam format .php

Comments

Sama seperti HTML, anda pun bisa menuliskan komentar di kode PHP anda. Untuk menuliskan komentar satu baris pada PHP harus diawali dengan dua tanda // atau sebuah tanda #. Semua teks setelah tanda tersebut tidak akan dibaca oleh PHP. Jika anda ingin menuliskan komentar lebih dari satu baris anda dapat menggunakan tanda /* dan diakhiri dengan tanda */. Contoh:
<?
// Ini merupakan kode pertama sayaprint ("Hello World!");
?>

Variables

Variabel merupakan sebuah tempat yang anda definisikan untuk menyimpan sebuah nilai. Variabel mempunyai nama yang anda definisikan dan diawali dengan tanda $. Nama variabel bebas anda dapat menuliskan dengan karakter, angka dan garis bawah "_". Nama variabel tidak boleh mengandung spasi atau karakter lain selain angka dan huruf. Contoh:
<?
$nama="bobi";
$umur=30;
$negara="Indonesia";
print "Halo nama saya $name, saya $age tahun dan tinggal di $country";
?>
Hasil:
Halo nama saya bobi, saya 30 tahun dan tinggal di Indonesia
Sudah dapet maksudnya? Jika anda lihat kode diatas, kita membuat variabel nama yang diisi dengan teks "bobi", kita kuga membuat variabel umur dan negara. Maka apabila kita menulis $umur didalam fungsi print maka yang ditampilkan adalah isi dari variabel tersebut. Kita juga dapat mengisi variabel dengan variabel yang lain serta dapat memanipulasinya. Ini contohnya:
<?
$x=3;
$y=4;
$hasil=$x+$y;
print "$x + $y = $hasil<br>";
$firstname="Dhimas";
$lastname="Ronggobramantyo";
$fullname="$firstname $lastname";
print "Nama saya adalah $fullname";
?>
Hasil:
3 + 4 = 7
Nama saya adalah Dhimas Ronggobramantyo
Jika anda lihat pada variabel "hasil" kita mengisinya dengan variabel x ditambah variabel y. Kita melakukan manipulasi yaitu menambah nilai variabel x dan y yang hasilnya disimpan pada variabel hasil. Sebelum anda meneruskan, coba anda pahami terlebih dahulu mengenai variabel, cobalah untuk mengubah kode-kode yang ada.

Array

Array merupakan sekumpulan elemen yang memiliki tipe yang sama. Di dalam array data tersimpan dengan menggunakan index untuk memudahkan pencarian kembali data tersebut. Variabel hanya memiliki sebuah nilai sedangkan array dapat mempunyai sejumlah nilai. Data dalam suatu array disebut elemen-elemen array. Semua elemen array yang tersimpan mempunyai tipe data yang sama. Array dapat berdimensi satu atau lebih (multidimensi). Oke sekarang cobalah contoh berikut ini:
<?
$name[0]="James";
$name[1]="Bobi";
$name[2]="Robert";
print "Halo nama saya $name[0] dan teman saya adalah $name[2]";
?>
Hasil:
Halo nama saya James dan teman saya adalah Robert
Mirip dengan variabel kan, hanya saja terdapat kurung siku atau dikenal dengan istilah vektor untuk membedakan antara $name yang satu dengan yang lain. Untuk membuat array anda dapat menggunakan cara lain yaitu menggunakan fungsi array(). Contoh:
$name = array("James", "Bobi", "Robert");
Pada bagian vektor (yang didalam kurung siku) tidak hanya dapat di isi angka saja tetapi juga dapat di isi oleh teks. Contoh:
<?
$country["james"]="United States";
$country["bob"]="United Kingdom";
$country["robert"]="Singapore";
print "Hallo $country[james]";
?>

If statement

Belajar pemrograman tidak akan lengkap jika belum ada if. Fungsi if digunakan untuk membuat berbagai ekspresi yang berbeda, apabila ekspresinya benar maka kode yang didalam ekspresi tersebut akan dijalankan. Untuk gampangnya perhatikan diagram kode diabawah ini:
if ( expression 1 )
{
// kode yang dijalankan apabila ekspresi 1 benar
}
elseif ( another expression 2 )
{
// kode yang dijalankan apabila ekspresi 1 salah
// dan ekspresi 2 benar
else
{
// kode yang dijalankan apabila ekspresi 1 dan 2 salah
}
Apabila ekspresi 1 bernilai benar maka kode didalamnya akan dijalankan, dan setelah itu selesai. Tetapi apabila ekspresi 1 salah maka program akan membaca ekspresi 2, apabila ekspresi 2 maka kode didalamnya akan dijalankan dan selesai. Tetapi apabila ekspresi 2 salah maka program akan menjalankan kode yang berada didalam else karena semua ekspresi sebelumnya salah. Anda dapat menambahkan elseif sebanyak apapun yang anda mau. Cobalah kode berikut ini:
<?
$x=3;
if ($x > 5) {
   
print "$x lebih besar dari 5";
} else if ($x < 5) {
   
print "$x lebih kecil dari 5";
} else if ($x == 5) {
   
print "$x sama dengan 5";
} else {    print "$x bukan merupakan angka";}
?>
Variabel $x menyimpan nilai yaitu "3". Angka "3" tidak lebih besar dari "5", Maka ekspresi pertama akan dilewati. Pada elseif berikutnya diuji apakah 3 < 5, tentu saja hasilnya benar. Maka blok kode didalamnya akan dijalankan. Cobalah untuk mengganti nilai variabel $x agar mendapatkan hasil yang berbeda-beda. Pahamilah  perbedaannya. Contoh lainnya:
<?
$score=67;
if ($score < 20) {
print "Nilai anda: $score, anda dapat E";
}
elseif ( ($score > 20) && ($score < 40) ) {
print "Nilai anda: $score, anda dapat D";
}
elseif ( ($score > 40) && ($score < 60) ) {
print "Nilai anda: $score, anda dapat C";
}
elseif ( ($score > 40) && ($score < 80) ) {
print "Nilai anda: $score, anda dapat B";
}
else {
print "Nilai anda: $score, anda dapat A";
}
?>

Switch Statement

Perintah switch merupakan alternatif pengganti dari If. Perintah switch akan menyeleksi kondisi yang diberikan dan kemudian membandingkan hasilnya dengan konstanta-konstanta yang ada didalam case. Pembandingan akan dimulai dari konstanta pertama sampai terakhir. Jika kondisi ditemukan maka program akan membaca kode didalam konstanta tersebut, dan ketika bertemu perintah break; maka program akan keluar dari fungsi switch. Untuk lebih jelasnya perhatikan diagram kode berikut ini:
switch ( expression )
{
case result1:
// Kode akan dijalankan apabila ekspresi sesuai dengan result1
break;
case result2:
// Kode akan dijalankan apabila ekspresi sesuai dengan result1
break;
default:
// Kode akan dijalankan apabila break tidak dijalankan
}
Pada dasarnya mirip dengan if, coba anda perhatikan contoh berikut ini:
<?
$sex=cowok;
switch ( $sex )
{
    case "cowok":
        print "Saya cowok";
        break;
    case "cewek":
        print "saya cewek";
        break;
    default:
        print "Saya bukan cowok/cewek 
tapi 
$sex";
}
?>

Pengulangan (while)

Fungsi while digunakan untuk melakukan pengulangan suatu blok kode. Jumlah pengulangan yang terjadi tergantung dari ekspresi yang ditentukan. Anda akan sering menggunakan fungsi while untuk mengambil data dari database. Blok diagram kode while kira-kira seperti ini:
while (ekspresi)
    Kode yang diulang
endwhile;
Inilah contohnya:
<?
$i=1;
while ($i <= 10) {
   
echo "Loop $i<br>";
   
$i++;
}
?>
Hasil:
Loop 1
Loop 2
Loop 3
Loop 4
Loop 5
Loop 6
Loop 7
Loop 8
Loop 9
Loop 10
autoincrement (++) dan autodecrement (--) sama saja artinya dengan menjumlahkan/mengurangkan nilai variabel dengan nilai satu, jadi jika kita memiliki variabel i yang bernilai 1 kemudian kita menjalankan $i++; maka nilai i akan menjadi 2. Pada kode diatas pertama-tama kita memberi nilai variabel i dengan 1. Kemudian dibawahnya ada kode while yang artinya jika nilai i lebih kecil sama dengan 10 maka kode yang berada didalam while akan dijalankan. Karena nilai i adalah 1 maka kode dijalankan yaitu mencetak teks Loop dan nilai variabel i yaitu 1. Setelah itu kode berikutnya adalah $i++; yang berarti nilai i menjadi 2.
Kembali mengecek apakah nilai i (yaitu 2) lebih kecil 10? karena benar maka kode didalam while dijalankan yaitu mencetak Loop dan nilai variabel i yaitu 2. Setelah itu kode berikutnya adalah $i++; yang berarti nilai i menjadi 3. Begitu seterusnya hingga nilai i betambah terus sampai ekspresi while salah (yaitu saat nilai i tidak lebih kecil dari 10) dan kode didalam tidak dijalankan.
Perlu di ingat apabila kita tidak memasang kode $i++; maka nilai i akan selalu 1 tidak bertambah sehingga kondisi i lebih kecil selalu tercapai dan pengulangan tidak berhenti. Hal ini akan membuat sistem berhenti bekerja, karena terus melakukan pengulangan.

Pengulangan (for)

Perintah for digunakan untuk mengulang perintah dengan jumlah pengulangan yang sudah diketahui. Pada perintah for anda tidak perlu menuliskan kondisi untuk diuji. Anda hanya menuliskan nilai awal dan akhir variabel penghitung. Nilai variabel penghitung ini akan bertambah atau berkurang setiap kali sebuah pengulangan dilakukan. Karena itu pengulangan yang tidak berhenti (seperti dalam kasus while) tidak akan terjadi. Diagram kodenya seperti ini:
for ( variable awal; ekspresi; variabel increment/decrement )
{
// Kode yang dijalankan
}
Ekspresi pertama merupakan variabel awal / nilai awal, sedangkan yang kedua merupakan kondisi yang harus dicapai agar pengulangan dilakukan, sedangkan yang ketiga merupakan peningkatan/penurunan nilai variabel. Contoh diatas yang menggunakan while jika kita menggunakan for akan seperti ini:
<?
for ($i=1; $i<=10; $i++) { 
echo "Loop $i<br>";
}
?>
Hasil:
Loop 1
Loop 2
Loop 3
Loop 4
Loop 5
Loop 6
Loop 7
Loop 8
Loop 9
Loop 10

Fungsi

Fungsi merupakan sekumpulan kode yang dapat kita panggil kembali. Ketika dipanggil maka kode-kode didalam fungsi tersebut akan dijalankan. Dengan menggunakan fungsi, program akan lebih mudah dibaca dan kita tidak perlu menulis kode yang sama berkali-kali. Kita dapat mengirimkan nilai variabel kedalam fungsi dan ketika fungsi selesai dijalankan nilai variabel tersebut dapat kita ambil kembali. Oke untuk lebih jelasnya, misalkan kita memiliki kode PHP seperti ini:
<?

$i=7;
$a=9;
$x=$i+$a;
print "$x<br>";

$i=7;
$a=9;
$x=$i+$a;
print "$x<br>";

$i=7;
$a=9;
$x=$i+$a;
print "$x<br>";

$i=7;
$a=9;
$x=$i+$a;
print "$x<br>";

$i=7;
$a=9;
$x=$i+$a;
print "$x<br>";
?>
Jika kita menulis kode tersebut, kita telah membuang-buang waktu karena kita menulis kode yang sama sebanyak 5 kali. Jika kita menggunakan function() maka kita cukup menulisnya sekali saja, dan sisanya tinggal memanggil fungsi tersebut. Oke sekarang kita coba buat kode diatas menggunakan fungsi:
<?
function myfunction() {
$i=7;
$a=9;
$x=$i+$a;
print "$x<br>";
}

myfunction();
myfunction();
myfunction();
myfunction();
?>
Kita membuat fungsi dengan nama myfunction, kita bebas memberikan nama untuk fungsi yang kita buat. Didalam fungsi myfunction terdapat sekumpulan kode. Nah untuk memanggil fungsi myfunction kita cukup menulis nama fungsinya saja yaitu myfunction();
Anda juga dapat mengirim variabel kedalam sebuah fungsi. Misal anda memiliki kode seperti dibawah ini yang dibuat tanpa fungsi:
<?
$i=1;
$j=2;
$x=$i+$j;
print "$x<br>";

$i=3;
$j=4;
$x=$i+$j;
print "$x<br>";

$i=5;
$j=6;
$x=$i+$j;
print "$x<br>";

$i=7;
$j=8;
$x=$i+$j;
print "$x<br>";
?>
Seperti yang anda lihat pada kode diatas sama semua hanya saja nilai variabelnya berbeda, kita dapat membuat fungsi dimana nilai variabelnya bisa kita masukkan. Seperti ini kodenya jika kode diatas dibuat menggunakan fungsi:
<?
function anotherfunction($i,$j) {
$x=$i+$j;
echo "$x<br>";
}

anotherfunction(1,2);
anotherfunction(3,4);
anotherfunction(5,6);
anotherfunction(7,8);
?>
function anotherfunction($i,$j). $i dan $j adalah variabel yang memiliki nilai 1 dan 2 ketika kita memanggil fungsi  anotherfunction(1,2) Jika kita memiliki fungsi:
function add($i,$j) {
...
}
Dan anda memanggil fungsi tersebut dengan add(1,2); maka nilai $i didalam fungsi tersebut adalah 1 dan nilai $j adalah 2.
Jika anda memiliki fungsi:
function substract($i,$j,$k) {
...
}
Dan anda memanggil fungsi substract(5,6,8); maka nilai $i = 5, $j = 6 dan $k = 8. Sekarang jika anda memanggil fungsi seperti ini:
$x=10;
substract(8,9,$x);


maka $i=8, $j=9 dan $k=10.
Bagaimana? sebelum anda lanjut akan lebih baik jika anda pahami betul mengenai fungsi, karena semakin besar kode PHP yang anda buat maka semakin banyak fungsi yang akan anda gunakan. Anda bisa saja membuat kode PHP tanpa fungsi, tetapi seperti yang saya bilang dengan fungsi anda bisa menghemat penulisan kode yang berulang-ulang.

Forms

Didalam dunia World Wide Web, form HTML merupakan tempat dimana kita bisa mengirimkan informasi dari pengguna ke server. PHP didesain agar dapat bekerja dan menerima informasi dari form HTML. Oke sekarang cobalah kode berikut ini dan simpan dengan nama form.php:
<form action="result.php" method="POST">
Name: <input type="text" name="myname" size="20"><br>
Address: <input type="text" name="myaddress" size="40"><br>
<input type="submit" name="submit" value="Send">
</form>
Sekarang tuliskan kode dibawah ini dan simpan dengan nama result.php:
<?
print "Selamat Datang, $myname.<br>";
print "Alamat anda adalah $myaddress";
?>
Jika anda buka result.php maka isi dari variabel $myname dan $myaddress kosong, karena memang belum anda deklarasikan isinya. Tetapi jika anda membuka file  form.php terdapat text field dengan nama "myname" dan "myaddress". Nah nama textfield ini akan menjadi nama variabel apabila kita mengirimkannya ke PHP. Buka form.php dan coba anda isi text nama dan alamat. Ketika tombol diklik maka variabel tersebut akan dikirim ke file post.php. Dan file post.php akan menerimanya dan menampilkannya.
Anda dapat mengirim nilai variabel tersebut ke file itu sendiri. Metode ini biasanya yang paling sering digunakan. Untuk mengirim variabel ke file dirinya sendiri ubah saja form action ke <?=$PHP_SELF?>. Cobalah kode dibawah ini dan simpan dengan nama self.php:
<html>
<head>
</head>
<body>
<?
If ($ok) {
print "Selamat Datang, $myname.<br>";
print "Alamat anda adalah $myaddress<br>";
}
?>
<form action="<?$PHP_SELF?>" method="POST">
Name: <input type="text" name="myname" size="20"><br>
Address: <input type="text" name="myaddress" size="40"><br>
<input type="submit" name="ok" value="Send">
</form>
</body>
</html>

Beberapa fungsi built in PHP

PHP memiliki buanyak fungsi didalamnya. Buanyak bukan banyak, karena memang sangat banyak. Anda dapat membaca semua fungsinya di manual PHP. Belum lagi class-class yang tersebar di internet. Dijamin anda akan menemukan apa yang anda butuhkan. Oke, kembali ke fungsi. Saya akan menerangkan 3 fungsi dalam PHP yaitu date(), strlen() dan substr().
Fungsi date() digunakan untuk menampilkan tanggal dari server. Kita bisa mengatur hasil tampilan dari date() sesuka hati kita. Inilah kode-kode yang digunakan untuk menampilkan format date():
Format Deskripsi Hasil
a 'am' atau 'pm' huruf kecil pm
A 'AM' atau 'PM' huruf besar PM
d Tanggal (dengan angka diawali dengan 0) 20
D Hari (3 huruf) Thu
F Bulan January

Jam (format 12 jam - diawali dengan 0) 03
H Jam (format 24 jam - diawali dengan 0) 20
g Jam (format 12 jam - tanpa 0) 3
G Jam (format 24 jam - tanpa 0) 20
i Menit 47
j Tanggal (tanpa 0) 3
1 Hari Thursday
L Melompati tahun ('1' untuk ya, '0' untuk no) 1
m Bulan (angka - diawali dengan 0) 01
M Bulan (3 huruf) Jan
n Bulan (angka - tanpa 0) 1
s Detik 24
U Time stamp 1142743213
y Tahun (2 digit) 06
Y Tahun (4 digit) 2006
z Jumlah hari dalam setahun (0-365) 19
Z Waktu dari GMT 0
Contoh:
<?
print "Today is ";
print date("j of F Y, \a\\t g.i a");
?>
Hasil:
Today is 11 of October 2007, at 11.42 am
Bagaimana? mudah bukan untuk menampilkan tanggal pada PHP, sekarang kita pelajari strlen()
strlen() digunakan untuk mengetahu panjang dari string atau jumlah karakter dalam string. strlen() memerlukan masukan berupa string dan akan mengembalikan nilai yang merupakan jumlah karakter dalam string tersebut.
substr() digunakan untuk memotong suatu string dengan menentukan posisi karakter awal dan jumlah karakter yang akan dipotong. Daripada bingung cobalah kode berikut ini:
<?
$text="Computer";
print strlen("$text");
print "<br>";
print substr("$text",3);
print "<br>";
print substr("$text",3,3);
?>
Hasil:
8
puter
put
Bagaimana? mudah kan. Semua yang telah anda baca, mulai dari menginstall hingga bagian ini merupakan dasar-dasar dari PHP dan masih banyak lagi yang harus dipelajari. Tetapi karena anda telah mengetahui dasarnya, maka tidak akan terlalu sulit apabila anda ingin mempelajari PHP lebih dalam lagi.

Senin, 29 November 2010

PHP Dasar – Beberapa Aturan dalam Penulisan Script PHP

Free Software
Pada artikel ini akan dipaparkan mengenai beberapa aturan dalam penulisan script (sintaks) dalam PHP. Aturan tersebut meliputi cara menuliskan blok script PHP, menyimpan file script, penggunaan semicolon serta penggunaan spasi baris dalam script.

Apabila Anda akan membuat script PHP, maka script tersebut harus ditulis di antara tanda berikut ini:
1.&lt;?php
2..
3..
4..
5..
6..
7.?&gt;
atau
1.&lt;?
2..
3..
4..
5..
6..
7.?&gt;
Tanda <?php atau <? dinamakan tag pembuka dari script, sedangkan ?> dinamakan tag penutup. Kedua tanda itu mutlak harus ada karena berfungsi sebagai penanda bahwa script tersebut merupakan script PHP dan nantinya akan diproses oleh server.
Contoh script PHP sederhana:
1.&lt;?php
2.echo "Hello World!!";
3.?&gt;
Apabila Anda membuat script PHP dan berencana akan mendistribusikan ke pihak/orang lain, maka usahakan untuk menggunakan sintaks <?php … ?>. Hal ini dikarenakan untuk penggunaan kode yang menggunakan <? ?> terkadang tidak bisa dijalankan dalam server tertentu.
Menyimpan File PHP
Apabila Anda memiliki script PHP yang disisipkan dalam HTML dalam suatu file dan menginginkan web server dapat menjalankannya, maka file tersebut harus disimpan dalam ekstensi .php. Apabila Anda menyimpannya dengan ekstensi .html atau .htm, maka script PHP tersebut tidak akan diproses dan akan ditampilkan dalam web browser seperti apa adanya (berupa kode-kode).
Contoh:
01.&lt;html&gt;
02.&lt;head&gt;
03.&lt;title&gt;Halaman PHP pertamaku&lt;/title&gt;
04.&lt;/head&gt;
05.&lt;body&gt;
06.&lt;?php
07.echo "Hello World!";
08.?&gt;
09.&lt;/body&gt;
10.&lt;/html&gt;
Penggunaan Tanda Semicolon (;)
Apabila Anda perhatikan contoh sebelumnya, maka terdapat tanda titik koma (semicolon) pada akhir perintah echo. Tanda semicolon merupakan penanda akhir dari setiap statement PHP dan tanda ini harus ada.
Perhatikan contoh script PHP yang lain berikut ini:
01.&lt;html&gt;
02.&lt;head&gt;
03.&lt;title&gt;Halaman PHP pertamaku&lt;/title&gt;
04.&lt;/head&gt;
05.&lt;body&gt;
06.&lt;?php
07.echo "Hello World! ";
08.echo "Hello World! ";
09.echo "Hello World! ";
10.echo "Hello World! ";
11.echo "Hello World! ";
12.?&gt;
13.&lt;/body&gt;
14.&lt;/html&gt;
Perpindahan Spasi
Seperti halnya HTML, pergantian spasi dalam PHP tidak akan mempengaruhi tampilan hasilnya. Dengan kata lain, pergantian spasi akan diabaikan oleh PHP. Perhatikan contoh berikut ini. Pada contoh ini diberikan tiga bentuk penulisan kode PHP yang berbeda namun akan dihasilkan tampilan yang sama dalam web browser.
Script 1
01.&lt;html&gt;
02.&lt;head&gt;
03.&lt;title&gt;Halaman PHP pertamaku&lt;/title&gt;
04.&lt;/head&gt;
05.&lt;body&gt;
06.&lt;?php
07.echo "Hello World! ";
08.echo "Hello World! ";
09.?&gt;
10.&lt;/body&gt;
11.&lt;/html&gt;
Script 2
01.&lt;html&gt;
02.&lt;head&gt;
03.&lt;title&gt;Halaman PHP pertamaku&lt;/title&gt;
04.&lt;/head&gt;
05.&lt;body&gt;
06.&lt;?php
07.echo "Hello World! "; echo "Hello World! ";
08.?&gt;
09.&lt;/body&gt;
10.&lt;/html&gt;
Script 3
01.&lt;html&gt;
02.&lt;head&gt;
03.&lt;title&gt;Halaman PHP pertamaku&lt;/title&gt;
04.&lt;/head&gt;
05.&lt;body&gt;
06.&lt;?php
07.echo "Hello World! ";
08. 
09.echo "Hello World! ";
10.?&gt;
11.&lt;/body&gt;
12.&lt;/html&gt;
VN:F [1.9.6_1107]
Rating: 6.0/10 (3 votes cast)
PHP Dasar - Beberapa Aturan dalam Penulisan Script PHP, 6.0 out of 10 based on 3 ratings

Beberapa artikel terkait

Senin, 22 November 2010

drop menu blog

Cara Membuat Menu Pull-Down



Untuk menghemat ruang di blog kamu, menu pull down sangat efektif untuk di pasang di blog. misalkan untuk menaruh link teman, atau sesuai keinginan kamu.

Contohnya seperti ini :


Tertarik untuk mencoba ? Berikut cara memasang menu pull-down di blog

Menu pull-down di blogger baru (BETA / TEMPLATE XML)

Login ke blogger.com

Klik Tata Letak -> Tambah Gadget -> Javascript / HTML -> copy/paste kode di bawah ke kotak yang tersedia.

Klik Simpan. Selesai.

Menu pull-down di blogger lama (TEMPLATE CLASSIC)

Login ke blogger.com dg ID dan password Anda seperti biasa.

Klik judul blog Anda, dan klik TEMPLATE.

Di antara BEGIN SIDEBAR dan END SIDEBAR pasang kode berikut (copy dan paste):


<select name="menu" onchange="window.open(this.options[this.selectedIndex].value,'_blank')"size=1 name=menu>
<form><option value=0 selected>- Menu blog info -</option>
<option value="http://www.poetra-anoegrah.co.cc/">Blog info</option>
<option value="http://www.poetra-anoegrah.co.cc/search/label/Tutorial%20Blog">Tutorial Blog</option>
<option value="http://www.poetra-anoegrah.co.cc/search/label/teknologi">Teknologi</option>
<option value="http://www.poetra-anoegrah.co.cc/search/label/info%20facebook">Info Facebook</option>
<option value="http://www.poetra-anoegrah.co.cc/search/label/Info%20News">Info News</option>
<option value="http://www.poetra-anoegrah.co.cc/search/label/Tips%20Handphone">Tips Handphone</option>
</select></form>



Nb : Gantti warna hijau dengan Judul yang kamu inginkan dan warna merah dengan URL yang kamu inginkan.

Setelah itu klik SAVE .


baca selengkapnya di : http://www.poetra-anoegrah.co.cc/2010/05/cara-membuat-menu-pull-down.html#ixzz169ISMsto

reset canon mp 145 / 150

The number of the Reset
button pressing
LED Function Remarks
0 time Green Power off
1 time Orange Service pattern print
2 times Green EEPROM print
3 times Orange EEPROM reset
4 times Green Waste ink counter reset
5) Unplug cable power. (for MP145 / MP150)
6) Turn Off Power. (for MP160)
Error Code :
E2-2 = No paper (ASF)
E3-3 = Paper jam
E4 = No ink
E5-5 = The ink cartridges are not installed or a non-supported ink cartridge is installed, or the ink cartridges are not installed properly
E8 = Waste ink absorber full, or platen waste ink absorber full
E9 = The connected digital camera / video camera does not support Camera Direct Printing
E14 = The Ink cartridges whose destination are wrong
E15 = Ink cartridge is not installed E16 – Ink remaining is unknown
E16 -E19 = Failed to scan head alignment sheet
E22 = Carriage error
E23 = Paper feed error
E24 = Purge unit error
E25 = ASF(cam) sensor error
E26 = Internal temperature rise error
E27 = Waste ink absorber full or platen waste ink absorber full
E28 = Ink cartridge temperature rise error -
E29 = EEPROM error
E33 = Paper feed position error
E35 15 = USB Host VBUD overcurrent error – USB
E37 17 = Abnormal motor driver error
E40 20 = Other hardware error
E42 22 = Scanner error
MERESET WASTE INK COUNTER PADA CANON MP160 DAN MP145
1. Matikan printer (kabel power masih tercolok), tekan dan tahan tombol STOP/RESET kemudian tekan tombol ON/OFF dan lepas STOP/RESET
2. Tahan tombol ON/OFF, tekan tombol STOP/RESET 2x
3. Lepaskan kedua tombol dan printer akan masuk ke SERVICE MODE (muncul angka NOL)
4. Printer akan charging
5. Setelah printer selesai charging, tekan tombol STOP/RESET 4x.
6. Setiap kali tombol STOP/RESET ditekan, lampu ON/OFF akan berubah warna hijau dan oranye.
7. Tekan tombol ON/OFF 1X, angka berubah ke SATU (1)
8. Matikan printer dan cabut kabel POWER.
9. Hidupkan kembali printer

Kode Error Canon MP160 dan MP145
E2-2 = No paper (ASF)
E3-3 = Paper jam
E4 = No ink
E5-5 = The ink cartridges are not installed or a non-supported ink cartridge is installed, or the ink cartridges are not installed properly
E8 = Waste ink absorber full, or platen waste ink absorber full
E9 = The connected digital camera / video camera does not support Camera Direct Printing
E14 = The Ink cartridges whose destination are wrong
E15 = Ink cartridge is not installed E16 – Ink remaining is unknown
E16 -E19 = Failed to scan head alignment sheet
E22 = Carriage error
E23 = Paper feed error
E24 = Purge unit error
E25 = ASF(cam) sensor error
E26 = Internal temperature rise error
E27 = Waste ink absorber full or platen waste ink absorber full
E28 = Ink cartridge temperature rise error -
E29 = EEPROM error
E33 = Paper feed position error
E35 15 = USB Host VBUD overcurrent error – USB
E37 17 = Abnormal motor driver error
E40 20 = Other hardware error
E42 22 = Scanner error

Selasa, 02 November 2010

W32/Rontokbro.LD Return of the “KERE”, hati-hati dengan SexyIndoGirls

Masih ingat dengan VBWorm.ZL dimana virus ini akan mencoba  memanipulasi file dengan ekst. EXE, COM, BAT dan PIF sehingga jika anda menjalankan file dengan ekstesi tersebut, satu hal yang menjadi ciri utama adalah munculnya gambar mr.halloween yang disertai beberapa baris pesan dari sang pembuat virus.
 
Walaupun masih menggunakan bahasa VB tetapi aksi yang dilakukan patut mendapat acungan “jempol”. Dengan mencoba blok berbagai fungsi windows apalagi di dukung dengan kemampuan untuk memanipulasi ekst yang sudah disebutkan di atas pembersihan melalui DOS adalah langkah yang tepat  untuk dilakukan.
 
Jika kita melihat ke belakang [Sejarah], Anda tentu masih ingat dengan  sejarah perkembangan komputer, jika dulu komputer itu mempunyai ukuran yang “sangat” besar kini pada perkembangan selanjutnya komputer mempunyai ukuran yang sangat kecil dan jangan salah walaupun kecil ukurannya semakin canggih fiture dan teknologi yang ada didalamnya, begitupun dengan virus Rontokbro.LD, setelah kemunculan varian pertama yang mempunyai ukuran 88 KB [Norman mendeteksi sebagai W32/VBWorm.ZL], kini sang virus sudah mengeluarkan generasi kedua dengan ukuran lebih kecil yakni 80 KB dengan sedikit modifikasi virus ini berhasil berada setingkat lebih tinggi dari varian  sebalumnya dan seperti pendahulunya untuk varian ini masih menggunakan bahasa VB. Walaupun varian kedua ini mempunyai ukuran lebih kecil tetapi aksi yang dilakukan nya jauh lebih cangggih dibandingkan varian awalnya hal ini sesuai dengan tuntutan jaman dimana semakin kecil ukuran dari sebuah virus maka semakin cepat pula virus tersebut akan menyebar dan semakin ganas payload yang dimilikinya.
 
Perbedaan yang menonjol dari kedua virus ini adalah dimana untuk varian kedua [Rontokbro.LD]  mempunyai kemampuan untuk “Disable Klik kanan” dan blok semua file executable [EXE], jadi walaupun komputer anda sudah bersih dari Rontokbro.LD maka setiap kali anda menjalankan file executable [EXE] dari sebuah program akan muncul pesan error sehingga program tersebut tidak dapat dijalankan, selain itu Rontokbro.LD juga akan mencoba blok “shut Down/Restart/Log Off” dengan cara mematikannya ditambah dengan kemampuannya untuk melakukan restart jika user menjalankan fungsi REGEDIT.
 
Ciri utama dari virus ini sama dengan varian sebelumnya yakni akan memunculkan pesan setiap kali komputer dinyalakan dengan pesan judul “KERE”. (lihat gambar 1)
 
Gambar 1, Pesan yang ditampilkan setiap kali komputer booting
 
Dengan update terakhir Norman sudah dapat mengenali virus ini dengan baik sebagai Rontokbro.LD (lihat gambar 2)
 
Gambar 2, Hasil scanning antivirus Norman
 
Sama seperti pendahulunya Rontokbro.LD juga akan mencoba untuk blok dari berbagai arah agar dirinya tetap aktif hal ini diperparah dengan kemampuannya untuk  manipulasi semua file yang mempunyai ekst. EXE dengan merubah string di registry agar jika setiap kali user menjalankan file dengan ekst. EXE maka secara otomatis akan menjalankan dirinya.
 
Selain itu Rontokbro.LD juga akan menyembunyikan file EXE dari sebuah program aplikasi yang dijalankan serta akan membuat file duplikat sesuai dengan nama file yang disembunyikan. selain manipulasi file dengan ekst. EXE, Rontokbro.LD juga akan manipulasi file dengan ext. COM, PIF, BAT dan LNK. Pembersihan melalui mode Normal, safe mode atau safe mode with command prompt akan sangat sulit dilakukan oleh karena itu pembersihan melalui DOS merupakan pilihan yang tepat yang dapat dilakukan.
 
Untuk mengelabui user, Rontokbro.LD akan menggunakan icon “Folder” dengan  exstension EXE serta mempunyai type file sebagai “Application”, tetapi  jika virus tersebut sudah menginfeksi komputer maka type file “Application” akan berubah menjadi  “File Folder” dengan melakukan perubahan pada string registry, dengan demikian semakin sempurnalah penyamaran yang dilakukan oleh Rontokbro.LD (lihat gambar 3)
 
Gambar 3, File yang terinfeksi Rontokbro.LD
 
Jika file tersebut dijalankan maka akan muncul sebuah pesan dari si pembuat virus, jika pada varian awalnya akan mempunyai judul “Jeritan Suara Hati” tetapi untuk varian kedua akan mempunyai judul “KERE”, lihat gambar 1 :
 
Jika virus sudah menginfeksi komputer Rontokbro.LD akan membuat beberapa file induk yang akan dijalankan pertama kali setiap kali komputer dinyalakan, diantaranya:
 
-          Data %user logon%.exe di setiap partisi Hard Disk
-          C:\kere.exe
-          Membuat folder KERE pada setiap Drive, dimana folder ini berisi 2 buah file dengan nama "folder.htt" dan "sexyIndoGirls.pif".
-          C:\Documents and Settings\All Users\Start Menu\Programs\Startup
§         Empty.pif
§         Empty.exe dan Startup.exe
 
-          C:\Documents and Settings\Default User\Start Menu\Programs\Startup
§         Startup.exe
-          C:\Documents and Settings\%user%\Application Data\Microsoft\Word\STARTUP
§         Startup.exe      
 
-          C:\WINDOWS\system32\config\systemprofile\Start Menu\Programs\Startup
§         Startup.exe
-          C:\Documents and Settings\%user%\Local Settings\Application Data
§         IExplorer.exe
§         shell.exe
§         csrss.exe
§         kere.exe
§         lsass.exe
§         services.exe
§         winlogon.exe
-          C:\Documents and Settings\%user%\Local Settings\Application Data\WINDOWS
§         Csrss.exe
§         lsass.exe
§         services.exe
§         smss.exe
§         winlogon
-          C:\Documents and Settings\%user%\Start Menu\Programs\Startup
§         Startup.exe
 
-          C:\Program Files\Microsoft Office\OFFICE11\STARTUP
§         Startup.exe
-          C:\Windows
§         kERe.exe
 
-          C:\WINDOWS\system32
§         MrBugs.scr
§         IExplorer.exe
§         Shell.exe
-          C:\Windows\Downloaded Program Files\SexyIndoGirls.pif
-          C:\Windows\Downloaded Program Files\CONFLICT.X\SexyIndoGirls.pif, dimana X menunjukan angka acak
 
-------------------------------------------------------------------------------------------------------
Catatan:
%user logon% menunjukan user yang digunakan untuk login ke windows
-------------------------------------------------------------------------------------------------------
 
Sebagai penunjang agar file tersebut dapat dijalankan, ia akan membut beberapa string pada registry dibawah ini:
 
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    • Logon%user logon% = C:\Documents and Settings\%user%\Local Settings\Application Data\WINDOWS\CSRSS.EXE
    • System Monitoring = C:\Documents and Settings\%user%\Local Settings\Application Data\WINDOWS\LSASS.EXE
 
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
    • Shell = Explorer.exe "C:\WINDOWS\System32\IExplorer.exe"
    • userinit = C:\WINDOWS\System32\userinit.exe,C:\WINDOWS\System32\IExplorer.exe
 
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
    • kERe = C:\WINDOWS\kERe.exe
    • MSMSGS = C:\Documents and Settings\%user%\Local Settings\Application Data\WINDOWS\WINLOGON.EXE
    • Service%user logon% = C:\Documents and Settings\%user%\Local Settings\Application Data\WINDOWS\SERVICES.EXE
-------------------------------------------------------------------------------------------------------
Catatan:
%user logon% menunjukan user yang digunakan untuk login ke windows
-------------------------------------------------------------------------------------------------------
 
Manipulasi Screen Saver Windows
Selain itu Kere juga akan memanipulasi “Screen Saver Windows” [menyamar seolah-olah sebagai screen saver] dengan mengganti file yang akan di jalankan menjadi Mr.Bugs.scr file ini akan disimpan didirektori [C:\Windows\system32]. File ini akan dijalankan pada waktu-waktu yang telah ditentukan sehingga secara otomatis akan mengaktifkan dirinya. Untuk melakukan hal tersebut ia akan merubah string pada registry berikut:
  • HKEY_CURRENT_USER\Control Panel\Desktop
C:\WINDOWS\System32\MRBugs.scr
 
Untuk mempertahankan dirinya Rontokbro.LD akan mencoba untuk melakukan Disable beberapa software security termasuk antivirus maupun fungsi windows seperti regedit, msconfig, task manager, folder option dan cmd selain itu Rontokbro.LD juga akan disable klik kanan [sedangkan pada VBWorm.ZL tidak disable klik kanan] dengan membuat string pada registry berikut:
 
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer
    • NoFolderOptions
    • NoViewContextMenu
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system
    • DisableRegistryTools
    • DisableTaskMgr
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVerision\Policies\Explorer
    • NoTrayContextMenu
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVerison\Policies\Explorer
    • NoTrayCOntextMenu
    • NoClose
    • NoFind
    • NoSetFolders
    • NoSetTaskbar
  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system
    • DisableRegistryTools
    • DisableTaskMgr
    • DisableCMD
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\WinOldApp
    • Disabled =1
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
    • NoFolderOptions
    • NoViewContextMenu
 
Rontokbro.LD juga akan mematikan “system restore” dan blok file installer yang mempunyai ekst. MSI dengan membuat string pada registry berikut : (lihat gambar 4)
  • HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\ SystemRestore
    • DisableConfig
    • DisableSR
  • HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer
    • DisableMSI = 1
    • LimitSystemRestoreCheckpointing = 1
 
Gambar 4, Rontokbro.LD  menyembunyikan tabulasi “System restore”
 
Manipulasi file .EXE, .COM, .BAT, .PIF dan .LNK
Harap hati-hati... jika anda terinfeksi Rontokbro.LD [juga VBWorm.ZL] jangan sesering mungkin menjalankan file yang mempunyai ekst. .exe, .com, .bat, .pif dan .lnk karena jika anda menjalankan file dengan extension tersebut maka secara tidak langsung akan mengaktifkan virus tersebut. Untuk melakukan hal ini  ia akan  merubah string pada registry berikut:
 
  • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\comfile\shell\open\command
§         Default = "C:\WINDOWS\System32\shell.exe" "%1" %*
  • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\open\command
§         Default = "C:\WINDOWS\System32\shell.exe" "%1" %*
  • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\piffile\shell\open\command
§         Default = "C:\WINDOWS\System32\shell.exe" "%1" %*
  • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\lnkfile\shell\open\command
§         Default = "C:\WINDOWS\System32\shell.exe" "%1" %*
  • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\exefile\shell\open\command
§         Default = "C:\WINDOWS\System32\shell.exe" "%1" %*
 
Rontokbro.LD juga akan mebut merubah string pada registry berikut:
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
§         Auto = 1
§         Debugger = "C:\WINDOWS\System32\Shell.exe"
 
Selain itu jika komputer anda sudah bersih dari pengaruh Rontokbro.LD tetapi selama anda tidak membersihkan string registry yang telah disebutkan di atas maka setiap kali anda  menjalankan program yang mempunyai ekstensi .exe, .com, .pif, .lnk dan .bat maka akan muncul pesan error seperti terlihat pada gambar dibawah 5 dan 6 ini :
 
Gambar 5, Pesan error pada saat menjalankan program [gambar1]
 
                              Gambar 6
 
Menyembunyikan file eksekusi dari sebuah program
Sama seperti pada varian sebalumnya [VBWorm.ZL] Rontokbro.LD juga akan menyembunyikan setiap file executable [.exe] dari sebuah program jika program tersebut dijalankan kemudian untuk mengelabui user ia akan membuat file duplikat sesuai dengan nama file yang disembunyikan dengan ciri-ciri:
  • Menggunakan icon “Folder”
  • Ukuran 80 KB
  • Ext. .EXE
  • Type file “File Folder” walaupun sebenarnya merupakan “Application” hal ini disebebkan karena virus ini akan merubah type file dari “Application” menjadi “File Folder” teknik ini juga digunakan untuk mengelabui user.
 
Merubah type file dari “Application” menjadi “File Folder”
Jika komputer anda terinfeksi virus ini coba perhatikan semua file yang mempunyai ext. EXE dimana sebelumnya akan mempunyai type sebagai file “Apllication” kini akan berubah menjadi “File Folder”. Rontokbro.DL sebenarnya mempunyai tujuan lain dalam merubah type file tersebut yakni agar user terkecoh dengan file yang sudah terinfeksi sehingga dengan “tenang” user akan menjalankan file tersebut, tapi kenapa hal ini bisa terjadi ??? hal ini disebabkan Rontokbro.LD akan menggunakan icon “Folder” sehingga dengan type file sebagai “File Folder” maka semakin sempurnalah penyamaran virus tersebut, karena user beranggapan file tersebut adalah “Folder” bukan “applikasi”. Untuk melakukan hal tersebut Rontokbro.LD akan merubah string pada registry berikut : (lihat gambar 7)
 
  • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\exefile
    • Default = File Folder
Gambar 7, Manipulasi registri oleh Kere yang mengakibatkan file virus terlihat “seolah-olah” folder
 
Manipulasi file MSVBVM60.dll
Program bahasa yang digunakan untuk membuat Virus ini adalah bahasa VB. Anda pasti sudah tahu  bahwa agar semua file yang dibuat dengan menggunakan bahasa VB tidak aktif [termasuk virus] anda hanya perlu merubah file msvbvm60.dll yang berada didirektori [C:\windows\system32] menjadi nama file lain [contoh: msvbvm60old]. Tetapi rupanya virus ini belajar dari pengalaman, dengan tujuan agar Rontokbro.LD dapat tetap aktif dan user kesulitan dalam merubah file tersebut maka Rontokbro.LD akan copy file yang sama [msvbvm60.dll] ke direktori [C:\windows] dengan attribut “hidden” begitupun file msvbvm60.dll yang ada di direktori [C:\windows\system32] juga akan disembunyikan.
 
Aktif pada mode safe mode dan safe mode with command prompt
Sebagai upaya untuk mempertahankan dirinya, Rontokbro.LD akan tetap aktif walaupun komputer di booting pada mode “safe mode” dan “safe mode with command prompt” sehingga mempersulit proses pembersihan dengan melakukan perubahan pada registry berikut:
  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SafeBoot
    • AlternateShell = C:\WINDOWS\kERe.exe
  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Control\SafeBoot
    • AlternateShell = C:\WINDOWS\kERe.exe
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot
    • AlternateShell = C:\WINDOWS\kERe.exe
 
Membuat file duplikat
Sebagai penutup Rontokbro.LD  akan membuat file duplikat disetiap folder dan sub folder sesuai dengan nama folder/file  yang ada di foldersubfolder tersebut dengan ciri-ciri
  • Menggunakan icon “Folder”
  • Ukuran 80 KB
  • Ext. .EXE
  • Type file “File Folder” walaupun sebenarnya merupakan “Application” hal ini disebebkan karena virus ini akan merubah type file dari “Application” menjadi “File Folder” teknik ini juga digunakan untuk mengelabui user.
 
Media penyebaran
Sama seperti varian awalnya [VBWorm.ZL], Untuk menyebarkan dirinya Rontokbro.LD masih menggunakan media Disket/UFD dengan copy beberapa file serta membuat file duplikat disetiap folder dan sub folder dengan nama file sesuai dengan nama folder yang disembunyikan, berikut beberapa file yang di copy ke media Disket/UFD:
 
  • Data %user logon%.exe
  • Membuat folder KERE [hidden file] dimana folder ini berisi 2 file yakni “folder.htt” dan “SexyIndoGirls.pif”
 
Catatan:
%user logon% menunjukan user yang digunakan untuk login ke windows
Cara membersihkan Rontokbro.LD secara manual
  1. Putuskan hubungan komputer yang akan dibersihkan dari Jaringan [LAN/WAN]
  2. Matikan proses virus yang aktif di memori. Sebagaimana yang telah dijelaskan di awal bahwa virus ini sulit untuk dibersihkan baik melalui mode “Normal”, “safe mode” atau “safe mode with command prompt” karena ia akan mencoba untuk blok dari berbagai arah agar dirinya tetap aktif termasuk untuk memanipulasi file dengan ext. exe, com, bat, lnk dan pif dengan merubah ke lokasi file induk virus tersebut sehingga jika anda menjalankan file dengan ext tersebut maka secara tidak langsung akan menjalankan virus tersebut, oleh karena itu pembersihan sebaiknya dilakukan melalui mode DOS PROMPT.
 
Jika komputer anda terinstall Windows dengan OS NT/2000/XP/2003 dengan format NTFS anda dapat menggunakan software NTFS for DOS. Tools ini digunakan untuk membuat  Disket Stratup yang nantinya digunakan untuk menghapus file induk virus tersebut, software ini dapat di download di alamat http://www.free-av.com/antivirclassic/avira_ntfs4dos.html. Setelah berhasil download dan menginstall software tersebut buat Disket Startup, untuk membuat disket stratup anda hanya membutuhkan 1 [satu] disket saja. Setelah sisket starup tersebut berhasil dibuat booting komputer melalui disket.
 
Sebagai informasi Rontokbro.LD dibuat dengan menggunakan program bahasa VB dengan demikian untuk mematikan proses virus tersebut untuk sementara waktu anda hanya perlu merubah file MSVBVM60.dll, Ingat !! virus ini juga akan membuat file MSVBVM60.dll pada direktori [C:\Windows] oleh karena itu selain anda merubah file MSVBVM60.dll di direktori [C:\Windows\System32] anda juga harus merubah file yang sama pada direktori [C:\Windows]
 
Jika anda menggunakan Software NTFS for DOS biasanya Drive System [C:\] akan menjadi Drive terakhir [contohnya: jika Hard Disk anda mempunyai 2 partisi maka partisi C:\ (system) menjadi D:\.
 
Setelah anda berhasil masuk ke dalam lingkungan DOS dengan menggunakan NTFS for DOS pastikan kursor berada di Drive system anda [contoh D:\] kemudian rename file MSVBVM60.dll yang ada didirektori [C:\Windows dan C:\Windows\system32] dengan terlebih dahulu masuk ke direktori yang telah disebutkan diatas terlebih dahulu. Setelah itu ketik perintah DIR /AH [untuk melihat file yang di sembunyikan] kemudian ketik kambali perintah ren msvbvm60.dll msvbvm60old kemudian tekan tombol [enter], untuk lebih jelasnya perhatikan gambar 8 dibawah ini :
 
Gambar 8, Merubah file msvbvm60.dll pad DOS Prompt
           
Setelah  berhasil merubah file MSVBVM60.dll, restart komputer dan booting ke mode “normal”.
 
Pesan error setelah merubah file msvbvm60.dll
Setelah anda merubah file msvbvm60.dll dan jika anda mencoba untuk menjalankan suatu program [bukan cuma program yang dibuat dengan Visual Basic saja] maka akan muncul pesan error “seolah-olah program tersebut tidak dapat menemukan file msvbvm60.dll” hal ini karena Rontokbro.LD akan mengalihkan ke lokasi file virus  itu sendiri [C:\Windows\system32\shell.exe].Perhatikan gambar dibawah 9 ini
 
Gambar 9, Pesan error ketika menjalankan program
 
  1. Hapus string registry yang dibuat oleh virus. Untuk mempercepat proses penghapusan salin script dibawah ini pada program “notepad” kemudian simpan dengan nama repair.inf setelah itu jalakan file tersebut dengan cara:
    1. Klik kanan repair.inf
    2. Klik Install
 
Tetapi Rontokbro.LD akan mencoba untuk blok fungsi klik kanan pada desktop atau file sehingga user akan kesulitan untuk menjalankan file tersebut [repair.inf], oleh karena itu anda harus mengaktifkan kembali fungsi klik kanan tersebut. Untuk mengaktifkan fungsi klik kanan salin script dibawah ini pada program notepad kemudian simpan dengan nama repair.bat dan jalankan file tersebut dengan cara klik 2 x file tersebut.
 
Dim oWSH: Set oWSH = CreateObject("WScript.Shell")
on error resume Next
oWSH.RegDelete("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system\DisableRegistryTools")
oWSH.RegDelete("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\explorer\NoViewContextMenu")
oWSH.RegDelete("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVerision\Policies\explorer\NoTrayCOntextMenu")
oWSH.RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\explorer\NoViewContextMenu")
 
Setelah itu restart komputer dan booting pada mode “Normal”. Setelah fungsi klik kanan dapat kembali digunakan, hapus sisa string yang masih ada, untuk mempercepat salin script dibawah ini pada program notepad dan simpan dengan nama repair.inf kemudian jalankan file tersebut [klik repair.inf à klik install]
 
[Version]
Signature="$Chicago$"
Provider=Vaksincom
 
[DefaultInstall]
AddReg=UnhookRegKey
DelReg=del
 
[UnhookRegKey]
HKLM, Software\CLASSES\batfile\shell\open\command,,,"""%1"" %*"
HKLM, Software\CLASSES\comfile\shell\open\command,,,"""%1"" %*"
HKLM, Software\CLASSES\exefile\shell\open\command,,,"""%1"" %*"
HKLM, Software\CLASSES\piffile\shell\open\command,,,"""%1"" %*"
HKLM, Software\CLASSES\regfile\shell\open\command,,,"regedit.exe "%1""
HKLM, Software\CLASSES\scrfile\shell\open\command,,,"""%1"" %*"
hklm, SOFTWARE\Classes\lnkfile\shell\open\command,,,"""%1"" %*"
HKLM, SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug,Auto,0x00000020,0
HKLM, SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug,Debugger,0,
HKLM, SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon, Shell,0, "Explorer.exe"
HKLM, SOFTWARE\Classes\exefile,,,"Application"
HKLM, SYSTEM\ControlSet001\Control\SafeBoot, AlternateShell,0, "cmd.exe"
HKLM, SYSTEM\ControlSet002\Control\SafeBoot, AlternateShell,0, "cmd.exe"
HKLM, SYSTEM\ControlSet003\Control\SafeBoot, AlternateShell,0, "cmd.exe"
HKLM, SYSTEM\CurrentControlSet\Control\SafeBoot, AlternateShell,0, "cmd.exe"
HKCU, Control Panel\Desktop, SCRNSAVE.EXE,0,
HKLM, SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon, Userinit,0, "C:\Windows\system32\userinit.exe,"
 
[del]
HKCU, Software\Microsoft\Windows\CurrentVersion\Run,kERe
HKCU, Software\Microsoft\Windows\CurrentVersion\Run,MSMSGS
HKCU, Software\Microsoft\Windows\CurrentVersion\Policies\Explorer, NOFolderOptions
HKCU, Software\Microsoft\Windows\CurrentVersion\Policies\System, DisableCMD
HKCU, Software\Microsoft\Windows\CurrentVersion\Policies\System, DisableRegistryTools
HKCU, SOFTWARE\Microsoft\Windows\CurrentVersion\policies\System, DisableTaskMgr
HKLM, SOFTWARE\Microsoft\Windows\CurrentVersion\Run,System Monitoring
HKLM, SOFTWARE\Microsoft\Windows\CurrentVersion\policies\System, DisableTaskMgr
HKLM, SOFTWARE\Microsoft\Windows\CurrentVersion\policies\System, DisableRegistryTools
HKLM, SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer, NoFolderOptions
HKLM, SOFTWARE\Policies\Microsoft\Windows NT\SystemRestore
HKLM, SOFTWARE\Policies\Microsoft\Windows\Installer, DisableMSI
HKLM, SOFTWARE\Policies\Microsoft\Windows\Installer, LimitSystemRestoreCheckpointing
 
------------------------------------------------------------------------------------------
Catatan:
Sebelum menjalankan repair.inf lakukan pengecekan ulang pada script berikut:
 
    • HKLM, SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon, Userinit,0, "C:\Windows\system32\userinit.exe,"
 
Kemudian ganti pada baris C:\Windows\system32\userinit.exe, menjadi C:\Winnt\system32\userinit.exe, jika menggunakan Windows NT/2000, karena baris script diatas [C:\Windows\system32\userinit.exe] berlaku jika komputer terinstall Windows XP/2003.
 
Setelah menjalankan repair.inf sebaiknya Anda cek kembali registry berikut, karena untuk string yang dibuat akan berbeda-beda sesuai dengan login user  yang digunakan pada komputer yang terinfeksi.
 
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
      • Logon%user% = C:\Documents and Settings\%user%\Local Settings\Application Data\WINDOWS\CSRSS.EXE
    • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
      • Service%user login% = C:\Documents and Settings\%user%\Local Settings\Application Data\WINDOWS\SERVICES.EXE
 
Kemudian hapus string Logon %user% dan Service %user%
------------------------------------------------------------------------------------------
 
  1. Hapus file induk yang telah dibuat oleh virus. Sebelum anda menghapus file induk tersebut pastikan anda sudah menampilkan semua file yang disembunyikan dengan memilih option “ show hidden file anda folder” dan mematikan option “hide file extension for known type” dan “hide protected operating system files (recommended) pada “FOLDER OPTION” kemudian hapus file berikut:
 
·         Data %user%.exe pada setiap partisi Hard Disk, dimana %user% menunjukan user yang digunaakn untuk login ke windows
·         C:\kere.exe
·         Membuat folder KERE pada setiap drive, dimana folder ini berisi 2 buah file dengan nama "folder.htt" dan "sexyIndoGirls.exe", kedua file ini akan disembunyikan
·         C:\Documents and Settings\All Users\Start Menu\Programs\Startup
§         Empty.pif
§         Empty.exe dan Startup.exe
·         C:\Documents and Settings\Default User\Start Menu\Programs\Startup
§         Startup.exe
·         C:\WINDOWS\system32\config\systemprofile\Start Menu\Programs\Startup
§         Startup.exe
·         C:\Documents and Settings\%user%\Application Data\Microsoft\Word\STARTUP
§         Startup.exe      
·         C:\Documents and Settings\%user%\Local Settings\Application Data
§         IExplorer.exe
§         shell.exe
§         csrss.exe
§         kere.exe
§         lsass.exe
§         services.exe
§         winlogon.exe
·         C:\Documents and Settings\%user%\Local Settings\Application Data\WINDOWS
§         Csrss.exe
§         lsass.exe
§         services.exe
§         smss.exe
§         winlogon
·         C:\Documents and Settings\%user%\Start Menu\Programs\Startup
§         Startup.exe
·         C:\Program Files\Microsoft Office\OFFICE11\STARTUP
§         Startup.exe
·         C:\Windows
§         kERe.exe
·         C:\WINDOWS\system32
§         MrHelloween.scr
§         shell.exe
§         IExplorer.exe
§         C:\Windows\Downloaded Program Files\SexyIndoGirls.pif
§         C:\Windows\Downloaded Program Files\CONFLICT.X\SexyIndoGirls.pif, dimana X menunjukan angka acak
§         Jika anda mempunyai Flash Disk sebaiknya cek dan hapus file yang mempunyai nama Data %user logon%.exe [contoh: Data Administrator] dan folder “KERE” [folder ini akan disembunyikan]
 
  1. Hapus file duplikat yang dibuat oleh virus dengan ciri-ciri:
    1. Menggunakan icon “Folder”
    2. Ukuran file 80 KB
    3. Mempunyai extension .EXE
    4. Type file “Application”
  1. Tampilkan kembali  semua file executable [.EXE] yang telah disembunyikan oleh virus, untuk mempercepat anda dapat menggunakan perintah ATTRIB pada DOS PROMPT, contoh:
 
ATTRIB –h –r *.exe /s  kemudian tekan tombol [enter] (lihat gambar 10)
 
Gambar 10, Mengembalikan file .exe yang disembunyikan oleh virus
 
  1. Jika komputer sudah benar-benar bersih dari virus, rename [ubah] kembali file msvbvm60.dll yang sudah diubah sebelumnya pada didirektori [C:\Windows\system32].
  1. Untuk pembersihan optimal dan mencegah infeksi ulang install antivirus yang sudah dapat mengenali virus ini dengan baik.
 
Adang Juhar Taufik
 
PT. Vaksincom
Jl. Tanah Abang III / 19E
Jakarta 10160
 
Ph : 021 345 6850
Fx : 021 345 6851