APLIKASI NOTE AMAN BERBASIS ANDROID
NASKAH PUBLIKASI
diajukan oleh Muhammad Fakhrur Rozi 09.11.3458
kepada SEKOLAH TINGGI ILMU MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA YOGYAKARTA 2013
Secure Note Application based on Android APLIKASI NOTE AMAN BERBASIS ANDROID Muhammad Fakhrur Rozi Sudarmawan Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA
ABSTRACT The development of the technology world now is very fast, one of them the appearance of the Android OS on mobile phone technology. Android as an operating system that has been growing rapidly has made consumers believe that the best-in-class operating system that initially only be underestimated at the beginning. Android provides an open platform for developers to create an application for use by a wide range of mobile devices. Android is a computer code that can be distributed openly (open source) so that developers can create new applications. One of the facilities that the mobile phone has and almost every mobile phone user must have to wear that note. there were questions about the security of information if someone wants to keep a secret information through this note.With the possibility of data interception, the security aspects in the exchange of information is very important. It is undeniable that the stealing or loss of the device is one of the issues that cause her a leaked confidential information that we have. By encrypting the note or notes, then the level of information security can be improved. From a variety of encryption techniques, encryption using AES method selected as the most secure method at this time. Access to note in this application will be secured by entering password used to cipher key known only to the owner of the device so that the note will be safe from unauthorized access. Keywords: Secure Note, AES Method, Android
1.
Pendahuluan Pesatnya perkembangan teknologi saat ini salah satunya yaitu teknologi informasi
(TI)
,
memicu
semua
aspek
kehidupan
dan
keilmuan
berkembang
untuk
mengaplikasikannya. Sehingga perkembangan ilmu teknologi informasi diikuti dengan berkembangnya tingkat mobilitas manusia, beberapa tahun terakhir ini tengah muncul berbagai macam perangkat bergerak atau mobile device. Salah satu perangkat yang paling tenar saat ini adalah smartphone berbasis android, dimana hampir setiap orang memilikinya. Android sebagai sistem informasi berbasis linux dapat dipergunakan di berbagai perangkat mobile. Dan hingga saat ini android terus berkembang baik dari segi sistem maupun aplikasinya. Salah satu fasilitas yang dimiliki oleh mobile phone dan hampir setiap pengguna mobile phone pasti pernah memakainya yaitu note. Note merupakan aplikasi bawaan mobile phone kegunaannya yaitu untuk menulis catatan agar kita tidak lupa apabila ada sesuatu yang penting seperti pin ATM dan lainnya. Namun note yang ada, menimbulkan pertanyaan mengenai keamanan informasi di dalamnya jika seseorang ingin mengyimpan suatu informasi rahasia melalui fasilitas note ini. Dengan adanya kemungkinan penyadapan data, maka aspek keamanan dalam pertukaran informasi menjadi sangat penting. Tidak dipungkiri juga bahwa pencurian
atau kehilangan device merupakan salah satu masalah yang
mengakibatkan bocor nya suatu informasi rahasia yang kita miliki. Maka dari itu, dengan kemajuan teknologi saat ini perlu dibuat sebuah aplikasi yang memudahkan seseorang untuk melindungi
data
pribadi
yang
sangat
penting
dan
dirahasiakan.
Aplikasi
ini
mengimplementasikan algoritma AES yang akan digunakan pada teknologi android. Berdasarkan latar belakang yang telah dipaparkan sebelumnya, maka penulis bermaksud mengambil topik skripsi ini dengan judul “APLIKASI NOTE AMAN BERBASIS ANDROID ”.
2.
Landasan Teori
2.1
Kriptografi
2.1.1
Definisi Kriptografi Kriptografi berasal dari dua kata Yunani, yaitu Crypto yang berarti rahasia dan
Grapho yang berarti menulis. Secara umum kriptografi dapat diartikan sebagai ilmu dan seni penyandian yang bertujuan untuk menjaga keamanan dan kerahasiaan suatu pesan.
1
Kriptografi pada dasarnya sudah dikenal sejak lama. Menurut catatan sejarah, kriptografi sudah digunakan oleh bangsa Mesir sejak 4000 tahun yang lalu oleh raja-raja Mesir pada saat perang untuk mengirimkan pesan rahasia kepada panglima perangnya melalui kurirkurinya. Orang yang melakukan penyandian ini disebut kriptografer, sedangkan orang yang mendalami ilmu dan seni dalam membuka atau memecahkan suatu algoritma kriptografi tanpa harus mengetahui kuncinya disebut kriptanalis. 2.1.2
Proses Kriptografi Kriptografi pada dasarnya terdiri dari dua proses, yaitu proses enkripsi dan proses
dekripsi. Proses enkripsi adalah proses penyandian pesan terbuka menjadi pesan rahasia (ciphertext). Ciphertext inilah yang nantinya akan dikirimkan melalui saluran komunikasi terbuka. Pada saat ciphertext diterima oleh penerima pesan, maka pesan rahasia tersebut diubah lagi menjadi pesan terbuka melalui proses dekripsi sehingga pesan tadi dapat dibaca kembali oleh penerima pesan. 2.13
Metode AES ( Advanced Encryption Standard ) AES (Advanced Encryption Standard) merupakan salah satu algoritma enkripsi yang
sangat terkenal didunia saat ini, AES merupakan blok kode simetris yang menggantikan algoritma DES (Data Encryption Standard) dan telah dipublikasikan oleh NIST sejak tahun 2001. Input dan output dari algoritma AES terdiri dari urutan data sebesar 128 bit. Urutan data yang sudah terbentuk dalam satu kelompok 128 bit tersebut disebut juga sebagai blok 1
Dony Ariyus, 2008, Pengantar Ilmu Kriptografi, Yogyakarta : Andi, Hal 13
data atau plaintext yang nantinya akan dienkripsi menjadi ciphertext. Cipher key dari AES terdiri dari key dengan panjang 128 bit, 192 bit, atau 256 bit. Urutan bit diberi nomor urut dari 0 sampai dengan n-1 dimana n adalah nomor urutan. Urutan data 8 bit secara berurutan disebut sebagai byte dimana byte ini adalah unit dasar dari operasi yang akan dilakukan pada blok data. Dalam algoritma AES, data sepanjang 128 bit akan dibagi-bagi menjadi array byte dimana setiap array byte ini terdiri dari 8 bit data input yang saling berurutan. 2.2
Android Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang
mencakup sistem operasi, middleware dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka. Awalnya, Google Inc. membeli Android Inc. yang merupakan pendatang baru yang membuat perangkat lunak untuk ponsel/smartphone. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan piranti keras, pirantik lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.
2
2.2.1 Sejarah Android Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak, Google merilis kode-kode / script Android dibawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler. Sekitar bulan September 2007 sebuah studi melaporkan bahwa Google mengajukan hak paten aplikasi telepon seluler. Sejak Android dirilis telah dilakukan berbagai pembaruan berupa perbaikan bug dan penambahan berbagai macam fitur baru. Telepon pertama yang memakai sistem operasi Android adalah HTC Dream, yang dirilis pada 22 Oktober 2008. Pada penghujung 2009 diperkirakan di dunia ini paling sedikit terdapat 18 jenis telepon seluler yang menggunakan Android. Akhirnya Google mengenalkan Nexus One, salah satu jenis smartphone yang menggunakan Android pada sistem operasinya. Telepon seluler ini diproduksi oleh HTC Corporation dan tersedia dipasaran pada 5 Januari 2010. 2
H, Nazruddin Safaat, 2012, Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android, Bandung : Informatika, Hal 1
2.2.2
Perkembangan Android Android dalam beberapa tahun ini memiliki perkembangan yang cukup pesat, pada
tahun 2012 Android sudah meluncurkan versi terbarunya yaitu Jelly Bean. Berikut ini merupakan sejarah perkembangan versi Android: 1.
Android versi 1.1 9 Maret 2009, Google merilis Android versi 1.1, Android versi ini
dilengkapi dengan pembaruan estetis pada aplikasi, jam, alarm, voice search (pencarian suara), pengiriman pesan dengan Gmail, dan pemberitauan email. 2.
Android versi 1.5 (Cupcake) Pada pertengahan Mei 2009, Google kembali merilis telepon seluler
dengan menggunakan Android dan SDK (Software Development Kit) dengan versi
1.5
(Cupcake).
Terdapat
beberapa
pembaruan
termasuk
juga
penambahan beberapa fitur dalam seluler versi ini yakni kemampuan merekam dan menonton video dengan modus kamera, meng-upload video Youtube dan gambar ke Picasa langsung dari telepon, dukungan Bluetooth A2DP, kemampuan terhubung secara otomatis ke headset Bluetooth, animasi layar, dan keyboard pada layar yang dapat disesuaikan dengan sistem. 3.
Android versi 1.6 (Donut) Donut versi 1.6 dirilis pada September dengan menampilkan proses
pencarian yang lebih baik dibanding sebelumnya, penggunaan baterai indikator dan kontrol applet VPN. Fitur lainnya adalah galeri yang memungkinkan pengguna untuk memilih foto yang akan dihapus, kamera, camcorder dan galeri yang diintegrasikan, CDMA/EVDO, 802.1x, VPN, Gestures, dan Text-to-speech engine, kemampuan dial kontak, teknologi text to change speech (tidak tersedia pada semua ponsel), pengadaan resolusi VWGA. 4.
Android versi 2.0/2.1 (Eclair) Pada 3 Desember 2009 kembali diluncurkan ponsel Android dengan
versi 2.0/2.1 (Eclair), perubahan yang dilakukan adalah pengoptimalan hardware, peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru dan dukungan HTML5, daftar kontak yang baru, dukungan flash untuk kamera 3.2 MP, digital Zoom, dan Bluetooth 2.1. 5.
Android versi 2.2 (Froyo : Frozen Yoghurt )
Pada bulan Mei 2010 Android versi 2.2 Rev 1 diluncurkan, Android inilah yang sekarang sangat banyak beredar di pasaran, salah satunya adalah dipakai di Samsung FX tab yang sudah ada di pasaran. 6. Android versi 2.3 (Gingerbread) Android versi 2.3 diluncurkan pada Desember 2010. 7.
Android versi 3.0 (Honeycomb) Android versi 3.0 dirilis Februari 2011 sebagai android 3.0 revisi 1 serta
android 3.0 revision 2 telah dirilis pada Juli 2011 8.
Android versi 3.1 Android versi 3.1 dirilis Mei 2011, sedangkan android 3.1 revisi 2 juga
dirilis Mei 2011, serta Android 3.1 revision 3 dirilis pada Juli 2011. 9.
Android versi 3.2 Android versi 3.2 dirilis Juli 2011.
10. Android versi 4.0 Ice Cream Sandwich Android versi 4.0 dirilis November 2011. 11. Android versi 4.1 Jelly Bean Android versi 4.1 dirilis Juni 2012.
2.2.3
Data Storage Android Android merupaka platform yang kompleks dan sangat bisa diandalkan. Tentu saja di
dalamnya ada tool untuk menyimpan data karena kebutuhan penyimpanan data sangat penting dalam sebuah aplikasi.
2.2.4
Shared Preference Shared Prefeence merupakan antarmuka yang bisa dipakai oleh aplikasi untuk
menyimpan data dengan cepat dan efisien. Misalkan aplikasi bernama aplikasi.datastorage, Maka
android
akan
membuat
file
xml
di
direktori
/data/data/aplikasi.datastorage/shared_prefs. Shared preference biasanya digunakan untuk menyimpan setting aplikasi, seperti user setting, theme, dan property general dari aplikasi. Bisa juga digunakan untuk menyimpan informasi seperti username, password, autologin, dan lainnya. Data di shared preference bisa diakses oleh semua komponen pada aplikasi yang membuatnya.
2.2.5
Database SQLite SQLite merupakan database Open Source yang di-embed ke android. SQLite
mendukung fitur database RDBMS standar, seperti sintaks SQL, transaksi, dan prepared statement. Walaupun demikian, SQLite hanya membutuhkan sedikit memory saat runtime, yatu sekitar 250 kByte. Komunikasi utama yang digunakan adalah melalui pemanggilan API secara langsung melalui bahasa pemrograman. Keuntungan dai mekanisme seperti ini adalah dapat mereduksi overhead, latency times, dan secara keseluruhan lebih sederhana.
2.3
UML
2.3.1
Definisi UML Unified Modeling Language (UML) adalah keluarga notasi grafis yang didukung oleh
meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi obyek (OOP). (Fowler, 2004, h. 1) UML mulai diperkenalkan oleh object Management Group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP. UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM.
2.3.2
Use Case Diagram Use Case Diagram adalah teknik untuk merekam persyaratan fungsional sebuah
sistem. Use Case mendeskripsikan interaksi tipikal antara pengguna sistem dengan sistem itu sendiri, dengan memberi sebuah narasi tentang bagaimana sistem tersebut digunakan. (Fowler, 2004, h. 141)
2.3.3
Class Diagram Class diagram mendeskripsikan jenis-jenis objek dalam sistem dan berbagai macam
hubungan statis yang terdapat diantara mereka. Class diagram juga menunjukan properti dan operasi sebuah class dan batasan-batasan yang terdapat dalam hubungan-hubungan objek tersebut. (Fowler, 2004, h. 53)
2.3.4
Sequence Diagram Sequence diagram menunjukkan bagaimana kelompok-kelompok obyek saling
berkolaborasi dalam beberapa behavior. UML memiliki beberapa bentuk interactions diagram dan yang paling umum digunakan adalah sequence diagram. (Fowler, 2004, h. 81)
2.3.5
Activity Diagram Activity Diagram adalah teknik untuk menggambarkan logika prosedural, proses
bisnis dan jalur kerja. Dalam beberapa hal, diagram ini memainkan peran mirip dengan sebuah diagram alir, tetapi perbedaan prinsip antara diagram ini dan notasi diagram alir adalah diagram ini mendukung behavior paralel. (Fowler, 2004, h. 163)
2.4
Eclipse Aplikasi Android di tulis dan dibangun dengan menggunakan Java, dengan begitu
ada ada beberapa pilihan Aplication Building Tools. Baik dengan memakai IDE (Integrated Development Environment) atau dengan CLI (Command Line Interface). Akan tetapi pada saat ini OHA (Open Handset Alliance) dan Google sangat mendukung Eclipse sebagai IDE Java untuk membangun aplikasi android dibandingkan dengan IDE lain. Salah satu bukti adalah dirilisnya plugin ADT (Android Development Tools) untuk Eclipse. ADT akan mempersingkat waktu pembangunan aplikasi, menyediakan editor kode Android yang akan membantu ketika menulis file XML pada Android Manifest dan File Resources, juga Project Wizard yang akan membuat file dasar yang diperlukan pada saat pembangunan aplikasi Android.
3.
Analisis Dan Perancangan Sistem
3.1
Analisis Sistem Berdasarkan pengamatan penulis,
maka analisis yang tepat untuk mengetahui
sistem adalah analisis SWOT, yaitu metode perencanaan strategi yang digunakan untuk mengevaluasi kekuatan, kelemahan, peluang, dan ancaman dalam suatu proyek. Proses ini melibatkan penentuan tujuan spesifik dari spekulasi proyek dan mengidentifikasi faktor internal dan eksternal, yang mendukung dan yang tidak dalam mencari tujuan tersebut.
3.1.1
Strength (Kekuatan) Merupakan analisis yang melihat kekuatan atau sumber daya apa saja yang
dibutuhkan. Aplikasi ini menggunakan software eclipse yang memiliki sifat multi-plathalaman, multi-language, multi-role dan juga pastinya open source, sehingga membantu penulis dalam pelaksanaan pengerjaan aplikasi ini. Selain itu juga memungkinkan skripsi ini dapat diselesaikan tepat pada waktunya. 3.1.2 Weaknesses (Kelemahan) Keterbatasan device yang dimiliki penulis dalam percobaan aplikasi ini sehingga penulis belum mengetahui apakah aplikasi ini dapat berjalan dengan lancar dan aman pada setiap versi sistem operasi android. 3.1.3 Opportunities (Peluang) Belum banyak aplikasi note atau catatan pada sistem operasi android yang menerapkan algoritma AES sehingga penerapan algoritma AES memenuhi kebutuhan user akan keamanan dalam penyimpanan data. 3.1.4 Threats (Ancaman) Sudah tersedianya Aplikasi sejenis yang berjalan di sistem operasi android, hanya saja berbeda konsep pada note yang akan di rancang penulis.
3.2
Analisis Kebutuhan Sistem
3.2.1
Kebutuhan Fungsional Kebutuhan fungsional berisi proses-proses apa saja yang nantinya dilakukan oleh
sistem 3.2.2
Kebutuhan Non Fungsional Kebutuhan non-fungsional menjabarkan apa-apa saja yang harus dimiliki oleh sistem
agar dapat berjalan. Kebutuhan non-fungsional meliputi ketersedian perangkat keras, dan perangkat lunak.
3.2.2.1 Analisis Kebutuhan Perangkat Keras (Hardware) Perangkat keras adalah semua bagian fisik komputer yang dibedakan dengan data yang berada didalamnya atau yang beroperasi didalamnya 3.2.2.1 Kebutuhan Perangkat Lunak (Software) Perangkat lunak adalah program yang digunakan untuk menjalankan
perangkat
keras. Tanpa adanya perangkat lunak ini komponen perangkat keras ini tidak dapat berfungsi. 3.3
Analisis Kelayakan Sistem 1. Kelayakan Teknologi Kemudahan
yang
dihasilkan
oleh
ponsel
berbasis
Android
memungkinkan dibuatnya sebuah aplikasi untuk memberikan kenyamanan dan keamanan dalam menyimpan data, sehingga user tak perlu khawatir lagi akan keamanan isi note atau catatan yang penting. 2. Kelayakan Hukum Secara hukum, sistem ini telah memenuhi aturan dan undang-undang yang berlaku karena sistem ini dibuat menggunakan programming script yang bersifat freeware. 3. Kelayakan Operasional Aplikasi Note Aman yang akan dibangun nantinya dapat dijalankan pada perangkat mobile berbasis Android minimal versi 2.2 Android Froyo. Seperti diketahui Android merupakan mobile plathalaman dengan penetrasi yang besar, penggunanya sangat banyak sampai saat ini dan merupakan salah satu perangkat mobile yang paling diminati di dunia. Selain itu dengan memperhatikan kondisi pengguna dan dengan basis data yang disesuaikan pengguna . 3.4
Perancangan Sistem Perancangan sitem yang akan di lakukan meliputi tiga tahap, yaitu : 1.
Perancangan proses
2.
Perancangan basis data
3.
Perancangan antar muka (interface)
3.4.1 Perancangan Proses
Setiap actor dalam sistem diasosiasikan dengan use case yang ada. Satu atau lebih dapat muncul pada use case yang sama. 3.4.2 Perancangan Basis Data Sistem ini membutuhkan sebuah basis data yang akan digunakan untuk menyimpan sebuah informasi yang akan digunakan pada aplikasi ini. Perancangan basis data aplikasi Notes Aman berdasarkan pada class diagram .
4. 4.1
Implementasi dan Pembahasan Implemetasi Implementasi merupakan tahapan setelah melakukan analisis dan perancangan
sistem pada siklus rekayasa perangkat lunak dimana aplikasi siap dioperasikan pada keadaan yang sebenarnya sehingga dari sini akan dapat diketahui apakah aplikasi yang telah dibuat benar-benar dapat menghasilkan output atau keluaran yang sudah sesuai dengan tujuan yang diinginkan. Implementasi dan pembahasan pembuatan aplikasi notes aman dengan menggunakan emulator perangkat android pada eclipse dan smartphone Samsung Galaxy Ace. Pengimplementasian aplikasi ini didasarkan pada class yang terdapat di use case dan sequence diagram yang telah dibuat sebelumnya. 4.1.1
Case Create Case ini berfungsi sebagai halaman Create Notes ketika aplikasi dijalankan dan user
memilih menu create. public void btn_1(View v){ Intent detail=new Intent("com.catatan_aman.CREATE"); startActivity(detail); } Listing program di atas merupakan method pemanggilan class create. Method diatas akan merespond apabila user memilih menu create di menu utama yang mana method tersebut akan mengarahkan ke class create.java. Pada halaman create user di persilahkan untuk membuat note atau catatan. Note yang telah dibuat akan diamankan dengan password yang mana password tersebut akan di enkripsi dengan AES. Proses enkripsi ini berjalan
setelah user menyimpan catatannya dan proses ini akan berjalan secara background, sehingga user tidak kebingungan dalam menggunakan aplikasi ini. Berikut listing program class create.java :
.
public static byte[] demo2decrypt(byte[] keyBytes, String sPadding, byte[] encryptedMessageBytes) throws Exception { Cipher decipher = getAESECBDecryptor(keyBytes, sPadding); return decrypt(decipher, encryptedMessageBytes); } public void simpan(View v){ String passUtama = "h2j3m5n2m6n8m1n4m67k4g"; String StrPasswordMesage = edKey.getText().toString(); String StrContentMesage = edText.getText().toString(); byte[] ContentBytes = StrContentMesage.getBytes(); byte[] PasswordBytes = StrPasswordMesage.getBytes(); String sPadding = "ISO10126Padding"; String StrPassAwal = edKey.getText().toString(); int IntPass = StrPassAwal.length(); String StrPassAkhir = passUtama.substring(IntPass, 22); String Pass = StrPassAwal + StrPassAkhir; byte[] ecryptContent = null; try {ecryptContent = demo2encrypt(SimpleBase64Encoder.dec ode(Pass+"=="), sPadding, ContentBytes);} catch (Exception e) Gambar IV.1 Tampilan Halaman Create Notes {e.printStackTrace();} byte[] ecryptPassword = null; public void onCreate(Bundle try { savedInstanceState) { super.onCreate(savedInstanceState); ecryptPassword = setContentView(R.layout.create); demo2encrypt(SimpleBase64Encoder.dec ode(passUtama+"=="), sPadding, Listing program diatas merupakan method pemanggilan halaman create. PasswordBytes); } catch (Exception e) { e.printStackTrace(); } String EncContent = new String(SimpleBase64Encoder.encode(ec ryptContent)); String EncPassword = new
. public void simpan(View v){ String passUtama = "h2j3m5n2m6n8m1n4m67k4g"; String StrPasswordMesage = edKey.getText().toString(); String StrContentMesage = edText.getText().toString(); byte[] ContentBytes = StrContentMesage.getBytes(); byte[] PasswordBytes = StrPasswordMesage.getBytes(); String sPadding = "ISO10126Padding"; String StrPassAwal = edKey.getText().toString(); byte[] ecryptContent = null; int IntPass = try { StrPassAwal.length(); ecryptContent = demo2encrypt(SimpleBase64Encoder.decode(P String StrPassAkhir = ass+"=="), sPadding, ContentBytes); passUtama.substring(IntPass, 22); } catch e) { + String Pass (Exception = StrPassAwal e.printStackTrace(); StrPassAkhir; } byte[] ecryptPassword = null; try { ecryptPassword = demo2encrypt(SimpleBase64Encoder.decode(p assUtama+"=="), sPadding, PasswordBytes); } catch (Exception e) { e.printStackTrace(); } String EncContent = new String(SimpleBase64Encoder.encode(ecryptC ontent)); String EncPassword = new Listing programString(SimpleBase64Encoder.encode(ecryptP diatas merupakan method button save. Method di atas akan assword)); merespond jika user mengklik button save dan secara otomatis isi note dan password yang telah dibuat akan terenkripsi dan tersimpan ke dalam database secara otomatis. Listing di db.execSQL("INSERT INTO data(" + atas juga menghubungkan antara class create dengan class history. User akan masuk "title," + "content," + "password," + "hint" + ")" + "VALUES" + "(" +
secara otomatis ke dalam class history setelah user mengklik button save. Pada class ini user dapat melihat list note atau catatan yang pernah di buat sebelumnya. public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.history); dbHelper = new mySqlHelper(this); db = dbHelper.getReadableDatabase(); Listing program diatas berfungsi mamangil case history. Note atau catatan yang listCatatan = (ListView) this.findViewById(R.id.listView1); telah dibuat dan menampilkannya ke dalam bentuk list. refresh();} public void refresh(){ cursor = db.rawQuery("SELECT * FROM data",null); listCatatan.setOnItemClickListener(new adapter = { new SimpleCursorAdapter( OnItemClickListener() this, public void R.layout.row2, onItemClick(AdapterView> arg0, View arg1, int cursor, arg2, new String[]long {"title"}, arg3) { new int[]{R.id.t1}); listCatatan.setAdapter(adapter); cursor.moveToPosition(arg2); final String id = cursor.getString(cursor.getColumnIndex("_id")); final String nama = cursor.getString(cursor.getColumnIndex("title")); test (id,nama); }})} Listing program diatas berfungsi agar note atau catatan yang sebelumnya berbentuk list dapat dipilih dan diarahkan oleh cursor. public void test(String id, String nama){ //Toast.makeText(this, id+"="+nama, Toast.LENGTH_SHORT).show(); Intent detail=new Intent("com.catatan_aman.OPEN"); detail.putExtra("id", id); startActivity(detail); } Listing program di atas berfungsi mengarahkan user ke halaman open setelah user selesai memilih note atau catatan yang ingin dibuka.
Gambar IV.2 Tampilan Halaman History
Gambar IV.3 Tampilan Halaman Open Notes Setelah itu user akan dipersilahkan membaca note atau catatan yang telah dibuatnya. Di dalam case detail atau halaman note ini user hanya dapat melihat dan menghapus note atau catatan
Gambar IV.4 Tampilan Halaman Notes 4.1.2
Case History Case ini berfungsi sebagai halaman Create Notes ketika aplikasi dijalankan dan user
memilih menu create.
4.1.3
Case Bantuan Case ini mempunyai fungsi sebagai halaman Help ketika aplikasi dijalankan dan user
memilih menu bantuan. Pada halaman ini user akan di perkenalkan apa saja fungsi dari masing – masing menu.
Gambar IV.5 Tampilan Halaman Bantuan 4.1.4
Case Tentang Case ini mempunyai fungsi sebagai halaman Tentang ketika aplikasi dijalankan dan
user memilih menu tentang. Pada halaman ini user akan di perkenalkan siapa pembuat dari aplikasi ini.
Gambar IV.6 Tampilan Halaman Tentang
4.2
Pembahasan Pada penjelasan case yang terlibat di atas maupun pengujian proses yang berjalan
di dalamnya, maka penulis mendapatkan beberapa poin penting, sebagai berikut : A. Proses yang terjadi pada case create, sebagai berikut : 1)
Data yang dimasukkan user kemudian dikirim ke class mySqlHelper.java database.
untuk
memasukkan
data
ke
dalam
2)
Data yang telah masuk ke dalam database akan di kirim ke class history.java yang mana nanti akan masuk ke halaman List Notes dan akan di teruskan ke halaman Open Notes, jika user ingin melihat note atau catatan yang telah di buatnya.
B. Proses yang terjadi pada case history dan detail, sebagai berikut : 1)
Data yang dimasukkan user kemudian dikirim ke class mySqlHelper.java untuk proses validasi.
2)
Data yang telah masuk ke dalam database akan di kirim ke class history.java dan detail.java yang mana nanti akan masuk ke halaman List Notes dan akan di teruskan ke halaman Open Notes dan Notes, jika user ingin melihat note atau catatan yang telah di buatnya.
C. Proses yang terjadi pada case bantuan, sebagai berikut : 1) Pengguna memilih menu help. 2) Program secara langsung mengarahkan ke layout bantuan.xml dan menampilkannya. D. Proses yang terjadi pada case tentang, sebagai berikut : 1) Pengguna memilih menu help. 2) Program secara langsung mengarahkan ke layout tentang.xml dan menampilkannya. Jadi, dari pengujian dan pembahasan pada case create, history, bantuan, dan tentang maka penulis dapat menyimpulkan implementasi pada class ini sukses dikerjakan.
5.
Penutup
5.1
Kesimpulan Berdasarkan rumusan masalah, tujuan penelitian, implementasi dan pembahasan
maka penulis dapat mengambil kesimpulan sebagai berikut : 1. Pembuatan aplikasi notes aman berbasis android berhasil dicapai. 2. Aplikasi ini berbeda dengan aplikasi note yang ada. Biasanya aplikasi yang ada kebanyakan mengunakan metode cloud computing tetapi aplikasi yang penulis buat di lengkapi fitur password yang dienkripsi dengan menggunakan algoritma AES yang mana untuk meminimalisir terjadinya kebocoran data berhasil dicapai.
5.2
Saran Saran pengembangan aplikasi ini, didapatkan saran penting yang perlu diperhatikan
untuk pengembangan lebih lanjut, diantaranya; 1. Penambahan fitur new tab, hal ini memungkinkan user dapat membuka note atau catatan lebih dari satu . 2. Penambahan fitur edit dan save changes pada halaman notes sehingga user dapat dengan mudah mengedit catatan. 3. Memberikan pembatasan password sehingga keamanannya lebih terjamin .
DAFTAR PUSTAKA
Ariyus, Donny. 2008. Pengantar Ilmu Kriptografi. Yogyakarta: Andi Offset. Dharwiyanti, Sri dan Romi Satria Wahono.2003. Pengantar UML. Diunduh dari : http://setia.staff.gunadarma.ac.id/Downloads/riks/6077/Modul_UML.pdf. diakses tanggal 16 September 2013 jam 19.30. Fatimah, Wina Noviani. 2011. Pengenalan Eclipse: Pengenalan Tentang Sejarah Singkat Mengenai Eclipse dan Cara Instalasi Eclipse. http://wi01.files.wordpress.com/2011/02/pengenalan_eclipse.pdf diakses tanggal diakses pada 16 September 2013 jam 19.30. Huda, Arif Akbarul. 2012. 24 Jam Pintar Pemrograman Android. Yogyakarta: Andi Offset. Khannedy, Eko Kurniawan.2012. Membuat Aplikasi Android Sederhana. https://docs.google.com/file/d/0B3UxDd4duYHuRVl2N0RaMjB1c0k/edit diakses pada tanggal 30 oktober 2013 jam 10.15. Prabadiraharja. 2011. Daftar Simbol. http://www.prabadiraharja.com/.../DAFTAR_SIMBOL.doc. diakses pada 16 September 2013 jam 20.05. Safaat, Nazzrudin H. 2011.Pemrograman Aplikasi Mobile Smartphone dan Tablet PC berbasis Android (Edisi Revisi). Bandung : Informatika. Winarno, Edi, dkk. 2011. Membuat Sendiri Aplikasi Android Untuk Pemula. Jakarta: Elexmedia Komputindo.