Senin, 06 Juni 2011

Polling SMS Sederhana

Aplikasi ini menggunakan NowSMS sebagai SMS Gateway-nya.

Kali ini skenarionya adalah sebagai berikut :

RT 2 Kelurahan XXX mengadakan acara lomba karaoke untuk memperingati acara 17-an. Pesertanya adalah remaja-remaja dari RT tersebut. Setelah melalui babak eliminasi, akhirnya ditetapkan ada 3 finalis, yaitu : Andi, Jamal, dan Ririn.

Karena tidak mau dituduh subjektif, para juri sepakat untuk melibatkan penonton dalam pemilihan juara 1,2, dan 3 melalui polling sms. Penonton diminta untuk memilih penyanyi favoritnya dengan cara, ketik PILIH (spasi) NAMA PENYANYI dan dikirim ke nomor hp 0856780xxxx, di mana hp tersebut disambungkan ke komputer yang telah diprogram untuk mengolah data sms yang masuk.

Nah, seperti apakah program yang ada dalam komputer tersebut ?

Database dan Script Php Untuk Mengolah Data SMS

Kita membutuhkan sebuah database untuk mengolah data sms yang masuk, misalnya database tersebut bernama "polling", dengan sebuah table bernama "inbox". Berikut ini script untuk membuat table tersebut :

CREATE TABLE IF NOT EXISTS `inbox` (
`id` int(5) NOT NULL auto_increment,
`sender` varchar(15) NOT NULL,
`pilihan` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAMÂ DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;

Setelah database terbuat, kita membutuhkan sebuah script Php untuk memasukkan pilihan pengirim sms ke dalam database.

// konfigurasi database
// sesuaikan dengan konfigurasi Anda

function koneksi()
{
$user = “root”;
$pass = “”;
$db = “polling”;
$host = “localhost”;
$konek = mysql_connect($host, $user, $pass);
mysql_select_db($db, $konek);
}

// Ambil data dari url, yaitu url yang Anda masukkan
// pada kolom Command to execute di NowSMS

$sender = $_GET['sender'];
$pilihan = $_GET['pilihan'];
// Masukkan data ke database

koneksi();
$sql = “INSERT INTO inbox (id, sender, pilihan) VALUES (”, ‘$sender’, ‘$pilihan’)” ;
mysql_query($sql);

// Memberi respon (autorespon) terhadap sms yang masuk

header(“Location:http://127.0.0.1:8800/?PhoneNumber=$sender&Text=Terima+kasih+telah+memilih.”);

?>

Simpan script di atas dengan nama "polling.php"

Memberi Perintah ke SMS Gateway

Langkah berikutnya adalah memberi perintah kepada gateway (NowSMS) untuk menjalankan script "polling.php" yang baru saja kita buat :

  1. Jalankan NowSMS, dan buka tab 2-Way.
  2. Beri tanda centang pada Process Received SMS Message
  3. Biarkan Character Set pada posisi default, yaitu utf-8
  4. Ketikkan "PILIH" (tanpa tanda petik) pada kolom SMS Command Prefix, yang artinya hanya sms dengan kata pertama "PILIH" saja yang akan diproses
  5. Ketikkan nomor handphone penerima sms, yaitu nomor handphone yang tersambung ke komputer, pada kolom Receive Phone Number(s)
  6. Ketikkan "http://localhost/sms/polling.php?sender=@@SENDER@@&pilihan=@@SMS@@" (tanpa tanda petik) pada kolom Command to Execute
  7. Klik Add

polling sms gateway

Melihat Hasil Polling

Setelah para finalis menampilkan kemampuan terbaik mereka, dan para penonton telah memberikan pilihannya melalui SMS, maka kini saatnya para juri memutuskan juara dari lomba karaoke tersebut.

Untuk melihat hasil polling, kita membutuhkan sebuah script lagi untuk menampilkan hasil pengolahan data SMS yang masuk. Script tersebut kira-kira sebagai berikut :

// konfigurasi database

// sesuaikan dengan konfigurasi Anda

function koneksi()
{
$user = “root”;
$pass = “”;
$db = “polling”;
$host = “localhost”;
$konek = mysql_connect($host, $user, $pass);
mysql_select_db($db, $konek);
}

// Ambil data dari database
// Cari total SMS yang masuk

koneksi();

$sql = “SELECT * FROM inbox”;
$query = mysql_query($sql);
$totalsms = mysql_num_rows($query);

// Cari jumlah SMS per finalis

$finalis = array(‘Andi’, ‘Jamal’, ‘Ririn’);

for($i=0;$i<=2;$i++){
$sql = “SELECT * FROM inbox WHERE pilihan=’$finalis[$i]‘”;
$query = mysql_query($sql);
$suara[$i] = mysql_num_rows($query);
}

// menampilkan hasil polling dalam bentuk table

?>

”);
echo(“

”);
echo(“”);
echo(“”);
echo(“”);
}

?>

FinalisPerolehan SMSProsentase
$finalis[$i]$suara[$i]$prosentase[$i]%


Simpan script tersebut dengan nama "hasilpolling.php"

Jika dijalankan, script tersebut akan menampilkan hasil pengolahan data sebagai berikut :

hasil polling sms gateway

Nah, berdasarkan hasil polling inilah, akhirnya juri memutuskan, bahwa :

- juara satu adalah Andi dengan perolehan suara 17 sms atau 54.84%
- juara dua adalah Ririn dengan perolehan suara 8 sms atau 25.81%
- juara tiga Jamal dengan perolehan suara 6 sms atau 19.35%

Aplikasi di atas adalah contoh aplikasi polling SMS yang sangat sederhana. Untuk membuat aplikasi polling yang lebih baik, tentulah banyak sekali kekurangan yang perlu diperbaiki dan disempurnakan.

Kalau mau nyoba aplikasi polling sms ini silahkan download script polling di sini.

Sumber tulisan...

Tidak ada komentar:

Posting Komentar