About Me

Hai, saya Rosihan Ari Yuana. Saya sehari-hari adalah mengajar di Universitas Sebelas Maret.

Bidang riset saya tentang adaptive learning, computer aided learning, dan datascience

Selain itu, saya juga seorang penulis buku dan blogger.

More about me...

Membuat Script SMS Flash Dengan Gammu dan PHP

Apaan tuh SMS Flash? SMS Flash itu adalah sms yang begitu diterima langsung terbaca isinya. Setelah dibaca, SMS tersebut langsung terhapus secara otomatis dari inbox hp si penerima. Beda dengan SMS biasa, dimana SMS yang diterima tidak langsung terbaca/dibuka dan masih tersimpan di dalam inbox.

Nah… pada artikel ini, saya akan paparkan ide bagaimana cara membuat SMS flash dengan Gammu, dan pengembangannya bila diintegrasikan dengan script PHP. Script PHP ini nanti akan kita gunakan untuk memproses pengiriman, dimana sebelumnya si pengirim bisa memilih format SMS yang akan dikirim apakah dalam bentuk SMS normal atau SMS flash, seperti fitur free sms yang ada di blog saya ini.

Jika kita menggunakan Gammu, secara default SMS yang kita kirim adalah format normal. Bagaimana jika kita ingin mengirim dalam bentuk flash SMS? caranya sangat mudah sekali, yaitu dengan menggunakan query SQL sebagai berikut

INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID, Class) 
VALUES ('nohptujuan', 'isi sms', 'Gammu', '0');

dimana ‘DestinationNumber’ merupakan field yang menunjukkan nomor tujuan sms, ‘TextDecoded’ adalah field yang menyatakan isi sms, dan ‘Class’ menunjukkan format SMS.

Dalam artikel sebelumnya tentang teknik dasar pengiriman sms gammu, saya pernah mengajarkan cara mengirim sms dengan query

INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID) 
VALUES ('nohptujuan', 'isi sms', 'Gammu');

SMS yang dikirim dari query di atas, akan dihasilkan SMS normal, sedangkan untuk Flash SMS cukup ditambahkan nilai ‘0’ pada field Class dalam tabel OUTBOX. Mengapa harus ‘0’? Ya… nilai ‘0’ ini menandakan bahwa SMS yang akan dikirim ini dalam bentuk flash SMS. Sedangkan defaultnya adalah -1 yang menandakan SMS normal, sehingga perintah

INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID) 
VALUES ('nohptujuan', 'isi sms', 'Gammu');

identik dengan

INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID, Class) 
VALUES ('nohptujuan', 'isi sms', 'Gammu', '-1');

Paham ya konsepnya???

OK… setelah ide dasarnya sudah saya paparkan, berikutnya akan saya jelaskan cara membuat form untuk pengiriman SMS yang di dalamnya terdapat pilihan atau option untuk format SMS yang akan dikirim apakah dalam bentuk flash SMS atau normal SMS.

Pertama, kita siapkan form nya terlebih dahulu sbb

sms.php

<h1>Kirim SMS</h1>

<form method="post" action="send.php">
Nomor HP Tujuan<br>
<input type="text" name="nohp"><br><br>
Isi SMS<br>
<textarea name="sms"></textarea><br><br>
Format SMS<br>
<input type="radio" name="format" value="flash"> Flash SMS <br>
<input type="radio" name="format" value="normal"> Normal SMS <br><br>
<input type="submit" name="submit" value="Kirim SMS">
</form>

Tampilan form yang telah kita buat tersebut adalah sbb:

sms flash gammu

Perhatikan form di atas, bahwa di situ tersedia 2 buah komponen radiobutton bernama ‘format’ untuk pilihan format sms nya.

Nah.. selanjutnya, kita buat script send.php untuk proses pengirimannya.

Karena ada 2 cara pengiriman berdasarkan pilihan si pengirim, maka dalam script send.php ini nanti harus ada pilihan persyaratan yaitu jika yang dipilih adalah flash SMS dan jika yang dipilih normal SMS. Untuk menyatakan persyaratan ini, kita akan menggunakan statement IF dalam PHP. Ini dia scriptnya…

send.php

<?php

// koneksi ke database Gammu
mysql_connect("dbhost", "dbuser", "dbpass");
mysql_select_db("dbname");

// baca no tujuan
$no_tujuan = $_POST['nohp'];

// baca isi sms
$isi_sms = $_POST['sms'];

// baca format sms
$pilih_format = $_POST['format'];

if ($pilih_format == "flash")
{
   // jika format yang dipilih 'flash'

   // query kirim sms format flash
   $query = "INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID, Class) 
             VALUES ('$no_tujuan', '$isi_sms', 'Gammu', '0')";

   // jalankan query
   mysql_query($query); 
}
else if ($pilih_format == "normal")
{
   // jika format yang dipilih 'normal'

   // query kirim sms normal
   $query = "INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID, Class) 
             VALUES ('$no_tujuan', '$isi_sms', 'Gammu', '-1')";   

   // jalankan query
   mysql_query($query); 
}
else echo "Anda belum memilih format SMS";

?>

Nah… mudah bukan membuatnya, silakan dikembangkan sendiri ya. Jika masih bingung dengan Gammu, silakan baca artikel tentang panduan dasar gammu yang telah saya buat sebelumnya.

Oya, script di atas sudah saya coba dengan baik dan sukses pada AppServ, Gammu 1.25.0 dan modem Wavecom.

Selamat mencoba….

 

Saya seorang dosen dan peneliti di Universitas Sebelas Maret. Bidang penelitian saya tentang: adaptive learning, datascience, dan computer aided learning. Selain itu saya juga seorang blogger, serta penulis buku tentang pemrograman, dan matematika.

Leave a Reply