Auto Reply SMS Gateway

Wah, ternyata udah lama gak nulis tentang tutorial ya hehehe :D Kalo gitu sung aja lah :D

Apaan sih SMS Gateway? Cara gampangnya sih memadukan HP dengan PC untuk membuat suatu server layanan berbasis SMS. Namanya juga server, fungsinya melayani dan tentu saja terserah adminnya mau create si server kek gimana. Kesini nih detailnya, insyaAllah sumber terpercaya :D.

Sebenernya tulisan ini melanjutkan tulisan yang sudah dibuat oleh kawanku. Dia menulis tentang bagaimana membangun SMS Gateway. Nah, sekarang aku pengen sharing gimana caranya bikin auto reply buat SMS Gateway. Auto reply kalau diartikan coro bodone membalas secara otomatis. Singkatnya, auto reply ini adalah sebuah layanan yang memudahkan seseorang untuk membalas SMS yang masuk secara otomatis dengan aturan-aturan tertentu. Nah, untuk bikin auto reply ini bisa menggunakan trigger. Trigger berfungsi sebagai pemicu, dalam artian jika ada sesuatu hal maka trigger akan beraksi dengan menjalankan perintah tertentu. Dalam auto reply ini, trigger berfungsi jika ada database baru di inbox maka akan mengeksekusi perintah dengan mengisi database baru di outbox.

Jadi skenarionya gini nih, misal ada seseorang pengen tahu nama dosen yang ngajar di kampus. Nah, mahasiswa saking gaulnya cuma tahu kode dosen, tapi gak tahu nama lengkap dosennya. Saking gaulnya mahasiswa ya males dateng ke admin fakultas buat lihat daftar nama dosen, pengennya sms aja, yang gampang-gampang aja.

Sung aja ya langkah-langkahnya:

0. Awali dengan bacaan basmallah :)

1. Udah berhasil konfigurasi SMS Gateway sesuai dengan tutorial dari temenku tadi.

2. Buat tabel baru di database smsd yang sudah kita bikin sebelumnya. Kita beri nama tabel tersebut data_dosen dan isi number of field dengan angka 2. Lalu tekan Go.

3. Kemudian isi field tadi dengan kode dan nama dan isi juga length sesuai dengan kebutuhan.

Kalo lancar muncul kek gini nih:

4. Langkah berikutnya adalah mengisi value dari masing-masing field tadi dengan cara insert. Tekan tab insert lalu isi field kode dengan value SKB dan field nama dengan value Somphil Kibing. Masukkan lagi value BAT dan value Bayu Al Tony. Lalu tekan Go.

Kalo lancar muncul kek gini nih:

5. Setelah selesai tabel data_dosen, saatnya bermain-main dengan trigger :D

6. Balik ke database smsd, lalu tekan tab SQL. Isi kolom dibawahnya denga script trigger yang kita bikin untuk auto reply.

Script triger yang kita buat:

CREATE TRIGGER info
AFTER INSERT ON inbox
FOR EACH ROW BEGINif SUBSTRING(new.TextDecoded,1,6)=’telkom’ then
INSERT INTO
outbox ( DestinationNumber, Coding, TextDecoded, CreatorID )
VALUES ( new.SenderNumber, ‘Default_No_Compression’, (
SELECT nama from data_dosen WHERE kode = SUBSTRING(new.TextDecoded,8,10)), ‘1’);

else
INSERT INTO
outbox ( DestinationNumber, Coding, TextDecoded, CreatorID )
VALUES ( new.SenderNumber, ‘Default_No_Compression’, ‘Maaf format sms Anda salah. Ketik telkom<spasi>kode dosen’, ‘1’);

end if;

END$$

Setelah selesai diketik, isi Delimiter yang posisinya dibawah kolom script trigger diganti dengan $$.

7. Kalau gak ada masalah, berarti triger kita sudah berhasil. Tapi kalau ada error, maka kita harus memperbaiki script triger tersebut.

Oke dah, sekarang kita punya aplikasi SMS Gateway sendiri. Cara ngetesnya tinggal sms aja dengan format telkom<spasi>SKB ke nomer hape si server SMS Gateway. Terus misalnya kita salah ketik format sms, maka akan dapet balasan sesuai dengan isi pesan trigger kita tadi.

Selamat mencoba dan semoga bermanfaat :D

Author: auliaafifhuda

Muslim

18 thoughts on “Auto Reply SMS Gateway”

  1. gan, bisa dijelasin gak maksud dar kode2 ini :

    if SUBSTRING(new.TextDecoded,1,6)=’telkom’ -> 1,6 itu maksudnya apaan?

    trus yg ini juga :
    SELECT nama from data_dosen WHERE kode = SUBSTRING(new.TextDecoded,8,10)), ’1′); -> angka2 itu maksudnya apa?

    thanks..

    else
    INSERT INTO
    outbox ( DestinationNumber, Coding, TextDecoded, CreatorID )
    VALUES ( new.SenderNumber, ‘Default_No_Compression’, ‘Maaf format sms Anda salah. Ketik telkomkode dosen’, ’1′);

      1. thanks responnya gan..

        oya, gimana klo pesannya lebih dari 2 kata?
        script itu kan untuk 2 kata aja : telkomnama
        gimana klo misalnya terdiri dari 3 atau 4 kata?

        anggap aja ada tabel tambahan berisi gaji dosen pada bulan dan tahun tertentu.
        tabel gaji : field terdiri dari :
        – kode
        – bulan
        – tahun
        – gaji

        misalkan isinya :
        (SKB, Jan, 2011, 3jt)
        (BAT, Jan, 2011, 2,5jt)
        (SKB, Feb, 2011, 3,1jt)

        jadi ntar org kirim smsnya telkomkodebulantahun
        contoh : telkom SKB Jan 2011
        keluar hasilnya 3jt.

        mohon pencerahannya gan, thanks

    1. nulisnya di SQLnya agan ferry..

      pertama masuk ke http://localhost/phpmyadmin, pilih database yg dipake, pada bagian SQL, ketikin dah triggernya, jangan lupa dibagian delimitter kasi tanda $$ (tanda dolar 2x)..

      kalo lewat SQL Front, caranya gak jauh beda, bedanya cuma dikit, gak perlu tulis $$ (tanda dolar 2x), bisa langsung di RUN triggernya..

  2. mas, mau tanya,, aku create trigger ato tabel baru di SQL pront di phpmyadmin koq ga bisa yah,,,
    selalu gini peringatanya
    ” #1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax …”

    aneh, kenapa ya mas,, atau perlu fitur apa gitu yah?? mohon pencerahanya,,,, trimakasih

    1. Coba periksa lagi syntax SQL nya dan versi XAMPPnya. Dulu saya juga pernah ngalamin error mirip ini, terus saya ganti versi XAMPP yang lebih bawah, masalahnya jadi terselesaikan.
      CMIIW :)

  3. MySQL said: Documentation
    #1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘INSERT INTO
    outbox ( DestinationNumber, Coding, TextDecoded, CreatorID )
    VALUE’ at line 6

    solving nya seperti apa ya?

    1. Coba periksa lagi syntax SQL nya dan versi XAMPPnya. Dulu saya juga pernah ngalamin error mirip ini, terus saya ganti versi XAMPP yang lebih bawah jadi terselesaikan.
      CMIIW :)

  4. mas saya sudah coba pakai script yang di atas
    tapi masih ada errror

    #1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘format sms Anda salah. Ketik telkomkode dosen’, ’1′); end if; E’ at line 14

    apa yang salah ya mas, maaf masih pemula

  5. mas koq gak jadi ya mas??
    errornya msh #1064 sekian”…
    pdhl sy sdh ganti versi xampp nya yg lbh dbwah,, klo untuk prcobaan sperti diatas y
    g mas buat itu pake xampp versi brp yaa???

  6. DELIMITER //
    CREATE TRIGGER infonya AFTER INSERT ON inbox
    FOR EACH
    ROW BEGIN
    IF SUBSTRING( NEW.TextDecoded, 1, 6 ) = ‘data’ THEN
    INSERT INTO outbox(DestinationNumber, Coding, TextDecoded, CreatorID)
    VALUES (NEW.SenderNumber, ‘Default_No_Compression’,
    (SELECT nama FROM data_nik WHERE nim = SUBSTRING( NEW.TextDecoded, 8, 10 )), ‘1’);
    ELSE
    INSERT INTO outbox (DestinationNumber, Coding, TextDecoded, CreatorID)
    VALUES (NEW.SenderNumber, ‘Default_No_Compression’, ‘Maaf format sms Anda salah. Ketik DATANIM’, ‘1’);
    END IF;
    END//
    DELIMITER ;

    SQL error (1235): This version of MySQL doesn’t support ‘multiple triggers with the same actiontime and eventfor one table’

    Untuk kesalahan seperti ini ada cara lain untuk mengatasinya gak gan? kalau perbedaan trigger sama triggers (ada s nya) apa gan?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s