Monday, August 30, 2010
Hasil Pendataan Tenaga Honorer Tahun 2010 Pemerintah Kabupaten Ngawi
Tuesday, August 24, 2010
Teknik dasar menghubungkan VB6 dengan ODBC
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Set con = New ADODB.Connection
Set rs = New ADODB.Recordset
'DSN, UID, dan PWD diisi menyesuaikan dengan konfigurasi ODBC anda
con.ConnectionString = "DSN=kuliah;UID=root;PWD=cahjoesss"
con.Open
rs.Open "Select * from inbox ", con, adOpenDynamic, adLockOptimistic
rs.Close
Saturday, August 21, 2010
ketaketik seru...
hmm, coba anda buka http://didats.simaya.net.id/ketaketik/
mini game buatan anak negeri ini memberikan hiburan segar ketika kepenatan sedang melanda.
saya pernah mencoba memainkan game ini, ternyata bisa bikin kita penasaran dan geregetan untuk mencoba dan mencoba lagi.
dan satu lagi, programmernya lagi butuh sponsor, mungkin anda tertarik...???
Mengirim Long SMS dengan Gammu
gammu menyediakan file gammu-smsd-inject.exe untuk mengirimkan sms panjang (lebih dari 160 karakter). sangat praktis digunakan. akan tetapi, beberapak kali saya coba hasilnya kurang memuaskan, karena butuh waktu yang lama untuk mengirimkan sms dengan cara ini. entah ini karena versi gammu yang saya gunakan (1.28.0) belum stabil atau memang seperti itu adanya.
setelah beberapa kali mengunjungi situs http://cihar.com/gammu/ dan http://en.wikipedia.org/wiki/Concatenated_SMS akhirnya saya mendapat petunjuk untuk mengirimkan sms panjang dengan metode memasukkan record ke dalam database gammu yang jauh lebih cepat.
caranya adalah memecah sms tersebut ke dalam variable array dan menginsert setiap value array tersebut ke dalam tabel inbox.
berikut script yang saya copy dari http://cihar.com/gammu/ :
INSERT INTO outbox (
CreatorID,
MultiPart,
DestinationNumber,
UDH,
TextDecoded,
Coding
) VALUES (
'Gammu 1.23.91',
'true',
'123465',
'050003D30201',
'Mqukqirip ya konej eqniu rejropocejor hugiygydewl tfej nrupxujob
xuemymiyliralj.
Te tvyjuh qaxumur ibewfoiws zuucoz tdygu gelum L ejqigqesykl kya jdytbez',
'Default_No_Compression'
)
INSERT INTO outbox_multipart (
SequencePosition,
UDH,
Class,
TextDecoded,
ID,
Coding
) VALUES (
2,
'050003D30202',
'u xewz qisubevumxyzk ufuylehyzc. Nse xobq dfolizygqysj t
bvowsyhyhyemim ovutpapeaempye giuuwbib.',
,
'Default_No_Compression'
)
yang perlu kita perhatikan adalah field 'multipart' dan 'UDH'. kita perlu menyisipkan nilai 'true' ke dalam field 'multipart'. UDH (User Data Header) adalah berupa bilangan hexa yang menyimpan informasi mengenai pesan yang dikirim (panjang pesan, urutan pesan)
dari situs http://cihar.com/gammu/ didapat informasi bahwa UDH diawali oleh '050003', nilai dari 'D3' bisa diganti dengan bebas. kemudian 4 digit di belakang menyimpan informasi mengenai
banyaknya jumlah sms dan urutan sms.
dari contoh di atas, 4 digit terakhir UDH tertulis 02xx. 02 adalah jumlah panjang sms yang dikirim, kemudian nilai
xx adalah urutan dari sms tersebut.
jadi kita bisa mengartikan kode '050003D30202' di atas sebagai pesan lanjutan kedua dari
'050003D30201'
lalu, bagaimana kita mengimplementasikan ke dalam VB 6?
saya ingin mengirimkan pesan 'mengirimkan sms panjang dengan gammu, butuh beberapa penyesuaian agar
bisa terkirim dengan sempurna. berikut ini script sederhana untuk melakukannya. pecah sms masing-masing
sepanjang 153 karakter kemudian insert ke database gammu'
semisal sms tersebut saya simpan dalam variabel pesan.
hitung jumlah panjang pesan dengan cara :
panjang_isi = len(pesan)
If panjang_isi > 160 Then
banyak_sms = (panjang_isi \ 153) + 1
Else
banyak_sms = 1
End If
cari nilai ID pada tabel sentitems gammu dengan script (sesuaikan dengan kondisi koneksi anda) :
rs.Open "select max(ID) as NumID from sentitems", con, adOpenDynamic, adLockOptimistic
NumID = rs.Fields("NumID") + 1
rs.Close
generate kode UDH dengan script :
ReDim ArraySMS(banyak_sms)
For i = 1 To banyak_sms
If i = 1 Then
ArraySMS(i - 1) = Left(panjang_isi_text, 153)
isi_UDH = "050003D3" & Format(banyak_sms, "00") & Format(i, "00")
rs.Open "select * from outbox", con, adOpenDynamic, adLockOptimistic
rs.AddNew
rs!DestinationNumber = no_tujuan
rs!TextDecoded = ArraySMS(i - 1)
rs!UDH = isi_UDH
rs!ID = NumID
rs!MultiPart = "true"
rs!CreatorID = "Cahjoe"
rs.Update
rs.Close
Else
ArraySMS(i - 1) = Mid(panjang_isi_text, ((i - 1) * 153) + 1, 153)
isi_UDH = "050003D3" & Format(banyak_sms, "00") & Format(i, "00")
rs.Open "select * from outbox_multipart", con, adOpenDynamic, adLockOptimistic
rs.AddNew
rs!UDH = isi_UDH
rs!TextDecoded = ArraySMS(i - 1)
rs!ID = NumID
rs!SequencePosition = i
rs.Update
rs.Close
End If
Next
selamat mencoba...
:)
Monday, August 16, 2010
Premier League Tayang di Global & TPI, horeee...!!!
alhamdulillah, setelah menunggu kepastian sampai detik2 akhir laga perdana premiere league, akhirnya bisa juga nonton siaran premiere league dari tv swasta tanpa bayar... hehehe...