22 3. ReceiveScreen, kelas ini digunakan untuk mengatur tampilan penerimaan
pesan. 4. MessageCodec, kelas ini digunakan untuk melakukan enkripsi dan dekripsi
pesan. 5. MyKripto, kelas ini berisi algoritma untuk enkripsi dan dekripsi pesan.
6. ReportScreen, kelas ini digunakan untuk mengatur tampilan laporan. 7. ErrorScreen, kelas ini digunakan untuk mengatur tampilan pesan kesalahan
3.3.1 Perancangan Fungsi 3.3.1.1 Fungsi
Wireless Messaging API a. Membuat koneksi
Agar proses pengiriman dan penerimaan dapat berlangsung perlu dibuat fungsi untuk membuat koneksi. Fungsi untuk membuat koneksi seperti di bawah ini.
. . . . . String connection =sms:: + port;
try {
conn = MessageConnection Connector.openconnection;
conn.setMessageListenerthis; }
. . . . .
b. Mengirimkan pesan
Untuk mengirimkan pesan dibuat fungsi sendMessage.
. . . . . void sendMessage String number, String plainText,
String password {
if conn = null {
BinaryMessage binarySMS
= BinaryMessageconn.newMessageMessageConnection.BIN
ARY_MESSAGE; String
address =
new StringBuffersms:.appendnumber.append:.ap
pendport.toString; binarySMS.setAddressaddress;
23
. . . . .
c. Penerimaan pesan
Jika ada pesan yang datang maka fungsi yang digunakan adalah
. . . . . public void notifyIncomingMessageMessageConnection
conn {
if conn==this.conn {
try {
BinaryMessage incomingMessage=BinaryMessageconn.receive;
String message=new
StringincomingMessage.getPayloadData; if
message.startsWithKRIPTOSMS: {
ReceiveScreen handler = new ReceiveScreenthis,incomingMessage;
Display.getDisplaythis.setCurrenthandler; }
else ErrorScreen.showErrorpesan
yang diterima bukan+\n kriptosms, displayable; }
catch IOException e {
ErrorScreen.showErrorgagal menerima pesan karena +e.getMessage,displayable;
} }
} . . . . .
d. Menutup koneksi
Untuk menutup koneksi digunakan fungsi close.
. . . . . public void destroyAppboolean unconditional
{
try {
24
if conn=null {
conn.close; }
} catch IOException e
{ }
} . . . . .
3.3.1.2 Fungsi enkripsi dan deskripsi pesan a. Enkripsi
Untuk mengenkripsi pesan digunakan fungsi sebagai berikut
. . . . . public byte[] enkripbyte[] input, byte[] kunci
{ byte[] output = new byte[input.length];
byte buffer, bufferkunci; forint i = 0; iinput.length; i++
{ buffer = input[i];
bufferkunci = kunci[ikunci.length]; buffer+=bufferkunci;
ifbuffer=256 buffer-=256; output[i]=buffer;
} return output;
} . . . . .
b. Dekripsi
Fungsi untuk mendekripsi pesan sebagai berikut
. . . . . public byte[] dekripbyte[] input, byte[] kunci
{ byte[] output = new byte[input.length];
byte buffer, bufferkunci; forint i=0;iinput.length;i++
{ buffer = input[i];
bufferkunci=kunci[ikunci.length];
25
ifbufferbufferkunci buffer+=256; buffer-=bufferkunci;
output[i]=buffer; }
return output; }
. . . . .
c. Memberikan header pada pesan