Post on 07-May-2019
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 kurir-
kurinya. 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. Implementasi dan Pembahasan
4.1 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.
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
public void btn_1(View v){
Intent detail=new
Intent("com.catatan_aman.CREATE");
startActivity(detail);
}
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 :
.
Gambar IV.1 Tampilan Halaman Create Notes
Listing program diatas merupakan method pemanggilan halaman create.
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)
{e.printStackTrace();}
byte[] ecryptPassword =
null;
try {
ecryptPassword =
demo2encrypt(SimpleBase64Encoder.dec
ode(passUtama+"=="), sPadding,
PasswordBytes);
} catch (Exception
e) {
e.printStackTrace();
}
String EncContent = new
String(SimpleBase64Encoder.encode(ec
ryptContent));
String EncPassword = new
public void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.create);
.
Listing program diatas merupakan method button save. Method di atas akan
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
atas juga menghubungkan antara class create dengan class history. User akan masuk
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.decode(Pass+"=="), sPadding, ContentBytes); } catch (Exception e) { e.printStackTrace(); } byte[] ecryptPassword = null; try { ecryptPassword = demo2encrypt(SimpleBase64Encoder.decode(passUtama+"=="), sPadding, PasswordBytes); } catch (Exception e) { e.printStackTrace(); } String EncContent = new String(SimpleBase64Encoder.encode(ecryptContent)); String EncPassword = new String(SimpleBase64Encoder.encode(ecryptPassword)); db.execSQL("INSERT INTO data(" + "title," + "content," + "password," + "hint" + ")" + "VALUES" + "(" + "'"+edTitle.getText().toString()+"'
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.
Listing program diatas berfungsi mamangil case history. Note atau catatan yang
telah dibuat dan menampilkannya ke dalam bentuk list.
Listing program diatas berfungsi agar note atau catatan yang sebelumnya berbentuk
list dapat dipilih dan diarahkan oleh cursor.
Listing program di atas berfungsi mengarahkan user ke halaman open setelah user
selesai memilih note atau catatan yang ingin dibuka.
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);
}
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.history);
dbHelper = new mySqlHelper(this);
db =
dbHelper.getReadableDatabase();
listCatatan = (ListView)
this.findViewById(R.id.listView1);
refresh();}
public void refresh(){
cursor = db.rawQuery("SELECT * FROM
data",null);
adapter = new SimpleCursorAdapter(
this,
R.layout.row2,
cursor,
new String[] {"title"},
new int[]{R.id.t1});
listCatatan.setAdapter(adapter);
listCatatan.setOnItemClickListener(new
OnItemClickListener() {
public void
onItemClick(AdapterView<?> arg0, View arg1, int
arg2,
long arg3) {
cursor.moveToPosition(arg2);
final String id =
cursor.getString(cursor.getColumnIndex("_id"));
final String nama =
cursor.getString(cursor.getColumnIndex("title"));
test (id,nama);
}})}
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 untuk memasukkan data ke dalam
database.
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.