80
e. Program Untuk Membaca Pulsa
void pulsa {
lcd_clear; lcd_gotoxy0,0;
lcd_putsfpulsa sistem Rp.; lcd_clear;
lcd_gotoxy0,0; printfAT+CUSD=1; putchar,; putchar; printf388;
putchar; putchar0x0D; ENTER
whilegetchar=+{}; whilegetchar=:{};
whilegetchar=,{}; whilegetchar={};
whilegetchar=P{}; whilegetchar=U{};
whilegetchar=R{}; whilegetchar=p{};
whilegetchar=.{}; lcd_putsfPulsa Rp.;
fori=0;i6;i++ {puls[i]=getchar;
ifpuls[i]==pls[i]{} lcd_putcharpuls[i];}
whilegetchar=A{}; whilegetchar=k{};
whilegetchar=t{}; whilegetchar=i{};
whilegetchar=f{};
81
whilegetchar= {}; lcd_gotoxy0,1;
lcd_putsfAktif ; fori=0;i9;i++
{aktif[i]=getchar; ifaktif[i]==akf[i]{}
lcd_putcharaktif[i];} printfAT+CMGS=;
putchar; printf085725104704;
putchar; putchar,; putchar13; enter
putchar10; ganti baris printfpulsa sistem anda ;
putchar10; ganti baris printfRp.;
fori=0; i6; i++{putcharpuls[i];} putchar10; ganti baris
printfAktif ; fori=0; i9; i++{putcharaktif[i];}
putchar26; ctrl-z buzer1=1;
delay_ms50; buzer1=0;
}
Pada system ini dibuatkan program untuk pengecekan sisa pulsa dan masa aktif kartu, dengan cara memasukkan perintah 388 dengan demikian
jumlah nominal pulsa akan tertampil dengan pembacaan dan pengiriman sama dengan program pembacaan SMS.
82
f. Diagram Alir Untuk Penyeleksi Nomer Masuk
mulai
Inisialisasi mikrokontroller dengan modem
Cek nomer hp
Karakter 085725104704
= data 05725104704
Hapus pesan
Nyalakan Buzer T
Y
Gambar 31.
Flowchart
program penyeleksi nomer
Pada Program penyeleksi nomer ini yaitu dengan cara membandingkan dengan data referensi, akan tetapi yang dibandingkan hanya bagian nomer
pengirm saja, bila nomer masuk benar maka nilai bit akan bernilai satu kemudian akan menyalakan buzzer dan akan memulai prosedur program
pembacaan pesan, akan tetapi bila nomer tesebut salah maka akan diabaikan dan langsung dihapus oleh program. Adapun untuk program
penyeleksi nomer dapat dilihat pada contoh baris program dibawah ini.
83
Program Penyeleksi Nomer Masuk :
void scan_nomer {
lcd_clear; lcd_gotoxy0,0;
printfAT+CMGR=1; putchar0x0D; ENTER
whilegetchar=+{}; whilegetchar=+{};
whilegetchar=+{}; fori=0;i13;i++{
k=getchar; ifk==nomer[i]{}
else {break;} lcd_putchark;
ifi==12{ no_benar=1; lcd_gotoxy0,1;
lcd_putsfCorrect; buzer1=1;}
else {no_benar=0;}
}
84
g. Diagram Alir Untuk Program Utama