APLIKASI REMINDER CATATAN HARIAN Diajukan untuk memenuhi tugas mata kuliah Sistem Mobile Programming
Di Susun Oleh : Kelompok 2 Risa Fithrasari
208700923
Rizal Sidiq
208700927
Siti Sarah Fauziah
208700936
Wiwi Siti Robiah A
208700957
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SUNAN GUNUNG DJATI BANDUNG 2012
BAB I PENDAHULUAN Kegiatan kita yang padat terkadang membuat kita susah untuk mengatur agenda apa saja yang akan kita lakukan baik hari ini atau beberapa hari kedepan. Terkadang kita juga memiliki janji dengan seseorang namun kita lupa dan melewatkannya, pastilah hal seperti itu menjadi hal yang menyebalkan.
Memiliki catatan di sebuah tanggalan pun masih membuat kita terlalu ribet untuk bolak-balik melihat catatan tanggalan kembali, untuk itu ada software pengingat catatan harian yang bisa anda gunakan dalam mengatasi masalah kepadatan jadwal anda.
Pemanfaatan
perangkat
Handphone
sebagai
pendamping
dalam
melaksanakan kegiatan sehari-hari sudah sangat lumrah bagi sebagian orang. Hal ini dikarenakan beberapa Handphone sudah memiliki fungsi dan kemampuan lebih dari sekedar fungsi dasarnya. Android sebagai sistem operasi yang dapat ditanamkan pada perangkat handphone memiliki kemampuan untuk dapat diinstal aplikasi-aplikasi yang diperlukan oleh pengguna. Pada tugas ini dikembangkan aplikasi reminder jadwal harian yang dibuat untuk menyimpan catatan-catatan baik yang bersifat penting maupun mengingatkan list kegiatan yang akan dilakukan menggunakan perangkat handphone berbasiskan sistem operasi Android.
BAB II LANDASAN TEORI 2.1 Pengertian Android Android adalah kumpulan perangkat lunak yang ditujukan bagi perangkat bergerak mencakup sistem operasi, middleware, dan aplikasi kunci. Android Standart Development Kid (SDK) menyediakan perlengkapan dan Application Programming Interface (API) yang diperlukan untuk mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Android dikembangkan oleh Google bersama Open Handset Allience (OHA), yaitu aliansi perangkat selular terbuka yang terdiri dari 47 perusahaan Hardware, Software dan perusahaan telekomunikasi ditujukan untuk mengembangkan standar terbuka bagi perangkat selular. 2.2 Sejarah dan Perkembangan Android Pada mulanya terdapat berbagai macam sistem operasi pada perangkat selular, diantaranya sistem operasi Symbian, Microsoft Windsos Mobile, Mobile Linux, iPhone, dan sistem operasi lainnya. Namun diantara sistem operasi yang ada belum mendukung standar dan penerbitan API yang dapat dimanfaatkan secara keseluruhan dan dengan biaya yang murah. Kemudian Google ikut berkecimpung didalamnya dengan platform Android,
yang menjanjikan
keterbukaan, keterjangkauan, open source, dan framework berkualitas. Pada tahun 2005,
Google
mengakuisisi
perusahaan
Android
Inc.
untuk
memulai
pengembangan platform Android. Dimana terlibat dalam pengembangan ini Andy Rubin, Rich Miner, Nick Sears, dan Chris White. Pada pertengahan 2007 sekelompok pemimpin industri bersama-sama membentuk aliansi perangkat selular terbuka, Open Handset Alliance (OHA). Bagian dari tujuan aliansi ini adalah berinovasi dengan cepat dan menanggapi kebutuhan konsumen dengan lebih baik, dengan produk awalnya adalah platform Android. Dimana Android dirancang untuk melayani kebutuhan operator telekomunikasi, manufaktur handset, dan pengembang aplikasi. OHA berkomitmen untuk membuat Android
open source dengan lisensi Apache versi 2.0. Android pertama kali diluncurkan pada 5 November 2007, dan smartphone pertama yang menggunakan sistem operasi Android dikeluarkan oleh T-Mobile dengan sebutan G1 pada bulan September 2008. Hingga saat ini Android telah merilis beberapa versi Android untuk menyempurnakan versi sebelumnya. Selain berdasarkan penomoran, pada setiap versi Android terdapat kode nama berdasarkan nama-nama kue. Hingga saat ini sudah terdapat beberapa versi yang telah diluncurkan, diantaranya: versi 1.5 dirilis pada 30 April 2009 diberi nama Cupcake, versi 1.6 dirilis pada 15 September 2009 diberi nama Donut, dan versi terakhir 2.0 dirilis pada 26 Oktober 2009 diberi nama Éclair. 2.3 Kelebihan Android Sudah banyak platform untuk perangkat selular saat ini, termasuk didalamnya Symbian, iPhone, Windows Mobile, BlackBerry, Java Mobile Edition, Linux Mobile (LiM0), dan banyak lagi. Namun ada beberapa hal yang menjadi kelebihan Android. Walaupun beberapa fitur-fitur yang ada telah muncul sebelumnya pada platform lain, Android adalah yang pertama menggabungkan hal seperti berikut : 1.
Keterbukaan, Bebas pengembangan tanpa dikenakan biaya terhadap sistemkarena berbasiskan Linux dan open source. Pembuat perangkat menyuka hal ini karena dapat membangun platform yang sesuai yang diinginkantanpa
harus
membayar
royality.
Sementara
pengembang
softwaremenyukai karena Android dapat digunakan diperangkat manapun dantanpa terikat oleh vendor manapun. 2. Arsitektur komponen dasar Android terinspirasi dari teknologi internet Mashup. Bagian dalam sebuah aplikasi dapat digunakan oleh aplikasi lainnya, bahkan dapat diganti dengan komponen lain yang sesuai dengan aplikasi yang dikembangkan. 3. Banyak dukungan service, kemudahan dalam menggunakan berbagai macam layanan pada aplikasi seperti penggunaan layanan pencarian lokasi, database
SQL, browser dan penggunaan peta. Semua itu sudah tertanam pada Android sehingga memudahkan dalam pengembangan aplikasi. 4.
Siklus hidup aplikasi diatur secara otomatis, setiap program terjaga antara satu sama lain oleh berbagai lapisan keamanan, sehingga kerja system menjadi lebih stabil. Pengguna tak perlu kawatir dalam menggunakan aplikasi pada perangkat yang memorinya terbatas.
5. Dukungan grafis dan suarat terbaik, dengan adanya dukungan 2D grafis dan animasi yang diilhami oleh Flash menyatu dalam 3D menggunakan OpenGL memungkinkan membuat aplikasi maupun game yang berbeda. 6.
Portabilitas aplikasi, aplikasi dapat digunakan pada perangkat yang ada saat ini maupun yang akan datang. Semua program ditulis dengan menggunakan bahas pemrograman Java dan dieksekusi oleh mesin virtual Dalvik, sehingga kode program portabel antara ARM, X86, dan arsitektur lainnya. Sama halnya dengan dukungan masukan seperti penggunaan Keyboard, layar sentuh, trackball dan resolusi layar semua dapat disesuaikan dengan program.
BAB III ANALISIS DAN PERANCANGAN Pada bab ini akan dijelaskan analisis dan perancangan sistem yang akan dikembangkan sistem aplikasi reminder catatan harian. 3.1. Analisis Kebutuhan Analisis sistem adalah penguraian dari suatu sistem yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan. Bagian analisis ini terdiri atas analisis fungsional, anallisis performansi, gambaran sistem dari sudut pandang user yang dinyatakan dalam use case diagram, dan gambaran alur sistem. 3.1.1. Analisis Fungsional Analisis fungsional merupakan paparan mengenai fitur-fitur yang akan dimasukkan. Fitur-fitur tersebut antara lain sebagai berikut:
Terdapat pilihan untuk membuat catatan baru dan mengubah catatan yang sudah tersedia.
Mampu menyimpan catatan.
Mampu menampilkan menu untuk petunjuk penggunaan aplikasi
Mampu menampilkan menu about
Mampu menampilkan menu exit untuk keluar dari program.
3.1.2. Use Case Diagram Use case merupakan gambaran skenario dari interaksi antara user dengan sistem. Sebuah diagram use case menggambarkan hubungan antara aktor dan kegiatan yang dapat dilakukannya terhadap aplikasi.
Buat Catatan Reminder Baru * Mengubah Catatan yang Sudah Ada * ** ** *
Menghapus Catatan dari List
User *
Save Catatan
Gambar 3.1 Diagram Use Case Pada diagram di atas terdiri dari 1 aktor dan 3 use case. 3.2 Perancangan Aplikasi Reminder Catatan Harian Perancangan dilakukan untuk menggambarkan, merencanakan, dan membuat sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam satu kesatuan yang utuh dan berfungsi. Perancangan ini merupakan hasil transformasi dari analisa ke dalam perancangan yang nantinya akan di implementasikan. Hal penting yang menjadi perhatian pada perancangan adalah bahwa rancangan yang dibuat diharapkan dapat digunakan dengan mudah oleh semua user. Yang dimaksud semua user adalah bahwa tidak hanya seorang ahli saja dapat menggunakan aplikasi ini, namun orang awam pun dapat menggunakannya. Selain itu beberapa hal yang harus diperhatikan antara lain adalah kinerja program
yang baik dalam mengoperasikan aplikasi yang dibuat.
3.2.1. Diagram Kelas Diagram kelas merupakan diagram struktural yang memodelkan sekumpulan
kelas,
interface,
kolaborasi
dan
relasinya.
Diagram
kelas
digambarkan dengan kotak, yang pada dasarnya terbagi atas tiga bagian yaitu, Nama
Kelas,
Atribut,
dan
Operasi.
Diagram
kelas
digunakan
untuk
menggambarkan proses statik dari Aplikasi reminder catatan harian.
Note -Id -Kategori -Subject -Isi +Create () +Edit () +Delete () +View ()
Gambar 3.2.1 Diagram Kelas No
Nama class 1.
Isicatatan
Atribut
Method onCreate() populatefields() onSaveInstanceState() getIntent() getText() getString() getExtras() getSeriaizable() getLong() getColumnIndextOrThrow()
onClick() onClickListener() SaveState() onPause() onResume() 2.
Catatanku
onCreate() registerForContextMenu() onMenuItem Selected() onOptionItemSelected() onContextItemSelected() onListItemClick() onActivityResult() onCreateContextMenu() onDestroy()
3.
Info
webView.webView
onCreate() getSettings()
4.
Splash
onCreate()
5.
DbAdapter
onCreate() onUpgrade() open() close() createnote() updatenote() deletenote() fetchAllnote() fetchnote()
6.
Opening
onCreate() onListItemClick() setListAdapter()
7.
About
webView.webView
onCreate()
getSettings() . 3.2.2. Sequence Diagram Sequence Diagram menggambarkan interaksi antar objek di dalam dan disekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertical (waktu) dan dimensi horizontal (objek-objek yang terkait). Pada sequence diagram ini menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan pada sistem sebagai respon dari sebuah event untuk menghasilkan output tertentu.
User
Reminder Catatan Harian
Pengingat
Buat Catatan Edit Catatan
Simpan Catatan
Lihat Info
Gambar 3.4 Diagram Sequence
3.2.3. Perancangan Navigasi Aplikasi reminder catatan harian ini menggunakan struktur navigasi Hierarchical Model.Dimana menu utama adalah pusat navigasi yang merupakan penghubung ke semua fitur pada aplikasi. MENU
CATATAN MU
HELP
ABOUT
EXIT
Gambar 3.5 Struktur Navigasi Dari struktur navigasi ini, perpindahan antar fitur yang tersedia dapat dilakukan melalui menu. Karena Android mendukung fitur layar sentuh kapasitif yang dapat menerima input sentuhan dari jari, sehingga navigasi dapat dilakukan dengan menggunakan sentuhan pada layar.
BAB IV IMPLEMENTASI Implementasi merupakan tahap pengembangan rancangan menjadi kode program. Pada awal bagian ini dijabarkan spesifikasi perangkat keras dan lunak pada mana program diimplementasikan. Bagian utama implementasi adalah penjabaran rancangan kelas menjadi kelas yang ditulis dalam sintaks Bahasa Pemrograman Java. 4.1 Pembuatan Tampilan Antarmuka Tampilan Utama Pembuatan tampilan antarmuka pada sistem Android di impelmentasikan dalam bentuk XML. Setiap elemen dalam tampilan antarmuka perlu ditambahkan atribut pengenal, sehingga elemen tersebut akan di generate dalam kelas Resource dan memudahkan untuk digunakan pada kelas yang memerlukan. Adapun kode antarmuka tampilan utama adalah sebagai berikut: baris.xml
catatan_edit.xml <Spinner android:id="@+id/kategori" android:layout_width="wrap_content" android:layout_height="wrap_content" android:entries="@array/kategoris"> <EditText android:id="@+id/subjek" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:hint="Subjek" android:imeOptions="actionNext" > <EditText android:id="@+id/deskripsi" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:gravity="top" android:hint="Deskripsi" android:imeOptions="actionNext" > <Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/simpan" >
list_catatan.xml
main.xml
splash.xml
android:layout_height="fill_parent">
4.2 Penulisan kode program 4.2.1 Pembuatan Kelas About package uas.kel.mobpro; import android.app.Activity; import android.os.Bundle; import android.webkit.WebView;
public class About extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WebView webview = new WebView(this); webview.getSettings().setJavaScriptEnabled(true); setContentView(webview); //Load the form webview.loadUrl("file:///android_asset/form.html"); } } 4.2.2 Pembuatan kelas catatanku package uas.kel.mobpro; import android.app.ListActivity; import android.content.Intent; import android.database.Cursor; import android.os.Bundle; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.Menu;
import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.ListView; import android.widget.SimpleCursorAdapter; public class Catatanku extends ListActivity { private DbAdapter dbHelper; private static final int ACTIVITY_CREATE = 0; private static final int ACTIVITY_EDIT = 1; private static final int DELETE_ID = Menu.FIRST + 1; private Cursor cursor;
/** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.list_catatan); this.getListView().setDividerHeight(2); dbHelper = new DbAdapter(this); dbHelper.open(); fillData(); registerForContextMenu(getListView()); }
@Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.listmenu, menu); return true; } // Reaction to the menu selection @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { switch (item.getItemId()) { case R.id.insert: createnote(); return true; } return super.onMenuItemSelected(featureId, item); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) {
case R.id.insert: createnote(); return true; } return super.onOptionsItemSelected(item); } @Override public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()) { case DELETE_ID: AdapterContextMenuInfo info = (AdapterContextMenuInfo) item .getMenuInfo(); dbHelper.deletenote(info.id); fillData(); return true; } return super.onContextItemSelected(item); } private void createnote() { Intent i = new Intent(this, Isicatatan.class); startActivityForResult(i, ACTIVITY_CREATE); } // Opens the second activity if an entry is clicked @Override protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); Intent i = new Intent(this, Isicatatan.class); i.putExtra(DbAdapter.COL_ID, id); // Activity returns an result if called with startActivityForResult startActivityForResult(i, ACTIVITY_EDIT); } // Called with the result of the other activity // requestCode was the origin request code send to the activity // intend can be used to get data @Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { super.onActivityResult(requestCode, resultCode, intent); fillData(); } private void fillData() { cursor = dbHelper.fetchAllnote();
startManagingCursor(cursor); String[] from = new String[] { DbAdapter.COL_SUB }; int[] to = new int[] { R.id.label }; //array adapter untuk menampilkan fields di layout baris, pada labelnya mengambil field subjek SimpleCursorAdapter notes = new SimpleCursorAdapter(this, R.layout.baris, cursor, from, to); setListAdapter(notes); } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); menu.add(0, DELETE_ID, 0, R.string.menu2); } @Override protected void onDestroy() { super.onDestroy(); if (dbHelper != null) { dbHelper.close(); } } } 4.2.3 Pembuatan Kelas DbAdapter package uas.kel.mobpro; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; public class DbAdapter { private static final String DATABASE_NAME = "db_catatan"; private static final int DATABASE_VERSION = 1; // Database fields public static final String COL_ID = "_id"; public static final String COL_KAT = "kategori"; public static final String COL_SUB = "subjek"; public static final String COL_ISI = "isi"; private static final String DB_TABLE = "note"; private static final String TABLE_CREATE = "create table note " + "(_id integer primary key autoincrement, "
+ "kategori text not null, " + "subjek text not null," + " isi text not null);"; private static final String TABLE_DROP = "DROP TABLE IF EXISTS note"; private Context context; private SQLiteDatabase db; private DbHelper dbHelper; public DbAdapter(Context context) { this.context = context; dbHelper = new DbHelper(this.context); } public static class DbHelper extends SQLiteOpenHelper { DbHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(TABLE_CREATE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.w(TABLE_CREATE, "Upgrading database from version " + oldVersion + " to " + newVersion + ", which will destroy all old data"); db.execSQL(TABLE_DROP); onCreate(db); } } public DbAdapter open() throws SQLException { dbHelper = new DbHelper(context); db = dbHelper.getWritableDatabase(); return this; } public void close() { dbHelper.close(); }
public long createnote(String kategori, String subjek, String isi) { ContentValues values = createContentValues(kategori, subjek, isi); return db.insert(DB_TABLE, null, values);
} public boolean updatenote(long rowId, String kategori, String subjek, String isi) { ContentValues values = createContentValues(kategori, subjek, isi); return db.update(DB_TABLE, values, COL_ID + "=" + rowId, null) > 0; } public boolean deletenote(long rowId) { return db.delete(DB_TABLE, COL_ID + "=" + rowId, null) > 0; }
/** * Return Cursor over all notes */ public Cursor fetchAllnote() { return db.query(DB_TABLE, new String[] { COL_ID,COL_KAT, COL_SUB, COL_ISI }, null, null, null, null, null); }
/** * memposisikan pada field note yg dimaksud */ public Cursor fetchnote(long rowId) throws SQLException { Cursor mCursor = db.query(true, DB_TABLE, new String[] { COL_ID,COL_KAT, COL_SUB, COL_ISI }, COL_ID + "=" + rowId, null, null, null, null, null); if (mCursor != null) { mCursor.moveToFirst(); } return mCursor; } private ContentValues createContentValues(String kategori, String subjek, String isi) { ContentValues values = new ContentValues(); values.put(COL_KAT, kategori); values.put(COL_SUB, subjek); values.put(COL_ISI, isi); return values; } }
4.2.4 Pembuatan Kelas Info package uas.kel.mobpro; import android.app.Activity; import android.os.Bundle; import android.webkit.WebView; public class Info extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WebView webview = new WebView(this); webview.getSettings().setJavaScriptEnabled(true); setContentView(webview); //Load the form webview.loadUrl("file:///android_asset/info.html"); } } 4.2.5 Pembuatan Kelas Isicatatan package uas.kel.mobpro; import android.app.Activity; import android.database.Cursor; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Spinner; public class Isicatatan extends Activity { private EditText txtsubjek; private EditText txtisi; private Long mRowId; private DbAdapter mDbHelper; private Spinner skategori; @Override protected void onCreate(Bundle bundle) { super.onCreate(bundle); mDbHelper = new DbAdapter(this); mDbHelper.open(); setContentView(R.layout.catatan_edit); skategori = (Spinner) findViewById(R.id.kategori); txtsubjek = (EditText) findViewById(R.id.subjek); txtisi = (EditText) findViewById(R.id.deskripsi); Button confirmButton = (Button) findViewById(R.id.btn1); mRowId = null; Bundle extras = getIntent().getExtras();
mRowId = (bundle == null) ? null : (Long) bundle .getSerializable(DbAdapter.COL_ID); if (extras != null) { mRowId = extras.getLong(DbAdapter.COL_ID); } populateFields(); confirmButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { setResult(RESULT_OK); finish(); } }); } private void populateFields() { if (mRowId != null) { Cursor note = mDbHelper.fetchnote(mRowId); startManagingCursor(note); String category = note.getString(note .getColumnIndexOrThrow(DbAdapter.COL_KAT)); for (int i = 0; i < skategori.getCount(); i++) { String s = (String) skategori.getItemAtPosition(i); Log.e(null, s + " " + category); if (s.equalsIgnoreCase(category)) { skategori.setSelection(i); } } txtsubjek.setText(note.getString(note .getColumnIndexOrThrow(DbAdapter.COL_SUB))); txtisi.setText(note.getString(note .getColumnIndexOrThrow(DbAdapter.COL_ISI))); } } protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); saveState(); outState.putSerializable(DbAdapter.COL_ID, mRowId); } @Override protected void onPause() { super.onPause();
saveState(); } @Override protected void onResume() { super.onResume(); populateFields(); } private void saveState() { String kat = (String) skategori.getSelectedItem(); String sub = txtsubjek.getText().toString(); String isi = txtisi.getText().toString(); if (mRowId == null) { long id = mDbHelper.createnote(kat, sub, isi); if (id > 0) { mRowId = id; } } else { mDbHelper.updatenote(mRowId, kat, sub, isi); } } } 4.2.6 Pembuatan Kelas Opening package uas.kel.mobpro; import android.app.ListActivity; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; import android.content.Intent; public class Opening extends ListActivity { public void onCreate(Bundle icicle) { super.onCreate(icicle); String[] DietMeter = new String[] { "Catatan mu", "Help", "About", "Exit"}; this.setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, DietMeter)); } @Override protected void onListItemClick(ListView l,View v,int Position,long id){ super.onListItemClick(l, v, Position, id); Object o = this.getListAdapter().getItem(Position); String Teks = o.toString(); ShowThis(Teks);
} public void ShowThis(String Teks) { Intent i = null; if (Teks.equals("Catatan mu")){ i = new Intent(this,Catatanku.class); } else if (Teks.equals("Info Aplikasi")){ i = new Intent(this,Info.class); } else if (Teks.equals("About")){ i = new Intent(this,About.class); } if (i != null) { startActivity(i); } else { finish(); //Toast.makeText(this, Teks, Toast.LENGTH_LONG).show(); } } } 4.2.7 Pembuatan Kelas Splash package uas.kel.mobpro; import android.app.Activity; import android.os.Bundle; import android.content.Intent; public class Splash extends Activity { @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.splash); /* * set timeout splash */ final int welcomeScreenDisplay = 3000; /* * create thread for splash time */ Thread welcomeThread = new Thread() { int wait = 0; @Override public void run() {
try { super.run(); while (wait<welcomeScreenDisplay) { sleep(100); wait += 100; } } catch (Exception e) { System.out.println("Exc = " + e); } finally{ startActivity(new Intent(Splash.this, Opening.class)); finish(); } } }; welcomeThread.start(); } }
BAB V KESIMPULAN DAN SARAN 5.1 KESIMPULAN Bahwasanya program ini dibuat untuk mempermudah seseorang mengingat catatan hariannya. Program ini dibuat menggunakan Software IDE Eclipse, dengan bahasa pemrogrman Java. Program ini dibuat untuk platform ANDROID. 5.2 SARAN Diharapkan, dengan pembuatan program ini dapat digunakan untuk dipergunakan sesuai dengan kapasitas dan spesifikasinya.