document

9
SUMBER : WWW.PCMEDIA.COM [2/6/2008] KONSEP PEMBUATAN SMS GATEWAY Melanjutkan pembahasan edisi sebelumnya mengenai pembuatan SMS gateway, kali ini kita akan mengupas seluk beluk SMS gateway deng an lebih mendalam lagi. Joko Nurjadi BAGIAN 2 DARI 2 ARTIKEL ADA BAIKNYA Anda melihat kembali artikel pada edisi sebelumnya yang merupakan dasar persiapan pembuatan SMS gateway. Pada edisi sebelumnya, kita telah membahas mengenai AT Command yang merupakan inti dari pemrograman SMS gateway dengan menggunakan GSM modem/ponsel. Karena itu, Anda harus terlebih dahulu memahami AT Command. Anda dapat mencobanya secara langsung tanpa pemrograman melalui HyperTerminal yang disediakan Win- dows. Kita juga telah membahas dua format SMS yang digunakan device GSM modem/ponsel, yaitu format PDU dan format Text. Kebanyakan device telah mendukung format text yang lebih mudah dan user friendly, tetapi jika device Anda tidak mendukung format text, Anda harus menggunakan format PDU yang lebih rumit. Database Apa kelebihan sebuah SMS gateway dibandingkan dengan pengiriman ataupun penerimaan dengan ponsel biasa? Kelebihan yang paling nyata tentunya adalah SMS gateway merupakan aplikasi komputer, artinya dapat melakukan otomatisasi dan meringankan pekerjaan manual. Selain itu, suatu aplikasi juga dapat menyimpan data dalam jumlah yang banyak. Berapa SMS yang dapat ditampung oleh inbox dan sent item pada ponsel Anda? Tentunya tidak sebanyak data yang dapat disimpan pada harddisk komputer. Umumnya, sebuah SMS gateway akan memindahkan data SMS pada device ke dalam sebuah database agar dapat di -proses lebih lanjut, sehingga device GSM modem/ponsel hanya bersifat sebagai media pengirim dan penerima SMS. Karena itu sebuah aplikasi SMS gateway juga memerlukan database, table-table utama yang perlu dipersiapkan pada sebuah SMS gateway adalah sebagai berikut: 1. Inbox. Merupakan table yang berfungsi untuk menampung SMS yang diterima. Field-field penting yang diperlukan antara lain field pengirim (berisi nomor pengirim), pesan (berisi text SMS), dan waktu (berisi tanggal dan jam).

Upload: rickyrefandi

Post on 08-Nov-2015

1 views

Category:

Documents


0 download

DESCRIPTION

www.pcmedia.pdf

TRANSCRIPT

  • SUMBER : WWW.PCMEDIA.COM

    [2/6/2008] KONSEP PEMBUATAN SMS GATEWAY

    Melanjutkan pembahasan edisi sebelumnya mengenai pembuatan SMS gateway, kali ini kitaakan mengupas seluk beluk SMS gateway deng an lebih mendalam lagi. Joko Nurjadi

    BAGIAN 2 DARI 2 ARTIKEL

    ADA BAIKNYA Anda melihat kembali artikel pada edisi sebelumnya yang merupakan dasarpersiapan pembuatan SMS gateway.

    Pada edisi sebelumnya, kita telah membahas mengenai AT Command yangmerupakan inti dari pemrograman SMS gateway dengan menggunakan GSM modem/ponsel.

    Karena itu, Anda harus terlebih dahulu memahami AT Command. Anda dapatmencobanya secara langsung tanpa pemrograman melalui HyperTerminal yang disediakanWin-dows.

    Kita juga telah membahas dua format SMS yang digunakan device GSMmodem/ponsel, yaitu format PDU dan format Text. Kebanyakan device telah mendukungformat text yang lebih mudah dan user friendly, tetapi jika device Anda tidak mendukungformat text, Anda harus menggunakan format PDU yang lebih rumit.

    DatabaseApa kelebihan sebuah SMS gateway dibandingkan dengan pengiriman ataupun penerimaandengan ponsel biasa? Kelebihan yang paling nyata tentunya adalah SMS gateway merupakanaplikasi komputer, artinya dapat melakukan otomatisasi dan meringankan pekerjaan manual.

    Selain itu, suatu aplikasi juga dapat menyimpan data dalam jumlah yang banyak.Berapa SMS yang dapat ditampung oleh inbox dan sent item pada ponsel Anda? Tentunyatidak sebanyak data yang dapat dis impan pada harddisk komputer.

    Umumnya, sebuah SMS gateway akan memindahkan data SMS pada device ke dalamsebuah database agar dapat di -proses lebih lanjut, sehingga device GSM modem/ponselhanya bersifat sebagai media pengirim dan penerima SMS.

    Karena itu sebuah aplikasi SMS gateway juga memerlukan database, table-tableutama yang perlu dipersiapkan pada sebuah SMS gateway adalah sebagai berikut:

    1. Inbox.Merupakan table yang berfungsi untuk menampung SMS yang diterima. Field-eldpenting yang diperlukan antara lain eld pengirim (berisi nomor pengirim), pesan (berisitext SMS), dan waktu (berisi tanggal dan jam).

  • Jika Anda hanya menggunakan satu device, Anda tidak memerlukan eld nomorpenerima, karena semua SMS yang masuk inbox tentunya ditujukan untuk sebuah nomorsaja, yaitu nomor GSM yang terpasang pada device Anda.

    2. Outbox.Table Outbox merupakan table yang menyimpan SMS yang akan dikirimkan. Field -eldyang penting adalah eld tujuan (nomor penerima SMS), dan pesan (berisi text SMS).

    3. Sent Item.Saat SMS pada Outbox telah terkirim, maka data tersebut akan masuk kedalam table SentItem. Jadi table Sent Item adalah table yang menyimpan SMS yang telah terkirim.

    Karena itu pada intinya isi dari Sent Item adal ah record yang tadinya terdapat pada tableOutbox, ditambah dengan eld-eld seperti waktu (berisi tanggal dan jam), serta statusdelivery yang menunjukkan indikasi apakah sebuah SMS telah diterima atau tidak.

    InisialisasiPada edisi yang lalu, Anda telah mencoba menjalankan AT command melaluiHyperTerminal. AT command diketikkan pada HyperTerminal dan Anda dapat langsungmelihat hasilnya ataupun response yang diterima oleh device pada tampilan HyperTerminal.

    Aplikasi SMS gateway memindahkan proses tersebut ke dalam bahasa pemrograman.Dalam artikel ini, kita akan menggunakan bahasa pemrograman Visual Basic untuk membuatSMS gateway. Kita juga akan menggunakan AT command yang kompatibel dengan jenisGSM modem Itegno 3000.

    Sebagai catatan tambahan, AT command bisa saja berbeda -beda antara device satudengan device lainnya. Ada baiknya Anda memiliki dokumentasi AT command yangdidukung oleh device yang Anda gunakan.

    Pada Visual Basic, Anda dapat menggunakan control MSComm, y ang berfungsiseperti layaknya HyperTerminal. MSComm berfungsi sebagai media komunikasi programAnda dengan device, tentunya sebelum dapat bercakap -cakap dengan device, Anda perlumelakukan inisialisasi device terlebih dahulu.

    Proses inisialisasi berarti Anda harus menentukan terlebih dahulu port dan baud rate,parity, dan kongurasi lain yang digunakan oleh device Anda. Di dalam bahasa Visual Basic,kurang lebih kode programnya akan seperti di bawah ini:

    MSComm1.CommPort = 3MSComm1.Settings = 115200, N,8,1MSComm1..PortOpen = TrueKode program di atas memberikan nilai pada property -property MSComm untuk

    melakukan inisialisasi dan mengaktifkan port, asumsi kode program di atas adalah deviceAnda terpasang pada port 3, diatur menggunakan baud rate 115200, parity = N, databit = 8,dan stop bit =1.

    Jika pada program HyperTerminal Anda dapat mengetikkan perintah -perintah ATcommand dan melihat responsenya, demikian juga pada control MSComm, denganmenggunakan property Output dan Input.

  • Property Output digunakan untuk memberikan command/perintah kepada device,sedangkan property Input menghasilkan data dari buffer penerima.

    Jangan menjadi rancu antara output dan input, property Output pada MSComm berartimerupakan transmit data yang dikirimkan pada device, response dari device akan diterimaoleh property Input.

    Sebagai contoh, jika Anda ingin memberikan perintah AT command sederhana,misalnya AT, maka Anda menuliskannya pada property Output. Jika komuni kasi berjalandengan baik, maka device akan menjawab OK yang diterima oleh propertyInput.

    Kita akan melanjutkan potongan program di atas, dengan contoh untuk mengirimkandua perintah AT command di bawah ini:MSComm.Output = AT & Chr$(13)MSComm..Output = AT+CMGF=1 & Chr$(13)

    Baris pertama mengirimkan command AT yang berfungsi untuk testing komunikasi,sedangkan baris kedua mengirimkan command AT+CMGF=1 yang berfungsi untukmemberikan perintah pada device untuk berada dalam mode text.

    Chr$(13) merupakan karakter enter yang digunakan untuk mengakhiri perintah. Jikakomunikasi berjalan dengan baik dan device GSM modem/ponsel Anda mendukungpenggunaan mode text, maka property MSComm.Input akan berisi nilai OK.

    Property MSComm.Input akan mengembalikan nilai ERROR jika terjadi kesalahansintaks atau komunikasi tidak berjalan sebagaimana mestinya.

    Inisialisasi berikutnya yang diperlukan adalah menentukan nomor service center yangdigunakan. Nomor service center berbeda -beda tergantung pada operator GSM yang Andagunakan.

    Untuk menentukan nomor service center, digunakan AT command AT+CSCA=xxx,di mana xxx adalah nomor service center operator GSM yang Anda gunakan.

    Mengirim SMSJika pada edisi sebelumnya Anda telah berhasil mengirimkan SMS melalui HyperTerminal,maka seharusnya Anda juga dapat melakukannya melalui control MSComm didalam VisualBasic ini.

    Untuk mengirim SMS, digunakan AT command AT+CMGS. Potongan kode programdalam Visual Basic untuk mengirim SMS adalah sebagai berikut:sTujuan = 081xxxxxsPesan = Selamat PagiMSComm.Output = AT+CMGS= & sTujuan & Chr$(13)MSComm.Output = sPesan & Chr$(26)

    Variabel sTujuan berisi dengan nomor ponsel tujuan, sedangkan variabel s Pesanberisi dengan pesan SMS yang diinginkan.

  • Perhatikan pada baris MSComm.Output = sPesan & Chr$(26), apakah arti dariChr$(26)? Chr$(26) merupakan karakter CTRL + Z yang berfungsi untuk mengakhiri isipesan yang ingin dikirim.

    Salah satu keuntungan menggunakan database dalam aplikasi SMS gateway adalahAnda dapat menyimpan daftar SMS yang ingin dikirimkan sebanyak yang Anda inginkan.

    Anda cukup mengisi atau membuat program entry table Outbox yang telah Andapersiapkan, sehingga akan terdapat record-record yang berisi tujuan dan pesan yang siapdikirimkan melalui SMS gateway.

    Aplikasi SMS gateway Anda kemudian membaca table Outbox, dan melakukan pengirimanuntuk masing-masing record yang dibaca. Menarik, bukan? Anda kini telah dapat membuatsebuah aplikasi yang dapat mengirimkan SMS dalam jumlah banyak ke berbagai tujuan.

    Bayangkan jika hal itu dilakukan secara manual, pastinya akan cukup merepotkan.

    Record pada table Outbox yang telah terkirim, dapat Anda pindahkan kedalam tableSent Item sehingga Anda memiliki arsip SMS yang telah dikirim.

    Menerima SMSSMS gateway dapat membantu Anda menjadi penerima SMS yang baik, tanpa Anda perlu 24jam sehari memantau SMS yang masuk. Bahkan kalau diperlukan, aplikasi SMS gatewaydapat diatur agar dapat membalas secara otomatis.

    Untuk menangani SMS yang masuk, aplikasi SMS harus dalam keadaan menunggu,informasi SMS yang masuk akan ditampung pada property MSComm.Input.

    Terdapat event MSComm_OnComm yang dapat Anda gunakan untuk melakukanpengecekan input yang masuk. Event ini akan dijalankan setiap kali terdapat data yangditerima melalui port komunikasi yang terpasang.

    Anda dapat mencoba menuliskan program sederhana seperti di bawah ini:Private Sub MSComm_OnComm()Dim stComChar As String * 1

    DoLoop Until MSComm.InBufferCount > 0Do While MSComm.InBufferCount > 0

    stComChar = MSComm.InputtempBuffer = tempBuffer + stComChar

    Loop

    Debug.Print tempBuffer

    End Sub

    Jika tidak terdapat masalah, maka setiap kali SMS masuk (ataupun terjadi eventlainnya seperti telpon masuk), maka event ini akan dijala nkan dan program akan menuliskanisi dari data yang diterima.

  • Anda dapat membuat rutin untuk memeriksa isi dari data yang diterima tersebut,untuk kebutuhan SMS masuk, MSComm akan mengembalikan kode nilai +CMT atau+CMTI sebagai indikasi bahwa ada SMS y ang masuk.

    +CMT akan diikuti dengan informasi nomor pengirim, tanggal dan waktu, serta isiSMS yang diterima, semua informasi ini akan tersimpan dalam variabel tempBuffer di atas.

    Yang perlu Anda lakukan selanjutnya adalah membuat rutin untuk melakukan parsingdata dan memilah-milah antara nomor pengirim, tanggal, dan isi SMS sehingga dapatdisimpan tapi di dalam table Inbox.

    +CMTI tidak disertai dengan informasi lengkap seperti pada +CMT, tetapi Andadapat menjalankanAT command AT+CMGL=REC UNREAD. Setelah dijal