Silakan tunggu sedang proses
Kamis Kliwon 29 Juni 2017 20:35
learn make rich
share make it perfect
Ayat Suci
Apakah dia mempunyai pengetahuan tentang yang ghaib sehingga dia, mengetahui (apa yang dikatakan)?
(QS. AN-NAJM:35)

 otomatis refresh

Javascript ayat
Para Rekan
Lain-lain
User online: 69
User login: 0
Statistik BengkelProgram.com
user/passwd: bpuser

Mengirim SMS dari PC

Penulis
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 2 3 4 ... 47 >

Aryo Sanjaya

Rabu Pahing, 21 Desember 2005

Hehehe... maksud hati sih pengin semuanya running well :))

Kalo misalnya ada error, mungkin ada perbedaan 'kondisi'.
Kalo boleh, gimana kalo error-nya dipaste di sini, biar kita sama-sama belajar, ok?

Trubus jati .S

Senin Pahing, 26 Desember 2005

Saya Seorang mahasiswa yang saat ini sedang mengerjakan Tugas akhir tentang SMS Gateway untuk Informasi Nilai Mahasiswa. saya mau menanyakan pada saudara gimana cara membikin program kirim sms secara otomatis tidak Secara manual soalnya saya menggunakan databases MySql untuk menyimpan datanya Nilai Mahasiswa.terimakasih sebelumnya dan saya tunggu jawaban dari saudara.

Aryo Sanjaya

Senin Pahing, 26 Desember 2005

Halo Trubus, Anda belum menyebutkan aplikasi yang akan dipakai, juga HP-nya. Kalo misalnya anda menggunakan pemrograman Visual Basic, dengan handphone Nokia, anda bisa menggunakan komponen FBUS. Kunjungi situsnya: http://www.softwarecave.com/ Selain gratis, komponen ini juga handal. Berikutnya aplikasi anda juga mesti bisa membaca database MySQL. Gunakan MyODBC untuk koneksi aplikasi anda. Saya rasa itu cara termudah. Kalo mau lebih sulit, komponen untuk terima/kirim SMS anda bisa bikin sendiri, dengan unit yang kita bahas di sini. Keuntungannya banyak, misalnya bisa beragam handphone. Tapi juga lebih sulit tentunya :) Selamat berjuang!

Trubus

Selasa Pon, 27 Desember 2005

saya sudah mencoba program saudara yang Membaca SMS dari PC dan ternyata pada bagian program untuk konek dari HP ke PC itu programnya ada yang salah yang tulisanya sepeti ini Undeclared identifier: 'SecondsBetween' padahal saya sudah memakai delphi 7 sesuai saran Anda. trus apa yang harus saya rubah pada program yang saudara buat? Sebelumnya Terimakasih atas jawabannya dan saya tunggu jawabannya.

Aryo Sanjaya

Selasa Pon, 27 Desember 2005

Halo Trubus, Saya pikir, kalo unit saya digunakan apa adanya, tidak ada masalah. Error seperti itu bisa disebabkan karena unit DateUtils belum di-uses. Sudah dipastikan dalam daftar Uses terdapat unit DateUtils? Atau mungkin juga karena Delphi 7 tidak support, atau mungkin berganti nama unit? (kebiasaane Borland). Terus terang saya belum pernah mencobanya di Delphi 7, karena di Delphi 5 belum ada, lalu di Delphi 6 tiba-tiba ada, maka saya kira di Delphi 7 juga ada. Ada rekan-rekan yang tau tentang hal ini? Kalo memang tidak dapat menggunakan fungsi SecondsBetween, anda dapat merubah batasan loopingnya dengan variabel counter. Misalnya pake variabel i, lalu selama looping koneksi, variabel tersebut selalu diincrement, dan sampai batas waktu tertentu, misalnya i > 100, maka looping dihentikan, dan pembacaan/koneksi dianggap gagal. Bagaimana?

Aryo Sanjaya

Selasa Pon, 27 Desember 2005

Nambahi dikit: Kalo pake variabel counter, maka speed komputer yang berbeda akan menyebabkan batasan yang berbeda. Kalo memang tidak dapat menggunakan fungsi SecondsBetween, bisa digantikan dengan fungsi GetDate. Jadi kita membandingkan sendiri jarak detik, seperti yang dilakukan oleh fungsi SecondsBetween.

Roni

Kamis Kliwon, 29 Desember 2005

U/ Trubus
Kalo kesulitan pake fungsi secondsbetween terus kelur peringatan Undeclared identifier: 'SecondsBetween' coba cara mudah ini:
Hapus line perintah 'SecondsBetween' trus ketikkan lagi, mudah mudahan bisa, saya rasa itulah ketidaksempurnaan buatan manusia. Semoga berhasil

Aryo Sanjaya

Jum'at Legi, 30 Desember 2005

Wew, aku baru tau trik ini :D Pak Trubus, silakan dicoba, siapa tau bisa membantu kan? Mas Roni, sering riset yah? sampe nemu trik-trik aneh gitu :)) Anyway, mungkin penjelasan untuk trik itu adalah, Delphi menggunakan unit yang sudah dicompile, yang mengandung kesalahan. Meski source-nya sudah dibetulkan. Dengan menghapus satu baris lalu mengetikkan ulang, Delphi akan melakukan kompilasi ulang unit tersebut, sehingga menjadi uptodate. Cara lain, adalah dengan melakukan rebuild keseluruhan project. Tapi itu cuma tebakan saya saja :) Ada penjelasan lainnya?

sri

Jum'at Pon, 6 Januari 2006

untuk rekans yg mo buat feature tambahan blink sms (berkedip):
buat option
skema := '00'; diubah ke skema := '18';
tmp := Text2PDU(isi); diubah ke tmp := Convert2BlinkText(isi);
sedangkan function Convert2BlinkText(isi) sbb:
function Convert2BlinkText(TextMessage : string) : string;
var
linI : integer;
linData : integer;
linLength : integer;
lstLength : string;
lstTemp : string;
begin
for linI := 1 to length(TextMessage) do
begin
linData := Ord(TextMessage[linI]);
lstTemp := lstTemp + IntToHex(linData,4);
end;
lstTemp := '0001' + lstTemp;
linLength := Round(Length(lstTemp)/2);
lstLength := IntToHex(linLength,2);
Result := lstLength + lstTemp;
end;

tambahan : ttg error di delphi 7 Undeclared identifier: 'SecondsBetween' tambahkan dlm daftar Uses DateUtils.

semoga bermanfaat.

Aryo Sanjaya

Sabtu Wage, 7 Januari 2006

Wew, makasih mbak (/mas?) Sri, dapet ilmu baru nih :) Pasti suatu saat nanti bermanfaat. Sekarang aku lebih banyak konsen di pemrograman web, jadi dah lama ga pake Desktop programming. Nunggu ada proyek lagi :))


Halaman Komentar:   < 1 2 3 4 ... 47 >

Mengisi Komentar





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

[code]
(kode program)
[/code]



Daftar Artikel Delphi

» Mendesain Aplikasi Basis Data (57)
Senin Pon, 31 Maret 2008

Komponen Delphi berdasarkan mekanisme akses datanya: . Komponen BDE(borland database engina) Basis data yang di akses adalah: database paradox, dan dbase table. .Komponen ADO(activex data object) Basis data yang di akses:Ms Access,msSql serve

» Continues Form (191)
Selasa Wage, 13 November 2007

Continues Form

» Continues Form (42)
Selasa Wage, 13 November 2007

nCaed4 <a href="http://bkzdacqbfubh.com/">bkzdacqbfubh</a>, [url=http://khscellhtrft.com/]khscellhtrft[/url], [link=http://pvlsalgnhtlb.com/]pvlsalgnhtlb[/link], http://attadkftpvpn.com/

» Barcode Reader (289)
Sabtu Pahing, 20 Januari 2007

Menggunakan perangkat barcoder reader pada aplikasi kita sangatlah mudah

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

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



Halaman:    1  2  >  

Account Data
Anda belum login.






 

Login hanya diperlukan bagi kontributor untuk mengisi artikel/berita dan mengupload file/gambar
Status Y!M
Saya sedang Offline. Silakan gunakan menu Kontak atau tinggalkan pesan di Yahoo! Messenger pada Id: aryo_sanjaya
Artikel Rame
Aplikasi Handphone (675)
Senin Pon, 20 Februari 2006

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

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

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

Barcode Reader (163)
Sabtu Pahing, 20 Januari 2007

Bukutamu
» addin
Kamis Wage
30 Juli 2009

» shen
Senin Legi
27 Juli 2009

» iyha
Rabu Wage
15 Juli 2009

» wawan
Rabu Kliwon
1 Juli 2009

» fuad hasan
Minggu Kliwon
21 Juni 2009


Halaman Bukutamu
Daftar Fungsi
pasaran
Mencari nama hari dan nama pasaran
pdu2sms
Konversi dari PDU ke Teks SMS
bacarss
Membaca RSS dari beberapa situs
Jejak Halaman
© 2005-2017 BengkelProgram.com