Rabu, 12 November 2008

OKE GAK SICH PUNYA SMS SERVER (4)

Utak-Atik SMS Mode Teks Dengan Visual Basic

Pada bahasan yang lalu kita dah maen-maen dan berkenalan erat sama hyperterminal. Idenya kali ini adalah mungkin gak sich kalo kita ganti hyperterminal dengan program kita sendiri. Jadi kita gak perlu lagi deh ketik sintaks yang ngejelimet, berulang-ulang and nyusahin bikin pusing kepala di hyperterminal. So pasti pake Visual Basic dong... Aku coba untuk membedah sintaks yang penting2 aja yach. Kalo masalah parsing dkk kamu pasti bisa deh sendiri. Banyak loh literaturnya. Yang penting kan bisa nyambung antara vb dan device kamu, trus bisa baca sms, kirim sms and jangan lupa bisa juga hapus sms. Kalo kita persempit lagi, secara teknis yang kita butuhin kan cuma gimana cara koneksinya, trus cara kirim perintah ke device dan terakhir gimana cara nangkep respons yang dikirim device. tul gak? Nah masalah pemrograman database untuk menyimpan data sms dari device atau data sms ke device kamu pikirin sendiri yach. Kalo sempet di bahasan selanjutnya aku kupas juga deh. hehehe.

Visual Basic punya komponen yang kerjanya mirip hyperterminal. Namanya MsComm. Nah, gak perlu repot kan?

Kali ini kita pake MsComm untuk utak-atik smsnya. So, jgn lupa di project VB kamu masukin dulu yach komponen MsCommnya. dah itu baru deh kita bisa mulai coding.

Koneksi ke Device

Kamu harus tentuin dulu port dan baud rate, parity, dan kon?gurasi lain yang digunakan oleh device kamu.

Di dalam bahasa Visual Basic, kurang lebih kode programnya akan seperti di bawah ini:

MSComm1.CommPort = 3
MSComm1.Settings = “115200,N,8,1”
MSComm1.PortOpen = True

Artinya,
- Baris 1: "3" itu maksudnya kamu melakukan hubungan ke device yang ada di Com3. Nah karenanya kita harus tahu HP/modem GSm kamu itu nempelnya di mana? eh gak ding. Nempelnya terserah, mo di slot USB kek atau di Slot serial yang penting windows ngebacanya sebagai Com brapa? Cek aja di Phone/Modem Setting di Control Panel.
- Baris 2: “115200,N,8,1” maksudnya device kamu disuruh bekerja dengan baud rate 115200, parity = N, databit = 8, dan stop bit =1. Parameter2 ini kamu bisa contek di Phone/Modem Setting di Control Panel. Itu kalo kalo device kamu dah kebaca sama windows. hehehe.
- Baris 3: "True" itu maksudnya koneksi dibuka. Berhasil atau tidaknya kita lihat dari respons "OK" atau "ERROR" seperti di hyperterminal. Kalo pake MsComm cara nangkepnya pake property Input. Property Output digunakan untuk memberikan command/perintah kepada device, sedangkan property Input menghasilkan data dari buffer penerima.

Mengirim AT Command ke Device

Tes Koneksi:
MSComm.Output = “AT” & Chr$(13)

Chr$(13) adalah Enter.

Masuk Mode Teks:
MSComm..Output = “AT+CMGF=1” & Chr$(13)

Kirim SMS:
MSComm.Output = “AT+CMGS=”6281316932077" & Chr$(13)
MSComm.Output = "Hello, welcome to our SMS tutorial" & Chr$(26)

"Chr$(26)" adalah Karakter "Ctrl+Z"

Terima SMS:
Untuk menerima SMS sama artinya dengan kita menangkap semua data yang masuk ke MsComm baik itu Telepon masuk, isi SMS, maupun respons "OK" dan "ERROR". Alhamdulillah MsComm memiliki event OnComm. Event ini mencatat semua data yang masuk ke MsComm. Nah pinter2nya kamu deh untuk parsing / memilah dan menyusun semua data yang masuk. Nah, untuk sms masuk:

MSComm.Output = “AT+CMGL=”ALL" & Chr$(13)

lalu ambil datanya di event OnComm seperti di bawah ini.

Private Sub MSComm_OnComm()
Dim stComChar As String * 1

Do
Loop Until MSComm.InBufferCount > 0
Do While MSComm.InBufferCount > 0
stComChar = MSComm.Input
tempBuffer = tempBuffer + stComChar
Loop

Debug.Print tempBuffer

End Sub

Kalo gak ada masalah, maka setiap kali SMS masuk (ataupun terjadi event lainnya seperti telpon masuk), maka event ini akan dijalankan dan program akan menuliskan isi dari data yang diterima. Sampe sini dulu yach. Ntar lanjut lagi pada pokok pembahasan yang lebih kompleks. Insya Allah...

13 komentar:

Anonim mengatakan...

Terima kasih artikel2nya yg telah ditulis. smoga bermanfaat. Ini saya akan coba. Klo boleh ada contoh source code nya vb.yg sederhana saja.biar nanti di unduh...
May Allah SWT bless u . from herawan

Anonim mengatakan...

terima kasih mba arnie mo share ma yang masih niewbie seperti saya ini :(( suatu saat biza ya jadi teman... :-d

Anonim mengatakan...

jago ..hebat mbak.....bisa bantuin saya dong buat sms server.gerry

Arnie mengatakan...

Buat Gerry,

Terima Kasih... Insya Allah bisa bantu buat SMS Server. Asal jgn Untuk Ngejahilin orang yach... hihihi...

Anonim mengatakan...

jago juga neh cewek, ijin unduh aku coba convert ke c#

Anonim mengatakan...

hebat euy makasih banget TUTOR nya sangat sangat membantu. Bikin semangat belajar. Hebat secretary tapi paham abis ma VB.

Anonim mengatakan...

Makasih banyak tutornya sangat sangat membantu. MAKASIH YAH

Sigit mengatakan...

pinter juga ya terjemahannya, udah dicoba belum? he2 kadang teori ga sama dengan praktek...he2 ada yang kurang tuh terutama untuk kecepatan 115200...ok

Blogger agiels mengatakan...

Assalaamualaikum
wah mba .... umur kita agak jauh juga eaa .... q mhasiswa TI mba , tv q blom merasa sebagai mahasiswa TI . karna q blom bisa bahasa pemrograman vb .... q dah sedikit" bljr tentang vb dan hasilnya juga masih gitoe" aza alnya d kmpus ku ada matkul VB tv sks nya blom di ambil .... tolong minta coding" untuk menyimpan ke database tv tanpa menggunakan ADODB ... tolong eaa mba ... hehehe
terima kasih

Anonim mengatakan...

Yang lebih tau tolong bantu yg masih belajar...jangan cuma kritik doank yah...ini demi generasi penerus kita...Trim's

Anonim mengatakan...

syntak kirim sms pas nerima sms kok gini tampilan nya

AT+CMGF=1
AT+CMGS=0852xxx
Hello,Hello, welcome to our SMS tutorial,


bisa bantu ga mbak, kirim ke email saya kurd14nt0@yahoo.com

KOi_Cellular mengatakan...

Ass.thank.s mb...., btw yang aplikasi hyperterminal untuk bagian form transmit text file, kuq g ada...kmn mb? trus untuk source code terima SMS di bagian "tempBuffer" error....Ok.Wslm

Jimmy mengatakan...

wah mbak gmn caranya nampilin perintah2 AT kita berjalan atau tidak?mohon bantuanya...

Peraturan & Tata tertib

Bismillahirrohmanirrohiim, Assalamu'alaikum wr. wb,

Sourcecode yang aku sharing di sini dijelaskan terlebih dahulu alurnya disertai pembahasannya dan sifatnya GRATIS dengan syarat :

1. Kamu-kamu smua kasih komentar
2. Setiap pembuatan program dengan sourcecode dari BLOG aku dan sifatnya komersil WAJIB dan KUDU menyertakan NAMA dan BLOG aku lho!
3. Kamu-kamu jangan lupa isi Polling blog aku yach...

NB :
Donasi :
Rek mandiri No. 117-0005202486.
Arniaty Arsyad
















Wassalam,

Arnie