RSS
email

Senin, 13 Juni 2011

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
1.INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID, Class)
2.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
1.INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID)
2.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
1.INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID)
2.VALUES ('nohptujuan', 'isi sms', 'Gammu');
identik dengan
1.INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID, Class)
2.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
01.<h1>Kirim SMS</h1>
02. 
03.<form method="post" action="send.php">
04.Nomor HP Tujuan<br>
05.<input type="text" name="nohp"><br><br>
06.Isi SMS<br>
07.<textarea name="sms"></textarea><br><br>
08.Format SMS<br>
09.<input type="radio" name="format" value="flash"> Flash SMS <br>
10.<input type="radio" name="format" value="normal"> Normal SMS <br><br>
11.<input type="submit" name="submit" value="Kirim SMS">
12.</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
01.<?php
02. 
03.// koneksi ke database Gammu
04.mysql_connect("dbhost", "dbuser", "dbpass");
05.mysql_select_db("dbname");
06. 
07.// baca no tujuan
08.$no_tujuan = $_POST['nohp'];
09. 
10.// baca isi sms
11.$isi_sms = $_POST['sms'];
12. 
13.// baca format sms
14.$pilih_format = $_POST['format'];
15. 
16.if ($pilih_format == "flash")
17.{
18.   // jika format yang dipilih 'flash'
19. 
20.   // query kirim sms format flash
21.   $query = "INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID, Class)
22.             VALUES ('$no_tujuan', '$isi_sms', 'Gammu', '0')";
23. 
24.   // jalankan query
25.   mysql_query($query);
26.}
27.else if ($pilih_format == "normal")
28.{
29.   // jika format yang dipilih 'normal'
30. 
31.   // query kirim sms normal
32.   $query = "INSERT INTO outbox(DestinationNumber, TextDecoded, CreatorID, Class)
33.             VALUES ('$no_tujuan', '$isi_sms', 'Gammu', '-1')";  
34. 
35.   // jalankan query
36.   mysql_query($query);
37.}
38.else echo "Anda belum memilih format SMS";
39. 
40.?>
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….

Download Disini

2 komentar:

  1. kalo mau bikin sms broadcast gmn ya? jadi saya pingin kirim sms kebeberapa nomer sekaligus dengan isi sms yang sama

    BalasHapus
  2. flas jadi akan tetapi tujuan ke no telkomsel knpa tidak mau yak?

    BalasHapus