REG#Semester#Nama (baca: Reg Pagar Semester Pagar Nama), itulah keyword yang biasa orang gunakan untuk melakukan registrasi ke nomor operator via SMS. Bukan hanya format seperti tersebut diatas yang biasa dipakai, masih banyak format-format lain yang biasa digunakan untuk melakukan registrasi.

Pada postingan kali ini saya ingin berbagi pengetahuan dari yang saya ketahui, masih seputar penggunaan tools SMS Gateway gammu dengan bahasa pemrograman Visual Basic Classic dan database MySQL. Untuk mengikuti paparan yang saya sampaikan ini, saya harap kawan-kawan sudah mengetahui cara melakukan konfigurasi gammu, membuat database gammu, cek konektifitas handphone dengan gammu, atau silahkan mempelajari postingan saya sebelumnya yang ini Pengantar Membuat Aplikasi SMS dan yang ini juga Kirim SMS ke banyak Nomor dengan VB 6.



Tahapan selanjutnya yang harus kita lakukan setelah gammu sudah mampu membaca handphone, membuat database di MySQL yaitu :
1. Buka Visual Basic Classic
2. Buat desain interface seperti dibawah ini, object yang dipakai dalam form tersebut antara lain 3 object label, 1 images dan 1 timer.
Form Registrasi SMS

3. Setting Properties untuk timer1 intervalnya menjadi 1000
4. Buat Coding untuk form tersebut, silahkan salin tempel (baca:copy paste) coding dibawah ini :
Option Explicit

Dim xNomor As String
Dim xSMS As String

Private Sub CekInSMS()
Dim xKunci As String

Set RsInbox = New ADODB.Recordset
RsInbox.CursorLocation = adUseClient

'Tampilkan data inbox
StrSQL = ""
StrSQL = "Select * From Inbox WHERE Processed='false'"
RsInbox.Open StrSQL, Conn, adOpenStatic, adLockReadOnly

If Not RsInbox.EOF Then

'Ambil record ID
xKunci = RsInbox.Fields("ID")
xNomor = RsInbox.Fields("SenderNumber")
xSMS = RsInbox.Fields("TextDecoded")

'Ubah data
StrSQL = "UPDATE inbox SET Processed='true'" _
& "WHERE ID='" & xKunci & "'"
Conn.Execute StrSQL

'panggil prosedur kirimsms
Call KirimSMS

Else
xNomor = vbNullString
xSMS = vbNullString

End If

RsInbox.Close
Set RsInbox = Nothing
Exit Sub
End Sub

Private Sub KirimSMS()
On Error GoTo salah

Dim xPesan As String
Dim xFormat1 As String, xFormat2 As String

Dim xHasil() As String


xFormat1 = VBA.Left(xSMS, 3)
xHasil = VBA.Split(xSMS, "#")
xFormat2 = xHasil(1)

If xFormat1 = "REG" And VBA.IsNumeric(xFormat2) Then
xPesan = ""
xPesan = "Terima Kasih Anda Sudah Melakukan Registrasi" _
& " ke SMS Center Pranata Indonesia"

StrSQL = "INSERT INTO outbox (`DestinationNumber`," _
& "`TextDecoded`) VALUES" _
& "('" & xNomor & "','" & xPesan & "')"

Conn.Execute StrSQL
Exit Sub
ElseIf xFormat1 <> "REG" And IsNumeric(xFormat2) Then
xPesan = ""
xPesan = "Maaf !!!, Registrasi Anda Gagal, Silahkan Cek Kembali" _
& " Format Isian Registrasinya," _
& "Contoh REG#Semester#Nama (exp. REG#10#Eka Riana)" _
& "(SMS Center Pranata Indonesia)"

StrSQL = "INSERT INTO outbox (`DestinationNumber`," _
& "`TextDecoded`) VALUES" _
& "('" & xNomor & "','" & xPesan & "')"
Conn.Execute StrSQL

Exit Sub
Else
xPesan = ""
xPesan = "Maaf !!!, Registrasi Anda Gagal," _
& "Silahkan Cek Kembali" _
& "Format Isian Registrasinya, Contoh REG#Semester#Nama" _
& "(exp. REG#10#Eka Riana)" _
& "(SMS Center Pranata Indonesia)"

StrSQL = "INSERT INTO outbox (`DestinationNumber`," _
& "`TextDecoded`) VALUES" _
& "('" & xNomor & "','" & xPesan & "')"

Conn.Execute StrSQL
Exit Sub
End If
salah:
xPesan = ""
xPesan = "Maaf !!!, Registrasi Anda Gagal," _
& "Silahkan Cek Kembali" _
& "Format Isian Registrasinya, Contoh REG#Semester#Nama" _
& "(exp. REG#10#Eka Riana)" _
& "(SMS Center Pranata Indonesia)"

StrSQL = "INSERT INTO outbox (`DestinationNumber`," _
& "`TextDecoded`) VALUES" _
& "('" & xNomor & "','" & xPesan & "')"

Conn.Execute StrSQL
Exit Sub
End Sub

Private Sub Form_Load()
Call KoneksiMySQL
End Sub

Private Sub Timer1_Timer()
Call CekInSMS
End Sub

5. Test Program; jangan lupa untuk mengaktifkan daemon smsd-mysql nya, kemudian coba lakukan SMS dengan format REG#SEMESTER#NAMA, misalnya REG#1#Eka Riana, kirim ke nomor anda (awas jangan kirim ke nomor yang salah :D ).

Demikian ulasan mengenai tools gammu dan Visual Basic yang digunakan untuk melakukan registrasi via SMS, dan hal yang perlu diketahui yaitu paparan ini hanyalah sebatas dokumentasi pribadi, dan sebatas hanya "SHARED FOR YOU". Bila ada yang mau ditanyakan silahkan berikan komentar.