11
5. Hasil dan Pembahasan
Form Tampilan Utama Aplikasi
Gambar 8 Form Tampilan Utama Aplikasi
Gambar 8 menunjukkan form tampilan utama dari aplikasi Auto Reject Call. Pada form utama terdapat screen untuk menulis pesan dan ada 4 button utama yang terdiri dari
kiri ke kanan: Setting, Activedeactive, Reject call List, Exception number.
Form Screen penulisan text message.
Gambar 9 Form Screen penulisan text message
Gambar 9 menunjukkan form Screen penulisan text message. Pada form screen text message bisa di edit sesuai keinginan user dan cara untuk edit dengan sentuh layar screen
tersebut maka akan keluar keyword. Text Message ini yang akan dikirimkan secara otomatis melalui SMS pada caller.
12
Kode Program 1 Proses Automatic Sending Message
notifyMe; messageSend = Maaf saya dalam perjalanan, harap hubungi saya di kemudian
waktu; messageSend = readString;
if new
Booleanprefs.getBooleanAUTOMATIC MESSAGE,
false includedinExceptionList {
Log.vTAG, Kirim SMS...; sendSMSphoneNumber, messageSend;
Kode program 1 menjelaskan proses pengiriman sms secara otomatis. Pada script ini notifyMe ; messageSend = “Maaf saya dalam perjalanan, harap hubungi saya di kemudian
waktu”; adalah script simple database untuk menampilkan pesan kalau ada penolakan panggilan baru, if new Booleanprefs.getBooleanAUTOMATIC MESSAGE, false
includedinExceptionList { Log.vTAG, Kirim SMS...; script ini berfungsi untuk pengecekan nomor penelpon jika masuk dalam daftar exception atau tidak, dan pada script ini
sendSMSphoneNumber, messageSend; berfungsi untuk mengirim pesan secara otomatis. Form Setting
Gambar 10 Form Setting
Gambar 10 menunjukkan form Setting yang didalamnya user bisa melakukan pengaturan audio dan messaging. Pada pengaturan audio bisa memilih default tone dan
silent, sedangkan pada autoSms untuk pengecekan automatic sms sudah aktif atau tidak.
Kode Program 2 Proses Setting Audio dan Messaging
public class EditPreference extends PreferenceActivity { MainActivity mA;
Override public void onCreateBundle icicle {
super.onCreateicicle; mA = new MainActivity;
String[] entries = new String[]{Default tone, Silent}; String[] entryValues = new String[]{default, silent};
String[] entriesWall = new String[]{Wood, Sky, Forest}; String[] entryValuesWall = new String[]{wood, sky, forest};
addPreferencesFromResourceR.xml.preferences; final ListPreference tones = ListPreference findPreferenceRINGTONE;
tones.setEntriesentries; tones.setDialogIconR.drawable.tone;
tones.setEntryValuesentryValues;
13
tones.setSummarytones.getValue; tones.setOnPreferenceChangeListenernew OnPreferenceChangeListener {
public boolean onPreferenceChangePreference preference, Object newValue { preference.setSummaryString newValue;
return true; }
}; final CheckBoxPreference wall = CheckBoxPreference findPreferenceAUTOSMS;
wall.setOnPreferenceChangeListenernew OnPreferenceChangeListener { public boolean onPreferenceChangePreference preference, Object newValue {
preference.setSummaryCheck it to send auto SMS; return true;
} };
Kode program 2 menjelaskan script tentang pengaturan setting Audio dan Message, pada script String[] entries = new String[]{Default tone, Silent}; menjelaskan tentang pilihan
dari pengaturan Audio yang bisa dipilih sesuai keinginan user yaitu Default tone tone bawaan dari mobile phone seperti “wood, sky, forest” dan Silent. Pada script final
CheckBoxPreference
wall =
CheckBoxPreference findPreferenceAUTOSMS;
wall.setOnPreferenceChangeListenernew OnPreferenceChangeListener { berfungsi untuk pengaturan automatic sms.
Form Tampilan Exception Number List
Gambar 11 Form Utama Exception Number list
Gambar 11 menunjukkan tampilan awal form Exception number list. Dalam tampilan ini ada beberapa fungsi button yaitu button gambar folder untuk pengambilan nomor dari
kontak mobile phone, button plus untuk penambahan nomor dalam daftar exception tersebut, button clear all untuk menghapus semua nomor dari dalam daftar exception dan button clear
selected untuk menghapus beberapa nomor sesuai keinginan user.
14
Form Pengambilan nomor dari Contact
Gambar 12 Form Pengambilan nomor dari Contact
Gambar 12 menunjukkan pengambilan nomor langsung dari Contact bawaan mobile phone yang sebelumnya telah dimasukkan oleh user. Bisa dilihat contoh gambar 12 dimana
user telah memasukkan nomor koko halim dalam daftar exceptionlist.
Kode Program 3 Perintah Pengambilan nomor dari Contact
public void onClickView v { Intent intent = new IntentIntent.ACTION_PICK,
ContactsContract.Contacts.CONTENT_URI; startActivityForResultintent, PICK_CONTACT;
}
Kode program 3 menjelaskan script pengambilan nomor dari contact bawaan mobile phone, bisa dilihat pada script startActivityForResultintent, PICK_CONTACT; terjadi pengambilan
nomor langsung dari contact. Form Penambahan nomor secara manual
Gambar 13 Form Penambahan nomor secara Manual
15 Gambar 13 menunjukkan user bisa menambahkan nomor secara manual pada daftar
Exception number list.
Kode Program 4 Perintah Penambahan nomor secara manual
public void onClickView v { if eT.getText.toString.equals
|| eT.getText.toString == null { Toast.makeTextgetBaseContext,Sorry, you still leave the
empty number, Toast.LENGTH_SHORT.show;
} else { if addFromContact {
addFromContact = false; } else {
contactName = Unsaved contact; }
addexceptionListgetContactNameeT.getText.toString, eT.getText.toString;
eT.setText; }
}
Kode Program 4 menjelaskan penambahan nomor secara manual dalam daftar exception artinya user menambahkan langsung tanpa melakukan view dari contact list, bisa dilihat pada
script addexceptionListgetContactNameeT.getText.toString, eT.getText.toString;, dan pada script else { contactName = Unsaved contact; berfungsi untuk setiap penambahan
nomor secara manual disimpan dengan nama unsaved contact.
Kode Program 5 Perintah untuk penyimpanan contact sementara
public class ExceptionAdapter extends ArrayAdapterExceptionNumber { ArrayListExceptionNumber lists;
Context context; public ExceptionAdapterContext context, int resource,
ArrayListExceptionNumber lists { supercontext, resource, lists;
this.lists = lists; this.context = context;
}
Kode Program 5 menjelaskan script penyimpanan nomor contact sementara sebagai gantinya database, bisa dilihat pada script ArrayListExceptionNumber lists; Context context;
semua contact yang masuk dalam daftar exception disimpan dalam arraylist.
16
Form Clear nomor dari daftar Exception
Gambar 14 Form Clear nomor dari daftar Exception
Gambar 14 merupakan contoh user yang telah memilih nomor yang di centang untuk di hapus dari daftar exception number list. Ada 2 cara pertama user bisa centang nomor
kemudian tekan tombol Clear Selected dan Cara kedua user bisa tekan tombol Clear all untuk hapus semua nomor dari daftar exception number list.
Kode Program 6 Perintah untuk Clear Selected
clearSelectedBtn.setOnClickListenernew View.OnClickListener { Override
public void onClickView v { int x = 0;
ArrayListExceptionNumber exceptionListTemp; exceptionListTemp = MainActivity.exceptionList;
if MainActivity.exceptionList = null { for ExceptionNumber en : exceptionListTemp {
if en.isChecked { MainActivity.exceptionList.removex;
} x++;
} }
adapter.notifyDataSetChanged; }
};
Kode Program 6 menjelaskan script pengaturan dari fungsi button Clear Selected. Pada script ini if en.isChecked { MainActivity.exceptionList.removex; bisa dilihat jika nomor yang
ada pada daftar exception telah dicekdi centang maka nomor tersebut akan dihapus sesuai yang telah dicek tersebut.
Kode Program 7 Perintah untuk Clear all
clearAllBtn.setOnClickListenernew View.OnClickListener { Override
public void onClickView v { if MainActivity.exceptionList = null {
MainActivity.exceptionList.clear; adapter.notifyDataSetChanged;}
} }
17 Kode Program 7 menjelaskan script pengaturan dari fungsi button ClearAll, bisa dilihat pada
script MainActivity.exceptionList.clear yang menghapus semua nomor dari daftar exception.
Form Incoming Call
Gambar 15 Form Incoming Call
Gambar 15 merupakan form Incoming call. Pada form ini untuk melihat proses terjadinya panggilan masuk dari penelepon dan proses terjadinya rejection call secara
otomatis.
Kode Program 8 Perintah untuk panggilan masuk
public void onReceiveContext context, Intent intent { mgr = MainActivity.mgr;
calendar = Calendar.getInstance; formatter = new SimpleDateFormatdd MMMM yyyy hh:mm;
Bundle bundle = intent.getExtras; AIRPLANE = Settings.System.getIntcontext.getContentResolver,
Settings.System.AIRPLANE_MODE_ON, 0; isEnabled = AIRPLANE == 1;
intent = new IntentIntent.ACTION_AIRPLANE_MODE_CHANGED; if null == bundle {
return;} TelephonyManager tm = TelephonyManager context
.getSystemServiceContext.TELEPHONY_SERVICE; Class c;
try {c = Class.forNametm.getClass.getName; Method m = c.getDeclaredMethodgetITelephony;
m.setAccessibletrue; teleService = ITelephony m.invoketm;
} catch Exception e { Logger.getLoggerIncomingCallReceiver.class.getName.logLevel.SEVERE,
null,e;} String state = bundle.getStringTelephonyManager.EXTRA_STATE;
if state.equalsIgnoreCaseTelephonyManager.EXTRA_STATE_RINGING { phonenumber = bundle.getStringTelephonyManager.EXTRA_INCOMING_NUMBER;
if phonenumber == null {phonenumber = ;} String info = Detect Calls sample application\nIncoming number:
+ phonenumber;
Kode program 8 menjelaskan script dari perintah yang akan menerima panggilan masuk. Pada
script TelephonyManager
tm =
TelephonyManager context
.getSystemServiceContext.TELEPHONY_SERVICE;; dan
Method m
= c.getDeclaredMethodgetITelephony; m.setAccessibletrue;teleService = ITelephony
m.invoketm; perintah terjadinya penerimaan panggilan masuk.
18
Kode Program 9 Perintah Panggilan masuk daftar Exception
if includedinExceptionList { includedinExceptionList = false;
Kode program 9 menjelaskan script perintah adanya panggilan yang masuk dalam daftar exception jadi tidak perlu di tolak panggilannya, bisa dilihat pada script if
includedinExceptionList { includedinExceptionList = false; yaitu jika nomor dari penelpon masuk dalam daftar exceptionlist berarti terjadi false yang artinya panggilan tersebut tidak
akan di tolak.
Kode Program 10. Perintah Rejection call
teleService.endCall; }} mA.phoneNumber = phonenumber;
mA.alreadyIncoming = true; mA.count = mA.count + 1;
mA.mySleepTime=0; } catch RemoteException ex {
Logger.getLoggerIncomingCallReceiver.class.getName.log Level.SEVERE, null, ex;
} }
Kode program 10 menjelaskan script perintah terjadinya rejection call yang bisa dilihat pada script teleService.endCall; dimana semua panggilan yang tidak masuk dalam daftar
exception catch RemoteException ex akan terjadi rejection call.
Form ActiveDeactive Aplikasi
Gambar 16 Form ActiveDeactive
Cara untuk mengaktifkan aplikasi agar dapat berjalan, user bisa langsung tekan tombol ActiveDeactive sampai tombol tersebut berubah menjadi warna kuning seperti yang
terlihat pada Gambar 16.
19
Kode Program 11 Perintah Send Message
public void sendSMSString phoneNo, String msg { mySleepTime = 1000;
String SENT = SMS_SENT; String DELIVERED = SMS_DELIVERED;
SmsManager sms = SmsManager.getDefault; message = eT.getText.toString;
Log.vTAG, message; sms.sendTextMessagephoneNo, null, message, sentPI, deliveredPI;
Kode program 11 menjelaskan script perintah send message yang bisa dilihat pada script SmsManager sms = SmsManager.getDefault; message = eT.getText.toString;
Log.vTAG, message; sms.sendTextMessagephoneNo, null, message, sentPI, deliveredPI;.
Pada pengujian aplikasi Auto Reject call and sending message, menggunakan beberapa handphone dan berjalan dengan sukses. Berdasarkan pengujian sistem aplikasi
Reject call and sending message membutuhkan space sebesar 812 kilobtyes. Setelah dilakukan pengujian menggunakan handphone Samsung Galaxy mini, LG Optimus Black
P970 dan Samsung Galaxy Young, terdapat sedikit perbedaan pada letak dari menu-menu perintah pada navigation bar aplikasi yang disebabkan karena tiap-tiap vendor mempunyai
metode desain yang berbeda-beda untuk jumlah penempatan soft key pada tiap-tiap handphone. Pada tabel 1 menunjukan pengujian dari aplikasi.
Tabel 1 Pengujian Aplikasi Auto Reject call and sending message
Tipe Handphone Layanan
GSM Parameter
Pengujian Keterangan
Samsung Galaxy Mini Screen size 240x320
pixels, 3.14 Inches TouchWiz v3,0 UI
OS : Android OS, v2.2Froyo
XL Tampilan SplashSreen
Berhasil Proses Reject Call
Berhasil Proses Auto Sms
Berhasil Penambahan
kontak Exception
Number List
Berhasil
LG Optimus Black P970
Screen size : 480x800 pixels, 4.0 inches
Touch UI 2.0 OS : Android OS,
Versi 2.2 Froyo Indosat
IM3 Tampilan SplashSreen
Berhasil Proses Reject Call
Berhasil Proses Auto Sms
Berhasil
Penambahan kontak
Exception Number
List Berhasil
20
6. Simpulan