Kamis, 30 September 2010

MEMBUAT KALKULATOR DENGAN PHP

 Saya akan ngasih tau script pembuatan kalkulator dengan bahasa php.
kayanya gak usah panjang lebar ya langsung aja ikutin script di bawah ini atau di copy paste aja..
script di bawah ini save dengan nama kalkulator.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <meta name="generator" content="PSPad editor, www.pspad.com">
  <title>matematika</title>
  </head>
  <body>
<form method="post" action="kalkulator.php">
<table border="1" style="border-collapse:collapse"; cellpadding="2" cellspacing="2">
<tr>
<td>proses</td>
<td><input type="text" name="a"></td>
<td><select name="b">
<option value="kali">X</option>
<option value="bagi">:</option>
<option value="kurang">-</option>
<option value="tambah">+</option>
</select>
<td><input type="text" name="c"></td>
</tr>
<tr>
<td align="center" colspan="4"><input type="submit" name="proses" value="proses"></td>
</tr>
</table>
</form>
  </body>
</html>




script yang di bawah ini save juga dengan nama kalkultor.php
<?php
$a=$_POST['a'];
$b=$_POST['b'];
$proses=$_POST['proses'];
function kalkulator($a,$b,$proses){
    switch ($proses){
    case 'tambah';
        $hasil=$a+$b;
        break;
    case 'bagi';
        $hasil=$a/$b;
        break;
    case 'kurang';
        $hasil=$a-$b;
        break;
    case 'kali';
        $hasil=$a*$b;
        break;
    }
return $hasil;
}
echo 'operasi yang anda input:';
echo '<br>';
echo 'a='.$a;
echo '<br>';
echo 'b='.$b;
echo '<br>';
echo $a.''.$proses.''.$b;
echo '='   .kalkulator($a,$b,$proses);
echo '<br>';
echo '<a href="operasi.html">operasi</a>'
?>
Nih saya kasih  file yang sudah jadi...
 
http://www.ziddu.com/download/11900058/kalkulator.rar.html

MEMBUAT FORM PENDAFTARAN

Saya di sini akan menjelaskan tata cara membuat form pendaftaran dengan html, aplikasi yang anda butuhkan cukup dengan notepad saja...
Oke kita langsung aja ke TKP..

Sebelum anda membuat script tolong butalah databsenya dulu
dengan nama database latihan table pendaftaran..        
CREATE TABLE `latihan`.`pendaftaran` (
`id_pendaftaran` INT( 11 ) NOT NULL ,
`nama` VARCHAR( 50 ) NOT NULL ,
`alamat` VARCHAR( 100 ) NOT NULL ,
`jk` VARCHAR( 50 ) NOT NULL
) ENGINE = MYISAM ;
<html>
<head>
<title></title>
</head>
<body>
<form method="post" action="save.php">
<table border="1">
<tr>
<td>NAMA</td>
<td><input type="text" name="nama"></td>
</tr>
<tr>
<td>ALAMAT</td>
<td><input type="text" name="alamat"></td>
</tr>
<tr>
<td>JENIS KELAMIN</td>
<td><select name="jk">
<option value="laki laki">Laki Laki</option>
<option value="wanita">Wanita</option>
</select>
</td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Save"></td>
</tr>
</table>
</form>
</body>
</html>

Nah ini script phpnya untuk memperoses data ke database

save script ini dengan nama save.php
$koneksi = mysql_connect('localhost','root','');
$pilihdb = mysql_select_db('pendafataran',$koneksi);

$nama=$_POST['nama'];
$alamat=$_POST['alamat'];
$jk=$_jk['jk'];

$sql="insert into pendaftaran(id_pendaftaran,nama,alamat,jk)
values ('$nama','$alamat','$jk', now())";
$result=mysql_query($sql);
if($result){
echo 'DATA BERHASIL DI INPUT';
}else{
echo 'Gagal'.mysql_error();
}
nih aku kasih link script di atas..

http://www.ziddu.com/download/11899991/fileform.rar.html

Memodifikasi context menu New

Memodifikasi context menu New

(context menu = menu yang muncul pada saat kita mengklik kanan)
Kalau Anda mengklik kanan pada desktop dan memilih New, maka akan terlihat banyak submenu untuk pembuatan aneka dokumen. Misalnya MS Word, Text Document, Corel Draw, dan lain-lain. Semakin banyak aplikasi yang diinstall semakin banyak pula deretan submenu tersebut.
Anda bisa memodifikasi submenu document sesuai keinginan Anda. Misalnya menghapus submenu (dari) document yang jarang Anda buka/buat. Bisa juga menambahkan bila belum terdapat pada submenu tersebut. Ada pun cara untuk menghapus submenu tersebut adalah sebagai berikut :
  1. Jalankan registry editor.
  2. Dari menu Edit, klik Find.
  3. Tuliskan ShellNew, klik OK.
  4. Setelah itu Anda bisa menghapus subkey ShellNew yang ditemukan oleh registry editor tersebut.

Memodifikasi context menu New

Memodifikasi context menu New

(context menu = menu yang muncul pada saat kita mengklik kanan)
Kalau Anda mengklik kanan pada desktop dan memilih New, maka akan terlihat banyak submenu untuk pembuatan aneka dokumen. Misalnya MS Word, Text Document, Corel Draw, dan lain-lain. Semakin banyak aplikasi yang diinstall semakin banyak pula deretan submenu tersebut.
Anda bisa memodifikasi submenu document sesuai keinginan Anda. Misalnya menghapus submenu (dari) document yang jarang Anda buka/buat. Bisa juga menambahkan bila belum terdapat pada submenu tersebut. Ada pun cara untuk menghapus submenu tersebut adalah sebagai berikut :
  1. Jalankan registry editor.
  2. Dari menu Edit, klik Find.
  3. Tuliskan ShellNew, klik OK.
  4. Setelah itu Anda bisa menghapus subkey ShellNew yang ditemukan oleh registry editor tersebut.

Memodifikasi context menu pada file HTML

Memodifikasi context menu pada file HTML

(context menu = menu yang muncul pada saat kita mengklik kanan)
Kalau cabang HKEY_CLASSES_ROOT tersebut Anda buka akan terlihat cabang yang banyak sekali jumlahnya. Di sini akan terlihat cabang bernama .386, .bmp, .jpg, .psd, dan lain-lain yang mana itu merupakan ekstensi file. Semakin banyak Anda menginstall software maka cabang tersebut juga akan semakin banyak. Selain itu terdapat juga cabang bernama htmlfile, javafile, cplfile, dan lain-lain (jumlahnya tergantung macam aplikasi yang Anda install).

Pada tutorial ini akan kami jelaskan cara memodifikasi context menu untuk file berekstensi html. Normalnya tulisan yang muncul adalah Open atau Open in the same window. Nah tulisan tersebut akan kita ganti dengan Buka dengan IE. Caranya adalah sebagai berikut :
  1. Cari cabang bernama htmlfile, lalu pilih shell. (Jika Anda menginstall Internet Explorer dan Netscape Navigator maka akan terdapat cabang bernama Open dan Open Navigator (atau nama lain yg mirip dengannya)

    Screenshoot 
cabang htmlfile
  2. Anda bisa mengganti tulisan tersebut. Misalnya mengganti Open menjadi Buka dengan IE.

    Menu yang muncul
 jika Anda meng-klik kanan pada file berekstensi html

    Caranya buka cabang Open with IE, lalu klik dua kali pada (Default) yang terletak pada panel sebelah kanan. Lalu isikan dengan Buka dengan IE. Lalu hasilnya akan nampak seperti pada gambar di atas.

    Gambar panel  
sebelah kanan yg terdapat nilai (Default)

Persiapan sebelum melakukan modifikasi registry

Persiapan sebelum melakukan modifikasi registry

Sebelum Anda merubah registry pastikan bahwa Anda memback-up nya terlebih dahulu. Ini penting seandainya perubahan tersebut mengakibatkan error, Anda masih bisa mengembalikannya seperti semula. Adapun caranya adalah sebagai berikut :
  1. Cara membuka registry
    Klik menu Start (pada pojok kiri bawah), pilih Run. Ketikkan regedit, OK.
  2. Memback-up registry
    Pertama pilih registry key yang akan diback-up. Pada menu Registry, pilih Export Registry File. Tentukan letak directory dan nama file-nya, terakhir pilih OK.
  3. Mengembalikan key registry dari file back-up.
    Cara pertama : buka regedit, pilih menu Registry, Import Registry File. Pilih letak directory dan nama filenya. Klik OK.
    Cara kedua : Klik kanan pada file yang merupakan back-up registry (ditandai dengan nama file berekstensi reg). Pilih Merge.

Persiapan sebelum melakukan modifikasi registry

Persiapan sebelum melakukan modifikasi registry

Sebelum Anda merubah registry pastikan bahwa Anda memback-up nya terlebih dahulu. Ini penting seandainya perubahan tersebut mengakibatkan error, Anda masih bisa mengembalikannya seperti semula. Adapun caranya adalah sebagai berikut :
  1. Cara membuka registry
    Klik menu Start (pada pojok kiri bawah), pilih Run. Ketikkan regedit, OK.
  2. Memback-up registry
    Pertama pilih registry key yang akan diback-up. Pada menu Registry, pilih Export Registry File. Tentukan letak directory dan nama file-nya, terakhir pilih OK.
  3. Mengembalikan key registry dari file back-up.
    Cara pertama : buka regedit, pilih menu Registry, Import Registry File. Pilih letak directory dan nama filenya. Klik OK.
    Cara kedua : Klik kanan pada file yang merupakan back-up registry (ditandai dengan nama file berekstensi reg). Pilih Merge.

Hirarki registry

Hirarki registry

Registry terdiri dari beberapa bagian yang disebut key atau kunci. Terdapat enam macam key utama pada registry, yaitu :
  1. HKEY_CLASSES_ROOT,
    Berisi semua tipe file beserta assosiasinya yang masing-masing tipe file tersebut akan mempunyai subkey sendiri-sendiri.
  2. HKEY_CURRENT_USER
    Berisi informasi tentang user yang sedang log in pada saat itu. Terdiri dari subkey, antara lain :
    1. AppEvents, berisi setting untuk sound events.
    2. Control Panel, berisi setting control panel.
    3. InstallLocationMRU, berisi path/lokasi master Windows (waktu pertama kali menginstall Windows).
    4. Network, berisi informasi yang berhubungan dengan Network atau jaringan.
    5. Software, berisi tentang setting atau konfigurasi software untuk pemakai yang logon pada saat itu.
    6. RemoteAccess, berisi informasi tentang Dial up Networking.
  3. HKEY_LOCAL_MACHINE
    Berisi informasi tentang hardware dan setting software yang berlaku untuk semua user. Terdiri dari subkey, antara lain :
    a. Enum, berisi informasi tentang hardware, misalnya tentang monitor.
    b. Hardware, berisi informasi tentang port serial.
    c. Network, berisi informasi yang berhubungan dengan network untuk pemakai yang sedang aktif atau logon.
    d. Software, berisi informasi dan setting software.
  4. HKEY_USERS
    Berisi informasi tentang desktop dan user setting untuk tiap user yang berhak login ke komputer tersebut. Tiap user mempunyai sebuah subkey. Jika hanya terdapat satu user maka nama subkey tersebut adalah ".default"
  5. HKEY_CURRENT_CONFIG
    Berisi informasi tentang konfigurasi hardware, berhubungan dengan HKEY_LOCAL_MACHINE.
  6. HKEY_DYN_DATA
    Berisi informasi tentang plug and play.

Hirarki registry

Hirarki registry

Registry terdiri dari beberapa bagian yang disebut key atau kunci. Terdapat enam macam key utama pada registry, yaitu :
  1. HKEY_CLASSES_ROOT,
    Berisi semua tipe file beserta assosiasinya yang masing-masing tipe file tersebut akan mempunyai subkey sendiri-sendiri.
  2. HKEY_CURRENT_USER
    Berisi informasi tentang user yang sedang log in pada saat itu. Terdiri dari subkey, antara lain :
    1. AppEvents, berisi setting untuk sound events.
    2. Control Panel, berisi setting control panel.
    3. InstallLocationMRU, berisi path/lokasi master Windows (waktu pertama kali menginstall Windows).
    4. Network, berisi informasi yang berhubungan dengan Network atau jaringan.
    5. Software, berisi tentang setting atau konfigurasi software untuk pemakai yang logon pada saat itu.
    6. RemoteAccess, berisi informasi tentang Dial up Networking.
  3. HKEY_LOCAL_MACHINE
    Berisi informasi tentang hardware dan setting software yang berlaku untuk semua user. Terdiri dari subkey, antara lain :
    a. Enum, berisi informasi tentang hardware, misalnya tentang monitor.
    b. Hardware, berisi informasi tentang port serial.
    c. Network, berisi informasi yang berhubungan dengan network untuk pemakai yang sedang aktif atau logon.
    d. Software, berisi informasi dan setting software.
  4. HKEY_USERS
    Berisi informasi tentang desktop dan user setting untuk tiap user yang berhak login ke komputer tersebut. Tiap user mempunyai sebuah subkey. Jika hanya terdapat satu user maka nama subkey tersebut adalah ".default"
  5. HKEY_CURRENT_CONFIG
    Berisi informasi tentang konfigurasi hardware, berhubungan dengan HKEY_LOCAL_MACHINE.
  6. HKEY_DYN_DATA
    Berisi informasi tentang plug and play.

Tutorial Registry

Tutorial Registry:
Pendahuluan

Windows merupakan sistem operasi untuk PC yang paling populer saat ini, mulai dari Windows 95, 98, NT dan yang baru saja diluncurkan yaitu Windows 2000 dan Windows Millenium. Salah satu keunggulan Windows adalah kemudahan dalam penggunaannya. Misalnya kemudahan mulai dari install, konfigurasi sampai dengan adanya feature plug and play untuk hardware.
Tentunya semua konfigurasi dan setting tersebut disimpan dalam sistem operasi, dan untuk menyimpan informasi berbagai setting dan konfigurasi, Windows menggunakan registry. Registry merupakan database yang digunakan untuk menyimpan semua setting dan informasi hardware, software dan berbagai preferences untuk Windows 32 bit, termasuk Window 95, 98, NT, Millenium dan 2000. Salah satu contohnya adalah misalnya seseorang mengganti assosiasi file atau menginstall program, maka perubahan setting tersebut akan dituliskan pada registry. Contoh lainnya adalah mendisable Display Properties, menyembunyikan berbagai menu pada Menu Start.
Selain sebagai tempat untuk menyimpan informasi sistem operasi Windows sendiri, registry juga digunakan sebagai tempat untuk menyimpan berbagai informasi setting dan konfigurasi pada aplikasi atau program. Misalnya WinZip menggunakan registry untuk menyimpan informasi toolbar, aplikasi untuk membuka file (viewer), user name, serial number, dan lain-lain.
Registry diletakkan pada dua buah hidden file yaitu user.dat dan system.dat yang terletak pada directory Windows untuk Win 95/98/Me dan pada directory Windows/System32/Config untuk Windows NT. Selain menggunakan registry (system.dat dan user.dat), Windows juga menyimpan informasi setting tertentu pada file msdos.sys, system.ini dan win.ini.

Membuat Form Mail

Membuat Form Mail
Anda tentunya sudah sering menggunakan email, baik email yang disediakan oleh provider Anda atau email yang berbasiskan web (free web based email). Pada tutorial kali ini akan kami berikan contoh bagaimana mengirimkan email lewat sebuah form (halaman HTML). Sebelumnya buatlah file formmail.html seperti contoh berikut ini :
<html>
<head>
<title>Contoh formmail.html</title>
</head>
<body>
<form action="http://www.klik-kanan.com/cgi-bin/formmail.cgi" method="post">
Nama Anda : <input type="text" name="nama"> <br>
Email : <input type="text" name="email"><br>
<input type="submit" value="Kirim">
<input type="reset" value="Hapus">
</body>
</html>


Lihat contoh formmail.html
Sedangkan script Perl-nya adalah sebagai berikut (script tersebut bisa Anda beri nama formmail.cgi) :

#!/usr/bin/perl

# path yang menunjukkan letak program sendmail
$program = "/usr/sbin/sendmail";

# email Anda, perhatikan tanda \ sebelum @
$email = "alzamora\@mclarenfans.com";

print "Content-type:text/html\n\n";

# parse form
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$name} = $value; }

# Kirim email
open (MAIL, "|$program -t");

# Email dari
print MAIL "From: form mail\n";

# Kirim email ke alamat email Anda
print MAIL "To: $email\n";

# Reply ke pengirim email
print MAIL "Reply-to: $FORM{'email'}\n";

# Subject email
print MAIL "Subject: Form mail - email dari $FORM{'name'}\n\n";

# isi email
print MAIL "$FORM{'message'}\n";
close(MAIL);

print <<EndofHTML;
<html>
<head>
<title>Terima kasih</title>
</head>
<body>
<h2>Terima kasih</h2>
Email Anda telah terkirim
</body>
</htm>
EndofHTML
;

Mengenal Variabel Lingkungan

Mengenal Variabel Lingkungan
Oleh : Yohanes Nugroho

Ketika sebuah program CGI dipanggil, maka webserver akan menjalankannya dengan mengeset variabel lingkungan (environment variable) yang dapat diakses oleh program CGI tersebut. Variabel lingkungan ini berisi informasi mengenai lingkungan tempat CGI itu dijalankan, dan juga beberapa informasi mengenai client yang meminta output program tersebut. Berikut ini saya berikan sebuah contoh skrip CGI yang akan mencetak semua nilai variabel lingkungan yang ada. Pasanglah di server Anda, dan lihat hasilnya.
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
foreach $keys (keys %ENV) {
        print "$keys = $ENV{$keys}<br>\n"
}
Sedikit penjelasan, %ENV adalah array assosiatif yang berisi variabel lingkungan, dan loop foreach $keys (keys %ENV) {...} akan menelusuri setiap isi array tersebut.
Saya juga sudah menginstall skrip tersebut di langitbiru. Anda bisa mencobanya dengan mengklik http://langitbiru.hypermart.net/demos/env.pl. Jika Anda melihat ini artikel ini secara offline, dan tidak bisa mencoba skripnya, saya berikan sample outputnya di sini (tidak lengkap, hanya bagian yang menarik saja):
REMOTE_ADDR = 127.0.0.1
QUERY_STRING = 
HTTP_USER_AGENT = Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)
HTTP_CONNECTION = Keep-Alive
SERVER_PORT = 80
HTTP_HOST = langitbiru.hypermart.net
Yang di sebelah kiri tanda sama dengan (=) adalah nama variabelnya, sedangkan yang disebelah kanan adalah nilainya (isinya). Anda sudah melihat bahwa dari variabel lingkungan ini Anda bisa tahu broswer apa yang digunakan (dari HTTP_USER_AGENT) dan alamat IP client (dari REMOTE_ADDR). Sekarang Anda bisa membuat skrip seperti ini:
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
print "Browser Anda adalah: $ENV{'HTTP_USER_AGENT'}<br>";
print "IP Anda: $ENV{'REMOTE_ADDR'}<br>";
Informasi seperti ini bisa Anda log untuk keperluan tertentu. 

Input dengan metode GET

Input form yang dikirim dengan metode GET akan dilewatkan sebagai variabel lingkungan QUERY_STRING oleh webserver, jadi sekalian topik ini dibahas di tutorial bagian kedua ini. Sekarang coba buat file html dengan body berisi baris-baris seperti ini:
<form method ="get" 
actioan="http://langitbiru.hypermart.net/demos/env.pl">
Nama : <input type="text" name="nama"><br>
e-mail : <input type="text" name="mail"<br>
<input type="submit" value="kirim">
</form>
Yang seharusnya akan tampil seperti ini:
Nama :
e-mail :
Ketikkan sembarang untuk input nama dan email, lalu klik 'kirim'. Jika saya masukkan input nama : Yohanes Nugroho dan emailnya webmaster@langitbiru.hypermart.net, maka nilai query string akan seperti ini:
QUERY_STRING = nama=Yohanes+Nugroho&mail=webmaster@langitbiru.hypermart.net

Dari sana bisa dilihat bahwa teks dikirim dengan format seperti ini:
  1. antara setiap variabel dipisahkan dengan ampersand (&)
  2. spasi akan diubah menjadi plus (+)
Kalau begitu Anda pasti bertanya, lalu + dan & dikodekan jadi apa?. Mari kita coba ubah inputnya menjadi, nama adalah Lia & Bob, email menjadi lb@langitbiru.hypermart.net. Nilai query string akan seperti ini:

QUERY_STRING = nama=Lia+%26+Bob&mail=lb@langitbiru.hypermart.net

jadi ada tambahan lagi, karakter-karakter khusus akan di-encode menurut nilai ascii-nya dalam heksadesimal. Skrip berikut ini akan melakukan pemrosesan sehingga nilai-nilainya dipisahkan dan dikembalikan (di-decode) kebentuk asalnya agar bisa diproses:
#!/usr/local/bin/perl

print "Content-type: text/plain\n\n";
$input = $ENV{'QUERY_STRING'};
@data = split(/&/, $input);

foreach $datum (@data){
        ($key, $nilai)= split (/=/,$datum);
        #plus dijadikan spasi
        $nilai =~ tr/+/ /;
        #lalu bil hexanya dipack
   $nilai =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("c",hex($1))/ge;
        $FORM{$key}=$nilai;
}
foreach $var (keys %FORM){
        print "$var = $FORM{$var}\n";
}
Sekarang hasil keluarannya sudah lebih baik. Anda bisa mencoba mengetikkan sembarang data dan elihat hasilnya.
Nama :
e-mail :

Sekarang saya jelaskan bagaimana pemrosesan ini dilakukan. pertama kita ambil input dari variabel lingkungan QUERY_STRING, lalu pisahkan setiap variabel (yang dibatasi oleh &) dengan split. Hasilnya ada di varibel array @data. Lalu untuk setiap pasangan nama dan nilai variabel kita proses lagi dalam loop foreach. Pisahkan nama dari nilai dengan memakai split, lalu isi variabel nilai akan diproses.

$nilai =~ tr/+/ /;
akan mengubah plus menjadi spasi. Lalu untuk mem-pack bilangan heksanya dilakukan dengan:
$nilai =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("c",hex($1))/ge;
artinya, ubah untaian karakter % yang diikuti dua bilangan heksa (0-9, A-F) menjadi representasinya dalam karakter ascii. Selanjutnya nilainya dimasukkan dalam variabel %FORM, untuk bisa digunakan pada bagian selanjutnya (sebenarnya kalau mau bisa langsung diproses).

Contoh script Perl sederhana

Contoh script Perl sederhana

Di bawah ini adalah sebuah contoh script Perl yang masih sederhana :
#!/usr/bin/perl
# Contoh script Perl sederhana
print "content-type: text\html\n\n";
print "<HTML><HEAD><TITLE&gtTest</TITLE></HEAD>\n";
print "<BODY>Baru belajar Perl, ya\n\n";
print "</BODY></HTML>\n";
exit;
Jika script tersebut diletakkan pada server dan dijalankan maka akan muncul tulisan "Baru belajar Perl, ya" pada browser kita. Berikut ini adalah penjelasan dari script di atas :

Baris pertama :
#!/usr/bin/perl

Baris ini memberitahu server letak interpreter yang diperlukan untuk mengeksekusi script kita. Letak path interpreter ini berbeda antara server yang satu dengan yang lainnya. Jika Anda memakai Virtual Avenue maka letaknya adalah /usr/bin/perl

Baris kedua :
# Contoh script Perl sederhana

Baris ini adalah baris komentar. Pada Perl setiap komentar harus di awali dengan tanda # sehingga tulisan yang terletak di sebelah kanan tanda # akan diabaikan oleh interpreter (kecuali pada baris pertama).

Baris ketiga :
print "content-type: text\html\n\n";

Baris ini disebut MIME header yang fungsinya memberitahu server jenis informasi yang kita kirim. Dalam contoh ini informasinya berjenis HTML/Text.

Baris keempat sampai baris keenam :

print "<HTML><HEAD><TITLE&gtTest</TITLE></HEAD>\n";
print "<BODY>Baru belajar Perl, ya\n\n";
print "</BODY></HTML>\n";

Baris tersebut memasukkan kode-kode HTML dan menuliskan string untuk ditampilkan pada browser.

Baris ketujuh :
exit;

Baris ini akan memberitahu Perl interpreter bahw skript sudah selesai. Baris ini bersifat optional, artinya dapat dituliskan dapat juga tidak dituliskan.

Ingat : Setiap baris script pada Perl harus selalu diakhiri dengan tanda titik koma seperti dengan hanya php.

Syarat Untuk Menulis Perl

Syarat Untuk Menulis Perl


Untuk dapat menulis Perl dan mengetes/menjalankannya, dibutuhkan beberapa syarat, yaitu :

- Perl for Windows, Ultra Edit, Perl Builder, dll.

Jika Anda ingin menulis Perl dengan menggunakan MS Windows 95/98/NT/2000/ME, maka software-software di atas mutlak diperlukan. Tapi Anda pun bisa menggunakan Notepad untuk menulis script Perl tersebut, kemudian menggunakan Ultra Edit untuk mengkonversi script dari platform Windows ke UNIX.
- Browser dan akses internet

Tentu saja ini juga mutlak diperlukan untuk mengetes script kita. Bila Anda langsung menggunakan UNIX/Linux untuk menulis script CGI, maka script tersebut dapat langsung kita coba, tanpa harus connect ke internet.

- Server gratisan yang melayani CGI.

Kebanyakan server gratisan -- karena alasan keamanan -- tidak melayani CGI. Namun jangan khawatir, karena sekarang juga tersedia banyak server gratisan yang melayani CGI. Lihat daftarnya di sini. Server yang melayani CGI dengan cukup baik adalah Virtualave dan Hypermart.

Common Gateway Interface

Common Gateway Interface

CGI (Common Gateway Interface) merupakan suatu bentuk hubungan interaktif di mana client (browser) dapat mengirimkan suatu masukan kepada server, dan server mengolah masukan tersebut serta mengembalikannya kepada client (browser). Contoh sederhana adalah saat Anda menggunakan suatu search engine. Saat Anda menuliskan keyword dan menekan tombol Search maka browser akan mengirimkan keyword tersebut ke server. Keyword tersebut lalu diolah oleh server dan server mengirimkan data hasil pengolahan (yang sesuai dengan keyword yang kita masukkan) ke browser kita. Jadi yang kita lihat pada browser hanya data yang sesuai dengan keyword yang kita masukkan.
Untuk dapat menggunakan CGI syarat pertama adalah server dengan sistem operasi UNIX (beserta variantnya). Namun perlu Anda perhatikan bahwa tidak semua server UNIX (yg gratisan) mampu menangani dan melayani CGI. Server-server yang melayani penempatan web gratisan seperti Geocities dan Homepage, tidak mengijinkan penempatan script CGI dalam web kita. Untuk itu Anda bisa mencoba Virtual Avenue, Tripod, atau Hypermart (daftar lengkapnya bisa Anda lihat di sini).
Program CGI ditulis dalam bahasa yang dapat dimengerti oleh sistem misalnya C/C++, Fortran, Perl, Tcl, Visual Basic, dan lain-lain. Pemilihan bahasa yang digunakan tergantung dari sistem yang digunakan. Jika kita menggunakan bahasa pemrograman seperti C atau Fortran maka program-program yang kita buat harus dikompile terlebih dahulu sebelum dijalankan sehingga pada server akan terdapat source code dan program hasil kompilasi. Berbeda bila kita menggunakan bahasa script seperti PERL, TCL, atau Unix Shell maka hanya akan terdapat script itu sendiri (tanpa ada source code). Banyak orang yang lebih suka memilih menggunakan script CGI dibandingkan dengan bahasa pemrograman karena lebih mudah untuk di-debug dan dimodifikasi. Dalam pembahasan kali ini kita akan menggunakan Perl sebagai bahasa script-nya.

Tutorial Perl


Tutorial Perl:
Pendahuluan


Saat ini internet sudah merupakan kebutuhan pokok bagi sebagian orang. Dengan internet kita bisa mendapatkan banyak informasi, apa pun jenisnya. Mulai dari berita, hasil pertandingan sepak bola, cuaca dan lain-lain. Seiring dengan perkembangan, internet tidak saja digunakan sebagai media penyaji informasi semata. Bahkan internet mulai digunakan untuk aplikasi yang banyak membutuhkan masukan dari user. Dan yang sedang berkembang di Indonesia sekarang ini adalah e-commerce, perdagangan lewat internet.

Nah, dengan aplikasi internet yang semakin komplek tersebut, maka untuk membuat situs yang interaktif/dinamis tidak cukup hanya mengandalkan HTML saja. Mesti didukung dengan bahasa pemrograman lain yang lebih "kuat". Dalam hal ini kita dapat membedakan menjadi dua jenis pemrograman, yaitu server side dan client side.
Pada server side, proses akan dilakukan di web server, sedangkan client (dalam hal ini browser) hanya akan menerima hasilnya. Contohnya adalah bahasa Perl, Active Server Page (ASP), Java Server Pages (JSP), dll.
Pada client side, proses akan dilakukan di web browser. Penggunaan server side atau client side tergantung dari aplikasi yang akan kita buat. Keduanya bukanlah saling bersaing, tapi melengkapi antara satu dengan yang lainnya.
Halaman Web Dinamis

Halaman web dinamis merupakan halaman web yang mampu menampilkan informasi secara berubah-ubah, tergantung dari input yang diberikan. Contohnya bila menggunakan search engine, maka halaman yang ditampilkan akan selalu berbeda tergantung dari keyword yang kita masukkan. Di sinilah bentuk dari interaksi antara user (browser) dengan server.
Perbedaan dengan situs statis adalah, pada situs web yang statis kita hanya dapat meminta server untuk menampilkan halaman tertentu dan kemudian server mengirim informasi tersebut kepada kita melalui browser. 

Common Gateway Interface

CGI (Common Gateway Interface) merupakan suatu bentuk hubungan interaktif di mana client (browser) dapat mengirimkan suatu masukan kepada server, dan server mengolah masukan tersebut serta mengembalikannya kepada client (browser). Contoh sederhana adalah saat Anda menggunakan suatu search engine. Saat Anda menuliskan keyword dan menekan tombol Search maka browser akan mengirimkan keyword tersebut ke server. Keyword tersebut lalu diolah oleh server dan server mengirimkan data hasil pengolahan (yang sesuai dengan keyword yang kita masukkan) ke browser kita. Jadi yang kita lihat pada browser hanya data yang sesuai dengan keyword yang kita masukkan.
Untuk dapat menggunakan CGI syarat pertama adalah server dengan sistem operasi UNIX (beserta variantnya). Namun perlu Anda perhatikan bahwa tidak semua server UNIX (yg gratisan) mampu menangani dan melayani CGI. Server-server yang melayani penempatan web gratisan seperti Geocities dan Homepage, tidak mengijinkan penempatan script CGI dalam web kita. Untuk itu Anda bisa mencoba Virtual Avenue, Tripod, atau Hypermart (daftar lengkapnya bisa Anda lihat di sini).
Program CGI ditulis dalam bahasa yang dapat dimengerti oleh sistem misalnya C/C++, Fortran, Perl, Tcl, Visual Basic, dan lain-lain. Pemilihan bahasa yang digunakan tergantung dari sistem yang digunakan. Jika kita menggunakan bahasa pemrograman seperti C atau Fortran maka program-program yang kita buat harus dikompile terlebih dahulu sebelum dijalankan sehingga pada server akan terdapat source code dan program hasil kompilasi. Berbeda bila kita menggunakan bahasa script seperti PERL, TCL, atau Unix Shell maka hanya akan terdapat script itu sendiri (tanpa ada source code). Banyak orang yang lebih suka memilih menggunakan script CGI dibandingkan dengan bahasa pemrograman karena lebih mudah untuk di-debug dan dimodifikasi. Dalam pembahasan kali ini kita akan menggunakan Perl sebagai bahasa script-nya.
 

Background Effects

Background Effects

Bar Slider
Mengganti warna background dengan menggeser control button.
http://www.ziddu.com/download/11894744/barslider.zip.html

Verifikasi Nomor Kartu Kredit dengan JavaScript

Verifikasi Nomor Kartu Kredit dengan JavaScript
Oleh : Yohanes Nugroho

Halaman ini merupakan demo penggunaan JavaScript untuk memeriksa nomor kartu kredit (atau kartu apa saja yang memakai algoritma cek digit Luhn). Untuk dapat mencoba demonstrasi ini, Anda memerlukan browser yang mendukung JavaScript, misalnya Netscape Navigator atau IE. Halaman ini dibuat dengan menggunakan editor Netscape Composer dengan bantuan program EDIT.COM untuk bagian JavaScript-nya. Halaman ini telah dites menggunakan Netscape Navigator 4.51. Untuk memahami maksud halaman ini sebaiknya Anda membaca artikel Algoritma Cek Digit Pada Kartu Kredit  yang bisa Anda temukan di bagian Fokus.
Cara Pemakaian  :
  • Jika Anda hanya ingin tahu apakah nomor kartu kredit Anda (atau nomor kartu apa saja, TeCC misalnya) sah (menurut algoritma check digit luhn), Anda bisa memasukkan nomor yang dimaksud pada tempat masukan yang diberikan dan menekan tombol periksa.
  • Jika Anda ingin tahu beberapa nomor kartu kredit yang sah yang dekat dengan nomor yang Anda masukan (tidak peduli apakah nomor masukan itu sah atau tidak) tekan tombol Cari Nomor Yang Dekat.
  • tekan reset jika Anda ingin membersihkan masukan dan keluaran program.

Skrip ini akan menerima masukan bilangan dengan jumlah digit yang sembarang (tidak harus 16 angka), Jika Anda takut salah dalam memasukkan data, Anda bisa menyisipkan spasi atau '-' untuk memisahkan angka--angka masukan (spasi dan '-' akan diabaikan). Misalkan Anda ingin memasukkan data 1234567890123456, Anda bisa memasukkannya sebagai 1234-5678-9012-3456. Anda tidak boleh memasukkan karakter selain angka, spasi dan '-' karena skrip akan menolaknya.
 

Form Demonstrasi
masukkan nomor yang ingin diperiksa:
(c) 1999 oleh Yohanes Nugroho
Anda bisa melihat source skrip halaman ini dengan menggunakan fasilitas untuk melihat source HTML pada browser Anda. Skrip ini boleh dengan bebas digunakan selama nama penulis/programmer tidak dihapus dari source skrip tersebut.

Java dan JavaScript

Java dan JavaScript

Java merupakan sebuah bahasa pemrograman yang mirip dengan bahasa C. Tetapi dengan Java kita bisa membuat tampilan halaman sebuah web menjadi lebih menarik. Contoh penggunaan Java adalah pada fungsi Mouseover, scrolling marquees, tampilan tanggal dan waktu, kalkulator, dan lain-lain. Terdapat dua tupe Java yaitu Java applet dan Java Script.

JAVA APPLETS

Java merupakan bahasa pemrograman yang dikembangkan oleh Sun Microsystems dan merupakan bahasa pemrograman yang berorientasi obyek. Java bisa digunakan untuk membuat suatu aplikasi yang berdiri sendiri atau pun sebuah aplikasi mini yang biasa disebut applet. Applet biasa digunakan pada halaman web supaya terlihat lebih dinamis. Terdapat banyak sekali aplikasi/applet yang ada.

JAVA SCRIPT

JavaScript dikembangkan oleh Netscape, yang merupakan bahasa pemrograman yang "sederhana" karena tidak bisa digunakan untuk membuat suatu aplikasi atau pun applet. Java Script merupakan sebuah bahasa scripting yang dikembangkan oleh Netscape.Dengan Java Script kita bisa dengan mudah membuat sebuah halaman web yang interaktif. Program Java Script dituliskan pada file HTML (*.htm atau *.html) dengan menggunakan tag kontainer <SCRIPT>. Dengan kata lain, Anda tidak perlu menuliskan program JavaScript pada file terpisah (walaupun Anda juga bisa melakukannya). 

Contoh JavaScript Sederhana
Status Bar Message
Untuk membuat tulisan yang terletak pada status bar browser Contoh : <body onLoad="window.defaultStatus='http://www.klik-kanan.com'">
Tulisan yang berwarna biru adalah tulisan yang akan nampak pada bagian bawah browser. Lihat pada pojok kiri bawah.
 
Status Bar On Mouse Over
Tulisan ini akan nampak bila Anda meletakkan mouse di atas link. <A HREF="newpage.htm" onMouseOver="window.status='Klik di sini melihat halaman selanjutnya!';return true">
Tulisan yang berwarna biru adalah tulisan yang akan nampak pada bagian bawah browser. Sebagai contoh letakkan mouse Anda pada TEKS INI.
 
Pop Up Box
Menampilkan alert box ketika pertama kali membuka sebuah halaman web.
<script language="JavaScript">
alert("Tulis kalimat Anda di sini");
</script>

Contoh JavaScript Lanjutan
 
Link dg konfirmasi
  Source script-nya 
http://www.ziddu.com/download/11894627/link.zip.html

 
Menampilkan jam
Source script-nya 
http://www.ziddu.com/download/11894633/jam.zip.html
 
Teks Berjalan 1
Akan menampilkan tulisan yang nampak berjalan dari kanan ke kiri. Source script-nya 
http://www.ziddu.com/download/11894644/teks1.zip.html
 


Teks Berjalan 2
Akan menampilkan tulisan yang nampak berjalan dari kanan ke kiri. Source script-nya 
http://www.ziddu.com/download/11894666/teks2.zip.html


Menambahkan fasilitas skin pada aplikasi dengan SXSkinComponents

Menambahkan fasilitas skin pada aplikasi dengan SXSkinComponents

Mungkin Anda semua sudah sering melihat aplikasi yang menggunakan konsep skin, misalnya Win Amp, WindowBlind, dll. Dengan konsep skin, maka user dapat dengan mudah mengganti tampilan programnya.
Mungkin saja Anda terinspirasi untuk membuat program yang dilengkapi dengan fasilitas skin. Bagaimana caranya? Cara yang paling mudah adalah dengan menggunakan komponen. Salah satu yang cukup menarik dan bisa Anda coba adalah SXSkinComponents.
SXSkinComponents dapat digunakan untuk Delphi 6, Delphi 7, Delphi 2005, Delphi 2006, C++Builder 6 and C++Builder 2006 dan pada sistem operasi Windows 98/ME/NT/2000/XP/2003.
Selain fitur yang cukup menarik, salah satu hal yang memberi nilai tambah adalah komponen ini gratis!
Di bawah ini adalah contoh tampilan dari program yang dilengkapi dengan komponen SXSkinComponents. Klik pada gambar untuk melihat tampilan yang lebih besar.

   
Homepage: http://www.saarixx.info/sxskincomponents/en/index.htm
Download:http://www.saarixx.info/sxskincomponents/en/downloads.php
Ukuran File: 3,3 Mb

Mendisable menu dan tombol Close

Mendisable menu dan tombol Close
Oleh: Setiaji
Sebuah form biasanya mempunyai tiga tombol yang terletak pada bagian title bar, yaitu tombol maximize, minimize, close.
Untuk Dengan tips di bawah ini Anda dapat mendisable tombol/menu close.
procedure TForm1.FormCreate(Sender: TObject);
var
   hMenuHandle : HMENU;
begin
   hMenuHandle := GetSystemMenu(Form1.Handle, FALSE);
   if (hMenuHandle <> 0) then DeleteMenu(hMenuHandle,
      SC_CLOSE, MF_BYCOMMAND);
end;

Langkah pertama adalah mencari handle dari window menu (atau System menu atau Control menu), caranya yaitu dengan menggunakan fungsi GetSystemMenu.
function GetSystemMenu (hWnd : HWND, bRevert : Boolean) : HMENU;
Parameter pertama dari fungsi GetSystemMenu adalah handle dari window atau form. Dalam contoh ini nama formnya adalah Form1.
Parameter kedua adalah bRevert. Jika nilai bRevert bernilai True maka nilai balik dari fungsi GetSystemMenu adalah NULL, sebaliknya jika bRevert bernilai False maka nilai baliknya adalah handle dari copy dari window menu.

Langkah selanjutnya adalah "menghapus" item pada window menu dengan menggunakan fungsi DeleteMenu.

function DeleteMenu (hMenu : HMENU, uPosition : integer, uFlags : integer): Boolean
Parameter pertama adalah handle dari window menu (yang merupakan hasil pencarian dengan fungsi GetSystemMenu).
Parameter kedua merupakan posisi atau pengenal menu. Jika Anda mengisi parameter ketiga dengan MF_BYCOMMAND maka parameter kedua dapat bernilai SC_CLOSE, SC_MOVE, dan SC_SIZE. Sebaliknya jika Anda mengisi parameter ketiga dengan MF_BYPOSITION maka Anda dapat mengisi parameter kedua dengan suatu nilai integer yang merepresentasikan menu Close.

Fungsi DeleteMenu akan mengembalikan nilai True jika penghapusan menu berhasil dan mengembalikan nilai False jika gagal.
Kedua perintah di bawah ini akan mendapatkan hasil yang sama:


DeleteMenu(hMenuHandle, 6, MF_BYPOSITION);
DeleteMenu(hMenuHandle, SC_CLOSE, MF_BYCOMMAND)

Membuat efek flat

Membuat efek flat
Kadang kala kita mungkin ingin membuat tampilan program kita sedikit berbeda dengan biasanya. Dengan tips berikut ini Anda bisa membuat komponen checkbox, radiobutton dan button menjadi flat.

procedure TForm1.Flatten(theControl: TWinControl);
var
   dwStyle: Longint;
begin
     dwStyle := GetWindowLong(theControl.handle, GWL_STYLE) or                 BS_FLAT;
     SetWindowLong(theControl.Handle, GWL_STYLE, dwStyle);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
     Flatten(Button1);
     Flatten(CheckBox1);
     Flatten(RadioButton1);

end;

Di sini kita menggunakan salah satu fungsi (function) Windows API, yaitu GetWindowLong yang deklarasinya sbb:
function GetWindowLong (hwnd : HWND; int : integer) : integer;
Fungsi GetWindowLong digunakan untuk mencari informasi mengenai window tertentu. Window di sini bisa kita artikan sebagai komponen visual seperti checkbox, radio button dan sebagainya.
Parameter pertama dari fungsi GetWindowLong merupakan handle window dari komponen yang akan kita ubah menjadi flat. Parameter kedua merupakan informasi window yang akan kita ambil. Dalam hal ini parameter kedua tersebut kita isi dengan GWL_STYLE yang artinya kita ingin memperoleh informasi style dari window tersebut.
Fungsi kedua yang kita pakai adalah SetWindowLong. Fungsi tersebut adalah untuk mengubah atribut atau style dari suatu window.
Untuk mengetahui secara lebih detail tentang fungsi Windows API Anda dapat membaca di help yang disertakan pada saat kita menginstall Delphi, pada bagian Win32 Programmer's Reference.
Adapun kode selengkapnya adalah sebagai berikut:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
CheckBox1: TCheckBox;
RadioButton1: TRadioButton;
ListBox1: TListBox;
procedure FormCreate(Sender: TObject);
private
procedure Flatten(theControl: TWinControl);
procedure Flatten2(theControl: TEdit);
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation
{$R *.DFM}
procedure TForm1.Flatten(theControl: TWinControl);
var
   dwStyle: Longint;
begin
     dwStyle := GetWindowLong(theControl.handle, GWL_STYLE) or                 BS_FLAT;
     SetWindowLong(theControl.Handle, GWL_STYLE, dwStyle);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
     Flatten(Button1);
     Flatten(CheckBox1);
     Flatten(RadioButton1);

end;

end.