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