LAPORAN TUGAS AKHIR
PERANCANGAN SISTEM SMS GATEWAY UNTUK INFORMASI GAS BILLING PT PGN BEKASI
Penyusun:
Nama NIM
: NATASYA I D S : 41405120029
Peminatan Teknik Telekomunikasi Jurusan Teknik Elektro Fakultas Teknologi Industri 2009
LEMBAR PENGESAHAN Penulisan tugas akhir dengan judul:
PERANCANGAN SISTEM SMS GATEWAY UNTUK INFORMASI GAS BILLING PT PGN BEKASI
yang diajukan oleh Nama
: NATASYA I D S
NIM
: 41405120029
Peminatan
: TEKNIK TELEKOMUNIKASI
No. Telp
: 08170296218
Penulisan ini telah disahkan dan disetujui sebagai tugas akhir .
Jakarta,
2009
Mengetahui ,
Pembimbing
Ketua Jurusan Teknik Elektro
(Dr.-Ing. Mudrik Alaydrus)
(Yudhi Gunardhi, ST)
ABSTRAK
Kemudahan pelanggan dalam memperoleh informasi yang berkaitan dengan kebutuhannya akan semakin meningkatkan nilai pelayanan suatu perusahaan. Salah satu informasi yang dibutuhkan oleh pelanggan pemakai suatu jasa adalah informasi tagihan yang harus dibayarkan. Dalam tugas akhir ini dirancang sistem SMS Gateway untuk Informasi Gas Billing PT PGN Bekasi. SMS Gateway ini dapat memberikan SMS balasan pada pelanggan secara otomatis jika pelanggan mengirimkan SMS sesuai dengan format yang telah ditentukan. Perancangan sistem menggunakan Modem GSM yang terhubung secara serial dengan komputer. Perancangan perangkat lunak SMS Gateway ini menggunakan Visual Basic 2005.
iii
DAFTAR ISI
JUDUL
i
PENGESAHAN
ii
ABSTRAK
iii
KATA PENGANTAR
iv
DAFTAR ISI
v
DAFTAR GAMBAR
viii
DAFTAR TABEL
x
BAB I PENDAHULUAN 1.1 Latar Belakang
1
1.2 Perumusan Masalah
2
1.3 Tujuan Tugas Akhir
2
1.4 Pembatasan Masalah
3
1.5 Metodologi
3
1.6 Sistematika Pembahasan
4
BAB II SMS DAN KOMUNIKASI SERIAL 2.1 SMS (Sort Message Service)
6
2.1.1 SMS Gateway
7
2.1.2 Pembuatan SMS Gateway
8
v
2.1.3 Penmbuatan
SMS
Gateway
Menggunakan
Bahasa
9
Pemograman 2.1.4 Kategori AT Command
11
2.1.5 Format PDU dan Text
13
2.2 Konsep Komunikasi Serial
15
2.2.1 Laju Kecepatan DTE/DCE
18
2.2.2 Kontrol Aliran (Flow Control)
19
BAB III PERANCANGAN SISTEM SMS GATEWAY 3.1 Diagram Blok Sistem
21
3.2 Uji Coba Koneksi antara GSM Modem dan PC
22
3.3 Mengirim SMS
24
3.4 Mengirim SMS ke Banyak Nomer Secara Otomatis
29
3.5 Menerima SMS
32
3.6 Fungsi Membalas SMS Secara Otomatis
35
BAB IV PENGUJIAN SISTEM SMS GATEWAY 4.1 Koneksi PC dan Modem GSM
40
4.2 Pengiriman dan Penerimaan SMS
42
4.2.1 Mengirim SMS
42
4.2.2 Menerima SMS
45
4.3 Mengirimkan SMS Kebanyak Pelanggan
47
4.4 Membalas Pesan Secara Otomatis
49
vi
BAB V KESIMPULAN
54
DAFTAR PUSTAKA
56 A-1
LAMPIRAN A
vii
DAFTAR GAMBAR
Gambar 2.1
Pengiriman huruf “A” Tanpa bit paritas
16
Gambar 3.1
Diagram Blok Sistem
21
Gambar 3.2
Port Koneksi antar PC dan GSM Modem
22
Gambar 3.3
Tampilan Jendela Port Setting Modem Huawei E330
23
Gambar 3.4
Respon GSM modem
24
Gambar 3.5
Pengiriman SMS dalam format Text Mode
25
Gambar 3.6
Diagram Alir Mengirim 1 SMS
26
Gambar 3.7
Diagram Alir Timer1
27
Gambar 3.8
Diagram Alir Timer3
28
Gambar 3.9
Diagram Alir Memulai Pengiriman SMS ke Banyak
30
Nomer Gambar 3.10
Diagram Alir Timer2
31
Gambar 3.11
Diagram Alir Menerima SMS
34
Gambar 3.12
Diagram Alir Memulai Pencarian ID
36
Gambar 3.13
Diagram Alir Membalas SMS Secara Otomatis
38
Gambar 4.1
Tampilan Jendela Port Setting Modem GSM Huawei
40
E330 Gambar 4.2
Tampilan Koneksi Sistem Informasi Gas Billing dan
42
Modem Gambar 4.3
Tampilan Jendela untuk Mengirim Pesan Singkat
viii
43
Gambar 4.4
SMS Berhasil Terkirim
44
Gambar 4.5
SMS yang Diterima
45
Gambar 4.6
Pengiriman SMS dari pelanggan
46
Gambar 4.7
SMS yang diterima oleh Program
46
Gambar 4.8
Data Pelanggan yang telah di Import ke Aplikasi
47
Gambar 4.9
SMS telah terkirim ke semua pelanggan
48
Gambar 4.10
Tampilan SMS yang Diterima
49
Gambar 4.11
Pengiriman SMS sesuai Format Permintaan Informasi
50
Tagihan Gambar 4.12
SMS Jawaban
50
Gambar 4.13
Pengiriman SMS dengan ID yang Salah
52
Gambar 4.14
Respon ID salah
52
ix
DAFTAR TABEL
Tabel 2.1
Fungsi-fungsi Kaki (pena/pin)
17
Tabel 3.1
Data Pelanggan
29
Tabel 4.1
SMS Balasan sesuai dengan ID pelanggan
51
x
BAB I PENDAHULUAN
1.1 Latar Belakang Persaingan
dalam
dunia
usaha
semakin
menitikberatkan
kinerja
perusahaan untuk berorientasi pada kepuasan pelanggan. Kemudahan pelanggan dalam memperoleh informasi yang berkaitan dengan kebutuhannya akan semakin meningkatkan nilai pelayanan suatu perusahaan. Salah satu informasi yang dibutuhkan oleh pelanggan pemakai suatu jasa adalah informasi tagihan yang harus dibayarkan. Semakin dini iformasi itu diketahui maka semakin cepat pelanggan dapat mempersiapkan dana untuk pembayaran. PT PGN (Persero) Tbk Bekasi adalah salah satu perusahaan
yang
bergerak dibidang distribusi gas alam. Para pelanggan sebagian besar terdiri dari kalangan industri yang memakai gas sebagai bahan bakar maupun bahan baku bagi produksinya. Setiap awal bulan pelanggan akan dikirimkan invoice atau tagihan yang menyatakan jumlah pemakaian gas bulan sebelumnya yang telah dikonsumsi dan biaya yang harus dibayarkan. Seringkali pada prosesnya, pelanggan ingin mengetahui lebih dini konsumsi yang telah dipakai sebelum invoice dikirim, untuk mencegah terjadinya keterlambatan pembayaran yang dapat mengakibatkan pelanggan terkena denda. Belum adanya pengiriman informasi secara otomatis mengakibatkan setiap pelanggan harus menyediakan waktu untuk menelepon petugas billing. Hal ini
1
menurunkan tingkat pelayanan kepada konsumen. Dalam memudahkan pelanggan untuk memperoleh informasi maka akan dibuat suatu sitem yang memungkinkan akses informasi tagihan secara otomatis dengan memanfaatkan SMS (Short Message Service). Pada tugas akhir ini, sistem informasi tagihan yang akan dibangun akan memanfaatkan aplikasi SMS Gateway yang memungkinkan data tagihan diketahui setiap bulannya oleh pelanggan melalui media SMS.
1.2 Perumusan Masalah Dalam perancangan suatu sistem SMS Gateway ini dibutuhkan pengetahuan tentang standar komunikasi SMS. Perancangan piranti lunak yang dibuat harus dapat berkomunikasi dengan Modem GSM serta membuat algoritma program sesuai dengan standard komunikasi SMS dan dapat melakukan fungsi auto reply yang merupakan fungsi utama dari SMS Gateway ini.
1.3 Tujuan Tugas Akhir Merancang suatu sistem SMS Gateway sesuai dengan kebutuhan bagian Penjualan dan Layanan Pelanggan PGN Bekasi sehingga dengan pengaplikasian SMS Gateway ini dapat memudahkan pelanggan mencari informasi besarnya pemakaian gas dan tagihan yang harus dibayar.
2
1.4 Pembatasan Masalah Dalam pembuatan tugas akhir ini permasalahan yang dikemukakan dibatasi pada : •
Perancangan SMS Gateway ini menggunakan GSM USB Modem.
•
Komunikasi serial digunakan untuk komunikasi antara PC dan Modem.
•
SMS Gateway ini dapat memberikan SMS balasan pada si pengirim jika si pengirim mengirimkan SMS sesuai dengan format yang telah ditentukan.
•
SMS Gateway ini dapat mengirim SMS berturut pada nomer yang dikendaki, dalam Tugas Akhir ini pengujian pengiriman dibatasi sebanyak 5 pelanggan.
•
Perancangan perangkat lunak SMS Gateway ini menggunakan Visual Basic 2005.
1.5 Metodologi Metode yang digunakan dalam tugas akhir ini adalah : •
Mengadakan studi literatur yang berhubungan dengan perancangan SMS Gateway yang diperoleh dari buku-buku dan internet
•
Pembuatan perangkat lunak di komputer berbasis Visual Basic 2005
•
Pengujian sistem SMS Gateway pada Sistem Infornasi Gas Billing
•
Perbaikan sistem SMS Gateway pada Sistem Infornasi Gas Billing
•
Penyusunan laporan.
3
1.6 Sistematika Pembahasan Sistematika pembahasan dari tugas akhir ini terdiri dari 5 (lima) bab yang secara umum dapat dijelaskan sebagai berikut : BAB I PENDAHULUAN Mengemukakan latar belakang, perumusan masalah, tujuan, pembatasan masalah, metodologi, serta sistematika pembahasan . BAB II SMS DAN KOMUNIKASI SERIAL Mengemukakan teori mengenai SMS dan Komunikasi Serial. BAB III PERANCANGAN SISTEM SMS GATEWAY Membahas perancangan Sistem SMS Gateway serta perancangan perangkat lunak yang membangun sistem dan percobaan yang berkaitan dengan Sistem SMS Gateway. BAB IV PENGUJIAN SISTEM SMS GATEWAY Membahas pengujian sistem yang telah dibuat. BAB V KESIMPULAN Berisi kesimpulan atas hasil perancangan Sistem SMS Gateway yang telah dibuat.
4
[Halaman ini sengaja dikosongkan]
5
BAB II SMS DAN KOMUNIKASI SERIAL
2.1 SMS (Sort Message Service) [PC Media, 2007] SMS (Sort Message Service) bukan hal baru pada teknologi mobile, tetapi penggunaannya seolah sudah menjadi bagian tak terpisahkan dari kehidupan masyarakat kota. Tidak surut oleh kemajuan teknologi mobile seperti EMS, MMS, ringtone, gambar, ataupun video conference, cara bertukar informasi ala SMS dengan menggunakan teks sederhana masih tetap menjadi pilihan utama. Tidak terbatas hanya untuk sarana komunikasi pengganti percakapan lisan di antara dua orang, SMS saat ini juga ramai digunakan untuk voting, kuis, lelang, banking, order barang, promosi, undangan, dan masih banyak lagi. SMS dapat menjadi populer tentunya karena memiliki kelebihan, dan kelebihan SMS justru terletak pada kesederhanaannya, sehingga mudah diaplikasikan. Semua ponsel memiliki fitur SMS, tidak peduli apakah ponsel tersebut mendukung 3G dengan fasilitas touch screen ataupun ponsel tempo dulu yang hanya memiliki satu baris layar sederhana seperti kalkulator. SMS juga tetap dapat dikirim walaupun ponsel penerima tidak dalam keadaan aktif dalam limit waktu tertentu, karena SMS memiliki validity period. Penyampaian SMS umumnya juga cepat dan tidak mengganggu. Biaya yang relatif murah juga menjadi salah satu alasan mengapa SMS digunakan secara luas.
6
2.1.1 SMS Gateway SMS gateway merupakan sistem aplikasi untuk mengirim dan/atau menerima SMS, terutama digunakan dalam aplikasi bisnis, baik untuk kepentingan promosi, servis kepada kustomer, pengadaan content produk atau jasa, dan seterusnya. Karena merupakan sebuah aplikasi, maka fitur-fitur yang terdapat di dalam SMS gateway dapat dimodifi kasi sesuai dengan kebutuhan. Beberapa fitur yang umum dikembangkan dalam aplikasi SMS gateway adalah: 1. Auto-reply. SMS gateway secara otomatis akan membalas SMS yang masuk. Contohnya untuk keperluan permintaan informasi tertentu (misalnya kurs mata uang atau jadwal perjalanan), di mana pengirim mengirimkan SMS dengan format tertentu yang dikenali aplikasi, kemudian aplikasi dapat melakukan auto-reply dengan membalas SMS tersebut, berisi informasi yang dibutuhkan. 2. Pengiriman massal. Disebut juga dengan istilah SMS broadcast, bertujuan untuk mengirimkan SMS ke banyak tujuan sekaligus. Misalnya, untuk informasi produk terbaru kepada pelanggan. 3. Pengiriman terjadwal. Sebuah SMS dapat diatur untuk dikirimkan ke tujuan secara otomatis pada waktu tertentu. Contohnya untuk keperluan mengucapkan selamat ulang tahun.
7
2.1.2
Pembuatan SMS Gateway Dalam pembuatan sebuah SMS gateway, perlu diketahui hal-hal yang
berhubungan dengan SMS gateway itu sendiri. Salah satu hal yang memegang peranan penting dalam pengiriman SMS adalah SMSC (Short Message Service Center), yang merupakan jaringan telepon selular yang menangani pengiriman SMS. Pada saat seseorang mengirimkan sebuah pesan SMS melalui ponselnya, SMSC-lah yang bertugas mengirimkan pesan tersebut ke nomor tujuan. Jika nomor tujuan tidak aktif, maka SMSC akan menyimpan pesan tersebut dalam jangka waktu tertentu. Jika SMS tetap tidak dapat terkirim sampai jangka waktu tersebut berakhir, maka SMS tersebut akan dihapus dari penyimpanan SMSC. Sebuah aplikasi SMS gateway dapat menggunakan jalur SMSC untuk pengoperasiannya. Keuntungannya adalah penggunaan nomor pendek yang mungkin dapat terdiri dari 3 atau 4 digit saja, misalnya 222, 9090, dan seterusnya. Saat mengikuti polling SMS acara televise seperti Indonesian Idol, nomor pendek ini disediakan oleh operator jaringan SMSC. Jalur SMSC juga dapat mengirim SMS dalam jumlah banyak dalam waktu yang relatif singkat. Untuk membuat SMS gateway dengan menggunakan jalur SMSC harus ada jalur koneksi ke operator selular dan umumnya layanan ini digunakan jika aplikasi yang dipakai dapat menghasilkan lalu lintas SMS yang tinggi. Terdapat alternatif infrastruktur yang lebih sederhana dan mudah didapatkan, yaitu membuat SMS gateway yang menggunakan ponsel ataupun modem GSM/CDMA sebagai media pengirim/penerima SMS, di mana ponsel atau modem GSM/CDMA tersebut terpasang pada sebuah komputer. SMS
8
tersebut tetap terkirim melalui SMSC, hanya saja melalui rute yang lebih panjang karena tidak memiliki koneksi langsung ke SMSC. SMS gateway dengan menggunakan ponsel atau GSM/CDMA modem cukup berkembang dan banyak digunakan. Modem GSM/CDMA memiliki performa yang baik, dan stabil dibandingkan dengan ponsel biasa jika dipakai dalam keperluan SMS gateway, tetapi penggunaan ponsel untuk keperluan SMS gateway juga dapat dipertimbangkan jika sistem SMS gateway yang digunakan tidak terlalu berat dan masih dapat ditangani melalui ponsel.
2.1.3 Pembuatan SMS Gateway Menggunakan Bahasa Pemograman Komponen
SMS
gateway
dapat
dibuat
dengan
menggunakan
control/komponen standar yang ada pada bahasa pemrograman seperti Visual Basic atau Delphi. Control/komponen yang dimaksud adalah MSComm. MSComm menyediakan komunikasi data melalui serial port (juga mendukung USB dan
infrared) dari aplikasi yang dibuat sehingga pengguna dapat
berkomunikasi dengan ponsel atau modem GSM yang terpasang pada serial port computer. Bahasa yang dikenali oleh ponsel/modem GSM disebut dengan AT command. AT merupakan kependekan dari Attention. AT command dapat digunakan antara lain untuk menginstruksikan perintah-perintah sebagai berikut: 1. Mengirim dan menerima pesan SMS atau faks. 2. Mendapatkan informasi mengenai device, misalnya nama manufaktur.
9
3. Mendapatkan status device, misalnya status aktivitas, status registrasi network, kekuatan sinyal, ataupun status baterai. 4. Penulisan dan pencarian phonebook. 5. Dari sisi keamanan, dapat mengaktifkan fasilitas lock dan mengubah password. 6. Menyimpan dan mengembalikan konfi gurasi. Tidak semua device mengimplementasikan seluruh AT command, pada umumnya modem GSM lebih mendukung banyak AT command dibandingkan ponsel biasa. Untuk mencoba AT command melalui computer, dapat digunakan HyperTerminal yang disediakan oleh Microsoft Windows. Pastikan driver telah terinstall agar operating system mengenali device digunakan, dan masukkan kartu GSM pada ponsel atau modem GSM. Koneksikan pada port computer sehingga computer dapat mendeteksinya dan pengguna dapat memanggil program HyperTerminal. Untuk melakukan tes koneksi dengan ponsel/modem GSM, cukup ketikkan perintah AT diikuti dengan penekanan tombol enter, yang akan direspon dengan OK jika tidak terdapat masalah. Berikut adalah contoh rentetan AT command untuk mengirimkan SMS: AT AT+CMGF=1 AT+CMGS=08xxxxxxx > testing kirim
10
Perintah AT+CMGF=1 memberikan instruksi untuk beroperasi pada format text AT+CMGS= diikuti dengan nomor ponsel tujuan, sedangkan tulisan “testing kirim” merupakan isi pesan yang ingin dikirim. Setiap baris pada contoh perintah di atas diakhiri dengan penekanan tombol enter, kecuali untuk baris pengirisan pesan, yang diakhiri dengan CTRL + Z. AT command umumnya ditulis dengan huruf besar, tetapi banyak modem GSM dan ponsel yang mengizinkan penulisan AT command dalam huruf besar maupun huruf kecil. Setelah berhasil menjalankan AT command pada HyperTerminal, maka kode program pada bahasa pemrograman ditulis untuk membangun sebuah SMS gateway.
2.1.4 Kategori AT Command Bahasa yang dikenali oleh ponsel/modem GSM disebut dengan AT command AT Command dapat dikategorikan sebagai berikut : 1. AT Command yang bersifat umum AT COMMAND FUNGSI AT+CGMI Mengambil informasi manufaktur AT+CGMM Mengambil informasi model AT+CGMR Mengambil informasi revisi AT+CGSN Mengambil informasi serial number device AT+CSCS Memilih set karakter 2. AT Command untuk control AT COMMAND FUNGSI
11
ATD Melakukan dial ATH Hang up panggilan yang masuk ATA Menjawab panggilan yang masuk 3. AT Command untuk Layanan Jaringan AT COMMAND FUNGSI AT+CNUM Nomor subscriber AT+CREG Registrasi jaringan AT+COPS Pemilihan operator AT+CLCK Fasilitas lock AT+CPWD Penggantian password AT+CCWA Call waiting 4. AT Command untuk SMS AT COMMAND FUNGSI AT+CPMS Menentukan penyimpanan pesan AT+CMGF Format pesan AT+CSCA Nomor service center AT+CNMI Pengaktifan indikasi pesan baru AT+CMGL Daftar pesan AT+CMGR Membaca pesan AT+CMGS Mengirim pesan AT+CMGD Menghapus pesan AT+CMMS Mengirimkan lebih banyak pesan +CMTI Notifi kasi delivery pesan
12
+CDSI Notifikasi status report
Masih banyak lagi AT command yang tersedia tergantung dari device yang digunakan. Untuk AT command yang berawalan dengan AT (misalnya: AT+CMGS, AT+CMGD) diketikkan dengan diikuti parameter-parameter yang dibutuhkan, sedangkan command tanpa awalan AT (seperti +CMTI,+CDSI) merupakan result yang dikeluarkan oleh device. Jika tidak memiliki dokumentasi yang cukup mengenai AT command yang didukung oleh device yang digunakan, AT command tersebut dapat dicoba melalui HyperTerminal. HyperTerminal akan mengembalikan pesan kesalahan jika ATcommand yang diketikkan tidak dimengerti oleh device. Hal ini penting mengingat AT command juga bisa berbeda parameter antara device satu dengan device lainnya. Terdapat dua tipe AT command, yaitu basic command dan extended command. Basic command adalah AT command yang tidak menggunakan tanda +, misalnya ATD, ATH, dan ATA. Sebaliknya, AT command yang menggunakan tanda + merupakan extended command. Setiap extended command memiliki parameter/perintah test yaitu =?, yang akan mengembalikan informasi mengenai command tersebut.
2.1.5 Format PDU dan Text Format SMS yang digunakan oleh ponsel/modem GSM adalah format PDU (Protocol Description Unit), tetapi dengan menggunakan HyperTerminal, dapat digunakan format ASCII text, yang memang lebih mudah digunakan.
13
Proses yang terjadi adalah format ASCII text yang diketikkan akan diconvert ke dalam format PDU, pada saat SMS diterima nomor tujuan, ponsel/modem GSM akan mengubah kembali SMS format PDU tersebut menjadi format ASCII text agar dapat terbaca dengan mudah oleh pengguna. Tidak semua device mendukung format text, untuk device yang hanya mendukung format PDU, SMS harus dikirimkan dalam format PDU. Format PDU dituliskan dengan heksadesimal, terbagi atas 8 header, yaitu: 1. Nomor SMS Center. Terdiri lagi dari 3 subheader yang memiliki aturan sendiri, sebagai contoh SMS Center Telkomsel dengan format text biasa adalah 0811000000, tetapi di dalam format PDU dituliskan menjadi 06818011000000. Contoh lain SMS Center Indosat-M3 adalah 0855000000 dalam format text, dituliskan menjadi 06818055000000 dalam format PDU. 2. Tipe SMS. 3. Nomor Referensi SMS. 4. Nomor Ponsel Penerima, dengan cara penulisan yang mirip dengan header 1, yaitu pengisian nomor SMS Center. 5. Bentuk SMS. 6. Skema Encoding Data I/O. 7. Jangka Waktu Sebelum Expired. 8. Isi SMS, terbagi lagi menjadi dua subheader dan isi pesan dalam heksadesimal.
14
Delapan header ini kemudian digabungkan menjadi sebuah paket PDU yang lengkap. Jika menggunakan format PDU, diperlukan function/tools yang dapat melakukan konversi format PDU ke text dan sebaliknya.
2.2 Konsep Komunikasi Serial [Musa, 2005 & http://www.iddhien.com/] Ada 2 macam cara komunikasi data serial yaitu Sinkron dan Asinkron. Pada komunikasi data serial sinkron, clock dikirimkan bersama sama dengan data serial, tetapi clock tersebut dibangkitkan sendiri – sendiri baik pada sisi pengirim maupun penerima. Sedangkan pada komunikasi serial asinkron tidak diperlukan clock karena data dikirimkan dengan kecepatan tertentu yang sama baik pada pengirim / penerima. Pada IBM PC kompatibel port serialnya termasuk jenis asinkron. Komunikasi data serial ini dikerjakan oleh UART (Universal Asynchronous Receiver Transmitter). Pada UART, kecepatan pengiriman data ( atau yang sering disebut dengan Baud Rate ) dan fase clock pada sisi transmitter dan sisi receiver harus sinkron. Untuk itu diperlukan sinkronisasi antara Transmitter dan Receiver. Hal ini dilakukan oleh bit “Start” dan bit “Stop”. Ketika saluran transmisi dalam keadaan idle, output UART adalah dalam keadaan logika “1”. Ketika Transmitter ingin mengirimkan data, output UART akan diset dulu ke logika “0” untuk waktu satu bit. Sinyal ini pada receiver akan dikenali sebagai sinyal “Start” yang digunakan untuk menyinkronkan fase clocknya sehingga sinkron dengan fase clock transmitter.
15
Selanjutnya data akan dikirimkan secara serial dari bit yang paling rendah (bit0) sampai bit tertinggi.Selanjutnya akan dikirimkan sinyal “Stop” sebagai akhir dari pengiriman data serial. Sebagai contoh misalnya akan dikirimkan data huruf “A” dalam format ASCII ( atau sama dengan 41 heksa atau 0100 0001.
Gambar 2.1 Pengiriman huruf “A” Tanpa bit paritas
Kecepatan transmisi (baud rate) dapat dipilih bebas dalam rentang tertentu.Baud rate yang umum dipakai adalah 110, 135, 150, 300, 600, 1200, 2400, dan 9600 (bit/perdertik).Dalam komunikasi data serial, baud rate dari kedua alat yang berhubungan harus diatur pada kecepatan yang sama. Selanjutnya harus ditentukan panjang data (6,7 atau 8 bit), paritas (genap, ganjil, atau tanpa paritas), dan jumlah bit “Stop” (1, 1 ½ , atau 2 bit).
Piranti-piranti yang menggunakan komunikasi serial meliputi: •
DTE = Data Terminal Equipment, yaitu komputer itu sendiri;
•
DCE = Data Communication Equipment, misalnya modem, plotter dan lain-lain;
Beberapa
parameter
yang
ditetapkan
Association) antara lain:
16
EIA
(Electronics
Industry
•
Sebuah 'spasi' (logika 0) antara tegangan +3 s/d +25 volt;
•
Sebuah 'tanda' (logika 1) antara tegangan -3 s/d -25 volt;
•
Daerah tegangan antara +3 s/d -3 volt tidak didefinisikan (undefined);
•
Tegangan rangkaian terbuka tidak boleh lebih dari 25 volt (dengan acuan ground);
•
Arus hubung-singkat rangkaian tidak boleh lebih dari 500 mA. Sebuah penggerak (driver) harus mampu menangani arus ini tanpa mengalami kerusakan.
Singkatan
Keterangan
Fungsi
TD
TranmisitData
Untuk pengiriman data serial (TDX)
RD
Receuve Data
Untuk penerimaan data serial (RDX)
CTS
Clear To Send
Digunakan untuk memberitahukan bahwa Modem siap untuk melakukan pertukaran data
DCD
DSR
Data
Carrier Saat modem mendeteksi suatu`Carieer` Dari Modem
Detect
lain (dari tempat lain) maka signal ini akan diaktifkan
Data Set Ready
Memberitahuakan UART bahwa Modem siap untuk melakukan komunikasi (Link)
DTR
RTS
Data Terminal
Kebalikan dari DSR, untuk memberitahukan bahwa
Ready
UAT siap melakukan hubungan komunikasi
Regues To Send
Signal untuk menginformasikan modem Bahwa UART siap melakukan pertukaran data
RI
Ring Indikator
Akan aktif jika modem mendeteksi adanya signal dering dari saluran telepon
Tabel 2.1 Fungsi-fungsi Kaki (pena/pin)
17
2.2.1 Laju Kecepatan DTE/DCE Laju kecepatan pengiriman data yang sering dibicarakan adalah laju kecepatan DTE ke DCE (antara PC dan modem atau disebut juga sebagai laju kecepatan terminal (terminal speed)) dan laju kecepatan DCE ke DCE (antar modem yang berkomunikasi atau disebut juga sebagai laju kecepatan jalur (line speed)). Jika menggunakan modem 28,8K atau 36,6K, maka artinya kecepatan ini mengacu pada laju kecepatan DCE ke DCE. Jika digunakan UART 16550a, maka laju kecepatan maksimumnya adalah 115.200 bps, sedangkan kebanyakan perangkat lunak yang digunakan saat ini digunakan untuk mengatur laju kecepatan DTE ke DCE. Interupsiin itu banyak modem saat ini pasaran
dilengkapi
dengan
fasilitas
kompresi-dekompresi
beredar di
(pemampatan-
penguraian) data. Biasanya rasionya sekitar 1:4 (untuk berkas teks), dengan demikian jika dilakukan transfer data dengan laju 28,8K (DCE ke DCE), dengan modem yang berfasilitas kompresi data, maka artinya sebenarnya mengirimkan data tersebut dengan laju 115,2Kbps (DTE ke DCE). Hal ini yang menyebabkan laju DTE ke DCE bias lebih besar dari DCE ke DCE. Namun ada juga modem yang bisa melakukan kompresi hingga rasionya mencapai 1:8, sehingga kecepatan laju DTE ke DCE bias mencapai 168.800 bps (modem <--> UART). Jika digunakan 16550a, yang kecepatannya maksimum hanya 115.200 bps, akan siasaia saja, sehingga sebaik-nya digunakan UART 16550c yang kecepatan pengiriman datanya bisa mencapai 230.400 bps. Angka-angka yang disebutkan adalah angka-angka maksimum, kenyataannya bisa lebih rendah/kecil.
18
2.2.2 Kontrol Aliran (Flow Control) Jika laju kecepatan DTE ke DCE lebih cepat dibandingkan dengan DCE ke DCE, lambat-laun akan menyebabkan kehilangan data atau isitilahnya terjadi buffer overflow,
dengan demikian dibutuhkan kontrol aliran baik secara
perangkat lunak maupun perangkat keras. Jika anda memasang plug ini pada komputer dengan perangkat lunak terminal (misalnya Hyperterminal pada Sistem Operasi Windows), maka apa yang Anda ketikkan akan dimunculkan lagi (echoing).
19
[Halaman ini sengaja dikosongkan]
20
BAB III PERANCANGAN SISTEM SMS GATEWAY
Pada bab ini membahas mengenai perancangan sistem SMS Gateway yang akan dibuat. Dalam perealisasian sistem ini terdiri dari perangkat keras dan perangkat lunak. Dalam tugas akhir ini perangkat keras yang digunakan adalah sebuah GSM Modem dan
perancangan perangkat lunak dibuat dengan
menggunakan Microsoft Visual Basic 2005.
3.1 Diagram Blok Sistem Diagram blok sistem SMS Gateway yang dibangun adalah sebagai berikut:
Modem
PC Serial Communication
Gambar 3.1 Diagram Blok Sistem
Dalam sistem yang dibangun ini Modem berfungsi sebagai media untuk menerima SMS dari pelanggan (Client) dan mengirimkan SMS dari PC. Dalam PC terdapat suatu program yang mengontrol GSM modem dan sebuah database.
21
3.2 Uji Coba Koneksi antara GSM Modem dan PC Langkah ini dilakukan untuk mengetahui apakah PC dan GSM modem yang dipakai dapat berkomunikasi dengan baik. Modem yang digunakan dalam tugas akhir ini adalah modem buatan Huawei E330 yang dijual bebas dipasaran. Pada pertama kali modem dihubungkan dengan PC dan modem belum pernah terhubung dengan PC maka modem akan secara otomatis meng-install drivernya sendiri dilanjutkan dengan meng-install aplikasi Mobile Connect. Aplikasi Mobile Connect ini berfungsi sebagai aplikasi untuk menghubungkan PC dengan modem sehingga PC dapat terhubung ke internet. Aktualnya modem ini terhubung dengan PC melalui kabel USB, namun pada Windows Device Manager terlihat bahwa Modem yang ter-install terhubung ke PC melalui virtual COM port. Sehingga kita dapat memanfaatkan virtual com untuk mengakses modem melalui komunikasi serial.
Gambar 3.2 Port Koneksi antar PC dan GSM Modem
22
Pada gambar diatas dapat diketahui bahwa PC dan Modem terhubung melalui COM10. Alamat COM ini dapat berubah-ubah tergantung pada dimana modem dikoneksikan ke port USB PC. Sehingga untuk memastikan
alamat
COM port mana yang terkoneksi dengan modem dapat dilihat melalui Windows Device Manager. Uji koneksi komunikasi serial antara PC dan modem pertamatama dilakukan dengan menggunakan bantuan aplikasi Hyper Terminal. Sebelum pengkoneksian Modem dengan Hyper Terminal pastikan bahwa aplikasi Mobile Connect tidak aktif. Atur port pada Hyper Terminal sesuai dengan pengaturan port pada Modem.
Gambar 3.3 Tampilan Jendela Port Setting Modem Huawei E330
23
Pengujian komunikasi dilakukan dengan mengirimkan AT Command melalui Hyper Terminal. Kirimkan perintah AT ke modem jika koneksi sukses maka Modem akan memberikan respon “OK”.
Kemudian kirimkan perintah
AT+CMGF=? untuk mengetahui modem yang digunakan apakah kompatibel dengan SMS “Text Mode” atau SMS “PDU Mode”.
Gambar 3.4 Respon GSM modem
Respon “+CMGF: (0-1)” menandakan bahwa modem Huawei E330 kompatibel kedua mode SMS, baik ”Text Mode” ataupun “PDU Mode”. Pada perancangan sistem ini mode yang dipakai adalah mode SMS “Text Mode”.
Mengirim SMS Pengiriman SMS ini dilakukan dengan menggunakan pengiriman SMS dalam bentuk format Text Mode. Penggunaan Text Mode ini lebih mudah dibandingkan dengan pengiriman SMS dalam PDU mode. Pada Text Mode ini text dapat langsung dikirim tanpa harus merubah text dahulu kedalam format PDU yang memerlukan pengkonversian yang rumit.
24
Pengiriman SMS dilakukan dengan mengirimkan AT Command secara berturut-turut. Pertama kirimkan AT+CMGF=1 untuk inisialisai bahwa modem bekerja dalam text mode. Setelah itu kirim command AT+CMGS=”nomer tujuan” dan setelah respon “>” muncul tuliskan pesan yang akan dikirim dan diakhiri dengan menekan CTRL+Z. SMS berhasil terkirim ditandai dengan modem menerima respon +CMGS dan OK.
Gambar 3.5 Pengiriman SMS dalam format Text Mode
Dari urutan pengiriman diatas maka dapat dibuat suatu program untuk mengirim SMS dengan flowchart sebagai berikut:
25
START
Masukan: - Nomer Tujuan - Isi Pesan
Masukan pesan yang dikirim ke Sent item
Kirimkan Pesan (SMS) ke tujuan
Timer1 = ON Timer3 = ON
END
Gambar 3.6 Diagram Alir Mengirim 1 SMS
Untuk mencatat SMS yang telah dikirim maka SMS yang dikirim dimasukan kedalam Sent Item. Sent Item ini dibuat dengan Database MS. Access. Untuk proses memasukan dan menghapus data pada database digunakan bahasa SQL. Timer1 pada flowchart diatas digunakan sebagai pengitung waktu dari 0 detik sampai 10 detik. Fungsi utama dari Timer1 pada perancangan sistem ini berfungsi sebagai acuan waktu tunggu untuk proses-proses yang lain.
26
START
t=t
Tidak
t < 10 Ya t=t+1
t=0
END
Gambar 3.7 Diagram Alir Timer1
Timer3 pada diagram alir diatas berfungsi untuk memonitor apakah SMS telah terkirim. Port modem dimonitor tiap detik selama rentang waktu 10 detik apakah modem telah memberikan respon +CMGS yang menandakan bahwa SMS telah berhasil terkirim. Jika modem tidak memberikan respon +CMGS lebih dari 10 detik maka SMS yang ingin dikirim dianggap telah terkirim.
27
START
Cek data Tidak
Data mengandung: +CMGS ?
Tidak
Ya
t > 10
Ya
Timer1 = OFF Timer3 = OFF
Tampilkan Message Box “ Message Successfully Sent”
Refresh Database Sent Item
END
Gambar 3.8 Diagram Alir Timer3
Setelah SMS terkirim selanjutnya Timer1 dan Timer3 di non-aktifkan kemudian Message Box yang berisi ”Message Successfuly Sent” pop-up. Untuk memperbaharui isi database Sent Item maka Database Sent item harus di refresh terlebih dahulu.
28
3.4 Mengirim SMS ke Banyak Nomer Secara Otomatis Untuk memenuhi kebutuhan Divisi Layanan Pelanggan PT PGN Beskasi untuk menginformasikan tagihan bulanan pada banyak pelanggan maka dibutuhkan suatu program untuk megirim SMS secara otomatis ke semua pelanggan. Data pelanggan PT Perusahaan Gas Negara (PGN) biasa disimpan pada dokumen MS Excel. Sehingga pada pada pembuatan sistem Gateway ini data pelanggan yang terdapat pada dokumen Excel terlebih dahulu di import ke aplikasi yang dibuat. Dari data inilah informasi tentang Nama Perusahaan Pelanggan, Nomer kontak pelanggan, besar pemakaian gas dan besar tagihan dimuat. Data ini merupakan referensi untuk mengirimkan SMS tagihan kepada pelanggan. Tabel 3.1 Data Pelanggan Pemakaian Telepon
(mmbtu)
Tagihan
ID
Perusahaan
AI01
PT. ABADI SENTOSA
081XXXXXXXXX
2,949
Rp110,000,000,-
BA02
PT. BARINTA AUTOTECH
081XXXXXXXXX
6,488
Rp242,000,000,-
CR03
PT. CARITA REKSADA
081XXXXXXXXX
10,027
Rp374,000.000,-
CI04
PT. CHEWEI INDUSTRI
081XXXXXXXXX
9,732
Rp363,000.000,-
PG05
PT. PUSTAKA GALINDO
081XXXXXXXXX
3,539
Rp132,000.000,-
Dari contoh data tabel diatas dibuat suatu program untuk mengirim SMS secara otomatis. SMS dikirim satu-persatu dari mulai atas ke bawah. SMS dikirim kepelanggan setiap 10 detik sekali hingga SMS terkirim kesemua pelanggan. Pengiriman SMS setiap 10 detik dimaksudkan untuk menunggu SMS dikirim sebelumnya telah terkirim. Timer1 digunakan kembali sebagai waktu tunggu.
29
Timer2 digunakan untuk menghitung waktu dan apabila waktu (Timer1) telah mencapai 10 detik maka SMS akan dikirim. Setiap SMS yang dikirim akan tercatat di Sent Item. Timer2 mengirim SMS mulai dari baris atas ke baris bawah dan seterusnya. Bila pada baris terakhir tidak terdapat data maka proses pengiriman SMS dihentikan (Timer2=OFF) dan Timer1 di nonaktifkan.
START
Timer1 = ON Timer2 = ON
START
Gambar 3.9 Diagram Alir Memulai Pengiriman SMS ke Banyak Nomer
30
START
n=n
t = 10
Kirim SMS ke pelanggan baris ke-n
Masukan ke Sent Item
n=n+1
Pelanggan ke-n = kosong?
n=0
Timer1 = OFF Timer2 = OFF
Tampilkan bok pesan · All Message Successfully Sent
Refresh Database Sent Item
END
Gambar 3.10 Diagram Alir Timer2
31
Setelah Timer1 dan Timer2 di nonaktifkan maka akan muncul Message Box ”All Message Successfully Sent” yang menginformasikan bahwa semua pesan telah dikirim. Refresh database Sent Item diperlukan untuk membaharui tampilan isi data Sent item.
3.5 Menerima SMS Dalam perancangan SMS Gateway ini modem dikonfigurasi agar pada saat menerima SMS, SMS yang diterima akan disimpan pada memori modem dilokasi tertentu. Konfigurasi modem ini dilakukan dengan mengirimkan AT Command ke modem. Berikut AT Command yang dikirimkan agar modem terkonfigurasi seperti diatas: AT+CNMI=1,1,0,0,0
Berikut merupakan contoh respon setelah AT+CMNI=1,1,0,0,0 dikirimkan ke modem. Pada saat SMS baru diterima oleh modem maka akan muncul respon seperti berikut:
+CMTI: "SM",3
SMS yang baru diterima disimpan pada Memori modem dilokasi 3
Perintah AT+CMGR digunakan untuk membaca isi SMS yang disimpan pada memori modem.
32
AT+CMGR=3
AT command untuk membaca pesan dilokasi 3 pada memori modem
Berikut contoh hasil pembacaan pesan:
+CMGR: "REC READ","+61xxxxxx",,"04/08/28,22:26:29+40" Bagian ini merupakan isi pesan
Untuk menghemat memori modem maka setelah membaca SMS, kita kirimkan perintah AT+CMGD untuk menghapus pesan yang telah dibaca tersebut.
AT+CMGD=3
AT Command untuk menghapus SMS yang disimpan dilokasi 3 pada memori modem
Kemudian dibuat alur program untuk menerima SMS dibuat dengan mengacu pada langkah-langkah diatas. Selain itu semua SMS yang diterima oleh modem akan disimpan di database Inbox. Data yang dimasukan kedalam Inbox dipilah menjadi 3 bagian yaitu waktu SMS diterima, nomer pengirim SMS dan isi SMS.
33
START
Baca port (data)
Data mengandung: +CMTI ?
Tidak
Ya
Data mengandung: +CMGR ?
Tidak
Ya
Hitung panjang data
Hitung panjang data
Pilah data, Lokasi SMS di memori = X
Pilah data: - Waktu - Nomer Pengirim - Isi pesan
Kirim perintah baca SMS di lokasi X ( AT+CMGR = X )
Masukan ke Inbox
END
Hapus SMS di memori di lokasi X
Refresh Database Inbox
END
Gambar 3.11 Diagram Alir Menerima SMS
34
3.6 Fungsi Membalas SMS secara Otomatis Sistem SMS gateway ini dirancang agar dapat membalas SMS dari pelanggan yang meminta informasi tagihan pemakaian gas. Seperti yang dijelaskan pada bagian sebelumnya (bagian 3.4) data pelanggan tersimpan dalam dokumen Excel sehingga data dari dokumen Excel ini perlu di Import ke sistem yang dibuat. Data inilah yang dipakai sebagai acuan untuk membalas SMS dari pelanggan. Pelanggan terlebih dahulu diregister dahulu sehingga pelanggan mempuyai ID yang unik dan berbeda dari ID pelanggan lainnya. Sistem dirancang agar dapat membalas SMS secara otomatis jika pelanggan mengirimkan SMS dengan format “GAS ID_Perusahaan”. Pemberian ID ini ditentukan oleh pihak PT PGN, seperti yang terlihat pada tabel 3.1. Contoh jika pelanggan mengirimkan SMS “GAS BA02” maka dari sistem akan membalas SMS dengan isi SMS “PT. BARINTA AUTOTECH, Pemakaian gas 6,488(mmbtu), Tagihan Rp242,000.000,-”. Proses pencarian ID pelanggan pada program dilakukan dengan mencocokkan ID yang dikirim oleh pelanggan dengan ID yang terdaftar dimulai dari baris atas kebaris bawah. Jika ID yang dikirimkan pelanggan cocok dengan ID yang terdaftar maka akan dikirimkan SMS balasan sesuai data ID. Jika SMS yang dikirim mengandung kata-kata GAS maka proses pencarian ID akan dilakukan dan jika tidak terdapat kata-kata GAS maka proses pencarian tidak akan dilakukan.
35
START
Baca port (data)
Data mengandung: +CMTI ?
Data mengandung: +CMGR ?
Ya
Tidak
Ya
Hitung panjang data
Hitung panjang data
Pilah data, Lokasi SMS di memori = X
Pilah data: - Waktu - Nomer Pengirim - Isi pesan
Kirim perintah baca SMS di lokasi X ( AT+CMGR = X )
Masukan ke Inbox
END
Hapus SMS di memori di lokasi X
Isi Pesan mengandung: GAS ?
Tidak
Ya Cari Data
Refresh Database Inbox
END
Gambar 3.12 Diagram Alir Memulai pencarian ID
36
Jika data yang diterima terdapat kata-kata GAS maka data akan dipilah sehingga diperoleh ID-nya saja. ID inilah yang kemudian akan dicocokan dengan data mulai dari atas kebawah. Jika pada baris tertentu ditemukan ID yang cocok maka sistem akan memberikan SMS balasan sesuai data ID sedangkan jika tidak ditemukan ID yang cocok maka sistem akan memberikan SMS balasan yang berisi ”Maaf ID anda salah. Silakan hubungi operator layanan pelanggan”. Setiap SMS yang dikirim ataupun yang diterima akan dicatat.
37
START
Pilah Data gGAS ID h (id)
Hitung Jumlah Baris (r)
r=0
ID Ditemukan?
r=r+1
Tidak
Ya r= r terakhir?
Kirim SMS Balasan Sesuai ID yang diminta
Tidak
Ya Kirim SMS Balasan gMaaf ID anda salah. Silakan hubungi operator layanan pelanggan h”
Masukan ke Sent item
Refresh Database Inbox & Sent Masukan ke Sent item
END
Refresh Database Inbox & Sent
END
Gambar 3.13 Diagram Alir Membalas SMS Secara Otomatis
38
[Halaman ini sengaja dikosongkan]
39
BAB IV PENGUJIAN SISTEM SMS GATEWAY
4.1 Koneksi PC dan Modem GSM Pengujian koneksi antar Program PC dan modem dilakukan dengan mengatur parameter-parameter Port. Acuan untuk mengatur port berdasarkan pengaturan standar dari modem GSM Huawei. Setting standar dapat dilihat pada Jendela Device Manager. Pada pengujian ini modem GSM terhubung pada port COM 10.
Gambar 4.1 Tampilan Jendela Port Setting Modem GSM Huawei E220
40
Setting port di Sistem Informasi Gas Billing dilakukan di halaman SMS Billing Setting. Pengaturannya disesuaikan dengan pengaturan standar pada modem GSM seperti terlihat pada gambar 4.1. sehingga setting port di Sistem Informasi Billing menjadi : -
Comm Port
: COM 10
-
Bits per second : 9600
-
Data Bits : 8
-
Parity : None
-
Stop Bits : 1
Setelah Connection Setting diisi, tekan tombol Connect. Apabila Koneksi antara Sistem Informasi Gas Billing dan Modem GSM telah terhubung maka akan terlihat pada Port Status. Gambar 4.2 menunjukkan bahwa Modem dan PC (Sistem Informasi Gas Billing) berhasil terhubung melalui port COM 10 yang dapat dilihat dari keterangan pada port status “COM 10 connected”.
41
Gambar 4.2 Tampilan Koneksi Sistem Informasi Gas Billing dan Modem
4.2 Pengiriman dan Penerimaan SMS Program ini bertujuan untuk menerima SMS dan mengirimkan SMS kepada pelanggan mengenai informasi tagihan gas sesuai dengan pemakaian masing-masing pelanggan. Informasi pemakaian gas pelanggan berdasarkan pada database yang ada. Sebelum megirim data sesuai dengan database akan dipastikan dulu kemampuan program untuk mengirim dan menerima 1 SMS dengan melakukan pengujian seperti di bawah ini.
4.2.1 Mengirim SMS Pengujian tahap ini dilakukan untuk mengetahui apakah sistem yang dirancang dapat bekerja dengan semestinya dalam mengirim SMS. Pengujian dilakukan dengan mengirimkan satu SMS. Pada program dibuat halaman sent
42
untuk melakukan pengujian ini. Tampilan halaman Sent dapat dilihat pada Gambar 4.3. Pada halaman Sent terdapat beberapa bagian yang harus diisi sebelum SMS dapat dikirimkan yaitu Destination Number dan Message. Nomor telepon tujuan dituliskan pada tab Destination Number sedangkan pesan yang akan dikirim ditulis di jendela Message. Apabila pesan dan nomor sudah terisi, tombol send ditekan untuk mengirim pesan.
. Gambar 4.3 Tampilan Jendela untuk Mengirim Pesan Singkat
Pada pengujian ini, Destination Number diisi dengan nomor telepon 08170296218 dan pesan yang ditulis “Test Mengirim Satu SMS”. Gambar 4.4
43
menunjukkan bahwa program telah berhasil mengirim SMS ditandai dengan munculnya Message Box “Message Succesfully Sent”. Pesan yang terkirim tersimpan pada Sent Items.
Gambar 4.4 SMS Berhasil Terkirim
SMS yang dikirim berhasil diterima oleh nomor telepon tujuan , seperti yang terlihat pada tampilan telepon seluluer di gambar 4.5.
44
Gambar 4.5 SMS yang Diterima
Pengujian diatas menunjukkan bahwa sistem yang dirancang telah berhasil mengirimkan satu SMS, terlihat dengan terkirimnya pesan dan pesan dapat diterima oleh Pelanggan serta pesan yang dikirim tersimpan pada Sent Item.
4.2.2 Menerima SMS Pengujian tahap ini dilakukan untuk mengetahui apakah sistem yang dirancang dapat bekerja dengan semestinya dalam menerima SMS. Pengujian dilakukan dengan cara mengirimkan SMS ke nomor SMS Billing PGN. Pada program dibuat halaman Inbox untuk melakukan pengujian ini. Pengiriman SMS ke nomor SMS Billing PGN dapat dilihat pada Gambar 4.6.
45
Gambar 4.6 Pengiriman SMS dari pelanggan
SMS yang dikirim oleh Pelanggan diterima oleh program dan akan disimpan di Inbox. Pada Inbox akan tercatat waktu penerimaan, nomor pengirim dan isi pesan yang diterima. Pada pengujian ini, pengirim pesan adalah nomor telepon 09170296218 dengan pesan “Test menerima SMS dari pelanggan”. Gambar 4.7 menunjukkan bahwa program telah berhasil menerima SMS dan menyimpan di inbox.
Gambar 4.7 SMS yang diterima oleh Program
46
4.3 Mengirimkan SMS Kebanyak Pelanggan Informasi pemakaian gas pelanggan berdasarkan pada data base yang ada Database pemakaian gas PT PGN dibuat dalam dokumen excel. Pada pembuatan sistem Gateway ini data pelanggan yang terdapat pada excel terlebih dahulu di import ke aplikasi yang dibuat dengan cara memilih lokasi dokumen excel yang akan digunakan melalui tombol Open setelah alamat dokumen ditentukan tekan tombol Import. Gambar 4.8 dapat dilihat tampilan program pada halaman Gateway yang telah berhasil mengimpor data pemakaian gas pelanggan.
Gambar 4.8 Data Pelanggan yang telah di Import ke Aplikasi
Pada Tugas Akhir ini pengujian pengiriman SMS pada banyak pelanggan dibatasi sebanyak 5 pelanggan dan pengiriman SMS pun di uji coba kan pada nomer HP yang sama. Pengiriman SMS akan dilakukan jika kita menekan tombol
47
“Sent to All”. Pesan telah terkirim semua ditandai dengan Progress Bar terisi penuh dan muncul kotak pesan yang berisi “All Message Successfully Sent”. Pelanggan akan mendapatkan pesan yang berisi jumlah pemakaian gas dan jumlah tagihan dalam rupiah yang harus dibayarkan. Pada Gambar 4.9 dapat dilihat bahwa program telah berhasil mengirimkan semua pesan ditandai dengan Progress Bar yang terisi penuh dan kotak pesan yang berisi “All Message Successfully Sent”. Lima SMS yang dikirim akan diterima oleh telepon seluler pelanggan seperti yang tergambar pada Gambar 4.10.
Gambar 4.9 SMS telah terkirim ke semua pelanggan
48
Gambar 4.10 Tampilan SMS yang Diterima
Dari pengujian diatas dapat ditarik kesimpulan bahwa sistem yang dibuat telah berkerja dengan baik dalam mengirim SMS secara otomatis kebanyak pelanggan dengan pesan sesuai data base pemakaian gas dan tagihan yang ada.
4.4 Membalas Pesan Secara Otomatis Pengujian dilakukan untuk mengetahui apakah fungsi membalas pesan secara otomatis kepada pelanggan dapat bekerja dengan baik atau tidak. Data pelanggan di impor dulu pada sistem yang dibuat dimana nantinya data ini akan digunakan sebagai acuan untuk isi pesan balasan ke pelanggan yang meminta besarnya tagihan pemakaian gas bulanan. Untuk mendapatkan informasi tagihan, pelanggan mengirimkan pesan pada sistem dengan format yang telah ditentukan. Format pesan ini telah ditentukan oleh pihak PT PGN dengan format “GAS (spasi) ID_PELANGGAN”.
49
Gambar 4.11 Pengiriman SMS sesuai Format Permintaan Informasi Tagihan
Pada pengujian ini pelanggan adalah PT CARITA REKSADA yang memiliki ID CR03. Sehingga pelanggan akan mengirimkan SMS yang berisi pesan seperti pada Gambar 4.11. Setelah mengirimkan SMS pelanggan mendapatkan SMS masuk seperti pada Gambar 4.12.
Gambar 4.12 SMS Jawaban
50
Pengujian permintaan tagihan diujicobakan pada semua ID_Pelanggan untuk mengetahui apakah sistem membalas permintaan sesuai dengan ID yang dikirimkan. Tabel 4.1 SMS Balasan sesuai dengan ID pelanggan ID
SMS Balasan dari sistem
GAS AI01
PT. ABADI SENTOSA, Pemakaian gas 2949(MMBTU), Tagihan Rp110,000,000,-
GAS BA02
GAS CR03
GAS CI04
GAS PG05
PT. BARINTA AUTOTECH, Pemakaian gas 6488(MMBTU), Tagihan Rp242,000,000,PT. CARITA REKSADA, Pemakaian gas 10027 MMBTU), Tagihan Rp374,000,000,PT. CHEWEI INDUSTRI, Pemakaian gas 9732(MMBTU), Tagihan Rp363,000,000,PT. PUSTAKA GALINDO, Pemakaian gas 3539(MMBTU), Tagihan Rp132,000,000,-
Dari table 4.1 dapat disimpulkan bahwa fungsi membalas pesan secara otomatis pda program dapat bekerja dengan baik ini terlihat dari isi SMS balasan dari sistem yang sesuai dengan ID yang dikehendaki serta data pelanggan. Sistem SMS gateway ini dirancang jika mendapatkan permintaan informasi tagihan namun ID pelanggan tidak ditemukan maka sistem akan memberikan SMS balasan yang berisi “Maaf ID salah. Silakan hubungi operator layanan pelanggan”.
51
Gambar 4.13 Pengiriman SMS dengan ID yang Salah
Pada pengujian ini pelanggan adalah PT. BARINTA AUTOTECH yang memiliki ID BA02 tapi pelanggan mengirim SMS dengan isi pesan “GAS BR20” seperti pada Gambar 4.13. ID BR20 tidak ada dalam database sehingga pengirim pesan akan menerima SMS seperti pada gambar 4.14.
Gambar 4.14 Respon ID salah
52
[Halaman ini sengaja dikosongkan]
53
BAB V KESIMPULAN
Setelah merancang dan menguji coba sistem SMS Gateway ini maka dapat ditarik kesimpulan sebagai berikut: 1. Sistem yang dirancang dapat mengirim dan menerima SMS dengan baik 2. Setiap SMS yang diterima akan dicatat, SMS yang diterima akan dicatat kedalam database Inbox dan SMS yang dikirim akan disimpan didatabase Sent. 3. Sistem yang dirancang dapat mengirim SMS kebanyak nomer secara berturut-turut dapat berjalan dengan baik. 4. Sistem SMS Gateway yang dirancang dapat membalas SMS secara otomatis jika pelanggan mengirimkan SMS dengan format “GAS ID_PELANGGAN”. Jika ID pelanggan cocok dengan data yang dimiliki maka Sistem akan membalas SMS sesuai dengan data ID dan jika ID tidak ditemukan kecocokan dengan data yang Sistem akan membalas dengan pesan pemberitahuan “Maaf ID Anda salah. Silakan hubungi Operator Layanan Pelanggan”.
54
[Halaman ini sengaja dikosongkan]
55
DAFTAR PUSTAKA
Joko
Nurjadi,
April.
2008.
Konsep
Pembuatan
SMS
Gateway.<
http://www.pcmedia.co.id/detail.asp?Id=2065&Cid=22&Eid=53> ….., May.2009. Tutorial :: Using AT commands to Send and Receive SMS.< http://www.control.com.sg/at_commands_sms.aspx> Sigurd Johansen, Jan 2007. Communication on a serial port in NET 2.0.
UbiNetics, May.2001. Application Note AN010: GSM AT Command.
Firman Puspanegara, 2006. Sistem Monitoring Keamanan Gedung Dan Manajemen Gedung. Tugas Akhir. Jurusan Teknik Elektro. UGM. ......, 2000. Support Guide For Send, Receive, And Read SMS With Terminal Program And Nokia 6210. Nokia Mobile Phones. whammy, November 2002. Single Quotes give me a syntax error!.
56
Imports System.Data Imports System.Data.OleDb
Public Class Form1 Inherits System.Windows.Forms.Form Dim i, rb, ba, pjs, rm, cb, t As Integer Dim r, ss As Integer Dim data, baca As String Dim n As Integer 'Dim t As String Dim sr, d1, d1a, d2 As String Dim ifrom, itime, imsg As String Dim p As Integer
Dim Dim Dim Dim Dim Dim Dim
con As OleDbConnection dAdapt As OleDbDataAdapter dSet As DataSet dSet2 As DataSet a As Integer = 0 dBind As New BindingSource dBind2 As New BindingSource
Public Delegate Sub myDelegate()
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load CheckForIllegalCrossThreadCalls = False For i As Integer = 0 To My.Computer.Ports.SerialPortNames.Count - 1 nbrPort.Items.Add(My.Computer.Ports.SerialPortNames(i)) Next '---nge-refresh--database---------Call Md_Settings1() Call Md_Settings2()
End Sub '---------------------------------' me-refresh isi database Sent Private Sub Md_Settings1() Try
A-1
con = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\DataBase.mdb") con.Open() dAdapt = New Data.OleDb.OleDbDataAdapter("select * from Sent", con) dSet = New DataSet dAdapt.Fill(dSet) dBind.DataSource = dSet dBind.DataMember = dSet.Tables(0).ToString() dgvSent.DataSource = dBind Catch ex As Exception MsgBox(ex.ToString()) End Try
End Sub Private Sub Md_Settings2() Try con = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\DataBase.mdb") con.Open() dAdapt = New Data.OleDb.OleDbDataAdapter("select * from Inbox", con) dSet2 = New DataSet dAdapt.Fill(dSet2) dBind2.DataSource = dSet2 dBind2.DataMember = dSet2.Tables(0).ToString() dgvRead.DataSource = dBind2 Catch ex As Exception MsgBox(ex.ToString()) End Try
End Sub
'-------------------------------------------------------------' Single Quote (') ERROR Handle - biar ga error jika ada single quote waktu input SQL '-------------------------------------------------------------Function RSQ(ByVal str) If str Is DBNull.Value Then str = "" RSQ = Replace(str, "'", "''") End Function
'--------------------------------------------------------------------------------------------------------'Inisialisasi dan Men-Connect PC ke modem
A-2
'--------------------------------------------------------------------------------------------------------Private Sub btnConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConnect.Click Try
If SerialPort1.IsOpen Then SerialPort1.Close() End If SerialPort1.PortName = nbrPort.Text SerialPort1.BaudRate = bpsPort.Text SerialPort1.DataBits = dtbPort.Text If prtPort.Text <> String.Empty Then Select Case prtPort.Text Case "Even" SerialPort1.Parity = IO.Ports.Parity.Even Case "Mark" SerialPort1.Parity = IO.Ports.Parity.Mark Case "None" SerialPort1.Parity = IO.Ports.Parity.None Case "Odd" SerialPort1.Parity = IO.Ports.Parity.Odd Case "Space" SerialPort1.Parity = IO.Ports.Parity.Space End Select End If
If stPort.Text <> String.Empty Then Select Case stPort.Text Case "1" SerialPort1.StopBits = IO.Ports.StopBits.One Case "1.5" SerialPort1.StopBits = IO.Ports.StopBits.OnePointFive Case "2" SerialPort1.StopBits = IO.Ports.StopBits.Two End Select End If SerialPort1.Open() ToolStripStatusLabel3.Text = SerialPort1.PortName & " Connected" btnConnect.Enabled = False btnDisconnect.Enabled = True Catch exp As Exception MsgBox(exp.ToString()) End Try
A-3
Try 'txtData.Text = data '-- inisialisasi ; set modem ke mode text mode & trima sms pakai notification SerialPort1.Write("AT" & vbCrLf) SerialPort1.Write("AT+CMGF=1" & vbCrLf) SerialPort1.Write("AT+CNMI=1,1,0,0" & vbCrLf) Catch exp As Exception MsgBox(exp.ToString()) End Try
End Sub '-----------------------------------------------------------------' Untuk Men-Disconnect Modem '-----------------------------------------------------------------Private Sub btnDisconnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisconnect.Click Try SerialPort1.Close() ToolStripStatusLabel3.Text = SerialPort1.PortName & " Disconnected" btnDisconnect.Enabled = False btnConnect.Enabled = True tbpage1.Enabled = True Timer1.Enabled = False Timer2.Enabled = False Timer3.Enabled = False Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub
'================================================================= ========== ' Import excel file ke VB '================================================================= ========== Private Sub btnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.Click Try OpenFileDialog1.Filter = "Excel Files (*.xls)|*.xls"
A-4
OpenFileDialog1.ShowDialog() If OpenFileDialog1.FileName <> "" Then txtFileName.Text = OpenFileDialog1.FileName End If Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub Private Sub btnImport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnImport.Click Try Dim MyConnection As System.Data.OleDb.OleDbConnection Dim DtSet As System.Data.DataSet Dim MyCommand As System.Data.OleDb.OleDbDataAdapter MyConnection = New System.Data.OleDb.OleDbConnection _ ("Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & txtFileName.Text & ";" & _ "Extended Properties=""Excel 8.0;HDR=YES""") MyCommand = New System.Data.OleDb.OleDbDataAdapter _ ("select * from [Sheet1$]", MyConnection) MyCommand.TableMappings.Add("Table", "DataTable") DtSet = New System.Data.DataSet MyCommand.Fill(DtSet) DataGridView1.DataSource = DtSet.Tables(0) MyConnection.Close() Catch ex As Exception MsgBox(ex.ToString) End Try End Sub
'================================================================= ===================== 'untuk tampilan file-->exit Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click Dim msg As String Dim title As String Dim style As MsgBoxStyle Dim response As MsgBoxResult msg = "Do you want to continue?" ' Define message. style = MsgBoxStyle.DefaultButton2 Or _ MsgBoxStyle.Critical Or MsgBoxStyle.YesNo title = "Exit SIG Billing" ' Define title. ' Display message. response = MsgBox(msg, style, title) If response = MsgBoxResult.Yes Then ' User chose Yes. Me.Close()
A-5
End If
End Sub 'menampilkan about form Private Sub AboutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutToolStripMenuItem.Click About.Show() End Sub
'================================================================= ================================= ' Program untuk mengirim 1 SMS (Text Mode) '================================================================= ================================= Private Sub btnSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSend.Click Dim ntuju, pesan As String ntuju = ntujuan.Text pesan = txtPesan.Text ' Try Dim com As New OleDbCommand com.Connection = con com.CommandText = "INSERT INTO Sent VALUES ('" & RSQ(Date.Now) & "','" & RSQ(ntuju) & "','" & RSQ(pesan) & "')" com.ExecuteNonQuery()
'SerialPort1.Write("AT" & vbCrLf) 'SerialPort1.Write("AT+CMGF=1" & vbCrLf) SerialPort1.Write("AT+CMGS=""" & ntuju & """" & vbCrLf) SerialPort1.Write(pesan & Chr(26) & vbCrLf)
Timer1.Enabled = True Timer3.Enabled = True Catch exp As Exception MsgBox(exp.ToString()) End Try End Sub
'-----------------------------------------------------------------------' Kirim SMS ke semua
A-6
'-----------------------------------------------------------------------Private Sub btnSend2All_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSend2All.Click pgrbar.Maximum = DataGridView1.ColumnCount - 1 'menghitung kolom tbpage1.Enabled = False Timer1.Enabled = True 'delay selama 10dtk, interval=1000 Timer2.Enabled = True 'untuk mengirim sms ke banyak nomer End Sub '--------------------------------------------------------------------------------------------------------'Fungsi menerima data / selalu memonitor serial port ' jika serial port terdapat perubahan maka data juga berubah '--------------------------------------------------------------------------------------------------------Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived Try data = SerialPort1.ReadExisting txtData.Text = data ListBox2.Items.Add(txtData.Text) If data.Contains("+CMTI") Then ss = data.Length baca = data.Substring(14, ss - 14) SerialPort1.Write("AT+CMGR=" & baca & vbCrLf) ElseIf data.Contains("+CMGR") Then Dim com As New OleDbCommand com.Connection = con sr = data p = data.Length d1 = sr.IndexOf(""",""") d1a = sr.IndexOf(""",,""") d2 = sr.IndexOf(",,") itime = data.Substring(d2 + 3, 17) 'Memilah waktu ifrom = data.Substring(d1 + 3, d1a - d1 - 3) 'memilah pengirim imsg = data.Substring(d2 + 25, p - d2 - 29) 'Memilah isi pesan
A-7
com.CommandText = "INSERT INTO Inbox VALUES RSQ(itime) & "','" & RSQ(ifrom) & "','" & RSQ(imsg) & "')" com.ExecuteNonQuery()
('" &
SerialPort1.Write("AT+CMGD=" & baca & vbCrLf) ' Hapus pesan yg telah dibaca System.Threading.Thread.Sleep(500) Call Md_Settings1() Call Md_Settings2() If UCase(imsg).Contains("GAS") Then Call cari() End If
End If
Catch exp As Exception MsgBox(exp.ToString()) End Try End Sub '----------------------------------' fungsi cari database berdasarkan ID '------------------------------------Private Sub cari() Dim psid, id, pbalik As String Try Dim com As New OleDbCommand com.Connection = con
id = imsg.Substring(5, 4) For r = 0 To DataGridView1.RowCount - 1 If DataGridView1.Item(0, r).Value = UCase(id) Then GoTo ada End If Next GoTo tdkada ' lompat ke tdkada ada: pbalik = DataGridView1.Item(1, r).Value _ & " ,Pemakaian gas " & DataGridView1.Item(3, r).Value _ & "(MMBTU), Tagihan " & DataGridView1.Item(4, r).Value
A-8
'SerialPort1.Write("AT" & vbCrLf) 'SerialPort1.Write("AT+CMGF=1" & vbCrLf) SerialPort1.Write("AT+CMGS=""" & ifrom & """" & vbCrLf) SerialPort1.Write(pbalik & Chr(26) & vbCrLf)
com.CommandText = "INSERT INTO Sent VALUES RSQ(Date.Now) & "','" & RSQ(ifrom) & "','" _ & RSQ(pbalik) & "')" com.ExecuteNonQuery()
('" &
GoTo beres
tdkada: psid = "Maaf ID Anda salah. Silakan Hubungi Operator Layanan Pelanggan" 'SerialPort1.Write("AT" & vbCrLf) 'SerialPort1.Write("AT+CMGF=1" & vbCrLf) SerialPort1.Write("AT+CMGS=""" & ifrom & """" & vbCrLf) SerialPort1.Write(psid & Chr(26) & vbCrLf)
com.CommandText = "INSERT INTO Sent VALUES RSQ(Date.Now) & "','" & RSQ(ifrom) & "','" _ & RSQ(psid) & "')" com.ExecuteNonQuery()
('" &
beres: System.Threading.Thread.Sleep(500) Call Md_Settings1() Call Md_Settings2() Catch exp As Exception MsgBox(exp.ToString()) End Try End Sub
'================================================================= ============================= ' delay selama 10dtk, interval=1000 '================================================================= ============================== Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
A-9
t = t If t < 10 Then t = t + 1 Else t = 1 End If Label1.Text = t End Sub
'-----------------------------------------------------------' Kirim sms ke semua/banyak omer '-----------------------------------------------------------Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick Try Dim com As New OleDbCommand com.Connection = con n = n pgrbar.Value = n If t = 10 Then ListBox1.Items.Add(n) 'SerialPort1.Write("AT" & vbCrLf) 'SerialPort1.Write("AT+CMGF=1" & vbCrLf) SerialPort1.Write("AT+CMGS=""" & DataGridView1.Item(2, n).Value & """" & vbCrLf) SerialPort1.Write(DataGridView1.Item(1, n).Value _ & " ,Pemakaian Gas " & DataGridView1.Item(3, n).Value _ & " (MMBTU), Tagihan " & DataGridView1.Item(4, n).Value _ & Chr(26) & vbCrLf) com.CommandText = "INSERT INTO Sent VALUES ('" & Date.Now & "','" _ & DataGridView1.Item(2, n).Value & "','" & DataGridView1.Item(1, n).Value _ & " ,Pemakaian Gas " & DataGridView1.Item(3, n).Value _ & " (MMBTU), Tagihan " & DataGridView1.Item(4, n).Value & "')" com.ExecuteNonQuery() n = n + 1 If DataGridView1.Item(0, n).Value = Nothing Then n = 0 Timer1.Enabled = False Timer2.Enabled = False
A - 10
MsgBox("All Message Successfully Sent") pgrbar.Value = 0 tbpage1.Enabled = True Call Md_Settings1() End If
End If
Catch ex As Exception n = 0 t = 0 Timer1.Enabled = False Timer2.Enabled = False MsgBox("All Message Successfully Sent") pgrbar.Value = 0 tbpage1.Enabled = True Call Md_Settings1() Call Md_Settings2() End Try
End Sub
'-----------------------------------------------------------------------------------------'untuk tanda & menampilkan pesan bahwa sms telah berhasil terkrim '----------------------------------------------------------------------------------------Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick Try If data.Contains("+CMGS") Or t > 10 Then 'If txtData.Text.Contains("+CMGS") Or t > 10 Then 'SerialPort1.Write("AT" & vbCrLf) 'SerialPort1.Write("AT+CMGF=1" & vbCrLf) Timer1.Enabled = False Timer3.Enabled = False MsgBox("Message Succesfully Sent") Call Md_Settings1() Call Md_Settings2()
A - 11
End If Catch ex As Exception End Try End Sub
'--------------------------------------------------------------------' Program Menghapus 1 sent item '--------------------------------------------------------------------Private Sub btsDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btsDelete.Click Dim selectedRowCount As Integer = _ dgvSent.Rows.GetRowCount(DataGridViewElementStates.Selected) Dim d, ds As Integer ' ds = delete sent Try If selectedRowCount > 0 Then dgvSent.SelectedRows(d).Index.ToString() End If ds = dgvSent.SelectedRows(d).Index.ToString() Dim com As New OleDbCommand com.Connection = con com.CommandText = "delete from Sent where Time ='" & dgvSent.Item(0, ds).Value & "'" com.ExecuteNonQuery() MsgBox("Record Deleted") Call Md_Settings1() Catch exp As Exception MsgBox(exp.ToString()) End Try End Sub '--------------------------------------------------------------------' Program menghapus semua sent item '--------------------------------------------------------------------Private Sub btnDSAll_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDSAll.Click Try Dim com As New OleDbCommand
A - 12
com.Connection = con com.CommandText = "delete from Sent" com.ExecuteNonQuery() MsgBox("Record Deleted All") Call Md_Settings1() Catch exp As Exception MsgBox(exp.ToString()) End Try End Sub
'--------------------------------------------------------------------' Program Menghapus 1 Inbox item '--------------------------------------------------------------------Private Sub btrDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btrDelete.Click Dim selectedRowCount As Integer = _ dgvRead.Rows.GetRowCount(DataGridViewElementStates.Selected) Dim d, di As Integer 'di=delete inbox Try If selectedRowCount > 0 Then dgvRead.SelectedRows(d).Index.ToString() End If di = dgvRead.SelectedRows(d).Index.ToString() Dim com As New OleDbCommand com.Connection = con com.CommandText = "delete from Inbox where Time ='" & dgvRead.Item(0, di).Value & "'" com.ExecuteNonQuery() MsgBox("Record Deleted") Call Md_Settings2()
Catch exp As Exception MsgBox(exp.ToString()) End Try End Sub
'--------------------------------------------------------------------' Program Menghapus semua Inbox item
A - 13
'--------------------------------------------------------------------Private Sub btnDRAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDRAll.Click Try Dim com As New OleDbCommand com.Connection = con com.CommandText = "delete from Inbox" com.ExecuteNonQuery() MsgBox("Record Deleted All") Call Md_Settings2() Catch exp As Exception MsgBox(exp.ToString()) End Try End Sub '---------------------------------' untuk mengetes AT command '---------------------------------Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click SerialPort1.Write("" & UCase(TextBox2.Text) & vbCrLf) End Sub '----------------------------------------------'menampilkan banyaknya karakter sms yg mau dikirim '-------------------------------------------------Private Sub txtPesan_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtPesan.TextChanged lblMsg.Text = txtPesan.Text.Length End Sub
End Class
A - 14