Anda di halaman 1dari 22

By: Muhammad Iqbal

Pengantar mukaa n
Komput er dan Handphon e
atau GSM/ CDMA Modem
Email: barcode_bima@yahoo.co.id website: http://www.creative-instrument.com
Pendahuluan
Handphone (HP) saat ini memang bukan barang yang aneh untuk
masyarakat Indonesia. Bahkan tak sedikit yang memiliki lebih dari satu . Di
Indonesia saat ini tercatat tidak kurang dari 16 juta orang menjadi pelanggan
telepon genggam. e depan! seiring dengan perkembangan teknologi! HP akan
semakin cerdas dan melayani kebutuhan manusia. omunikasi dengan
perangkat nirkabel akan lebih dominan! baik untuk bisnis! ataupun kegiatan
sehari"hari. Industri handphone! bergerak sangat cepat! setara dengan
melesatnya kecepatan suaranya. ini semakin banyak teknologi pendukung
yang terintegrasi dengan produk HP! seperti radio #$! kamera digital dan
pemutar $P%.
&ambar. Berbagai $acam HP
&ambar. Berbagai $acam $odem &'$()D$*
'elain HP! sebenarnya ada satu lagi peralatan lain yang biasanya
digunakan untuk peralatan komunikasi yang hampir sama dengan HP! yaitu
$odem &'$()D$*. +ika HP digunakan sebagai alat komunikasi mobile!
modem &'$()D$* lebih dikhususkan bukan untuk mobile tetapi didesain
Pengantarmukaan Komputer dan Handphone
By: Muhammad Iqbal
untuk sebuah ser,er layanan berbasis komunikasi &'$()D$*. -alaupun
demikian pada dasarnya kedua peralatan ini didesain dengan kemampuan sama
yaitu melakukan komunikasi menggunakan &'$()D$*. Perbedaanya
mungkin modem &'$()D$* lebih dikhususkan untuk melakukan
pengantarmukaan dengan peralatan lain (biasanya computer) dibandingkan
dengan HP sehingga dalam hal komunikasi dengan peralatan lain modem
&'$()D$* memiliki .itur yang lebih dalam hal kompatibilitas dan
kemampuan pengantarmukaan dibandingkan dengan HP.
'emakin lama ketergantungan manusia terhadap HP semakin besar. HP
telah menjadi gaya hidup baru! layanan ser,ice terhadap perangkat"perangkat ini
telah menjadi sumber usaha baru bagi para de,eloper perangkat lunak! oleh
karena itu penguasaan terhadap pengantarmukaan HP ini menjadi keahlian baru
yang sangat dibutuhkan. *da banyak sekali layanan yang disediakan misalnya
'$' )entre! )all )entre! Deli,eri 'er,ice '$'! Pengisian pulsa elektronik dan
lain"lain.
AT-C!!A"#
/ntuk melakukan komunikasi dengan HP atau $odem! ada banyak
sekali cara yang bisa dilakukan tetapi yang paling terkenal dan disukai oleh para
programmer dan de,eloper mungkin menggunakan *0")1$$*2D yaitu suatu
standar bahasa komunikasi yang digunakan untuk komunikasi dengan modem
termasuk HP.
Berikut beberapa *0 )1$$*2D yang sering dan umum digunakan
dalam pengantarmukaan HP atau $odem &'$()D$* (keterangan lebih
lengkap sebaiknya anda melihat manual book dari produk yang anda gunakan
(buku da.tar perintah *0 )1$$*2D selalu disertakan pada saat membeli) bila
anda menggunakan modem dan jika anada menggunakan HP silahkan cari dan
do3nload di internet untuk setiap merknya).
Berikut adalah beberapa da.tar *0 )ommand yang sering digunakan
dan ada pada beberapa perangkat HP atau $odem &'$ ( )D$*.
Call Commands atau perintah peman$$ilan
ATA Answer Command
ATD Dial Command
ATH Hang Up Call
ATL Monitor Speaker Loudness
ATM Monitor Speaker Mode
ATO Go On-Line
ATP Set Pulse Dial as Default
ATT Set Tone Dial as Default
ATCSTA Sele!t T"pe of Address
Pengantarmukaan Komputer dan Handphone
By: Muhammad Iqbal
ATC#C Cellular #esult Codes
#ata Card Control Commands
AT$ $dentifi!ation
ATS Sele!t an S-register
AT% #e!all Stored Profile
AT&' #estore 'a!tor" Settings
AT&( (iew A!ti)e Configuration
AT&* Store Parameters in Gi)en Profile
AT&+ Sele!t Set as s Powerup Option
ATCLC, 'a!ilit" Lo!k Command
ATCOLP Conne!ted Line $dentifi!ation Presentation
ATGCAP #e-uest Complete Capa.ilities List
ATGM$ #e-uest Manufa!turer $dentifi!ation
ATGMM #e-uest Model $dentifi!ation
ATGM# #e-uest #e)ision $dentifi!ation
ATGS/ #e-uest Produ!t Serial /um.er $dentifi!ation
Phone Control Commands
ATC0C 0atter" C1arge
ATCGM$ #e-uest Manufa!turer $dentifi!ation
ATCGMM #e-uest Model $dentifi!ation
ATCGM# #e-uest #e)ision $dentifi!ation
ATCGS/ #e-uest Produ!t Serial /um.er $dentifi!ation
ATCM22 #eport Mo.ile 2-uipment 2rror
ATCPAS P1one A!ti)it" Status
ATCP0' 'ind P1one 0ook 2ntries
ATCP0# #ead P1one 0ook 2ntr"
ATCP0S Sele!t P1one 0ook Memor" Storage
ATCP0* *rite P1one 0ook 2ntr"
ATCSCS Sele!t T2 C1ara!ter Set
ATCS3 Signal 3ualit"
Computer #ata Card %nter&ace Commands
AT2 Command 2!1o
AT3 #esult Code Suppression
AT( Define #esponse 'ormat
AT4 #esponse #ange Sele!tion
AT&C Define DCD Usage
AT&D Define DT# Usage
AT&, Sele!t 'low Control
AT&3 Define Communi!ations Mode Option
AT&S Define DS# Option
AT$C' DT2-DC2 C1ara!ter 'raming
AT$'C DT2-DC2 Lo!al 'low Control
AT$P# 'i5ed DT2 #ate
Pengantarmukaan Komputer dan Handphone
By: Muhammad Iqbal
'ervice
ATCL$P Calling Line $dentifi!ation Presentation
ATC# Ser)i!e #eporting Control
ATD# Data Compression #eporting
AT$L## DT2-DC2 Lo!al #ate #eporting
"etwor( Communication Parameter Commands
AT0 Communi!ations Standard Option
ATC0ST Sele!t 0earer Ser)i!e T"pe
ATC22# 25tended 2rror #eport
ATC#LP #adio Link Proto!ol
ATDS Data Compression
!iscellaneous Commands
A6 #e-25e!ute Command Line
AT7 Command Help
AT8C Start SMS $nterpreter
AT8T 2nter SMS 0lo!k Mode Proto!ol
AT8( A!ti)ate (9:;.is Mode
AT8/O,$AT2ST Test Command
ATC2SP 2nter SMS 0lo!k Mode Proto!ol
'!' Commands '!' Te)t !ode
ATCSMS Sele!t Message Ser)i!e
ATCPMS Preferred Message Storage
ATCMG' Message 'ormat
ATCSCA Ser)i!e Centre Address
ATCSMP Set Te5t Mode Parameters
ATCSDH S1ow Te5t Mode Parameters
ATCSC0 Sele!t Cell 0road!ast Message T"pes
ATCSAS Sa)e Settings
ATC#2S #estore Settings
ATC/M$ /ew Message $ndi!ations to T2
ATCMGL List Messages
ATCMG# #ead Message
ATCMGS Send Message
ATCMSS Send Message from Storage
ATCMG* *rite Message to Memor"
ATCMGD Delete Message
'!' P#* !ode
ATCMGL List Messages
ATCMG# #ead Message
ATCMGS Send Message
ATCMG* *rite Message to Memor"
Pengantarmukaan Komputer dan Handphone
By: Muhammad Iqbal
embali lagi penulis mengingatkan bah3a sangat penting untuk anda
mempunyai dokumen ( $anual *0 )1$$*2D dari perangkat yang anda
gunakan dan lihatlah cocokan dengan da.tar diatas mana yang support dan mana
yang tidak ada pada perangkat yang anda gunakan.
+one(si Peran$(at (e +omputer
*da banyak alternati,e yang dapat digunakan untuk menghubungkan
computer kita dengan perangkat HP atau $odem &'$! beberapa alternati,e
tersebut yaitu4
$enggunakan kabel data. Dibutuhkan kabel data spesi.ik untuk setiap
merk HP. 2okia mempunyai bentuk sendiri! $otorolla dan siemens juga
berbeda. abel ini akan menancap di port )1$! atau ada juga yang di
/'B port.
&ambar. Beberapa abel Data HP
/ntuk modem &'$ biasanya menggunakan port serial atau langsung
ditancapkan di port /'B! kabel data ini selalu akan diikutsertakan pada
saat kita membeli.
$enggunakan IrD* (In.rared) atau Bluetooth. Pada saat kita menginstal
dri,er dari perangkat tersebut akan tercipta port baying yang kemudian
digunakan sebagi port koneksi! tentunya HP ( $odem yang kita gunakan
juga mempunyai perangkat yang sama.
,utin Pentin$ Pemro$raman AT C!!A"# men$$una(an #elphi.
!ela(u(an +one(si.
.unction 0./tama.&oonek5
begin
onek 46 .alse5
I. 2ot ./tama.7)omm1.1pened then
./tama.7)omm1.1penDe,ice5
Pengantarmukaan Komputer dan Handphone
By: Muhammad Iqbal
i. 7)omm1.'end'tring(8*0918:1%) and (7)omm1.-ait#or'tring(;818<! =>>>) ?@ "1) then
onek 46 0rue5

Aesult 46 onek5
end5
!endapat(an in&o Peralatan yan$ di$una(an.
.unction 0./tama.'end&etData5
,ar
3aktu4 0Date0ime5
begin
Aeady'tate 46 #alse5
Batas'tr 46 Batas5
Bu..er 46 885
3aktu 46 no35
7)omm1.'end'tring(0eks)5
3hile (2ot Aeady'tate) and ('econdsBet3een(3aktu! 2o3) ? 1>)
do *pplication.Process$essages5
Aesult 46 Bu..er5
end5
procedure 0./tama.getIn.o5
,ar
c!
s4 string5
p! n!
i4 integer5
l4 0BistItem5
begin
Bist.0eCt 46 bu..er5
s 46 Bist.'trings;1<5
i. Pos(8*0D)&$I8! Bu..er) @ > then begin
c 46 copy(Bu..er! pos(8*0D)&$I8! Bu..er) D =! length(Bu..er))5
Item.0eCt 46 c5
l 46 B,Phone.Items.*dd5
l.)aption 46 8$erk HP85
l.'ubItems.*dd(Item.'trings;=<)5
end5
i. Pos(8*0D&$$8! Bu..er) @ > then begin
c 46 copy(Bu..er! pos(8*0D&$$8! Bu..er) D =! length(Bu..er))5
Item.0eCt 46 c5
l 46 B,Phone.Items.*dd5
l.)aption 46 8$odem85
l.'ubItems.*dd(Item.'trings;=<)5
Pengantarmukaan Komputer dan Handphone
By: Muhammad Iqbal
end5
i. Pos(8*0D)&'28! Bu..er) @ > then begin
c 46 copy(Bu..er! pos(8*0D)&'28! Bu..er) D =! length(Bu..er))5
Item.0eCt 46 c5
l 46 B,Phone.Items.*dd5
l.)aption 46 8I $ 9 I85
l.'ubItems.*dd(Item.'trings;=<)5
end5
i. Pos(8D)1P'48! Bu..er) @ > then begin
c 46 copy(Bu..er! pos(8D)1P'48! Bu..er) D E! length(Bu..er))5
c 46 *nsiAeplace'tr(c! 8!8! :1%)5
Item.0eCt 46 c5
l 46 B,Phone.Items.*dd5
l.)aption 46 82et3ork 1perator85
l.'ubItems.*dd(0rim*ll(Item.'trings;=<))5
end5
i. Pos(8D)')*48! Bu..er) @ > then begin
c 46 copy(Bu..er! pos(8D)')*48! Bu..er) D E! length(Bu..er))5
c 46 *nsiAeplace'tr(c! 8!8! :1%)5
Item.0eCt 46 c5
l 46 B,Phone.Items.*dd5
l.)aption 46 8'er,ice )enter85
'$') 46 0rim*ll(Item.'trings;><)5
l.'ubItems.*dd('$'))5
end5
i. Pos(8D)I2D48! Bu..er) @ > then begin
c 46 copy(Bu..er! pos(8D)I2D48! Bu..er) D E! length(Bu..er))5
i 46 >5
p 46 pos(8(F8! c)5
3hile p @ > do begin
n 46 pos(8F!8! c)5
s 46 copy(c! p D =! n " p " =)5
PhoneIn.o;i< 46 s5
Inc(i)5
Delete(c! p! n D =)5
p 46 pos(8(F8! c)5
end5
+umlahPhoneIn.o 46 i5
end5
end5
+irim '!'
.unction 0./tama.irim'$'(0ujuan! Isi4 string)4 boolean5
,ar
PD/!
udhi!
smstotal!
smsre.!
Pengantarmukaan Komputer dan Handphone
By: Muhammad Iqbal
tempisi!
s4 string5
sms4 t'$'5
i! p4 integer5
begin
i. not konek then begin
Aesult 46 .alse5
eCit5
end5
sms 46 0'$'.)reate5
sms.2umber 46 tujuan5
sms.AeGuestAeply 46 cbAeply.)hecked5
sms.#lash'$' 46 cb#lash.)hecked5
sms.'tatusAeGuest 46 cbAeport.)hecked5
sms.dcs 46 "15
Aesult 46 true5
i. length(isi) ?6 16> then begin
sms.0eCt 46 isi5
sms./DHI 46 885
pdu 46 sms.PD/5
s 46 'end&etData(8*0D)$&'68 D inttostr(sms.tplength) D :1%! 8@8)5
s 46 'end&etData(PD/ D :H1*! s1)5
Aesult 46 pos(s1! s) @ >5
end
else begin
p 46 1I%5
smstotal 46 Int0oHeC((length(isi) di, p) D 1! =)5
smsAe. 46 &et2eCtBong'$'Ae..erence5
udhi 46 8>I>>>%8 D smsAe. D smstotal5
.or i 46 1 to 'tr0oInt(8H8 D smstotal) do begin
tempisi 46 )opy(isi! 1! p)5
Delete(isi! 1! p)5
sms.0eCt 46 tempisi5
sms./DHI 46 udhi D Int0oHeC(i! =)5
pdu 46 sms.PD/5
s 46 'end&etData(8*0D)$&'68 D inttostr(sms.tplength) D :1%! 8@8)5
s 46 'end&etData(PD/ D :H1*! s1)5
Aesult 46 pos(s1! s) @ >5
end5
end5
sms.#ree5
end5
Ce( '!'.
procedure 0./tama.)ek'$'5
Pengantarmukaan Komputer dan Handphone
By: Muhammad Iqbal
,ar
nomer!
tgl!
s 4 string5
i!j 4 integer5
a!
l4 0BistItem5
sms 4 t'$'5
begin
i. not onek then eCit5
s 46 send&etData(8*0D)'$'6>8:1%! s1)5
i. Pos(s1! s) 6 > then begin
'ho3$essage(8$edia tidak mendukung .asilitas '$'8)5
eCit5
end5
s 46 send&etData(8*0D)P$'6F8 D ar'umber;cb'umber.ItemIndeC< D8F8:1%! s1)5
i. Pos(s1! s) 6 > then begin
'ho3$essage(80idak dapat memilih media 8 D cb'umber.0eCt)5
eCit5
end5
s 46 send&etData(8*0D)$&#6>8:1%! s1)5
i. Pos(s1! s) 6 > then begin
'ho3$essage(80idak dapat memilih .ormat PD/8)5
eCit5
end5
Bist.)lear5
sms 46 0'$'.)reate5
.or j 46 % do3nto > do begin
Bist.0eCt 46 'end&etData(8*0D)$&B68 D Int0o'tr(j) D:1%! s1)5
i 46 >5
3hile i ? Bist.)ount do begin
s 46 Bist.'trings;i<5
i. copy(s! 1! E) 6 8D)$&B4 8 then begin
nomer 46 copy(s! J! pos(8!8! s) " J)5
inc(i)5
s 46 Bist.'trings;i<5
sms.PD/ 46 s5
l 46 Bist'$'.Items.*dd5
l.)aption 46 sms.number5
i. sms.0ime'tamp @ > then tgl 46 Date0ime0o'tr(sms.0ime'tamp)
else tgl 46 8"85
l.'ubItems.*dd(tgl)5
l.'ubItems.*dd(sms.0eCt)5
l.'ubItems.*dd(8Phone8)5
l.'ubItems.*dd(ar+enis'$';j<)5
l.'ubItems.*dd(nomer)5 (( indeC di HP
Pengantarmukaan Komputer dan Handphone
By: Muhammad Iqbal
l.'ubItems.*dd(nomer)5 (( id '$'
a 46 l,'$'.Items.*dd5
a.)aption 46 rubahe2ama(l.)aption)5
a.'ubItems 46 l.'ubItems5
end5
inc(i)5
end5
end5
sms.#ree5
end5
-ormat Proto(ol #ata *nit .P#*/
Hal pertama yang saya bahas adalah! bah3a setiap pengiriman '$'!
baik dari HP menuju operator! atau sebaliknya! selalu menggunakan .ormat
PD/ (Protocol Data Unit)! yaitu paket data dimana pesan '$' dikemas!
bersama in.ormasi tanggal! nomor tujuan! nomor pengirim! nomor operator!
jenis skema '$'! masa ,alid '$'! dan beberapa hal lain (tergantung jenis
paketnya).Berikut ini adalah contoh PD/ yang diterima oleh HP (2e3 '$'
atau InboC)4
07 91 26!00000"0 0# 0$ 91 26!%616#900 00 00 06020
%11%%1!0 0# $!%0"B0&
Dengan keterangan sebagai berikut4
(tet / #i$it
0e)a
+eteran$an
>E
Panjang atau jumlah pasangan digit dari nomor '$')
(ser,ice number) yang digunakan! dalam hal ini adalah E
pasangan (1K digit berikutnya)
L1
+enis nomor '$'). *ngka L1 menandakan .ormat nomor
internasional (misal D6=J1CCC). /ntuk >J1CCC
menggunakan angka J1.
=6IJ>I>>>>#>
2omor '$') yang digunakan. arena jumlah digit
nomor '$' adalah ganjil! maka digit paling belakang
dipasangkan dengan huru. #. alau diterjemahkan! nomor
'$') yang digunakan adalah D6=JII>>>>>> (I$%)
>K 1ktet pertama untuk pesan '$' yang diterima
>B Panjang digit dari nomor pengirim (>) heC 6 1= desimal)
L1 +enis nomor pengirim (sama dengan jenis nomor '$'))
=6IJ%616KL>>
2omor pengirim '$'! yang jika diterjemahkan adalah
D6=JI6%61LK>>
Pengantarmukaan Komputer dan Handphone
By: Muhammad Iqbal
>> Pengenal protokol! dalam hal ini adalah >
>> 'kema pengkodean '$'! juga bernilai >
I>6>=> %11%%1
J>
-aktu pengiriman! yang berarti >I">6">= (= +uni =>>I)!
dan jam 1%4%141%. 'edangkan J> adalah 0imeMone yang
digunakan.
>K
Panjang dari pesan '$'! dalam hal ini adalah K huru.
(dalam mode E bit).
)J%>#B>D
Pesan '$' dalam mode E bit. +ika diterjemahkan
kedalam J bit! lalu dirubah ke *')II! maka didapat pesan
8Halo8
Nah! itu adalah sekilas tentang PD/! yang sering dihadapi untuk
berurusan dengan '$'. ecuali jika HP yang anda gunakan mendukung
*0D)$&#61! yang berarti kita dapat berkomunikasi dengan HP dalam $ode
0eksO seperti HP saya! '9 061> 4")
alau menggunakan mode teks! anda tidak berurusan dengan PD/!
meski antara HP dengan operator masih menggunakan PD/.
Pro$rammin$
etika pertama kali masuk delphi! ada 1 komponen yang mesti kita
install terlebih dahulu! yaitu $'")omm! yang digunakan untuk berkomunikasi
dengan Port )1$. )ara instalasi adalah sebagai berikut4
Dari ID9 Delphi! pada menu )omponent! pilih menu Import *cti,e"7
)ontrol
Pada pilihan obyek! silakan pilih $')omm77.ocC! lalu tekan tombol
Install
*kan muncul beberapa dialog berikutnya! pilih saja yes atau ok 4")
'etelah *cti,e"7 terinstall! pada 0ab Palette *cti,e"7! akan muncul
sebuah tombol dengan gambar telepon. lik dan letakkan komponen tersebut
pada #orm! maka akan tercipta sebuah obyek dengan nama $')omm1.
un't uK'r'm(
'nter)a*e
pro*edure K'r'm+M+,-m-*. /u0uan. I-': -tr'ng1(
*on-t
-2K 3 42K4(
-56626 3 4566264(
Pro78-m-* 3462!1!##0094(
+'mpat'-m-* 3462!11000004(
Mentar'-m-* 3462!1612#4(
Pengantarmukaan Komputer dan Handphone
By: Muhammad Iqbal
IM%-m-* 3462!0000004(
9ar
lk'r'm : 'nteger(
'mplementat'on
:-e- u/er'ma+M+(
)un*t'on te;t2P&:,te;t:-tr'ng1:-tr'ng(
9ar P&: : -tr'ng(
ge-er.pan0ang.tmp.tmp2.tmp%.n:byte(
beg'n
P&: :344(
pan0ang :3length,te;t1(
P&: :3P&:<'nttohe;,pan0ang.21(
ge-er :30(
)or n :31 to pan0ang=1 do
beg'n
tmp2 :3ord,te;t>n?1(
') ge-er@A0 then tmp2 :3tmp2 -hr ge-er(
tmp :3ord,te;t>n<1?1(
') ge-er37 then
beg'n
ge-er :30(
end el-e
beg'n
tmp% :3!=,ge-er<11(
') tmp%@A0 then tmp:3tmp -hl tmp%(
P&: :3P&:<'nttohe;,,tmp or tmp21.21(
'n*,ge-er1(
end(
end(
') ge-er@7 then
beg'n
tmp2:3ord,te;t>pan0ang?1(
'),ge-er@A01then tmp2:3tmp2 -hr ge-er(
P&::3P&:<'nttohe;,tmp2.21(
end(
re-ult:3P&:(
end(
)un*t'on
$on9ert/e;t,-m-*.t'pe.re).tu0uan.bentuk.-kema.9al'd'ta-.'-':-tr'ng1:-tr'ng(
9ar
Pengantarmukaan Komputer dan Handphone
By: Muhammad Iqbal
P&:.tmp :-tr'ng(
p.
' :byte(
beg'n
P&: :3 44(
I) length,-m-*130 then beg'n re-ult :344( e;'t( end(
') length,t'pe130 then t'pe :34114(
') length,re)130 then re) :34004(
') length,bentuk130 then bentuk :34004(
') length,-kema130 then -kema :34004(
') length,9al'd'ta-130 then 9al'd'ta- :34""4(
I) length,'-'130 then beg'n re-ult :344( e;'t( end(
') -m-*>1?3404 then tmp :34!14<-m-* el-e tmp :34914<-m-*(
'),length,tmp1mod 21@A0 then tmp :3tmp<4"4(
p :3 length,tmp1(
P&: :3P&: < 'nttohe;,p d'9 2.21 < tmp>1? < tmp>2?(
)or ':3 2 to length,tmp1d'9 2 do
beg'n
P&: :3P&:<tmp>'B2?(
P&: :3P&:<tmp>,'B21=1?(
end(
P&: :3P&:<t'pe(
P&: :3P&:<re)(
') tu0uan>1?34<4 then tu0uan:3*opy,tu0uan.2.length,tu0uan1=11(
P&: :3P&:<'nttohe;,length,tu0uan1.21(
'),length,tu0uan1mod 21@A0 then tu0uan:3tu0uan<4"4(
') tu0uan>1?3404 then P&: :3P&:<4!14 el-e beg'n
P&: :3P&:<4914(
end(
)or ' :31 to length,tu0uan1d'9 2 do
beg'n
P&: :3P&:<tu0uan>'B2?(
P&: :3P&:<tu0uan>,'B21=1?(
end(
P&: :3P&:<bentuk(
P&: :3P&:<-kema(
P&: :3P&:<9al'd'ta-(
tmp :3 /e;t2P&:,'-'1(
P&: :3P&:<tmp(
' :3 length,tmp1(
lk'r'm :3 ,length,P&:1 = p1 d'9 2(
re-ult :3P&:(
end(
)un*t'on +endCet&ata,tek-: -tr'ng( t2K: -tr'ng1: -tr'ng(
Pengantarmukaan Komputer dan Handphone
By: Muhammad Iqbal
9ar Daktu : /&ate/'me(
bu))er : -tr'ng(
beg'n
Daktu :3 noD(
*ommE2utput :3 tek-(
-leep,001(
bu))er :3 44(
repeat
bu))er :3 bu))er < *ommEInput(
unt'l ,po-,t2K. bu))er1 A 01 or ,po-,-56626. bu))er1 A 01
or ,+e*ond-BetDeen,Daktu.noD1 A 601(
re-ult :3 bu))er(
end(
pro*edure K'r'm+M+(
9ar
P&: :-tr'ng(
beg'n
P&: :3 $on9ert/e;t,IM%-m-*.44.44./u0uan.44.44.44.'-'1(
+endCet&ata,4F/<$MC+34 < 'ntto-tr,lk'r'm1 < G1%. 4A41(
+endCet&ata,P&: < GH1F. -2K1(
end(
beg'n
endE
+omuni(asi
Buat sebuah tombol ()ommand Button) pada #orm! beri caption
8onek8. Balu pada e,ent 1n")lick tombol tersebut! ketik program berikut ini4
pro!edure T'orm<90utton<Cli!k=Sender> TO.?e!t@A
)ar waktu> tDateTimeA
.uffer> stringA
konek> .ooleanA
.egin
if MSComm<9PortOpen t1en
MSComm<9PortOpen >B falseA
MSComm<9CommPort >B <A
66 isi dengan nomor COM
66 "ang ter1u.ung ke HPC
66 misal COM<C isi dengan <
MSComm<9Settings >B D<E:FFC/CGC<DA
66 sesuaikan .audrate
66 dengan HP anda9
66 ke.an"akan support <E:FF
MSComm<9$nputLen >B FA
Pengantarmukaan Komputer dan Handphone
By: Muhammad Iqbal
MSComm<9PortOpen >B trueA
Sleep=GFF@A
waktu >B nowA
repeat
MSComm<9Output >B DAT2<DH<IA
.uffer >B DDA
repeat
.uffer >B .uffer MSComm<9$nputA
until =Pos=DO,DC .uffer@ J F@ or
=Pos=D2##O#DC .uffer@ J F@
or =se!onds.etween=waktuC now@ J <F@A
until =Pos=DO,DC .uffer@ J F@ or
=se!onds.etween=waktuC now@ J <F@A
,onek >B =Pos=DO,DC .uffer@ J F@A
$f ,onek T1en
MessageDlg=DSukses konek ke HPDC
mt$nformationC Km.OkLC F@
else
MessageDlg=DTidak dapat konek ke HPDC
mt2rrorC Km.OkLC F@A
endA
+alankan program! semoga tidak error. Balu tekan tombol Button1. +ika
koneksi sukses! yaitu jika HP merespon perintah 8*0918 dengan ucapan 818!
berarti koneksi dengan HP telah berhasil. +ika tidak! mungkin terjadi kekeliruan
pada kabel! nomor Port atau setting BaudAate. 'ilakan dicek.
!embaca '!'
Bagi yang sering kirim"kiriman '$'! kalo cuma mengandalkan kapasitas
penyimpanan dalam handset (handphone)! suatu saat pasti pernah mengalami
penuhnya inboC. Hal tersebut berlaku untuk jenis manusia yang sayang untuk
menghapus '$' kiriman dari someone special. 0api tidak berlaku untuk jenis
manusia yang suka menulis ulang isi '$' ke dalam $'"-ord (aku pernah
menemukan manusia jenis ini).! sehingga InboCnya tidak pernah penuh.
+ika anda ingin mengandalkan P) untuk menyimpan isi inboC! anda
dapat menggunakan banyak aplikasi siap pakai yang dapat digunakan untuk
menyimpan atau mentrans.er '$'. 'aya sering menggunakan aplikasi ba3aan
dari ,endor HP (P) 'uite untuk 2okia! Data 'uite untuk 'iemens! ada juga
untuk 'ony9ricsson)! juga ada Bogo $anager buatan pihak ketiga.
'elain menggunakan aplikasi siap pakai tersebut! kali ini saya membahas
bagaimana cara berkomunikasi langsung dengan HP! menggunakan *0"
)ommand! le3at port serial.
Pengantarmukaan Komputer dan Handphone
By: Muhammad Iqbal
Berikutnya adalah membaca '$'.
'ilakan tambahkan obyek $emo pada .orm! dan tambahkan tombol
Button=! kemudian tuliskan kode ini pada e,ent 1n)lick Button=4
pro!edure T'orm<90utton:Cli!k=Sender> TO.?e!t@A
)ar waktu> tDateTimeA
.uffer> stringA
.egin
MSComm<9Output >B DATCMGLB<D H<IA
Sleep=;FF@A
waktu >B nowA
repeat
.uffer >B MSComm<9$nputA
Memo<9Te5t >B Memo<9Te5t .ufferA
until =pos=sO,C s@ J F@ or =pos=s2##O#C s@ J F@ or
=Se!onds0etween=waktuCnow@ J <GF@A
endA
+ika program dijalankan! lalu ditekan tombol Button=! maka program
akan mengirim perintah *0D)$&B61 ke HP! yang berarti! 8berikan aku da.tar
'$' yang ada di InboC8. 'ehingga nantinya semua isi InboC akan dikirimkan ke
program! tetapi masih dalam .ormat PD/.
pro!edure T'orm<90uttonICli!k=Sender> TO.?e!t@A
.egin
CekSMS=Memo<@A
endA
etika tombol Button% ditekan! maka '$' dalam InboC dan '$' baru!
akan dimasukkan kedalam $emo1.
Berikut ini ketentuan *0D)$&B!
*0D)$&B6> 4 '$' baru
*0D)$&B61 4 '$' dalam InboC (yang sudah terbaca)
*0D)$&B6= 4 '$' Dra.t (belum terkirim)
*0D)$&B6% 4 '$' 1utboC (terkirim)
*0D)$&B6K 4 'eluruh '$' (semua yang ada di InboC! 1utboC! Dra.t)
!en$irim '!'
ita memulai pembahasan dengan bagaimana cara membentuk PD/
untuk dikirim. PD/ yang diterima dari HP berbeda dengan PD/ yang untuk
dikirim! namun tetap menggunakan aturan yang sama. Perbedaannya terutama
Pengantarmukaan Komputer dan Handphone
By: Muhammad Iqbal
pada .ield yang dikandung! baik nilai maupun .ungsinya. /ntuk lebih detail
mengenai PD/ yang diterima! silakan membaca artikel sebelumnya.
Berikut ini struktur PD/ untuk dikirim4
07 91 26!00000"0 11 00 0$ 91 26!%616#900 00 00 "" 0#
$!%0"B0&
eterangan4
(tet / #i$it
0e)a
+eteran$an
>E
Panjang atau jumlah pasangan digit dari nomor '$') (ser,ice
number) yang digunakan! dalam hal ini adalah E pasangan (1K
digit berikutnya)
L1
+enis nomor '$'). *ngka L1 menandakan .ormat nomor
internasional (misal D6=J1CCC). /ntuk >J1CCC menggunakan
angka J1.
=6IJ>I>>>>#>
2omor '$') yang digunakan. arena jumlah digit nomor
'$' adalah ganjil! maka digit paling belakang dipasangkan
dengan huru. #. alau diterjemahkan! nomor '$') yang
digunakan adalah D6=JII>>>>>> (I$%)
11 1ktet pertama untuk PD/ '$' untuk dikirim ('$' '/B$I0).
>>
0P"$essage"Ae.erence. Diisi F>>F agar diisi otomatis oleh
handphone.
>) Panjang digit dari nomor penerima (>) heC 6 1= desimal)
L1 +enis nomor penerima (sama dengan jenis nomor '$'))
=6IJ%616KL>>
2omor penerima '$'! yang jika diterjemahkan adalah
D6=JI6%61LK>>
>> Pengenal protokol! dalam hal ini adalah >.
>> 'kema pengkodean '$'! juga bernilai >.
## Paliditas 3aktu. ## berarti maksimum.
>K
Panjang dari pesan '$'! dalam hal ini adalah K huru. (dalam
mode E bit).
)J%>#B>D
Pesan '$' dalam mode E bit. +ika diterjemahkan kedalam J
bit! lalu dirubah ke *')II! maka didapat pesan 8Halo8
/ntuk handphone tertentu! kita dapat menghilangkan pemberian nomor
'$') pada PD/! untuk kemudian akan diisi oleh handphone sesuai dengan
kartu yang sedang digunakan. 0api untuk lebih amannya! kita sebutkan nomor
'$') yang digunakan.
Pengantarmukaan Komputer dan Handphone
By: Muhammad Iqbal
etika PD/ '$' selesai dibentuk! maka langkah selanjutnya adalah
melakukan pengiriman PD/ tersebut melalui port serial yang digunakan.
Perintah yang pertama kali digunakan adalah *0D)$&'! dengan aturan sebagai
berikut4
*0D)$&'6?jumlah oktet PD/@
?jumlah oktet PD/@ diisi dengan jumlah pasangan dalam PD/ yang
terbentuk! dengan dikurangi '$'). Dengan kata lain! kita menghitung jumlah
oktet mulai dari kode '$' '/B$I0 (11). /ntuk contoh di atas! berarti jumlah
digit dalam PD/ adalah %6! yang berarti terdiri dari 1J oktet. 'ehingga perintah
yang digunakan adalah4
*0D)$&'61J
'etelah itu! tunggu respon dari handphone. alau gagal! dengan berbagai
alasan! maka yang dikembalikan adalah 9AA1A.
'edangkan jika perintah tersebut diijinkan! maka yang dikembalikan adalah
karakter 8@8 (lebih besar).
+ika perintah tersebut sukses! selanjutnya adalah menuliskan semua PD/
tersebut ke handphone! dan diakhiri dengan penulisan karakter *')II =6
()0ABDQ).
+ika sukses! maka yang dikembalikan adalah 1. '$' terkirim! semoga.
Nang perlu diperhatikan adalah tentang pengaturan koneksinya. arena
masing"masing proses (kirim dan terima) membutuhkan koneksi ke handphone!
maka harus diatur agar tidak terjadi proses terima dan kirim secara bersamaan.
1. 2omor '$' )entre
Header pertama terbagi atas % subheader! yaitu4
a. +umlah pasangan heksadesimal '$'"centre dalam bilangan heksa
b. 2ational(internasional kode
/ntuk nasional! kode subheadernya adalah J1
/ntuk Internasional! kode subheadernya adalah L1
c. 2o '$' )entre sendiri dalam bahasa heksa dibalik"balik.
+ika tertinggal satu angka heksa yang tidak memiliki pasangan! angka tersebut
akan dipasangkan denga # didepanya.
=. 0ipe '$'
0ipe '92D 61.! jadi bilangan heksanya adalah >1
%. 2omor Ae.erensi '$'
2omor re.erensi dibiarkan >. jadi heksanya adalah >>.
K. 2omor Ponsel Penerima.
Pengantarmukaan Komputer dan Handphone
By: Muhammad Iqbal
a. +umlah bilangan decimal nomor ponsel yang dituju dalam bilangan heksa.
b. 2ational(internasional kode
c. 2omor pasangan dibolak"balik.
I. Bentuk '$'
> 6 >> 6 dikirim sebagai '$'
16 >1 6 dikirim sebagai teleC
= 6 >= 6 dikirim sebagai .aC
6. 'kema 9ncoding Data I(1
*da dua skema yaitu4
1. 'kema E Bit "@ ditandai dengan angka >>
=. 'kema J bit "@ ditandai dengan angka lebih besar dari > yang diubah
ke heksa.
E. +angka -aktu sebelum '$' 9Cpired
+ika bagian ini di skip! berarti kita tidak membatasi 3aktu berlakunya
'$'. 'edangkan jika kita mengisinya dengan bilangan heksa maka bilangan
decimal dari heksa tersebut akan me3akili jumlah 3aktu ,aliditas '$'.
J. Isi '$'
a. Panjang isi (eC4 RH9BB1S 6 >I)
b. Isi berupa pasangan bilangan heksa (lihat table diatas). emudian rubah
ke J bit dengan menambah satu bit dummy yang bernilai >.
L. gabungkan J header (langkah diatas).
b1 > > > > 1 1 1 1
b2 > > 1 1 > > 1 1
b3 > 1 > = > 1 > 1
b4 b5 b6 b7 8 7 6 5 4 3 2 1
> > > > 8 T 'P > P p
> > > 1 7 O 1 * U * G
> > 1 > 6 H = B A B r
> > 1 1 5 % ) ' ) s
> 1 > > 4 K D 0 D t
> 1 > 1 3 V I 9 / 9 u
> 1 1 > 2 W 6 # P # ,
> 1 1 1 1 X E & - & 3
Pengantarmukaan Komputer dan Handphone
By: Muhammad Iqbal
1 > > > 9 ( J H 7 H C
1 > > 1 : ) L I N I y
1 > 1 > 78 B# Y 4 + Q + M
1 > 1 1 77 D 5 Z [
1 1 > > 76 ! ? B \ B ]
1 1 > 1 75 )A " 6 $ $
1 1 1 > 74 ^ . @ 2 _ 2 `
1 1 1 1 73 ( a 1 1
)un*t'on K'r'm+M+,/u0uan. I-': -tr'ng1: boolean(
9ar
P&:.
udh'.
-m-total.
-m-re).
temp'-'.
-: -tr'ng(
-m-: t+M+(
'. p: 'nteger(
beg'n
') not konek then beg'n
6e-ult :3 )al-e(
e;'t(
end(
-m- :3 /+M+E$reate(
-m-EIumber :3 tu0uan(
-m-E6eque-t6eply :3 *b6eplyE$he*ked(
-m-E"la-h+M+ :3 *b"la-hE$he*ked(
-m-E+tatu-6eque-t :3 *b6eportE$he*ked(
-m-Ed*- :3 =1(
6e-ult :3 true(
') length,'-'1 @3 160 then beg'n
-m-E/e;t :3 '-'(
-m-E:&HI :3 44(
pdu :3 -m-EP&:(
- :3 +endCet&ata,4F/<$MC+34 < 'ntto-tr,-m-Etplength1 < G1%.
4A41(
Pengantarmukaan Komputer dan Handphone
By: Muhammad Iqbal
- :3 +endCet&ata,P&: < GH1F. -2K1(
6e-ult :3 po-,-2K. -1 A 0(
end
el-e beg'n
p :3 1%(
-m-total :3 Int/oHe;,,length,'-'1 d'9 p1 < 1. 21(
-m-6e) :3 CetIe;t8ong+M+6e))eren*e(
udh' :3 40000%4 < -m-6e) < -m-total(
)or ' :3 1 to +tr/oInt,4H4 < -m-total1 do beg'n
temp'-' :3 $opy,'-'. 1. p1(
&elete,'-'. 1. p1(
-m-E/e;t :3 temp'-'(
-m-E:&HI :3 udh' < Int/oHe;,'. 21(
pdu :3 -m-EP&:(
- :3 +endCet&ata,4F/<$MC+34 < 'ntto-tr,-m-Etplength1 <
G1%. 4A41(
- :3 +endCet&ata,P&: < GH1F. -2K1(
6e-ult :3 po-,-2K. -1 A 0(
end(
end(
-m-E"ree(
end(
pro*edure $ek+M+(
9ar
nomer.
tgl.
- : -tr'ng(
'.0 : 'nteger(
a.
l: /8'-tItem(
-m- : t+M+(
beg'n
') not Konek then e;'t(
- :3 -endCet&ata,4F/<$+M+304G1%. -2K1(
') Po-,-2K. -1 3 0 then beg'n
+hoDMe--age,4Med'a t'dak mendukung )a-'l'ta- +M+41(
e;'t(
end(
- :3 -endCet&ata,4F/<$PM+3J4 < ar+umber>*b+umberEItemInde;?
<4J4G1%. -2K1(
') Po-,-2K. -1 3 0 then beg'n
+hoDMe--age,4/'dak dapat mem'l'h med'a 4 < *b+umberE/e;t1(
e;'t(
end(
Pengantarmukaan Komputer dan Handphone
By: Muhammad Iqbal
- :3 -endCet&ata,4F/<$MC"304G1%. -2K1(
') Po-,-2K. -1 3 0 then beg'n
+hoDMe--age,4/'dak dapat mem'l'h )ormat P&:41(
e;'t(
end(
8'-tE$lear(
-m- :3 /+M+E$reate(
)or 0 :3 # doDnto 0 do beg'n
8'-tE/e;t :3 +endCet&ata,4F/<$MC834 < Int/o+tr,01 <G1%. -2K1(
' :3 0(
Dh'le ' @ 8'-tE$ount do beg'n
- :3 8'-tE+tr'ng->'?(
') *opy,-. 1. 71 3 4<$MC8: 4 then beg'n
nomer :3 *opy,-. !. po-,4.4. -1 = !1(
'n*,'1(
- :3 8'-tE+tr'ng->'?(
-m-EP&: :3 -(
l :3 8'-t+M+EItem-EFdd(
lE$apt'on :3 -m-Enumber(
') -m-E/'me+tamp A 0 then tgl :3
&ate/'me/o+tr,-m-E/'me+tamp1
el-e tgl :3 4=4(
lE+ubItem-EFdd,tgl1(
lE+ubItem-EFdd,-m-E/e;t1(
lE+ubItem-EFdd,4Phone41(
lE+ubItem-EFdd,arKen'-+M+>0?1(
lE+ubItem-EFdd,nomer1( LL 'nde; d' HP
lE+ubItem-EFdd,nomer1( LL 'd +M+
a :3 l9+M+EItem-EFdd(
aE$apt'on :3 rubahKeIama,lE$apt'on1(
aE+ubItem- :3 lE+ubItem-(
end(
'n*,'1(
end(
end(
-m-E"ree(
end(
Pengantarmukaan Komputer dan Handphone