Bikin Polling Sederhana

Membuat polling atau jajak pendapat sederhana dengan kode html, php dan javascript. Untuk mengetikkan kode-kode program dapat menggunakan Notepad.

Simpan kode berikut dengan nama poll.js :

var xmlHttp

function getVote(int)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="poll_vote.php"
url=url+"?vote="+int
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("poll").
innerHTML=xmlHttp.responseText;
}
}

function GetXmlHttpObject()
{
var objXMLHttp=null
if (window.XMLHttpRequest)
{
objXMLHttp=new XMLHttpRequest()
}
else if (window.ActiveXObject)
{
objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
}
return objXMLHttp
}

Simpan kode berikut dengan nama poll_form.html, kode ini sebagai tampilan halaman pertama :

<html>
<head>
<script src="poll.js"></script>
</head>

<body>
<div id="poll">
Silahkan pilih kesukaan anda : <br>
<form>
Pilihan 1 <input type="radio" name="vote" value="0" onClick="getVote(this.value)"><br>
Pilihan 2 <input type="radio" name="vote" value="1" onClick="getVote(this.value)"><br>
Pilihan 3 <input type="radio" name="vote" value="2" onClick="getVote(this.value)">
</form>
</div>
</body>
</html>

Simpan kode berikut dengan nama poll_vote.php, kode ini untuk menampilkan hasil pemberian suara yang tampil setelah kita memilih salah satu pilihan pada halaman pertama (dari halaman poll_form.html) :

<?php
$vote = $_REQUEST['vote'];

//get content of textfile
$filename = "poll_result.txt";
$content = file($filename);

//put content in array
$array = explode("||", $content[0]);
$vote1 = $array[0];
$vote2 = $array[1];
$vote3 = $array[2];

if ($vote == 0)
{
$vote1 = $vote1 + 1;
}
if ($vote == 1)
{
$vote2 = $vote2 + 1;
}
if ($vote == 2)
{
$vote3 = $vote3 + 1;
}

//insert votes to txt file
$insertvote = $vote1."||".$vote2."||".$vote3;
$fp = fopen($filename,"w");
fputs($fp,$insertvote);
fclose($fp);
?>

<table>
<tr>
<td>Hasil:</td>
<td></td>
</tr>
<tr>
<td>Pilihan 1</td>
<td>
<img src="images/image1.gif" width='<?php echo(100*round($vote1/($vote1+$vote2+$vote3),2)); ?>' height='10'>
<?php echo(100*round($vote1/($vote1+$vote2+$vote3),2)); ?>%
</td>
</tr>
<tr>
<td>Pilihan 2</td>
<td>
<img src="images/image2.gif" width='<?php echo(100*round($vote2/($vote1+$vote2+$vote3),2)); ?>' height='10'>
<?php echo(100*round($vote2/($vote1+$vote2+$vote3),2)); ?>%
</td>
</tr>
<tr>
<td>Pilihan 3</td>
<td>
<img src="images/image3.gif" width='<?php echo(100*round($vote3/($vote1+$vote2+$vote3),2)); ?>' height='10'>
<?php echo(100*round($vote3/($vote1+$vote2+$vote3),2)); ?>%
</td>
</tr>
<tr>
<td>Total Suara:</td>
<td><strong><?php echo($vote1+$vote2+$vote3); ?></strong></td>
</tr>
</table>

Setelah kode-kode diatas ditulis, simpan ketiga file tersebut dilokasi yang sama. Anda dapat melakukannya secara lokal ataupun mencobanya di web hosting yang anda miliki. Buka file poll_form.html sebagai halaman utama polling atau jajak pendapat dengan browser anda. Hasil polling atau jajak pendapat ini akan disimpan dalam bentuk file text seperti berikut : 6||0||0.

Anda bisa memodifikasi dengan menambah pilihan untuk polling atau jajak pendapat, pada file poll_form.html dan poll_vote.php (lihat pola penambahan pilihan seperti Pilihan 3 <input type=”radio” name=”vote” value=”2″ onClick=”getVote(this.value)”> pada file poll_form.html dan $vote3 = $array[2]; untuk pilihan ke 3 pada file poll_vote.php.

Sumber : modifikasi dari w3schools.com/php/

13 tanggapan untuk “Bikin Polling Sederhana

  1. >Dedy

    Untuk menambah polling baru anda dapat membuat program serupa dengan nama file yang berbeda, begitu juga untuk file text nya. Dan di halaman muka anda dapat membuat menu untuk link ke pooling pertama, kedua dan seterusnya.

    Suka

    1. pada komponen input radio kan sudah pake event onclick mas; onClick=”getVote(this.value)”, jadi memang tidak menggunakan button

      Suka

  2. om, kalau buat hasil polling yang disimpan trus dibuka pada akhir pemilihan gimana caranya? nanti pas dibuka menunjukkan prosentase nilai polling sedikit-sedikit sampai selesai layaknya pemilihan umum. mohon pencerahannya didikandriawan@gmail.com

    Suka

  3. Ada dua cara untuk menyimpan hasil polling, yang pertama disimpan ke dalam text file seperti cara diatas atau menggunakan cara yang kedua yaitu disimpan ke dalam database.
    Untuk menampilkan hasil polling, tergantung aturan yang ingin dibuat, apakah setiap user setelah mengisi polling langsung bisa melihat hasil sementara atau hasil polling ditampilkan setelah akhir periode polling dilaksanakan.
    Satu lagi aturan polling, apakah user hanya boleh mengisi sekali atau bisa berulang, pembatasan polling ini bisa dilakukan melalui halaman login (user memasukkan username dan password ketika hendak melakukan polling).

    Suka

  4. kalo pasang polling, di wordpress, ada trik nya gak yaaa? ku kok blum bisa/blum menemukan trik pasang polling, karena kan wordpress menolak plug in javascript. butuhmasukan dan info nih…

    Suka

    1. setahu saya wordpress sudah menyediakan plugin polling, memang agak repot kalau pasang kode skrip di widget wp kadang tidak bisa muncul, atau bisa dilakukan melalui edit kode skrip wp nya sendiri

      Suka

    2. he ekh ya. emang rada sulit ya. daripada repot ku sih doble blogspot u yg urusan script. hehehe, maturnuwun ya atas infonya.

      Suka

Tinggalkan komentar