Pertama di Indonesia: "Murottal Al Qur'an + Terjemahan" dalam bentuk CD MP3 Original (Coba dulu FREE)

Pasang banner (468x60) di sini


Dapatkan Script SMS Gateway PHP + MySQL

Seperti: software pengirim SMS massal, SMS survei, SMS polling, SMS quick count, SMS dakwah, Web2SMS dan masih banyak lagi... semuanya berbasis PHP & MySQL
[Info Lengkap...]


Teknik Dasar Mengirim SMS dengan Gammu


October 26th, 2009 | by rosihanari | Cetak Artikel Ini Cetak Artikel Ini

Pada artikel sebelumnya, saya sudah paparkan bagaimana cara melakukan setting Gammu untuk SMS Gateway yang diintegrasikan dengan MySQL. Jika proses setting ini sudah beres, maka selanjutnya kita bisa bermain-main sepuasnya dengan Gammu.

Dalam artikel ini saya akan paparkan bagaimana teknik dasar mengirim SMS dengan Gammu baik dalam bentuk short text maupun long text. Pada bagian akhir nanti kita akan coba membuat script sederhana dengan PHP untuk mengirim pesan SMS ini yang diintegrasikan dengan Gammu melalui sebuah form.

OK.. pada dasarnya dengan Gammu kita bisa mengirim pesan SMS dalam 2 cara yaitu dengan menggunakan command inject yang sudah disediakan oleh Gammu, atau cara kedua kita menyisipkan record dengan menggunakan query SQL ke dalam tabel ‘outbox‘. Bila Anda ingin mengirimkan pesan dengan cara yang kedua ini, terlebih dahulu Anda harus sudah memiliki database ’sms’ dan tabel-tabel yang diperlukan oleh Gammu sebagaimana sudah saya jelaskan cara instalasinya pada langkah ke-5 dari artikel sebelumnya.

Untuk cara pertama yaitu dengan menggunakan command inject yang disediakan oleh Gammu, caranya adalah masuklah ke folder/direktori Gammu Anda melalui Command Prompt di mana terdapat file bernama ‘gammu-smsd-inject‘, lalu ketikkan perintah berikut ini kemudian tekan ENTER.

gammu-smsd-inject -c pathtoconfigfile TEXT notujuan -text "pesan"

dengan parameter ‘pathtoconfigfile‘ adalah path direktori file ‘SMSDRC’ Gammu Anda.

Sebagai contoh misalkan akan dikirim pesan SMS ke no. tujuan +62811000001 dengan pesan “Hello World”, dan file SMSDRC nya terletak di C:\gammu, maka perintahnya

gammu-smsd-inject -c c:\gammu\smsdrc TEXT +62811000001 -text "Hello World"

Keterangan: tanda petik ganda pada command inject digunakan untuk mengapit string pesan yang akan dikirim.

Perintah di atas akan mengirimkan pesan SMS dengan maksimum panjang karakternya adalah 160.

Lantas, bagaimana jika untuk long text atau dengan panjang yang lebih dari itu? Caranya adalah dengan menggunakan pesan dalam format EMS.

gammu-smsd-inject -c pathtoconfigfile EMS notujuan -text "pesan"

Setelah Anda mengetikkan perintah di atas, maka Gammu akan segera mengirim SMS ke nomor tujuan.

Selanjutnya kita gunakan cara kedua, yaitu dengan menyisipkan sebuah record ke dalam tabel ‘outbox’.

Di dalam tabel ‘outbox‘ Anda akan lihat banyak sekali field, namun yang perlu diperhatikan hanyalah field ‘DestinationNumber‘ dan ‘TextDecoded‘. Field ‘DestinationNumber’ itu nanti akan diisi dengan nomor HP tujuan dan ‘TextDecoded’ diisi dengan pesan SMS yang akan dikirimkan.

Contoh:

INSERT INTO outbox(DestinationNumber, TextDecoded) VALUES ('+62811000001', 'Hello World');

Nah… cara ini hanya hanya akan bisa dilakukan bila pesan teks SMS nya maksimal 160 karakter saja. Sedangkan bila lebih dari itu tidak bisa. Meskipun di situs resminya Gammu telah menjelaskan teknik mengirim SMS long text melalui INSERT tabel menggunakan multipart, namun setelah saya coba berkali-kali dan berhari-hari ternyata tidak bisa dilakukan. Sehingga untuk mengirim long text (di atas 160 karakter) sebaiknya gunakan command inject di atas.

OK.. sekarang kita akan mencoba membuat script PHP sederhana untuk mengirim pesan SMS yang terintegrasi dengan Gammu ini.

Langkah pertama kita buat form untuk mengirim pesan SMS nya terlebih dahulu.

<form method="post" action="send.php">
No. HP Tujuan : <input type="text" name="nohp" value="+62"><br>
Pesan : <textarea name="msg"></textarea><br>
<input type="submit" name="submit" value="Kirim SMS">
</form>

Langkah kedua, kita buat script php untuk mengirim pesannya.

send.php

<?php
$noTujuan = $_POST['nohp'];
$message = $_POST['msg'];
 
exec('c:\gammu\gammu-smsd-inject.exe -c c:\gammu\smsdrc EMS '.$noTujuan.' -text "'.$message.'"');
 
?>

Perintah exec() dalam PHP digunakan untuk menjalankan perintah command DOS dalam hal ini adalah perintah command inject nya Gammu.

Karena command inject Gammu pada script di atas menggunakan format EMS maka memungkinkan kita mengirim SMS dengan jumlah karakter lebih dari 160 buah.

Oya… sebelum Anda menjalankan script di atas, pastikan bahwa service Gammu nya telah Anda jalankan, dan HP Anda tercolok ke PC :-)

Sekarang… bagaimana bila pengiriman SMS dari script di atas menggunakan query INSERT? Ini dia scriptnya.

send.php

<?php
mysql_connect("dbhost", "dbuser", "dbpass");
mysql_select_db("sms");
 
$noTujuan = $_POST['nohp'];
$message = $_POST['msg'];
 
$query = "INSERT INTO outbox (DestinationNumber, TextDecoded) VALUES ('$noTujuan', '$message')";
$hasil = mysql_query($query);
if ($hasil) echo "SMS berhasil dikirim";
else echo "SMS gagal dikirim";
 
?>

Bagaimana mudah bukan membuatnya? Nantikan artikel berikutnya tentang cara pengolahan SMS yang masuk dengan studi kasus autorespon atau autoreply.
Sebagai catatan, baik cara pertama maupun cara kedua, bila pesan SMS sudah terkirim maka secara otomatis akan tersimpan ke dalam tabel ’sentitems’ dalam database ’sms’.


Beberapa artikel terkait


Share this article on:

Kata kunci: script kirim sms gateway - script php kirim sms gateway - sms gateway gammu - sms gateway mysql - teknik mengirim sms gammu -


Ada 85 komentar dalam artikel ini.

  1. Deni says:

    bagus banget artikelnya… mas sedikit petunjuk donk, kalo mau kirim sms dengan metode insert, trus nama pemilik nomornya muncul, ( ex: Bapak AAAA, terima kasih telah mendaftar ) gimana ?

    thanks

  2. rosihanari says:

    @deni: berarti anda harus buat tabel berisi no hp dan nama pemiliknya. Trus berikutnya Anda buat script auto reply SMS seperti yang saya bahas di http://blog.rosihanari.net/script-auto-reply-sms-gateway-dengan-php

  3. Mas, saya udah sampai identify, cuma pas belajar kirim sms pake script jawabannya gini:

  4. Mas saya pas kirim sms kok gini:

    C:\Gammu\bin>gammu-smsd-inject -c c:\gammu\bin\smsdrc TEXT +622659194484 -text ”
    anjritt”
    Log filename is “smsdlog”
    Failed to inject message: Functionality not implemented. You are welcome to help
    authors with it.

  5. rosihanari says:

    @pengembarasejati: mungkin hp anda gak support dengan gammu mas.. atau kalau memang support coba dicek di settingan di smsdrc dan gammurc nya

  6. rosihanari says:

    @pengembarasejati: jawabannya apa mas?

  7. Dhiasa says:

    Mas, penjelasannya bagus bener, saya udah pusing coba konfigurasi gammu sebelum baca artikelnya mas Rosihan ari.

    ceritanya pengen ujicoba, tapi puyeng cari kabel data HP-ku (Z530i) jadi iseng-iseng aku cobain ke axesstel MV100nya jump smart, pas lagi di gammu identify eh keluar, tapi pas mau dirun di win services gak mau, katanya : error 1053 the service did not respond to start or control request in timely fashion. padahal semuanya udah sesuai dengan penjelasan mas rosihan, kenapa ya ?… bantuin dong mas

  8. mank says:

    Artikel yg bgs bgt…

  9. mank says:

    mas, mw tnya dunk..
    kok sms na gk mw masuk k dtbase ya..??
    –identify na dah ok, — smsdrc na jg udah ok..
    saya pake hp nokia 3110..
    mohon pnjelasannya…
    thanx..

  10. rosihanari says:

    @mank: beberapa jenis nokia memang SMS yg diterima tidak bisa secara otomatis masuk ke tabel INBOX. Kalo saya sarankan, sebaiknya jangan pake NOKIA.



Tolong beri komentar donk!

Komentar Anda akan berguna untuk kemajuan blog ini.


Mohon maaf, komentar yang menggunakan email palsu atau komentar bernada negatif atau cemooh secara otomatis akan terhapus karena dianggap spam dan tidak akan tampil dalam daftar komentar.

Dimohon jangan pula memasukkan code program dalam bentuk apapun ke dalam komentar karena akan dianggap spam.

*
Untuk membuktikan bahwa komentar Anda bukan spam, tulis kata yang muncul dalam gambar di bawah ini. Bila Anda tidak bisa membaca kata dalam gambar, klik pada gambar tersebut untuk mendengarkan suara dari kata tersebut
Click to hear an audio file of the anti-spam word