Client Server Basisdata
SMS Gateway (Visual Basic & Gammu) – part 01 Zulkarnaen NS
1
Kebutuhan Sistem: - Database server MySQL - MySQL ODBC Driver - Gammu - Visual Basic - SO Windows XP - Modem / HP GSM (with compatibel driver) - phpMyAdmin (optional)
2
Gammu Gammu adalah nama sebuah project yang ditujukan untuk membangun aplikasi, script dan drivers yang dapat digunakan untuk semua fungsi yang memungkinkan pada telepon seluler atau alat sejenisnya. Saat ini gammu telah menyediakan codebase yang stabil dan mapan untuk berbagai macam model telepon yang tersedia di pasaran dibandingkan dengan project sejenis. Gammu merupakan project yang berlisensi GNU GPL 2 sehingga menjamin kebebasan menggunakan tool ini tanpa perlu takut dengan masaah legalitas dan biaya yang mahal yang harus dikeluarkan. Gammu mendukung berbagai macam model telepon seluler dengan berbagai jenis koneksi dan type. (http://wammu.eu/gammu/).
3
Arsitektur Aplikasi SMS dengan Gammu
4
No
Perangkat
1
Handphone/Modem GSM
2
GAMMU
Penjelasan Sebagai perangkat penerima sms dan pengirim sms. Handphone-handphone keluaran lama maupun baru dapat digunakan sebagai modem GSM. Masing-masing memiliki spesifikasi dan memiliki tipe koneksi yang berbeda-beda. Bicara masalah tipe koneksi, anda harus mengetahui hal ini karena tipe koneksi berguna sekali untuk mengkoneksikan handphone/modem GSM anda ke perangkat komputer. Anda bisa melihat penjelasan mengenai tipe koneksi pada bab selanjutnya mengenai tipe koneksi. Sebagai perangkat penerjemah interkoneksi protokol handphone agar bisa digunakan datanya pada perangkat komputer. Penjelasan ini bisa diartikan sebagai “Gateway”. Gammu menguasai setiap protokol-protokol atau fungsifungsi pada handphone, sehingga perangkat komputer dapat membaca tipe data dari handphone tersebut. Koneksi dari handphone menuju perangkat komputer menggunakan berbagai jenis perangkat. Menggunakan Kabel data, Infra Red atau bahkan menggunakan Bluetooth. 5
3 MySQL
Merupakan perangkat back-end dari perangkat komputer. Data dari handphone atau modem GSM setelah “dikuasai” dan “diterjemahkan” oleh Gammu, diletakkan atau diarahkan menuju Database, Gammu menggunakan MySQL sebagai Database. Ini yang membuat perangkat komputer selanjutnya dapat mengolah data mentah SMS dari MySQL. Untuk Diketahui, bahwa fungsi Penyimpanan data SMS menuju MySQL melalui gammu ini, merupakan fungsi gammu yang paling mendasar. Sebenarnya ada fungsi pengarahan ke dalam bentuk text pada gammu, namun pada tulisan ini saya tidak membahasnya.
4 Server
Perangkat Gammu dan MySQL server di letakkan pada perangkat komputer yang selanjutnya disebut Server atau SMS Gateway Server. Penggunaan Server ini dapat dikembangkan selanjutnya sesuai dengan keinginan kita menggunakan data yang tersedia pada MySQL. Misalkan kita ingin mengolah data SMS dengan membangun aplikasi berbasis WEB, maka server harus menempatkan web server pada perangkat ini. 6
5 Client
6
Perangkat yang meng-implementasikan aplikasi yang telah dibangun untuk mengolah data sms dari modem GSM. Aplikasi inilah yang disebut dengan Aplikasi SMS. Kita bisa berkirim SMS dan Menerima SMS dari perangkat Client. Jadi seolah-olah client merupakan perangkat handphone yang fungsinya bisa menerima dan mengirim SMS. Tanda panah yang menunjukan proses Penerimaan data SMS. Diawali dengan masuknya SMS pada perangkat handphone atau modem GSM, lalu oleh GAMMU, sms tersebut dialirkan ke MySQL pada perangkat server. Lalu Client Melakukan koneksi ke server untuk melihat data SMS pada MySQL menggunakan Aplikasi SMS.
7
7
Tanda panah yang menerangkan proses pengiriman sms. SMS dikirim melalui perangkat komputer client, dengan cara memasukan satu buat record ke dalam MySQL pada table “outbox”. Dengan adanya satu data masuk ke dalam table Outbox, secara otomatis gammu akan mengambilnya dan menerjemahkannya menjadi data yang dapat dibaca oleh handphone/modem GSM. Setelah itu tugas handphone yang mengirim sms tersebut ke nomor tujuan.
8
MySQL Connector / ODBC Merupakan standarisasi driver database untuk sistem operasi Windows, Linux, Mac OS X, dan Unix platforms untuk koneksi database server MySQL sebagai backend-nya. (http://dev.mysql.com) MySQL Connector / ODBC dapat diperoleh dengan mengunduh di alamat http://dev.mysql.com/downloads/connector/odbc/5.1.html
9
Instalasi Gammu - 01 1. Double klik pada file installer
2. Klik Next
10
Instalasi Gammu - 01 3. Maka akan tampil jendela seperti dibawah ini
4. Klik Install
11
Instalasi Gammu - 01 5. Maka akan tampil jendela seperti dibawah ini
6. Klik Finish
12
Instalasi Gammu - 01 7. Hasil instalasi yang telah dilakukan
13
Setting Konfigurasi Gammu - 02 Setting ini diperlukan guna keperluan penyesuaian jenis HP dan nomor port yang akan digunakan. Langkah-langkahnya adalah sebagai berikut: 1. Edit file 'GAMMURC' yang terdapat pada direktori 'C:\gammu' dengan menggunakan aplikasi Wordpad atau sejenisnya.
Untuk isian connection disesuaikan dengan jenis modem atau HP yang dapat dilihat di http://wammu.eu/phones/ parameter port diisi dengan nomor port sesuai lokasi terpasangnya HP atau modem. Untuk mengetahui nomor port dimana HP atau modem terpasang di komputer dengan cara memilih Control Panel - Printers and Other Hardware - Phone and Modem Options 14
Setting Konfigurasi Gammu - 02
Jika pada Control Panel - Printers and Other Hardware - Phone and Modem Options tidak muncul portnya, meskipun driver sudah terinstal dapat dilakukan dengan melalui Control Panel - Performance and Maintenance - System - Hardware - Device Manager - Port (COM & LPT). 15
Setting Konfigurasi Gammu - 02
16
Setting Konfigurasi Gammu - 02 Jika nomor port muncul baik di Control Panel - Printers and Other Hardware - Phone and Modem Options maupun di Control Panel Performance and Maintenance - System - Hardware - Device Manager - Port (COM & LPT), maka pilih nomor port yang di Control Panel - Printers and Other Hardware - Phone and Modem Options.
Catatan: Sebaiknya setiap kali HP atau modem yang dipasangkan ke PC, gunakan lokasi port USB yang sama & jangan dipindah-pindah, karena setiap ganti colokan maka nomor portnya akan berubahubah. Sehingga harus mengubah kembali setting GAMMURC nya berkali-kali karena harus menyesuaikan dengan nomor portnya.
17
Menguji Koneksi - 04 Langkah terakhir untuk proses setting GAMMU ini adalah melakukan uji koneksi antara gammu dengan HP/modem. Langkah ini dilakukan setelah proses setting konfigurasi dilakukan. Caranya adalah dengan masuk folder 'c:\gammu' pada direktori gammu via DOS PROMPT, kemudian ketikkan perintah gammu identify
Catatan: Ketika melakukan uji koneksi tidak disarankan untuk melakukan aktifitas melakukan panggilan atau melakukan koneksi internet.
18
Membuat Database MySQL untuk Gammu - 05 Langkah ini bertujuan untuk menyiapkan database MySQL untuk menampung data-data SMS yang diperlukan Gammu untuk SMS Gateway. Buat tabel-tabel yang diperlukan oleh Gammu (gammu sudah menyediakan file dumpnya yang terletak di 'C:\gammu\mysqltabel.sql‘) dengan menggunakan phpMyAdmin
19
Membuat Database MySQL untuk Gammu - 05 1. Membuka localhost
20
Membuat Database MySQL untuk Gammu - 05 2. Membuka phpMyAdmin
21
Membuat Database MySQL untuk Gammu - 05 3. Membuat database (nama database: sms)
22
Membuat Database MySQL untuk Gammu - 05 4. Ekstrak tabel yang di dump
23
Membuat Database MySQL untuk Gammu - 05 5. Proses ekstrak selesai dilakukan
24
Setting Konfigurasi Untuk SMS Daemon - 06 Langkah ini dilakukan setelah setting database untuk Gammu. SMS daemon pada Gammu digunakan untuk proses pembacaan otomatis SMS yang diterima lalu disimpan ke database. SMS daemon juga diperlukan untuk keperluan pengiriman SMS. Untuk melakukan setting SMS daemon, bukalah file 'SMSDRC' yang terletak di direktori 'C:\gammu'. Bukalah dengan wordpad atau sejenisnya. Bagian yang diubah adalah: port = diisi nomor port sesuai pada file GAMMURC connection = diisi jenis connection sesuai pada file GAMMURC service = mysql (diisi dengan 'mysql' karena sebagai storage data SMSnya adalah MySQL) user = diisi user database koneksi ke MySQL password = diisi password koneksi MySQL pc = diisi nama host MySQL (biasanya localhost) database = sms (atau sesuai dengan nama database yg sebelumnya dibuat) 25
Setting Konfigurasi Untuk SMS Daemon - 06 Contoh konfigurasi yang ditulis:
26
Membuat Gammu Service - 07 Langakah ini bertujuan untuk membuat service Gammu di Windows. Dengan dibuatnya service di Windows ini bisa lebih mudah menjalankannya tanpa menggunakan perintah di command prompt di C:\gammu dan mengetikan perintah gammu-smsd -c smsdrc -i.
Langkah ini bertujuan untuk membuat service Gammu di Windows. Dengan dibuatnya service di Windows ini bisa lebih mudah menjalankannya tanpa menggunakan perintah di command prompt di C:\gammu dan mengetikan perintah gammu-smsd -c smsdrc -i.
27
Membuat Gammu Service - 07 Bila ada konfirmasi bahwa proses pembuatan service sukses, maka service Gammu akan muncul pada daftar service yang berjalan di Windows. Service ini bisa dilihan melalui 'Control Panel > Administrative Tools > Services'. Untuk menjalankan service Gammu ini klik Start pada service Gammu tersebut.
28
Membuat Gammu Service - 07 Bila proses pembuatan service ini gagal, maka cek kembali konfigurasi SMSDRC-nya atau mungkin nama databasenya salah, atau juga bisa command yang dituliskan salah. Catatan: Jika ingin mengubah konfigurasi di SMSDRC, namun service gammu sudah terlanjur dibuat sebelumnya, maka terlebih dahulu harus menghapus dahulu service yang sudah dibuat dengan memberikan perintah gammu-smsd –u Selanjutnya ubah konfigurasi SMSDRC, simpan dan buat kembali service dengan perintah gammu-smsd -c smsdrc -i
29
Test Kirim SMS - 08 Setelah setting gammu untuk SMS Gateway yang diintegrasikan dengan MySQL selanjutnya test dengan cara mengirim SMS dengan Gammu dalam bentuk short text maupun long text. Pada dasarnya dengan Gammu untuk mengirim pesan SMS yaitu dengan menggunakan command inject yang sudah disediakan oleh Gammu, atau cara kedua dengan cara menyisipkan record menggunakan query SQL ke dalam tabel 'outbox' 1. Menggunakan command inject Langkahnya adalah masuk ke folder/direktori Gammu melalui Command Prompt dimana terdapat file bernama 'gammu-smsdinject', kemudian ketikkan perintah berikut ini
dengan parameter 'pathtoconfigfile' merupakan path direktori file 'SMSDRC' Gammu terpasang 30
Test Kirim SMS - 08 Contoh:
Catatan: - Tanda petik ganda pada command inject digunakan untuk mengapit string pesan yang akan dikirim. - Perintah diatas akan mengirimkan pesan SMS dengan panjang maksimum panjang karakternya adalah 160. - Cek apakah sms tersebut terkirim ke nomor tujuan (seharusnya terkirim)
31
Test Kirim SMS - 08 Untuk long text atau dengan panjang yang lebih dari 160 karakter dengan menggunakan pesan dalam format EMS.
Contoh:
32
Test Kirim SMS - 08 2. Menyisipkan sebuah record ke dalam tabel 'outbox' Didalam tabel 'outbox' akan terdapat banyak field, namun yang perlu diperhatikan hanyalah field 'DestinationNumber' dan 'TextDecoded'. Field 'DestinationNumber' diisi dengan nomor HP tujuan dan 'TextDecoded' diisi dengan pesan SMS yang akan dikirimkan. Contoh:
Catatan: Cara ini hanya akan bisa dilakukan bila pesan teks SMS maksimal 160 karakter saja. Sedangkan bila lebih dari 160 karakter tidak bisa.
33
Selesai
34