MainActivity.java DataPesan.java

return intc; } public boolean checkString x{ boolean hsl = true; int a = Math.roundx.length2; forint i=0; ia; ++i if x.charAti=x.charAti+a hsl=false; return hsl; } public boolean fermatint p{ boolean hasil=true; Random rand = new Random; int a=rand.nextInt20+1; if ap==0{ hasil=false; } else if modExpa,p-1,p=1{ hasil=false; } return hasil; } public String singlebinString x{ String n=; forint y=0; yMath.floorx.length2; y++{ n= n+x.charAty; } return n; } Override public void onBackPressed { Intent link = new IntentLihatPesan.this, DataPesan.class; Intent i = getIntent; link.putExtratipepesan, i.getStringExtraasal; startActivitylink; }}

4. MainActivity.java

import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.view.Window; import android.widget.Button; import android.app.Activity; import android.content.Intent; public class MainActivity extends Activity { Button tentang, bantuan; Override protected void onCreateBundle savedInstanceState { super.onCreatesavedInstanceState; this.requestWindowFeatureWindow.FEATURE_NO_TITLE; setContentViewR.layout.activity_main; Button findViewByIdR.id.btnPesanbaru.setOnClickListenernew OnClickListener { public void onClickView v { MainActivity.this.startActivitynew Intent MainActivity.this, BuatPesan.class; } }; Button findViewByIdR.id.btnPesankeluar.setOnClickListenernew OnClickListener { public void onClickView v { Intent click = new IntentMainActivity.this, DataPesan.class; click.putExtratipepesan, sent; Universitas Sumatera Utara startActivityclick; } }; Button findViewByIdR.id.btnPesanmasuk.setOnClickListenernew OnClickListener { public void onClickView v { Intent click = new IntentMainActivity.this, DataPesan.class; click.putExtratipepesan, inbox; startActivityclick; } }; Button findViewByIdR.id.btnBantuan.setOnClickListenernew OnClickListener { Override public void onClickView arg0 { TODO Auto-generated method stub Intent i = new IntentMainActivity.this, bantuan.class; startActivityi; } }; Button findViewByIdR.id.btnTentang.setOnClickListenernew OnClickListener { Override public void onClickView arg0 { TODO Auto-generated method stub Intent i = new IntentMainActivity.this, tentang.class; startActivityi; } }; Button findViewByIdR.id.btnKeluar.setOnClickListenernew OnClickListener { public void onClickView v { Intent intent = new IntentIntent.ACTION_MAIN; intent.addCategoryIntent.CATEGORY_HOME; intent.setFlagsIntent.FLAG_ACTIVITY_CLEAR_TOP; intent.setFlagsIntent.FLAG_ACTIVITY_NEW_TASK; startActivityintent; System.exit0; } }; } }

5. DataPesan.java

import java.util.Date; import java.text.DateFormat; import android.app.Activity; import android.content.ContentResolver; import android.content.Intent; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.provider.ContactsContract; import android.support.v4.widget.SimpleCursorAdapter; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListView; import android.widget.TextView; import android.view.View; public class DataPesan extends Activity { Universitas Sumatera Utara private SimpleCursorAdapter dataAdapter; Override public void onCreateBundle savedInstanceState { super.onCreatesavedInstanceState; setContentViewR.layout.listpesan; this.setTitleList Message; displayListView; } private void displayListView { Intent i = getIntent; Uri uriSMS = Uri .parsecontent:sms + i.getStringExtratipepesan; Cursor cursor = getContentResolver.queryuriSMS, null, null, null, null; String[] columns = new String[] { address, body, date }; int[] to = new int[] { R.id.pengirim, R.id.isipesan, R.id.waktu }; dataAdapter = new SimpleCursorAdapterthis, R.layout.pesan_row, cursor, columns, to, 0; ListView listView = ListView findViewByIdR.id.listView1; dataAdapter.setViewBindernew SimpleCursorAdapter.ViewBinder { Override public boolean setViewValueView view, Cursor cursor, int columnIndex { ubah nomer hape dengan nama yang ada dikontak if columnIndex == 2 { TextView tv = TextView view; String pengirimDB = cursor.getStringcursor .getColumnIndexaddress; get contact name Uri contactUri = Uri.withAppendedPath ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encodepengirimDB; Cursor cur = getContentResolver.querycontactUri, null, null, null, null; ContentResolver contect_resolver = getContentResolver; int size = cur.getCount; if size 0 cur = null { for int i = 0; i size; i++ { cur.moveToPositioni; String id1 = cur.getStringcur .getColumnIndexOrThrowContactsContract.Contacts._ID; Universitas Sumatera Utara Cursor phoneCur = contect_resolver .querycontactUri, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + = ?, new String[] { id1 }, null; if phoneCur.moveToFirst { String namaKontak = phoneCur.getStringphoneCur .getColumnIndexContactsContract.CommonDataKinds.Phone.DISPLAY_NAM E; phoneCur.close; tv.setTextnamaKontak; } else { tv.setTextpengirimDB; } } cur.close; } else { tv.setTextpengirimDB; } return true; } konversi tanggal if columnIndex == 4 { TextView tv = TextView view; String waktu = cursor.getStringcursor .getColumnIndexdate; long l = Long.parseLongwaktu; Date d = new Datel; String date = DateFormat.getDateInstanceDateFormat.LONG .formatd; String time = DateFormat.getTimeInstance.formatd; String view_waktu = date + + time; tv.setTextview_waktu; return true; } return false; } }; menampilkan daftar pesan listView.setAdapterdataAdapter; Universitas Sumatera Utara jika di pesan di klik, maka akan dialihkan ke lihat pesan secara full listView.setOnItemClickListenernew OnItemClickListener { Override public void onItemClickAdapterView? listView, View view, int position, long id { Get the cursor, positioned to the corresponding row in the result set Cursor cursor = Cursor listView.getItemAtPositionposition; Get the states capital from this row in the database. String view_pengirim = cursor.getStringcursor .getColumnIndexOrThrowaddress; String view_isipesan = cursor.getStringcursor .getColumnIndexOrThrowbody; String waktu = cursor.getStringcursor .getColumnIndexOrThrowdate; konversi tanggal long l = Long.parseLongwaktu; Date d = new Datel; String date = DateFormat.getDateInstanceDateFormat.LONG .formatd; String time = DateFormat.getTimeInstance.formatd; String view_waktu = date + + time; String view_idpesan = cursor.getStringcursor .getColumnIndexOrThrow_id; String view_thread = cursor.getStringcursor .getColumnIndexOrThrowthread_id; Intent click = new IntentDataPesan.this, LihatPesan.class; get contact name Uri contactUri = Uri.withAppendedPath ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encodeview_pengirim; Cursor cur = getContentResolver.querycontactUri, null, null, null, null; ContentResolver contect_resolver = getContentResolver; int size = cur.getCount; if size 0 cur = null { for int i = 0; i size; i++ { cur.moveToPositioni; String id1 = cur.getStringcur .getColumnIndexOrThrowContactsContract.Contacts._ID; Cursor phoneCur = contect_resolver .querycontactUri, Universitas Sumatera Utara null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + = ?, new String[] { id1 }, null; if phoneCur.moveToFirst { String namaKontak = phoneCur.getStringphoneCur .getColumnIndexContactsContract.CommonDataKinds.Phone.DISPLAY_NAM E; phoneCur.close; click.putExtrano, namaKontak; } else { click.putExtrano, view_pengirim; } } cur.close; } else { click.putExtrano, view_pengirim; } kirim data ke view pesan click.putExtramsg, view_isipesan; click.putExtraidpesan, view_idpesan; click.putExtraidthread, view_thread; click.putExtradate, view_waktu; Intent i = getIntent; click.putExtraasal, i.getStringExtratipepesan; startActivityclick; } }; } Override public void onBackPressed { Intent link = new IntentDataPesan.this, MainActivity.class; startActivitylink; finish; } }

6. hillCipher.java