Anda di halaman 1dari 5

SMS Gateway Menggunakan Gammu Dan

MySQL

Pendahuluan
SMS Gateway adalah sebuah gerbang yang menghubungkan antara komputer dengan client melalui
SMS, jadi secara garis besar, SMS Gateway dapat digambarkan seperti gambar di atas.
Client secara tidak langsung berinteraksi dengan aplikasi / sistem melalui SMS Gateway. Saat
melakukan SMS, maka informasi terpenting yang diperlukan adalah nomor tujuan dan pesan, maka
itulah yang sebenarnya diolah oleh SMS Gateway.
Contoh aplikasi SMS Gateway dalam penerapannya di dunia akademik saat ini adalah pengumuman
beasiswa, pengumuman ruang tes, dan lain sebagainya. Pengumuman-pengumuman tersebut
dilakukan secara otomatis satu arah oleh sistem. Saat informasi internal sudah terkumpul, maka
sistem akan melakukan penulisan ke dalam database yang selanjutnya diolah oleh gammu agar
dapat dikirimkan kepada nomor yang bersangkutan.
Berkas-berkas pengumuman berupa file spreadsheet ataupun file-file terformat lainnya, jika berkas
belum berupa file terformat maupun berkas yang masih berupa kertas berisi tulisan, maka masih
menjadi tugas kami untuk men-digitalkan-nya, agar dapat dibaca oleh aplikasi pemgirim SMS.
Aplikasi tidak hanya membaca dari berkas-berkas digital, tetapi juga dapat membaca informasi dari
database BAAK.

Entitas
Aplikasi Pengirim SMS
dapat berupa apa saja asalkan memiliki kemampuan untuk membaca-tulis database, dan membaca
berkas digital yang sudah disebutkan di atas. Dalam kasus ini, penulis menggunakan PHP untuk

membangun aplikasi pengirim SMS. Kenapa PHP, karena menurut penulis, bahasa PHP lebih mudah
dicerna dan memiliki banyak fungsi bahkan untuk background process (daemon) sekalipun (tanpa
webserver), PHP mampu. Jadi menurut penulis PHP adalah bahasa yang paling fleksibel baik untuk
web-based maupun program lepas.

Database
dapat berupa apa saja, dalam penjelasannya, gammu dapat menggunakan database MySQL,
PostgreSQL, bahkan gammu juga menyertakan libdbi untuk mengakses database seperti SQLite,
Ms.SQL Server, Sybase, Firebird, dll. Penulis menggunakan database MySQL karena memang belum
familiar dengan yang lain.
Dalam database SMS Gateway yang digenerate otomatis oleh Gammu, berisi layaknya aplikasi SMS
di handphone anda, terdapat inbox, outbox, serta sentitem.

GAMMU
adalah sebuah aplikasi cross-platform yang digunakan untuk menjembatani / mengomunikasikan
antara database SMS Gateway dengan sms devices. Aplikasi Gammu berupa daemon yang berjalan
secara background. Setiap saat, gammu memonitor sms devices dan database sms gateway. Saat
ada sms masuk ke sms devices, maka gammu langsung memindahkannya ke dalam inbox dalam
database sms gateway. Sebaliknya saat Aplikasi Pengirim SMS memasukkan sms ke dalam outbox
dalam database sms gateway, maka gammu mengirimkannya melalui sms devices, dan
memindahkan sms ke sentitem dalam database.

SMS Devices
merupakan alat pengirim SMS yang berupa modem ataupun handphone. Agar dapat digunakan
dengan semestinya, maka devices ini harus memenuhi syarat-syarat tertentu agar dapat terintegrasi
dengan gammu.

Client
adalah anda yang sudah menerima informasi pengumuman beasiswa, pengumuman ruang, dan
sebagainya. Semua informasi yang sampai ke tangan anda dilakukan oleh sistem karena tidak
mungkin mengirimkan SMS ke ribuan mahasiswa secara manual.

Ruang Lingkup
Dalam pengimplementasian, penulis menggunakan
OS : Ubuntu Lucid 10.04,
MySQL : Ver 14.14 Distrib 5.1.41, for debian-linux-gnu (x86_64) using readline 6.1,

Modem : Wavecom GSM Modem M1306B

Instalasi dan Konfigurasi


Gammu adalah aplikasi open source multi-platform, artinya gammu dapat dijalankan di sistem operasi
yang bermacam-macam. Hal pertama yang harus dilakukan adalah mendapatkan paket gammu dari
website http://wammu.eu/download/gammu/ dan lakukan instalasi seperti pada umumnya. Setelah
proses instalasi selesai, pasangkan modem di port USB.
Hal terpenting dari gammu adalah file konfigurasi, contoh lengkap file konfigurasi disertakan dalam
manual dan website gammu. Ada 2 file konfigurasi untuk 2 sub-aplikasi gammu. Aplikasi tersebut
adalah :

1.
1.

$ gammu

2.

$ gammu-smsd

Perintah no.1 digunakan untuk melakukan baca tulis modem secara manual, sedangkan perintah
no.2 adalah aplikasi background untuk memonitor database. Perintah no.1 tidak banyak digunakan,
dalam ruang lingkup penulis menggunakannya sekedar untuk mendeteksi modem.
File konfigurasi untuk aplikasi no.1 bisa bernama apa saja, untuk memudahkan, diberi nama

./gammurc

Isi dari file ./gammurc adalah :


[gammu]
port = /dev/ttyUSB0
connection = at115200

port : letak modem, connection : menentukan jenis koneksi yang diinginkan. Untuk penjelasan rinci
dapat dilihat di manual maupun website gammu.
Deteksi modem dan integrasinya dengan gammu menggunakan perintah :
identify dan akan dihasilkan :

$ sudo gammu -c ./gammurc

Manufacturer : Wavecom
Model : unknown (MULTIBAND 900E 1800)
Firmware : 641b09gg.Q2403A 1320676 061804 14:38
IMEI : 012345678901234
SIM IMSI : 510015300171610

Jika sudah muncul seperti di atas, maka modem anda sudah terintegrasi dengan gammu.
Untuk menjalankan gammu-smsd yang merupakan aplikasi monitor database, maka kita siapkan dulu
database untuk gammu. Persiapkan user dan database dengan nama tertentu, sesuaikan struktur
tabel yang ada menurut http://wammu.eu/docs/manual/smsd/mysql.html

Setelah MySQL tersesuaikan dengan struktur gammu, atur file konfigurasi untuk aplikasi background
(aplikasi no.2). File konfigurasi kita namakan ./smsdrc dan berisi :
[gammu]
port = /dev/ttyUSB0
connection = at115200
[smsd]
service = MYSQL #database
logfile = /var/log/smsdlog #letak log file
debuglevel = 1 #level debugging, semakin tinggi semakin dalam
commtimeout = 15
sendtimeout = 15
checksecurity = 0
user = user #user database
password = password #password database
pc = localhost #alamat database
database = sms #nama database

Untuk section [gammu] kita sesuaikan seperti yang ada di dalam file ./smsdrc
Section [smsd] adalah pengaturan bagaimana aplikasi background berjalan. Penjelasan lebih lanjut
dapat dilihat di manual.
Setelah database dan file konfigurasi tersesuaikan, maka jalankan aplikasi dengan menggunakan
perintah : $ gammu-smsd -c ./smsdrc
Untuk mengirim atau membaca SMS yang masuk, maka operasi database yang berperan. Sebagai
contoh untuk mengirim SMS, maka dilakukan query :
INSERT INTO `sms`.`outbox` (`UpdatedInDB`, `InsertIntoDB`, `SendingDateTime`, `Text`, `DestinationNumber`,
`Coding`, `UDH`, `Class`, `TextDecoded`, `ID`, `MultiPart`, `RelativeValidity`, `SenderID`, `SendingTimeOut`,
`DeliveryReport`, `CreatorID`) VALUES (CURRENT_TIMESTAMP, '0000-00-00 00:00:00', '0000-00-00 00:00:00',
NULL, '08199999999999', 'Default_No_Compression', NULL, '-1', 'coba', NULL, 'false', '-1', NULL, '0000-00-00
00:00:00', 'default', '');

dimana `DestinationNumber` adalah nomor yang dituju dan

`TextDecoded` adalah

isi SMS

Untuk membaca SMS yang masuk, maka dilakukan query :


SELECT * FROM `inbox`

Untuk integrasi lebih lanjut, semisal pengiriman SMS secara masal, ataupun menyeleksi SMS masuk,
membuat SMS autoreply, bahkan mengintegrasikan dengan aplikasi yang sudah ada. Semua tertuju
pada database gammu, sekarang silahkan anda berkreasi dengan aplikasi berbahasa apa saja untuk
mengutak atik database sehingga terbentuk aplikasi SMS terintegrasi.

Demikian penjelasan singkat mengenai SMS Gateway menggunakan Gammu dan MySQL.

Anda mungkin juga menyukai