Professional Documents
Culture Documents
Algoritma + Program Sms
Algoritma + Program Sms
>>ATEI
>>
>>OK
>>
>>
>> AT+CMGL=0
>>
>>OK
>>
>>AT+CMGL=1
>>
>>+CMGL: 1,1,,25
>>07912618485400F9240D91261807236345F400005001501182350005C8309BFD06 hello
>>+CMGL: 2,1,,28
>>07912618485400F9240D91261807236345F400005001501103110009417818B40E8BC372 apa kabar
>>
>>OK
>>
Jumlah arraynya= 8
Jum = (8 4) /2 = 2 (menentukan jumlah pesan)
Terima = terima + Jum
no(i) = splits(i * 2) (mengambil array ke 2,4,6,8,)
pdu(i) = splits(i * 2 + 1) (mengambil array ke 3,5,7,9,)
no(1) di split berdasar " "
diambil array pertama, menjadikan no(1) =1,1,,25
no(1)=+CMGL: 1,1,,25
pdu(1)=07912618485400F9240D91261807236345F400005001501182350005C8309BFD06
no(2)=+CMGL: 2,1,,28
pdu(2)=07912618485400F9240D91261807236345F400005001501103110009417818B40E8BC372
Kirim
ATE1 (ENTER)=== HASILNYA ATE1
OK
DELAY(1)
AT+CMGL=0 (ENTER) ==== HASILNYA AT+CMGL=0
OK
MEMBACA UNREAD SMS
DI SPLIT BERDASAR ENTER
JIKA JUMLAH ARRAY SPLIT < 5 MAKA KOSONG
JIKA JUMLAH ARRAY >=5 MAKA ADA ISINYA
AT+CMGL=1
+CMGL: 1,1,,25
07912618485400F9240D91261807236345F400005001501182350005C8309BFD06
' hellooo
+CMGL: 2,1,,28
07912618485400F9240D91261807236345F400005001501103110009417818B40E8BC372 . apa kabar
OK
arraynya = 8
jum = (8-4)/2 = 2
terima = terima + jum ==>2
no(1)=+CMGL: 1,1,,25
pdu(1)=07912618485400F9240D91261807236345F400005001501182350005C8309BFD06
no(2)=+CMGL: 2,1,,28
pdu(2)=07912618485400F9240D91261807236345F400005001501103110009417818B40E8BC372
no(1) di split berdasar " "
diambil array pertama dijadikan no(1) =1,1,,25
no(2) di split berdasar " "
diambil array pertama dijadikan no(2) =2,1,,28
no(1) di split berdasar ","
diambil array ke o dijadikan no(1) =1
no(2) di split berdasar ","
diambil array ke o dijadikan no(2) =2
delete sms yang sudah dibaca
AT+CMGD=1 (enter)
looping sampai ok
AT+CMGD=2 (enter)
looping sampai ok
intPdu(1, 0) = 5 + 2 * hex2lng(Mid(pdu(i), 2, 2)) '1 + pj + smsc + 04
= 5 + 2 * hex2lng(Mid(07912618485400F9240D91261807236345F400005001501182350005C8309BFD06, 2, 2))
= 5 + 2 * hex2lng(07)
=5+2*7
= 19
intPdu(1, 1) = 4 + hex2lng(Mid(pdu(1), intPdu(1, 0) + 1, 2)) 'pj + 91/81 + dari
= 4 + hex2lng(Mid(07912618485400F9240D91261807236345F400005001501182350005C8309BFD06 , 19 + 1, 2))
= 4 + hex2lng(Mid(07912618485400F9240D91261807236345F400005001501182350005C8309BFD06 , 20, 2))
= 4 + hex2lng(0d)
= 4 + 13
= 17
jika intPdu(i, 1) Mod 2 = 1 maka intPdu(i, 1) = intPdu(i, 1) + 1 ===> ganjil jadi genap
intPdu(1, 1) = 18
tmpdu(1, 0) = Mid(pdu(1), intPdu(1, 0) + 3, intPdu(1, 1) - 2) '91/81 + dari
= Mid(07912618485400F9240D91261807236345F400005001501182350005C8309BFD06, 19 + 3, 18 - 2)
= Mid(07912618485400F9240D91261807236345F400005001501182350005C8309BFD06, 21, 16)
= 91261807236345F4
tmpdu(1, 1) = Mid(pdu(1), intPdu(1, 0) + intPdu(1, 1) + 5, 12) 'waktu
= Mid(07912618485400F9240D91261807236345F400005001501182350005C8309BFD06, 19 + 18 + 5, 12)
= Mid(07912618485400F9240D91261807236345F400005001501182350005C8309BFD06, 42, 12)
= 500150118235
intPdu(1, 2) = hex2lng(Mid(pdu(1), intPdu(1, 0) + intPdu(1, 1) + 19, 2)) 'pj isi
= hex2lng(Mid(07912618485400F9240D91261807236345F400005001501182350005C8309BFD06, 19 + 18 + 19, 2))
= hex2lng(Mid(07912618485400F9240D91261807236345F400005001501182350005C8309BFD06, 56, 2))
= hex2lng(05)
=5
tmpdu(1, 2) = Mid(pdu(1), intPdu(1, 0) + intPdu(1, 1) + 21, Len(pdu(1)) - intPdu(1, 0) - intPdu(1, 1) - 20)
= Mid(07912618485400F9240D91261807236345F400005001501182350005C8309BFD06, 19 + 18 + 21,
Len(07912618485400F9240D91261807236345F400005001501182350005C8309BFD06) - 19 - 18 - 20)
= Mid(07912618485400F9240D91261807236345F400005001501182350005C8309BFD06,58,67 - 19 - 18 - 20)
= Mid(07912618485400F9240D91261807236345F400005001501182350005C8309BFD06,58,10)
= C8309BFD06