PHP Tips and Tricks
rosihanari.net
PHP Tips 16 – Membuat Polling Aplikasi polling dibuat untuk keperluan survei. Tutorial ini akan memaparkan cara membuat aplikasi tersebut dengan menggunakan PHP tanpa menggunakan database. Data hasil polling akan disimpan dalam suatu file teks. Langkah pertama adalah membuat form untuk polling terlebih dahulu. Pada contoh ini, topik polling adalah tentang stasiun TV yang paling disukai oleh pengunjung. polling.htm
Polling Polling
Stasiun TV mana yang paling Anda sukai?
Lihat Hasil
Langkah berikutnya setelah membuat form adalah membuat file teks yang akan digunakan untuk menyimpan data polling. Berikut ini adalah isi dari file teks tersebut. data.txt 0|0|0|0|0|0|0|0
Anda dapat menggunakan notepad atau word editor yang lain untuk membuat file teksnya. Maksud dari isi file teks di atas adalah: bilangan pertama dari kiri menunjukkan jumlah orang yang memilih RCTI sebagai stasiun TV favoritnya, bilangan kedua menunjukkan jumlah pemilih TPI, bilangan ketiga dan seterusnya berturut-turut adalah SCTV, INDOSIAR, TRANS TV, TRANS 7, METROTV dan LATIVI. Karena belum ada yang memilih, maka nilai awal masing-masing adalah 0 (nol). Urutan penulisan data dari kiri ke kanan tidak harus seperti di atas. Anda dapat meletakkan jumlah pemilih SCTV dalam urutan data paling kiri dan seterusnya. Selain itu urutan data tidak tergantung urutan option pilihan dalam form. Akan tetapi alangkah baiknya jika urutan baik dalam form maupun dalam file teks konsisten. Dapat Anda lihat pada isi file teks tersebut, bahwa antar data dipisahkan dengan tanda | (berfungsi sebagai data separator). Anda tidak harus menggunakan tanda | sebagai data separator. Sebagai alternatif, Anda dapat menggunakan tanda semicolon (;), atau dash (-) atau yang lain. Hal penting yang harus Anda ketahui bahwa, file data.txt harus dalam mode writeable atau dalam linux harus di chmod 777 karena isi dari file tersebut akan selalu berubah setiap kali pengunjung memilih pilihan polling. Langkah ketiga adalah membuat script untuk pengolah form. Script ini akan dijalankan ketika user memilih option dan mensubmitnya. PHP Tips 16 – Membuat Polling
61
PHP Tips and Tricks
rosihanari.net
send.php
PHP Tips 16 – Membuat Polling
62
PHP Tips and Tricks
rosihanari.net
Perhatikan perintah $hasil = explode('|',$data);
Perintah tersebut digunakan untuk memecah string $data, yang merupakan string dari pembacaan file teks data.txt. Explode() merupakan perintah akan memecah string ke dalam array, berdasarkan data separator tertentu. Sebagai contoh, misalkan isi dari data.txt atau string dari $data adalah 0|1|5|2|3|4|8|7
Maka dengan menggunakan explode() hasilnya adalah $hasil[0] = 0, $hasil[1] = 1, $hasil[2] = 5, ..., $hasil[6] = 7.
Sesuai urutan dalam penulisan data dalam file teks bahwa urutan data paling kiri menunjukkan jumlah pilihan untuk RCTI, maka nilai $hasil[0] adalah menunjukkan jumlah pilihan untuk stasiun tv tersebut. Nilai $hasil[1] untuk TPI, $hasil[2] untuk SCTV, dan seterusnya sampai $hasil[6] untuk LATIVI. Apabila ada seorang pengunjung memilih RCTI sebagai stasiun tv favoritnya, maka nilai dari $hasil[0] akan bertambah satu, demikian pula untuk stasiun tv yang lain. Setiap kali ada pengunjung yang memilih, maka isi file teks akan diupdate. Sebagai contoh, misalkan data awal file teks adalah sbb: 0|0|0|0|0|0|0|0
Selanjutnya misalkan ada seorang pengunjung memilih RCTI, maka data file teks akan diupdate menjadi 1|0|0|0|0|0|0|0
demikian seterusnya. Langkah keempat adalah membuat script untuk menampilkan hasil polling. lihat.php
PHP Tips 16 – Membuat Polling
63
PHP Tips and Tricks
rosihanari.net
// setting nama stasiun tv (harus sesuai urutan data dalam data.txt) $stasiunTV = array("RCTI","TPI","SCTV","INDOSIAR","TRANS TV", "TRANS 7","METROTV","LATIVI"); // setting skala untuk bar $skala = 5; // mencari total pemilih $hasil = explode('|', $data); $total = array_sum($hasil); // mencari skala dan prosentase setiap hasil pilihan for($i=0;$i<=sizeof($hasil);$i++) { $scale[$i] = $hasil[$i]/$skala; $persen[$i] = $hasil[$i]/$total*100; } // menampilkan hasil polling echo "
Hasil Polling
"; echo "
Stasiun TV mana yang paling Anda sukai?
"; echo "
"; for ($i=0;$i<=sizeof($hasil)-1;$i++) { echo "".$stasiunTV[$i]." | | "; // menampilkan bar for ($j=1;$j<=$scale[$i];$j++) echo ""; echo " | ".sprintf("%3.0f",$persen[$i])."% |
"; } echo "
"; echo "
Total pemilih: ".$total."
"; ?>
Keterangan: Skala pada script di atas digunakan untuk menampilkan grafik bar yang menunjukkan jumlah pilihan. Grafik bar dihasilkan dari pengulangan perintah echo "
"; Dengan demikian grafik bar dibangun berdasarkan sebuah file gambar bar.jpg yang ditampilkan berulang-ulang. Karena dimungkinkan bahwa jumlah pemilihnya banyak, maka tidak mungkin melakukan pengulangan gambar sejumlah pilihannya. Sehingga dalam hal ini perlu dibuat skala. Pada contoh di atas, skala dipilih 5
PHP Tips 16 – Membuat Polling
64
PHP Tips and Tricks
rosihanari.net
($skala = 5), yang artinya bahwa misalkan jumlah pemilih untuk RCTI adalah 50, maka gambar bar.jpg akan diulang sebanyak 10 kali, demikian pula untuk jumlah pilihan yang lain. Dengan penggunaan bar, perbandingan jumlah pemilih akan dapat dengan mudah dibaca. Semakin panjang bar (semakin banyak pengulangan gambar), maka menunjukkan pemilihnya semakin banyak. Untuk gambar bar.jpg dapat dibuat dengan Microsoft Paint, Photoshop, Corel atau yang lain dengan ukuran pixel yang kecil, misalnya 10 x 10 dan dengan warna sesuai keinginan Anda. Berikut ini tampilan aplikasi pollingnya.
PHP Tips 16 – Membuat Polling
65