Silakan tunggu sedang proses
Sabtu Kliwon 18 Mei 2024 22:42
learn make rich
share make it perfect
Ayat Suci
Jika Dia menghendaki Dia akan menenangkan angin, maka jadilah kapal-kapal itu terhenti di permukaan laut. Sesungguhnya pada yang demikian itu terdapat tanda-tanda (kekuasaan)-Nya bagi setiap orang yang banyak bersabar dan banyak bersyukur,
(QS. ASY SYUURA:33)

 otomatis refresh

Javascript ayat
Daftar Fungsi
pasaran
Mencari nama hari dan nama pasaran
pdu2sms
Konversi dari PDU ke Teks SMS
bacarss
Membaca RSS dari beberapa situs
Para Rekan
MyWeblog

Mengirim SMS dari PC

Aryo Sanjaya
Jika sebelumnya sudah dibahas cara membaca SMS lewat PC, belum lengkap rasanya kalau tidak dibahas tentang proses pengiriman SMS lewat PC.

Aryo Sanjaya
Senin Wage, 28 November 2005

Menyambung artikel Membaca SMS dari PC, kali ini dibahas cara mengirim SMS melalui PC.

Masih tetap menggunakan Borland Delphi, kita memulai pembahasan dengan bagaimana cara membentuk PDU untuk dikirim.

PDU yang diterima dari HP berbeda dengan PDU yang untuk dikirim, namun tetap menggunakan aturan yang sama. Perbedaannya terutama pada field yang dikandung, baik nilai maupun fungsinya. Untuk lebih detail mengenai PDU yang diterima, silakan membaca artikel sebelumnya.

Berikut ini struktur PDU untuk dikirim:

07 91 2658050000F0 11 00 0C 91 265836164900 00 00 FF 04 C830FB0D

Keterangan:

Oktet / Digit Hexa Keterangan
07 Panjang atau jumlah pasangan digit dari nomor SMSC (service number) yang digunakan, dalam hal ini adalah 7 pasangan (14 digit berikutnya)
91 Jenis nomor SMSC. Angka 91 menandakan format nomor internasional (misal +6281xxx). Untuk 081xxx menggunakan angka 81.
2658050000F0 Nomor SMSC yang digunakan. Karena jumlah digit nomor SMS adalah ganjil, maka digit paling belakang dipasangkan dengan huruf F. Kalau diterjemahkan, nomor SMSC yang digunakan adalah +62855000000 (IM3)
11 Oktet pertama untuk PDU SMS untuk dikirim (SMS SUBMIT). Untuk penjelasannya, silakan lihat artikel ini.
00 TP-Message-Reference. Diisi "00" agar diisi otomatis oleh handphone.
0C Panjang digit dari nomor penerima (0C hex = 12 desimal)
91 Jenis nomor penerima (sama dengan jenis nomor SMSC)
265836164900 Nomor penerima SMS, yang jika diterjemahkan adalah +628563619400
00 Pengenal protokol, dalam hal ini adalah 0. Silakan baca keterangan di sini.
00 Skema pengkodean SMS, juga bernilai 0.
FF Validitas waktu. FF berarti maksimum. Silakan baca keterangan di sini.
04 Panjang dari pesan SMS, dalam hal ini adalah 4 huruf (dalam mode 7 bit).
C830FB0D Pesan SMS dalam mode 7 bit. Jika diterjemahkan kedalam 8 bit, lalu dirubah ke ASCII, maka didapat pesan 'Halo'

Untuk handphone tertentu, kita dapat menghilangkan pemberian nomor SMSC pada PDU, untuk kemudian akan diisi oleh handphone sesuai dengan kartu yang sedang digunakan. Tapi untuk lebih amannya, kita sebutkan nomor SMSC yang digunakan.

Ketika PDU SMS selesai dibentuk, maka langkah selanjutnya adalah melakukan pengiriman PDU tersebut melalui port serial yang digunakan. Perintah yang pertama kali digunakan adalah AT+CMGS, dengan aturan sebagai berikut:

AT+CMGS=<jumlah oktet PDU>

<jumlah oktet PDU> diisi dengan jumlah pasangan dalam PDU yang terbentuk, dengan dikurangi SMSC. Dengan kata lain, kita menghitung jumlah oktet mulai dari kode SMS SUBMIT (11). Untuk contoh di atas, berarti jumlah digit dalam PDU adalah 36, yang berarti terdiri dari 18 oktet. Sehingga perintah yang digunakan adalah:

AT+CMGS=18

Setelah itu, tunggu respon dari handphone. Kalau gagal, dengan berbagai alasan, maka yang dikembalikan adalah ERROR.
Sedangkan jika perintah tersebut diijinkan, maka yang dikembalikan adalah karakter '>' (lebih besar).

Jika perintah tersebut sukses, selanjutnya adalah menuliskan semua PDU tersebut ke handphone, dan diakhiri dengan penulisan karakter ASCII 26 (CTRL+Z).
Jika sukses, maka yang dikembalikan adalah OK. SMS terkirim, semoga.

Dari semua penjelasan di atas, diharapkan dapat dipahami langkah-langkah pengiriman SMS melalui PC. Untuk lebih jelasnya, silakan download source-code dalam program Delphi. Unit ini dapat digabungkan dengan unit untuk membaca SMS pada artikel sebelumnya.

Yang perlu diperhatikan adalah tentang pengaturan koneksinya. Karena masing-masing proses (kirim dan terima) membutuhkan koneksi ke handphone, maka harus diatur agar tidak terjadi proses terima dan kirim secara bersamaan.

Sekian pembahasan mengenai SMS. Jika ada pertanyaan atau kritik dan masukan, silakan kirim ke aryo.sanjaya@gmail.com.

Happy coding :)

 

Komentar

Halaman Komentar:   < 1 ... 6 7 8 9 10 11 ... 21 >

tie

Kamis Kliwon, 9 Maret 2006

mas aryo.. saya mencoba program ini : procedure TForm1.Button3Click(Sender: TObject); begin CekSMS(Memo1); end; program konek dan membaca smsnya sih sudah bisa tapi ceknya masih ada error seperti ini : [Error] Unit1.pas(88): Undeclared identifier: 'CekSMS' [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas' kenapa ya?.. maaf mas nanya2 trus soale saya buta sekali tentang delphi..

Aryo Sanjaya

Kamis Kliwon, 9 Maret 2006

Halo tie, Error tentang baudrate itu berasal dari aplikasi yang berusaha membaca data Baudrate dari registry, yang jika aplikasi pertama kali dijalankan di komputer itu, tentu saja datanya belum ada. Hm, diusulkan untuk diperbaiki :) Jika koneksi gagal, pastikan nomor port yang dipilih sudah benar, lalu port dalam kondisi 'siap'. Jangan sampe saat itu port sedang dibuka oleh HyperTerminal. Ok, ditunggu hasilnya.

Aryo Sanjaya

Kamis Kliwon, 9 Maret 2006

Halo tie lagi ;) Error itu karena fungsi/procedure CekSMS tidak dikenali. Penyebabnya kemungkinan unit uTerimaSMS.pas belum kamu ikutkan dalam daftar Uses pada unit1. Periksa lagi daftar Uses kamu. Tapi procedure CekSMS(Memo1) itu untuk unit uTerimaSMS.pas yang lama, karena untuk uTerimaSMS.pas yang ikut dalam source HPApp itu sudah berubah. Unit yang lama masih ada di daftar download. Gpp nanya terus, karena itulah situs ini ada :))

Agus Triyono

Kamis Kliwon, 9 Maret 2006

Mas Aryo mau nanya, untuk pembahasan mengenai xcom gimana kelanjutannya, saya tunggu hasil lengkapnya, yang sebelumnya khan mas aryo ndak jadi memakai mscomm karena banyak dari teman2 gagal (variant).thks saya tunggu yang tentang pake xcom

tie

Rabu Legi, 15 Maret 2006

mas aryo yang baik.. bagaimana program yang saya kirimkan kemaren,apa sudah dilihat ato dah dibenerin.saya tunggu lho mas.. jangan lupa pake keterangan supaya saya bisa cepat memehaminya.kirim langsung ke email saya saja mas. makasih banyak sebelumnya..

Aryo Sanjaya

Rabu Legi, 15 Maret 2006

Halo tie, Sudah aku kirim balik ke emailmu. Beberapa bagian sudah aku benarkan, tapi perintah bikinanmu tidak aku hapus, cuma aku remark saja. Ok, silakan dilihat, dan biasakan dengan Delphi :)

Lutfi

Selasa Pahing, 21 Maret 2006

Mas aryo alumnus stiki ya? koq kelihatannya pernah lihat. Mas aku mo tanya gimana cara memecah string menjadi sebuah key dan value pada delphi? Contoh : #123#456#789 nah gimana memecah karakter tersebut berdasarkan karakter # sehingga hasilnya akan menjadi : hasil[0] = '123' hasil[1] = '456' hasil[2] = '789' Thanks

Lutfi

Selasa Pahing, 21 Maret 2006

Trus gimana juga cara koneksi mysql dengan delphi? Source codenya donk

kiyat

Selasa Pahing, 21 Maret 2006

kalo aku dulu memakai perintah value jadi string tsb aku baca satu persatu, kalo dah kelihatan formatnya 3 3 seperti itu pake pos or copy sepanjang string tsb juga bisa, trus hasilnya di masukan ke dalam array.

Aryo Sanjaya

Selasa Pahing, 21 Maret 2006

Halo lutfi, Kamu benar, aku produk STIKI :D lulus 2003 kamu juga? Untuk split seperti itu, biasanya aku menggunakan obyek tStrings, dengan me-replace delimiter # menjadi CRLF (karakter #13#10) Ketika dimasukkan ke Text-nya TStrings, nanti akan membetuk list sendiri. Itu yang aku gunakan di source Aplikasi HP :) Sedangkan kalo ingin mengambil salah satu item saja, berikut ini ada fungsi dari forum lain :D function split(input:string;schar:char;s:integer):string; var i,n:integer; schop: string; begin n := 1; for i := 1 to length(input) do begin if (input[i] = schar) then begin inc(n); if n = s then split := schop else schop := ''; end else schop := schop + input[i]; end; end; Contoh penggunaan: pertama := split(stringnya, '#', 1); kedua := split(stringnya, '#', 2); ketiga := split(stringnya, '#', 3); Ok, mau pilih cara mana? ;) Untuk koneksi Delphi dengan MySQL, sama aja dengan koneksi ke ODBC yang lain, asal kamu install dulu MyODBC: http://dev.mysql.com/downloads/connector/odbc/3.51.html Nanti kamu akan dapat akses MySQL seperti layaknya SQL Server atau yang lain :)


Halaman Komentar:   < 1 ... 6 7 8 9 10 11 ... 21 >

Mengisi Komentar





untuk kode program, apit dengan tanda [code][/code].
contoh:

[code]
(kode program)
[/code]



Daftar Artikel Delphi

» Aplikasi Handphone (250)
Senin Pon, 20 Februari 2006

Kompilasi beberapa unit yang digunakan untuk mengirim dan membaca SMS, dan menampilkan informasi handphone

» Membaca SMS dari PC (162)
Selasa Pahing, 14 Juni 2005

Kirim-kiriman SMS memang asyik, apalagi kalo menggunakan PC, meski tetep aja bayar :-)



Halaman:    1  

Artikel Rame
Aplikasi Handphone (250)
Senin Pon, 20 Februari 2006

Mengirim SMS dari PC (208)
Senin Wage, 28 November 2005

Membaca SMS dari PC (162)
Selasa Pahing, 14 Juni 2005

Source SMS Autorespond (66)
Senin Legi, 24 April 2006

Penyembunyian Password di Database (36)
Kamis Kliwon, 2 Juni 2005

Bukutamu
» Imam Izzatir Rizzan
Jum'at Kliwon
7 Juli 2006

» adindri
Selasa Pahing
4 Juli 2006

» Je Malakian
Selasa Pahing
4 Juli 2006

» A.Azis
Jum'at Pon
30 Juni 2006

» zorro
Kamis Pahing
29 Juni 2006


Halaman Bukutamu
Lain-lain
User online: 6
User login: 0

user/passwd: bpuser

Status Y!M
Saya sedang Offline. Silakan gunakan menu Kontak atau tinggalkan pesan di Yahoo! Messenger pada Id: aryo_sanjaya
© 2005-2024 BengkelProgram.com