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.
3. Setting Properties untuk timer1 intervalnya menjadi 1000
4. Buat Coding untuk form tersebut, silahkan salin tempel (baca:copy paste) coding dibawah ini :
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.
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 Sub5. 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.
Assalamu'alaikum pak, mau nanya klo misal layanan SMS yg ditawarkan lebih dari satu, kayak REG, UNREG, NILAI (tanya Nilai) dll itu bagaimana Pak??
ReplyDeleteTrus ini pak, mohon penjelasannya:
xFormat1 = VBA.Left(xSMS, 3)
xHasil = VBA.Split(xSMS, "#")
xFormat2 = xHasil(1)
sama,
knp code untuk info format salah diulang 3X?? "MAAF!! Registrasi Anda Gagal ....."
sorry banyak nanya, pengen beljaran bikin aplikasi sprti itu jg. Thanks
Sangat bisa, berarti ketika sms masuk berisi REG, Maka nomor dari registrasi tersebut otomatis tersimpan ke tabel data registrasi, sedangkan ketika sms masuk berisi UNREG maka otomatis nomor telpon tersebut terhapus didalam tabel registrasi,,,
ReplyDeleteUntuk memberikan info tentang nilai berarti harus membuat terlebih dahulu tabel tambahan untuk menyimpan data nilai, sedangkan untuk untuk meminta info nilai dan memberikan info nilai dari sms center ke nomor pengirim tinggal mainkan bahasa Querynya.
Bisa aja tidak di ulang, itu cuma sekedar contoh aja, tinggal di modifikasi dikit....
Mudah-mudahan faham,,,,,
Oke pak, paham :D
ReplyDeletejadi untuk UNREG query DELETE data ditulis pada Timer??? (seperti koding anda di atas)
Oh ya pak, mohon dijelaskan untuk koding ini:
VBA.Left(xSMS, 3) >>> VBA itu apa? dan angka 3 itu untuk apa?
nanya satu lagi pak, hehehe...
code untuk menyimpan data member (REG) ke dalam tabel "Peserta" berdasarkan field NIS, NAMA, KELAS, No.HP itu gmana ya pak??
ThankS
VBA.Left(xSMS,3) Digunakan untuk mengambil character dari sebelah kiri, sedangkan VBA sendiri artinya ,,,, ane juga engga tau ... heheh..
ReplyDeleteUntuk menyimpan data Member, berarti harus diubah terlebih dahulu format registrasinya menjadi seperti ini :
REG#Nama#Kelas --->REG#Eka Riana#X
Dan untuk codingnya kurang lebih seperti dibawah ini, tapi dengan asumsi bahwa tabel peserta sudah anda buat :
hehehe... Oh berarti angka 3 itu untuk membaca 3huruf "REG" ya??? setelah itu isi SMS displit berdasarkan "#", xFormat(2) = xHasil(1) <<< angka 1 disitu untuk menunjukkan pada program letak keyword "REG" ya??
ReplyDeletemana pak code buat nyipan datanya? Koq ga ada? :D
Tepat sekali ,,,,,
ReplyDeleteOhhh codingnya belum ada yah ? lupa saia,,,
Tar ane create dulu yah ...
Oke deh pak, aq tunggu codingan-nya "I'm so excited" :D
ReplyDeleteMaaf saya baru bisa on, lumayan peperangan coding udah mulai mereda :D
ReplyDeleteUntuk coding agar setiap yang melakukan registrasi itu bisa tersimpan datanya ke tabel tertentu, misal : tabel registrasi yang memiliki field NPM, NamaMahasiswa, Jurusan, Telp
Maka untuk contoh coding tersebut mungkin bisa seperti dibawah ini.
Agar tidak terjadi masalah dan bentrok dengan coding yang sudah dibuat, sebaiknya tambahkan 1 timer lagi dan set intervalnya menjadi 1000.
Ini dia codingnya :
Private Sub Timer1_Timer()
Dim xPesan, xIsi() As String
Dim xTelp, xKunci As String
Dim i As Integer
Set RsInbox = New ADODB.Recordset
'Seleksi isi inbox berdasarkan TextDecoded='REG'
'Dan processed='false'
StrSQL = ""
StrSQL = "SELECT * FROM inbox WHERE LEFT(TextDecoded,3)='REG' And Processed='false' "
RsInbox.Open StrSQL, Conn, adOpenDynamic, adLockReadOnly
If Not RsInbox.EOF Then
xKunci = RsInbox.Fields("ID")
xPesan = RsInbox.Fields("TextDecoded")
xIsi = Split(xPesan, "#")
xTelp = RsInbox.Fields("SenderNumber")
'Simpan data ke tabel registrasi
For i = 1 To UBound(xIsi)
StrSQL = "INSERT INTO Registrasi (NPM, NamaMahasiswa," _
& " Semester,Telp) VALUES ('" & xIsi(1) & "'," _
& "'" & xIsi(2) & "','" & xIsi(3) & "'," _
& "'" & xTelp & "')"
Conn.Execute StrSQL
Next i
'Lakukan Replay ke Nomor Pengirim
'------------
'------------
'Ubah data record Processed
StrSQL = "UPDATE inbox SET Processed='true'" _
& "WHERE ID='" & xKunci & "'"
Conn.Execute StrSQL
Else
RsInbox.Close
Set RsInbox = Nothing
End If
End Sub
Semoga membantu ...
Maaf, silahkan di revisi coding untuk simpan ke tabel registrasi, ada double simpan setelah saya test, jadi untuk codingnya seperti ini aja :
ReplyDelete'Simpan data ke tabel registrasi
'xIsi(1)=Berisi data NPM
'xIsi(2)=Berisi data Nama Mahasiswa
'xIsi(3)=Berisi Data Jurusan
StrSQL = "INSERT INTO Registrasi (NPM, NamaMahasiswa," _
& " Semester,Telp) VALUES ('" & xIsi(1) & "'," _
& "'" & xIsi(2) & "','" & xIsi(3) & "'," _
& "'" & xTelp & "')"
Conn.Execute StrSQL
Assalamu'alaikum..,Pak!! Saya baru belajar pake VB.NET, boleh gak pak saya minta postingan coding untuk reg SMS pake VB.NET??
ReplyDeletebuat belajar dirumah pak!!Hehe..
Mohon bimbingannya ya pak, Makasih!
Wa`alaikum salam, ngomong2 yang untuk vb classicnya udah bisa belum ?
DeleteMikum!! Pak,boleh nanya ga? kalo VBA.Left(xSMS,3) di VB.NET nya gimana ya pak codingnya? Bingung saya..
ReplyDeleteWa`alaikum salam, BOleh
DeleteVBA.Left adalah fungsi STRING, penulisannya sama kaya LEFT(x,n), nah kalau di vb net hampir sama, coba lihat ke sini http://lab-informatika.com/category/vb/tutorial/string/fungsi-left-vbdotnet-t119.html
Satu lagi pak! kalo RsInbox itu apa ya pak?
ReplyDeleteRsInbox itu variabel yang sudah dideklarasikan sebagai recordset untuk menampung data sms yang masuk, nama rsinbox bisa disesuaikan, misalnya RSMasuk atau yang lainnya ...
DeletePak bisa minta seluruh script nya gak?
ReplyDeleteDiatas itu source codenya, coba aja dulu ,,,,
DeleteBisa minta keseluruhan scriptnyya gak pak?
ReplyDeleteLah emang gak baca balasan komentar ane, itu script udah okke, tinggal kembangkan aja, dan kalau ada masalah tinggal tanyakan kembali ke sini, gampang khan ... :P
Deleteass,..
ReplyDeletesaya mw tnya di dalam databasenya table pa ja yang di perlukan?
Tabelnya berjumlah 9 tabel, sebab itu sudah mutlak harus dibuat, karena paparan yang saya sampaikan ini adalah kelanjutan dari Pengantar Membuat SMS Gateway memakai gammu engine,
DeleteSIlahkan pelajari terlebih dahulu Pengantar Membuat Aplikasi SMS pada postingan sebelumnya.
Gan, saya minta tolong dong, ada tutorial sms gateway ini tapi menggunakan vb.net ga?? Kalo ada tolong kirim ke adit_leedunk@yahoo.com
ReplyDeleteTerimakasih banyak gan.
Untuk VB.NET saya tidak punya, sebenarnya kalau anda sudah bisa insert, delete, edit, save di VB.NET akan dengan mudah tutorial di atas di implementasikan,
DeleteMudah-mudahan saya ada waktu untuk menyusun pakai VB.NET
oom, ane masih keluar E_FAIL STATUS kalo ada SMS masuk ke tabel Inbox ..
ReplyDeletegimana yah oom ??
Paman, SMS Registrasi ko ga masuk ke tabel inbox yah .??
ReplyDeleteHarusnya masuk, kalau tidak masuk berarti modem atau handphone yang tidak support
DeleteTerima kasih banyak atas ilmu-ilmunya. moga mendapat balasan yang setimpal bahkan lebih...
ReplyDeleteSama-sama mas, semoga bermanfaat,
DeleteAmiin
Terimakasih ilmunya.. semoga mendapat balasan yang lebih...
ReplyDeleteAmiin, sama-sama mas, selamat belajar yah
Deletemaaf gan,,mohon bantuannya sya newbee !! gan ane udah sampai inject tpi sms nya gax ada nerima terus gan minta contoh form vb nya yang auto respon
ReplyDeletemaaf gan mohon bantuannya sya masih newbee!! gan saya udah nyampe inject tapi sms nya gax nerima terus ke HP,,cm masuk ke databasenya aja..gan klw ada minta tampilan Form sm source kode yang auto respon
ReplyDeleteYang tidak terima smsnya ke Nomor yang tujuan apa nomor agan ???
Deletegan, kok data registrasi tidak masuk ke tabel registrasi kayak penjelasan di atas
ReplyDelete