Protocol Keamanan Menggunakan Kriptografi ( Enkripsi dan Dekripsi )
ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64 ...
Transcript of ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64 ...
ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN
METODE BASE64 BERBASIS ANDROID
TUGAS AKHIR
MHD JERRY PRABOWO
152406106
PROGRAM STUDI D3 TEKNIK INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2018
UNIVERSITAS SUMATERA UTARA
ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN
METODE BASE64 BERBASIS ANDROID
TUGAS AKHIR
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh
Ahli Madya
MHD JERRY PRABOWO
152406106
PROGRAM STUDI D3 TEKNIK INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2018
UNIVERSITAS SUMATERA UTARA
PERNYATAAN
ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN
METODE BASE64 BERBASIS ANDROID
TUGAS AKHIR
Saya menyatakan bahwa laporan tugas akhir ini adalah hasil karya sendiri, kecuali
beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Juni 2018
Mhd Jerry Prabowo
152406106
UNIVERSITAS SUMATERA UTARA
PERSETUJUAN LAPORAN TUGAS AKHIR
Judul : Enkripsi dan Dekri[si dengan Menggunakan Metode Base64
Berbasis Android
Kategori : Tugas Akhir
Nama : Mhd Jerry Prabowo
Nomor Induk Mahasiswa : 152406106
Program Studi : Diploma 3 Teknik Informatika
Fakultas : MIPA – Universitas Sumatera Utara
Disetujui di
Medan, Juni 2018
Ketua Program Studi Pembimbing
Dra. Normalina Napitupulu, M.Sc Ulfi Andayani, S.Kom., M.Kom
NIP. 196311061989022001 NIP. 198604192015042004
UNIVERSITAS SUMATERA UTARA
ABSTRAK
ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE
BASE64 BERBASIS ANDROID
Oleh :
Mhd Jerry Prabowo (152406106)
Masalah keamanan salah satu aspek penting dalam suatu sistem, tetapi sering kali keamanan
suatu sistem diabaikan. Sering kali pada perancangan masalah suatu sistem, keamanan berada
diurutan setelah tampilan atau bahkan berada diurutan terakhir dari daftar hal-hal yang
dianggap penting dari suatu sistem. Tujuan utama dari aplikasi ini adalah untuk memudahkan
dalam melakukan enkripsi serta dekripsi data dalam penyandian menggunakan kriptogtafi
base64.
Terdapat beberapa tahapan dalam pembuatan aplikasi ini, yaitu analisa, perancangan,
proses pengerjaan dan evaluasi terhadap model program yang telah dihasilkan. Tujuan utama
dari aplikasi ini adalah untuk memudahkan dalam melakukan enkripsi serta dekripsi data
dalam penyandian.
Kata Kunci: Kriptografi, Enkripsi, Dekripsi, Keamanan
UNIVERSITAS SUMATERA UTARA
ABSTRACT
ENCRYPTION AND DECRYPTION USING BASE64 METHODS BASED ON ANDROID
Submitted by
Mhd Jerry Prabowo (152406106)
Security issues are an important aspect of a system, but often the security of a system is
ignored. Often on the design of the problem of a system, security is ranked after display or even in
the last order of the list of things that are considered important of a system. The main purpose of
this application is to facilitate the encryption and decryption of data in the encryption using
base64 cryptogtafi.
There are several stages in making this application, namely analysis, design, process
workmanship and evaluation of the program model that has been produced. The main purpose of this application is to facilitate the encryption and decryption of data in the encoding.
Keywords: Cryptography, Encryption, Decryption, Security
UNIVERSITAS SUMATERA UTARA
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Pemurah dan Maha
Penyayang, dengan limpah karunia-Nya Penulis dapat menyelesaikan penyusunan laporan tugas
akhir ini dengan judul Enkripsi dan Dekripsi dengan Menggunakan Metode Base64 Berbasis
Android.
Terima kasih penulis sampaikan kepada Ibu Ulfi Andayani, S.Kom., M.Kom selaku
pembimbing yang telah meluangkan waktunya selama penyusunan laporan tugas akhir ini.
Terima kasih kepada Ibu Dra. Normalina Napitupulu, M.Sc dan Bapak Drs. James Piter
Marbun, M.Kom selaku ketua program studi dan sekertaris program studi D3 Teknik Informatika
FMIPA-USU Medan, dekan dan wakil dekan FMIPA USU, seluruh staf dan dosen Program studi
D3 Teknik Informatika FMIPA USU, pegawai dan rekan-rekan kuliah. Akhirnya tidak
terlupakan kepada Bapak, Ibu dan keluarga yang selama ini memberikan bantuan dan dorongan
yang diperlukan. Semoga Tuhan Yang Maha Esa akan membalasnya.
Medan, Juni 2018
Mhd Jerry Prabowo
UNIVERSITAS SUMATERA UTARA
v
DAFTAR ISI
Halaman
PERSETUJUAN LAPORAN TUGAS AKHIR i
ABSTRAK ii
ABSTRACT iii
PENGHARGAAN iv
DAFTAR ISI v
DAFTAR TABEL vii
DAFTAR GAMBAR viii
DAFTAR LAMPIRAN ix
DAFTAR SINGKATAN x
BAB 1. PENDAHULUAN
1.2 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 3
1.4. Tujuan Penelitian 3
1.5. Manfaat Penelitian 3
1.6. Metodologi 3
1.7. Sistematika Penulisan 5
BAB 2. LANDASAN TEORI
2.1. Algoritma Base64 6
2.2. Sistem Operasi Android 8
2.3. Platform Android 9
2.4. Java 10
2.5. AndroidStudio 10
2.6. Flowchart 11
BAB 3. ANALISIS PERANCANGAN SISTEM
3.1. Analisis Sistem 15
3.1.1. Tempat dan Waktu Penelitian 16
3.1.2. Tahapan Kegiatan Penelitian 16
3.1.3. Metode Pengumpulan Data 17
3.1.4. Metode Penelitian 17
3.1. Perancangan Sistem 18
3.2.1. Flowchart Aplikasi 19
3.2.2. Diagram Konteks Sistem 20
UNIVERSITAS SUMATERA UTARA
vi
BAB 4. IMPLEMENTASI SISTEM
4.1. Implementasi Sistem 21
4.2. Spesifikasi 21
4.2.1. Perangkat Keras 21
4.2.2. Perangkat Lunak 21
4.3. Tampilan Aplikasi 22
4.3.1. Logo Aplikasi 22
4.3.2. Tampilan Splash Screen 23
4.3.3. Tampilan Home 24
4.3.4. Tampilan Menu Enkripsi 25
4.3.5. Tampilan dari Menu Dekripsi 31
4.3.6. Tampilan Tentang 35
BAB 5. PENUTUP
5.1. Kesimpulan 36
5.2. Saran 36
DAFTAR PUSTAKA
LAMPIRAN
UNIVERSITAS SUMATERA UTARA
vii
DAFTAR TABEL
Nomor Judul Halaman
Tabel
2.1. Simbol Flowchart 12
3.1. Wakt dan Pelaksanaan Penelitian 16
UNIVERSITAS SUMATERA UTARA
viii
DAFTAR GAMBAR
Nomor Judul Halaman
Gambar
2.1. Tabel Base64 7
3.1. Flowchart Aplikasi 19
4.1. Tampilan dari Logo Aplikasi 22
4.2. Tampilan Splashscreen 22
4.3. Tampilan Home 23
4.4. Tampilan Menu Enkripsi 25
4.5. Tampilan Menu Dekripsi 31
4.6. Tampilan Tentang 36
UNIVERSITAS SUMATERA UTARA
ix
DAFTAR LAMPIRAN
Nomor Judul Halaman
Lampiran
1. Listing Program 42
2. Surat Keterangan Dosen Pembimbing Tugas Akhir 42
3. Surat Keterangan Hasil Uji Program Tugas Akhir 43
4. Kartu Bimbingan Tugas Akhir 44
UNIVERSITAS SUMATERA UTARA
x
DAFTAR SINGKATAN
AVD = Android Virtual Device
SDK = Android Software Development Kit
JDK = Java Development Kit
API = Application Programming Interface
UNIVERSITAS SUMATERA UTARA
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Masalah keamanan salah satu aspek penting dalam suatu sistem, tetapi sering kali keamanan
suatu sistem dikesampingkan. Sering kali pada perancangan suatu sistem, keamanan berada
diuru-tan setelah tampilan atau bahkan berada diurutan terakhir dari daftar hal-hal yang dianggap
penting dari suatu sistem. Apabila mengganggu performansi dari sistem, seringkali masalah
keamanan tidak begitu dipedulikan, bahkan ditiadakan Aplikasi mobile merupakan salah satu
hasil dari perkembangan teknologi di dunia. Aplikasi yang dulunya hanya untuk perangkat
komputer, sekarang ini sudah ada aplikasi untuk perangkat genggam seperti PDA atau telepon
selular. Aplikasi mobile sangat mudah untuk didapatkan melalui Play Store dari
berbagai platform (iOS, Android, BlackBerry, atau Windows Phone). Dengan diciptakannya
aplikasi dalam bentuk mobile, maka kiranya aplikasi tersebut dapat lebih mempermudah manusia
dalam menjalani kehidupan sehari-hari. Aplikasi mobile dapat digunakan sebagai saluran untuk
berbagi informasi terkait pekerjaan atau yang lainnya. Dengan demikian, maka para
penggunanya akan merasa dimudahkan.
Arti kata kriptografi berasal dari bahasa yunani, yaitu kripto dan graphia. Arti dari kata
Kripto adalah secret (rahasia) dan arti dari kata graphia adalah writing (tulisan). Berdasarkan
dari terminologinya, kriptografi merupakan ilmu dan seni yang digunakan untuk menjaga
keamanan pesan yang dikirim dari suatu tempat ke tempat yang lain. Algoritma kriptografi
terdiri dari tiga fungsi dasar, diantaranya enkripsi, dekripsi, dan kunci. Algoritma dapat dibagi
menjadi tiga bagian berdasarkan kunci yang dipakainya yaitu algoritma simetri, algoritma
asimetri, hash function.
Transformasi Base64 adalah salah satu algoritma untuk encoding dan decoding suatu data
kedalam format ASCI, yang di dasarkan pada bilangan 64. karakter yang dihasilkan dari Base64
teridiri dari A-Z , a-z dan 0..9, serta ditambah dengan 2 karakter terakhir yaitu / dan +. ( Zirroto,
2008)
UNIVERSITAS SUMATERA UTARA
2
Penulis menggunakan bantuan software Android Studio sebagai pertimbangan untuk
membuat aplikasi Enkripsi dan Dekripsi menggunakan Metode Base64 berbasis Android
karena memiliki kelebihan salah satunya, Android Studio dilengkapi dengan emulator yang
mencakup semua devices, baik ukuran maupun bentuk. Keunggulan tersebut jelas memudahkan
developer untuk melihat hasil project mereka dari berbagai devices yang ada.
Oleh sebab itu, penulis mencoba mencari solusi untuk membuat sistem baru yaitu dengan
menggunakan aplikasi Enkripsi dan Dekripsi menggunakan Metode Base64 berbasis Android,
msyarakat dapat dengan mudah untuk mengenkripsi dan mendekripsi sandi untuk keamanan
system.
1.2 Rumusan Masalah
Berdasarkan permasalahan yang diuraikan di atas, perlu adanya aplikasi enkripsi dan
dekripsi untuk membaca sandi tertentu dalam system keamanan maupun dalam mempelajari
proses enkripsi serta dekripsi.
1.3 Batasan Masalah
Dalam merancang sistem ini ada beberapa batasan masalah yang ditemukan, diantaranya :
1. Hanya enkripsi dan dekripsi pada system menggunakan metode base64.
2. Ditujukan untuk pengguna yang ingin memperdalam kriptografi dengan metode base64.
3. Menggunakan Android dan Java Programming.
1.4 Tujuan Penelitian
Dalam penyusunan tugas akhir ini tujuan yang dicapai dalam ini adalah :
1. Mengembangkan aplikasi keamanan penyandian.
2. Merancang sistem membaca sandi dengan enkripsi dan dekripsi
1.5 Manfaat Penelitian
Manfaat yang diperoleh dari Enkripsi dan Dekripsi dengan Menggunakan Metode Base64
Berbasis Android, yaitu:
UNIVERSITAS SUMATERA UTARA
3
1. Sebagai media penyandian menggunakan smartphone.
2. Sebagai media pembelajaran membaca sandi dengan metode base64.
1.6 Metodologi Penelitian
Dalam menyusun tugas akhir ini penulis melakukan penerapan metode penelitian dalam
memperoleh data-data yang dibutuhkan sehingga penyusunan tugas akhir ini dapat diselesaikan
dengan baik. Adapun metode penelitian yang dilakukan adalah sebagai berikut :
1. Pengumpulan Data
Pengumpulan data-data yang erat kaitannya dengan permasalahan yang terjadi diatas dengan
cara membaca buku-buku, informasi online dan membaca bahan-bahan dari sumber lainnya.
2. Identifikasi Masalah
Identifikasi masalah dilakukan dengan melihat dari data yang sudah terkumpul dan penulis
mengangkatnya kedalam sebuah solusi yang telah dijadikan judul.
3. Perancangan Aplikasi
Perancangan aplikasi yaitu melakukan desain dan koding untuk Enkripsi dan Dekripsi dengan
Menggunakan Metode Base64 berbasis Android.
4. Pengujian
Menguji perancangan untuk Enkripsi dan Dekripsi dengan Menggunakan Metode Base64
berbasis Android setelah aplikasinya terbentuk. Tahap ini dilakukan untuk mengetahui apakah
sistem sudah berjalan dengan baik atau masih terdapat kesalahan/ error.
5. Peyusunan Laporan
Pada tahap ini dilakukan pembuatan laporan dari perancangan untuk Enkripsi dan Dekripsi
dengan Menggunakan Metode Base64 berbasis Android berupa tugas akhir.
UNIVERSITAS SUMATERA UTARA
4
1.7 Sistematika Penulisan
Agar dapat memberikan gambaran yang jelas pada penulisan tugas akhir ini, maka penulis
membaginya dalam beberapa bab sebagai berikut :
BAB 1 : PENDAHULUAN
Bab ini menguraikan tentang latar belakang pembangunan aplikasi, perumusan
masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi
penelitian, hingga sistematika penulisan tugas akhir ini.
BAB 2 : LANDASAN TEORI
Bab ini menguraikan tentang teori-teori dasar dalam pembangunan aplikasi
android ini. Mulai dari pengertian Android serta apa-apa saja yang dibutuhkan
untuk memulai pemrograman mobile android.
BAB 3 : ANALISIS DAN PERANCANGAN SISTEM
Bab ini menguraikan mengenai analisis dan perancangan sistem mulai dari
perancangan layout, diagram konteks sistem, hingga flowchart sistem
BAB 4 : IMPLEMENTASI SISTEM
Bab ini menguraikan tentang bagaimana proses lanjutan dari perancangan
sistem.
BAB 5 : KESIMPULAN DAN SARAN
Bab ini menguraikan tentang kesimpulan dan saran yang dikutip oleh penulis
selama proses pembangunan aplikasi.
UNIVERSITAS SUMATERA UTARA
BAB 2
LANDASAN TEORI
2.1 Algoritma Base64
Transformasi base64 merupakan salah satu algoritma untuk encoding dan
decoding suatu datake dalam format ASCII, yang didasarkan pada bilangan dasar 64
atau bisa dikatakan sebagai salah satu metoda yang digunakan untuk melakukan
encoding (penyandian) terhadap data binary. Karakter yang dihasilkan pada
transformasi base64 ini terdiri dari A..Z, a..z dan 0..9, serta ditambah simbol “+” dan
“/” serta satu buah karakter sama dengan (=) di dua karakter terakhir yang dipakai
untuk pengisian pad atau dengan kata lain penyesuaian dan menggenapkan data
binary. Karakter simbol yang akan dihasilkan akan tergantung dari proses algoritma
yang berjalan. [6]
Kriptografi transformasi base64 banyak digunakan di dunia Internet sebagai
media data format untuk mengirimkan data, penggunaan tersebut dikarenakan hasil
dari encode base64 berupa plaintext, maka data ini akan jauh lebih mudah dikirim,
dibandingkan dengan format data yang berupa binary. Algoritma base64
menggunakan kode ASCII dan kode index base64 dalam melakukan proses enkripsi
ataupun dekripsinya. Dalam melakukan enkripsi pada URL website, kode index
base64 perlu dimodifikasi. Simbol “+” dimodifikasi menjadi “-” dan simbol simbol
“/” menjadi “_”. Tabel index base64 dapat dilihat pada tabel 2.1 dan tabl 2.2.
UNIVERSITAS SUMATERA UTARA
7
Tabel 2.1 Kode Index Base64 (URL and Filename Safe)
Value Encoding Value Encoding Value Encoding Value Encoding
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 i 50 y
3 D 19 T 35 j 51 z
4 E 20 U 36 k 52 0
5 F 21 V 37 l 53 1
6 G 22 W 38 m 54 2
7 H 23 X 39 n 55 3
8 I 24 Y 40 o 56 4
9 J 25 Z 41 p 57 5
10 K 26 a 42 q 58 6
11 L 27 b 43 r 59 7
12 M 28 c 44 s 60 8
13 N 29 d 45 t 61 9
14 O 30 e 46 u 62 -
15 P 31 f 47 v 63 _
(pad) =
UNIVERSITAS SUMATERA UTARA
8
Tabel 2.2 Kode Index Base64
Menurut Ariyus (2008) yang dikutip oleh Wahyu [6], teknik enkripsi base64
sebetulnya sederhana, jika terdapat sebuah (string) bytes yang akan disandikan ke
algoritma base64 maka tahapannya yaitu:
1. Pecah string bytes tersebut ke per-3 bytes.
2. Gabungkan 3 bytes menjadi 24 bit. dengan catatan 1 bytes = 8 bit, sehingga 3
x 8 = 24 bit.
3. Lalu 24 bit yang disimpan di-buffer (disatukan) dipecah-pecah menjadi 6 bit,
maka akan menghasilkan 4 pecahan.
4. Masing masing pecahan diubah ke dalam nilai desimal, dimana maksimal nilai
6 bit dalah 63.
5. Terakhir, jadikan nilai-nilai desimal tersebut menjadi index untuk memilih
maksimal index ke 64 atau karakter ke 63 dari penyusun base64.
UNIVERSITAS SUMATERA UTARA
9
Dan seterusnya hingga akhir string bytes yang akan mengalami konversi. Apabila
dalam proses encoding terdapat sisa pembagi, maka tambahkan karakter pad (=)
sebagai penggenap sisa tersebut. Oleh karena itu, terkadang pada base64 akan
muncul satu atau dua karakter (=).
2.2 Proses Enkripsi dan Dekripsi
Enkripsi yaitu suatu proses pengaman suatu data yang disembunyikan atau proses
konversi data ( plaintext ) menjadi bentuk yang tidak dapat dibaca/
dimengerti. Enkripsi telah digunakan untuk mengamankan komunikasi di berbagai
negara, namun, hanya organisasi-organisasi tertentu dan individu yang memiliki
kepentingan yang sangat mendesak akan kerahasiaan yang menggunakan enkripsi. Di
pertengahan tahun 1970an enkripsi kuat dimanfaatkan untuk pengamanan oleh
sekretariat agen pemerintah Amerika Serikat pada domain publik, dan saat ini
enkripsi telah digunakan pada sistem secara luas, seperti Internet, e-commerce,
jaringan telepon bergerak dan ATM pada bank.
Enkripsi dapat digunakan untuk tujuan keamanan, tetapi teknik lain masih
diperlukan untuk membuat komunikasi yang aman, terutama untuk memastikan
integrasi dan autentikasi dari sebuah pesan. Untuk menampilkan enkripsi dan
kebalikannya dekripsi, digunakan algoritma yang biasa disebut Cipher dengan
menggunakan metode serangkaian langkah yang terdefinisi yang diikuti sebagai
prosedur. Alternatif lain ialah Encipherment. Informasi yang asli disebuh sebagai
plaintext, dan bentuk yang sudah dienkripsi disebut sebagai chiphertext. Pesan
chipertext berisi seluruh informasi dari pesan plaintext, tetapi tidak dalam format
yang didapat dibaca manusia ataupun komputer tanpa menggunakan mekasnisme
yang tepat untuk melakukan dekripsi.Sedangkan Dekripsi yaitu kebalikan dari proses
enkripsi yaitu proses konversi data yang sudah dienkripsi ( ciphertext ) kembali
menjadi data aslinya ( Original Plaintext ) sehingga dapat dibaca/ dimengerti kembali.
UNIVERSITAS SUMATERA UTARA
10
2.3 Sistem Operasi Android
Sejarah sistem operasi Android dimulai sejak diumumkannya Open Handset
Alliancedi akhir tahun 2007. Sebenarnya ide untuk membuat sistem operasi open
source untuk peranti embedded sudah ada sejak lama. Karena backing dari Google
yang sangat agresiflah, maka Android bisa sangat terkenal hanya dalam beberapa
tahun saja. Beberapa perusahaan telekomunikasi, kini mulai memiliki atau
menawarkan perangkat android dalam produk-produknya. Tidak hanya ponsel, tapi
perangkat lain seperti tablet, netbook, televise, bahkan hingga ke peranti embedded di
mobile memiliki sistem operasi android. Sebenarnya android pada awalnya tidak
dikembangkan oleh google, tapi dikembangkan oleh google, tapi dikembangkan oleh
sebuah perusahaan bernama Android Inc. Karena google melihat banyaknya user
yang online dengan perangkat mobile maka google mengira bahwa perangkat mobile
ini memiliki masa depan yang cerah. Sehingga Android Inc dikuasaioleh Google di
tahun 2005. Pada waktu yang sama, Apple di tahun 2007 juga mengembangkan
sebuah sisteem operasi iOS untuk iPhone-nya dengan fitur-fitur yang sangat inovatif
seperti multitouchdan adaya open marker untuk aplikasi.
Menurut buku karya Alfa Satyaputra dan Eva Maulina Aritonang yang
berjudul “Beginning Android Programming with ADT Bundle” (2014), android
adalah sebuah sistem operasi untuk smartphone dan tablet. Dimana sistem operasi ini
dapat diilustrasikan sebagai jembatan antara piranti dan penggunanya, sehingga
pengguna bisa berinteraksi dengan devicenya dan menjalankan aplikasi-aplikasi yang
tersedia pada device.
Android menyediakan platform terbuka bagi para pengembang untuk
menciptakaan aplikasi mereka. Awalnya, Google Inc, memberi Android Inc. yang
merupakan pendatang baru untuk urusan peranti lunak smartphone. Kemudian, untuk
mengembangkan Android dibentuklah Open Handset Alliance, sebuah konsorsium
dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk
Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.
UNIVERSITAS SUMATERA UTARA
11
2.4 Platform Android
Platform adalah teknologi yang digunakan sebagai dasar atas mana aplikasi
yang lainnya, proses atau teknologi yang dibangun. Pada komputer pribadi, platform
adalah perangkat lunan dasar atau computer itu sendiri dan perangkat lunak atau
sistem operasi yang mana perangkat lunak lainnya bisa berjalan.
Android diuji sebagai platform mobile pertama yang lengkap, terbuka, dan
bebas. Para desainer dapat melakukan pendekatan yang komprehensif ketika mereka
sedang mengembangkan platform android dalam membangun perangkat lunak dan
memungkinkan untuk peluang pengembangan aplikasi.
Platform android disediakan melalui lisensi open source. Pengembang dapat
dengan bebas untuk mengembangkan aplikasi yang menggunakan linux kernel 2.6
ini.
Android adalah aplikasi yang bebas untuk dikembangkan. Tidak ada lisensi
atau biaya royalty untuk dikembangkan pada platform android ini. Tidak ada biaya
keanggotaan yang diperlukan. Tidak ada biaya pengujian, bahkan tidak ada kontrak
yang diperlukan. Aplikasi untuk android dapat didistribusikan dan diperdagangkan
dalam bentuk apapun.
Dalam hal ini, android dibangun atas dasar sistem operasi linux yang bersifat
open source. Android memilih linux sebagai dasar pembuatannya dikarenakan linuk
memilki probabilitas yang baik, sistem keamanan yang bagus serta fitur-fitur
menarik.
Linux merupakan sistem operasi dengan kemanan yang tinggi. Android
mengandalkannya karena keamanan yang dimiliki linux tersebut. Seluruh aplikasi
android berjalan sesuai dengan proses-proses linux. Linux hadir dengan banyak fitur
yang bermanfaat. Android mengambil banyak manfaatnya, seperti dukungan
manajemen memori, manajemen power, dan jaringan (Gargenta, 2011).
UNIVERSITAS SUMATERA UTARA
12
2.5 Java
Java menurut defenisi dari Sun adalah nama untuk sekumpulan teknologi untuk
membuat dan menjalankan perangkat lunak pada computer standalone ataupun pada
lingkungan jaringan. Java dikembangkan pada bulan Agustus 1991, dengan nama
semula Oak. Pada Januari 1995, karena nama Oak dianggap kurang komersial, maka
diganti menjadi Java. Pada Desember 1998, Sun memperkenalkan nama “Java 2” (J2)
sebagai generasi kedua dari Java Platform. Konvensi nama baru ini diterapkan untuk
semua edisi Java yaitu Standard Edition (J2SE), Enterprise Edition (J2EE), dan
Micro Edition (J2ME). Ada tiga platform Java yang telah didefenisikan, yang
masing-masing diarahkan untuk tujuan tertentu dan untuk lingkungan yang berbeda-
beda, yaitu sebagai berikut :
1. Standart Edition (J2SE), merupakan inti dari Bahasa pemrograman java. J2SE
di desain untuk jalan pada computer desktop dan computer workstation.
2. Enterprise Edition (J2EE). Dengan built-in mendukung untuk services. JSP dan
XML, edisi ini ditunjukkan untuk aplikasi berbasis server.
3. Micro Edition (J2ME). Di desain untuk piranti dengan memori terbatas, layar
display terbatas dan power pemrosesan yang juga terbatas.
Bahasa pemrograman Java mendukung multithreading, artinya program dapat dibuat
untuk dijalanka oleh thread tertentu. Beberapa thread (baik yang menjalankan
program java ataupun program lain) dapat dijalankan secara bersam-sama.
2.6 Android Studio
Android Studio adalah Lingkungan Pengembangan Terpadu - Integrated
Development Environment (IDE) untuk pengembangan aplikasi Android, berdasarkan
IntelliJ IDEA. Selain merupakan editor kode IntelliJ dan alat pengembang yang
berdaya guna, Android Studio menawarkan fitur lebih banyak untuk meningkatkan
produktivitas Anda saat membuat aplikasi Android, misalnya:
1. Sistem versi berbasis Gradle yang fleksibel
2. Emulator yang cepat dan kaya fitur
UNIVERSITAS SUMATERA UTARA
13
3. Lingkungan yang menyatu untuk pengembangan bagi semua perangkat Android
4. Instant Run untuk mendorong perubahan ke aplikasi yang berjalan tanpa membuat
APK baru
5. Template kode dan integrasi GitHub untuk membuat fitur aplikasi yang sama dan
mengimpor kode contoh
6. Alat pengujian dan kerangka kerja yang ekstensif
7. Alat Lint untuk meningkatkan kinerja, kegunaan, kompatibilitas versi, dan
masalah-masalah lain
8. Dukungan C++ dan NDK
9. Dukungan bawaan untuk Google Cloud Platform, mempermudah pengintegrasian
Google Cloud Messaging dan App Engine.
Android Studio direncanakan untuk menggantikan Eclipse ke depannya
sebagai IDE resmi untuk pengembangan aplikasi Android. Sebagai pengembangan
dari Eclipse, Android Studio mempunyai banyak fitur-fitur baru dibandingkan dengan
Eclipse IDE. Berbeda dengan Eclipse yang menggunakan Ant, Android Studio
menggunakan Gradle sebagai build environment.
2.7 Flowchart
Flowchart merupakan bagan atau gambar yang memperlihatkan hubungan
antar proses beserta instruksinya, gambaran ini dinyatakan dengan simbol yang mana
tiap-tiap simbol mewakili proses tertentu. Sedangkan hubungan antar-proses
digambarkan dengan garis-garis.
Flowchart merupakan langkah awal pembuatan program. Setelah flowchart
selesai disusun, selanjutnya pemrogram menerjemahkannya ke dalam bentuk program
menggunakan Bahasa pemrogramana. Berikut ini adalah simbol-simbol standar pada
sebuah flowchart berserta fugnsinya.
UNIVERSITAS SUMATERA UTARA
14
Tabel 2.3. Simbol Flowchart
No Nama Simbol Fungsi
1 Terminator
Digunakan untuk
mewakili simbol
start dan end
2 Arrow
Menunjukkan alur
proses
3 Rectangle
Menunjukkan
langkah
pemrosesan
4 Trapezium
Simbol untuk
input-output
5 Document
Digunakan untuk
mewakili output
6 Decision
Simbol yang
berfungsi untuk
menyatakan
keputusan
7 Preparation
Simbol yang
berfungsi untuk
proses inisialisasi
atau pemberian
harga awal
UNIVERSITAS SUMATERA UTARA
15
8 Connector
Simbol untuk
keluar-masuk atau
penyambungan
peoses pada
halaman yang
berbeda
9 Manual input
Simbol untuk
memasukkan data
secara manual
melaui keyboard
10 Manual operation
Simbol yang
menunjukkan
pengolahan yang
tidak dilakukan
oleh computer
11 Predefine process
Simbol untuk
pelaksanaan suatu
bagian
12 Display
Simbol yang
menyatakan
peralatan output
yang digunakan
seperti layar,
printer, plotter dan
sebagainya
UNIVERSITAS SUMATERA UTARA
16
13 Magnetic disk
Simbol yang
digunakan untuk
pemyimpanan data
ke database
14 Storage Data
Simbol yang
menyatakan input
yang berasal dari
disk atau disimpan
ke disk
UNIVERSITAS SUMATERA UTARA
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
Pada bab ini menjelaskan tentang mengenai metode-metode penelitian untuk
mengumpulkan informasi atau data serta melakukan investigasi terhadap data yang
telah didapatkan, Metode penelitian memberikan gambaran rancangan penelitian
yang meliputi prosedur atau langkah-langkah yang harus ditempuh, waktu penelitian,
sumber data, dan dengan cara apa data-data tersebut diperoleh dan selanjutnya diolah
dan dianalisis.
3.1 Metode Penelitian
langkah yang dimiliki dan dilakukan oleh peneliti dalam rangka untuk
mengumpulkan informasi atau data serta melakukan investigasi pada data yang telah
didapatkan tersebut. Metode penelitian memberikan gambaran rancangan penelitian
yang meliputi antara lain: prosedur dan langkah-langkah yang harus ditempuh, waktu
penelitian, sumber data, dan dengan langkah apa data-data tersebut diperoleh dan
selanjutnya diolah dan dianalisis.
3.1.1. Tempat dan Waktu Penelitian
Tempat penelitian merupakan hal yang mendasari pemilihan, pengolahan serta
penafsiran suatu data dan keterangan yang berkaitan dengan apa yang menjadi tujuan
penelitian.
UNIVERSITAS SUMATERA UTARA
18
Tabel 3.1. Waktu pelaksanaan penelitian
NO
KEGIATAN
Maret April
Mei Juni
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
1. Pengumpulan data
2. Identifikasi masalah
3. Penyusunan proposal
4. Perancangan sistem dan desain aplikasi
5. Pengkodingan aplikasi
6. Pengujian sistem
7. Penyusunan laporan TA
3.1.2 Tahapan Kegiatan Penelitian
Tahapan kegiatan penelitian dalam perancangan Aplikasi Pengarsipan Surat
Masuk dan Surat Keluar ini terdiri dari metode pengumpulan data dan metode
penelitian. Dalam membangun aplikasi membangun aplikasi dibutuhkan beberapa
komponen, diantaranya yaitu:
a. Perangkat keras (hardware)
Satu unit laptop Toshiba dengan spesifikasi:
1. Processor : AMD A8-6410 APU AMD Radeon R5 Graphics
2. Installed RAM : 4 GB
3. Tipe Sistem : 64-bit operating system, x64 based processor
b. Perangkat Lunak (software)
1. Sistem operasi : Windows 10 Enterprise
2. Bahasa Pemrograman : Java
3. Aplikasi pemrograman : Android Studio 3.0
4. Browser : Google Chrome
UNIVERSITAS SUMATERA UTARA
19
3.1.3 Metode Pengumpulan Data
Metode yang digunakan penulis dalam melakukan pengumpulan data pada
penelitian ini adalah:
a. Studi Pustaka, yaitu dengan mengumpulkan dan mempelajari teori-teori serta
literature yang berhubungan dengan judul penelitian.
b. Observasi, yaitu metode pengumpulan data yang kompleks karena melibatkan
berbagai faktor dalam pelaksanaannya. Metode observasi dilakukan dengan cara
mengamati keperluan yang dibutuhkan untuk anak-anak.
3.1.4 Metode Penelitian
Metode adalah suatu cara atau teknik yang sistematik untuk mengerjakan atau
menyelesaikan sesuatu. Berikut ini metodologi penelitian yang gunakan dalam
membangun aplikasi ini, yaitu:
1. Pengumpulan Data
Mengumpulkan data sekunder yang dibutuhkan untuk perancangan aplikasi dengan
cara mengobservasi terlebih dahulu dan melihat refrensi dari aplikasi yang sudah ada.
2. Analisis
Dilakukan untuk memperoleh informasi tentang sistem, menganalisis data–data
yang ada dalam sistem dan juga menganalisis poin – poin masalah pada sistem
terutama mengenai kelebihan dan kekurangan aplikasi.
3. Perancangan (Desain)
Membangun / mengembangkan sistem yang diusulkan berupa perancangan sistem
data flowchart dimana tahapan ini dapat dibangun dengan memperoleh informasi
diantaranya memastikan informasi yang didapat akurat, memberikan ulasan-ulasan
yang terperinci.
4. Penulisan Program (Coding)
membuat program didalam aplikasi yang dibuat agar dapat berjalan sesuai dengan
yang difungsikan.
5. Uji Program.
UNIVERSITAS SUMATERA UTARA
20
Pengujian akan dilaksanakan jika program telah selesai dikerjakan. Bila saat
pengujian terdapat kesalahan maka perlu adanya perbaikan terhadap program agar
menghasilkan hasil yang maksimal.
3.2 Perancangan Sistem
Pada saat hendak membuat sebuah sistem yang akan digunakan pada suatu
perusahaan, setiap pengembang aplikasi diharuskan membuat sebuah rancangan
dari sistem yang ingin dibuat. Rancangan ini bertujuan untuk memberi gambaran
umum dari sistem yang akan berjalan nantinya kepada setiap stakeholder. Menurut
Kamus Besar Bahas Indonesia ( KBBI ) perancangan sistem adalah merancang
atau mendesain suatu sistem yang baik, yang isinya adalah langkah-langkah
operasi dalam prosedur untuk mendukung operasi sistem.
Berikut ini terdapat pula beberapa teori mengenai pengertian perancangan
sistem. Menurut Satzinger, Jackson, dan Burd (2012:5), perancangan sistem adalah
sekumpulan aktivitas yang menggambarkan secara rinci bagaimana sistem akan
berjalan. Hal itu bertujuan untuk menghasilkan produk perangkat lunak yang
sesuai dengan kebutuhan user.
Menurut Bentley dan Whitten (2009:160) melalui buku yang berjudul
“system analysis and design for the global enterprise” juga menjelaskan bahwa
perancangan sistem adalah teknik pemecahan masalah dengan melengkapi
komponen-komponen kecil menjadi kesatuan komponen sistem kembali ke sistem
yang lengkap. Teknik ini diharapkan dapat menghasilkan sistem yang lebih baik.
Analisis dan desain data menyangkut mengkonfigurasi dari komponen perangkat
keras dari suatu sistem.
UNIVERSITAS SUMATERA UTARA
21
3.2.1 Flowchart Enkripsi dan Dekripsi Base64
Berikut adalah alur flowchart untuk aplikasi yang dibangun beserta penjelasannya.
Gambar 3.2.3 Flowchart Enkripsi Base64
UNIVERSITAS SUMATERA UTARA
22
Gambar 3.2.3 Flowchart Dekripsi Base64
UNIVERSITAS SUMATERA UTARA
BAB 4
IMPLEMENTASI SISTEM
Pada bab ini akan dijelaskan mengenai proses implementasi aplikasi
berbasis Android mobile programming dalam penyandian dengan enkripsi dan
dekrisi menggunakan metode base64.
4.1 Implementasi Sistem
Setelah proses analisa dan perancangan sistem selesai, selanjutnya proses
implementasi library Android SDK kedalam aplikasi dengan menggunakan
developing Tool Android untuk membangun aplikasi.
4.2 Spesifikasi
4.2.1 Perangkat Keras
1. Processor Inter® Core™ i7-3517U CPU 1.90Ghz.
2. Memory RAM 4GB DDR3. 3. Resolusi monitor 1366x768 pixel (64bit). 4. Nvidia GEFORCE GT635M. 5. Kapasitas Harddisk 500GB. 6. Mouse. 7. Kabel USB 2.0. 8. Smartphone (RAM 3GB, 6.0.1 Marshmallow).
4.2.2 Perangkat Lunak
1. Windows 10 Ultimate 64bit. 2. Android Studio.
3. Android SDK. 4. CorelDraw.
UNIVERSITAS SUMATERA UTARA
24
4.3 Tampilan Aplikasi
4.3.1 Logo Aplikasi
Tampilan logo aplikasi dari Pembelajaran Bahasa Jepang Karakter Hiragana
Menggunakan Metode Coaching berbasis Android.
Gambar 4.1 Tampilan dari Logo Aplikasi
UNIVERSITAS SUMATERA UTARA
25
4.3.2 Tampilan Splash Screen
Tampilan splashscreen meruppakan tampilan pembuka padaplikasi saat pertama
kali dijalankan.
Gambar 4.3 Tampilan dari Splashscreen
4.3.3 Tampilan Home
Tampilan home atau bisa disebut sebagai halaman utama dari sebuah aplikasi yang
menyediakan tombol-tombol yang berfungsi sebagai akses menuju layout yang
menampilkan isi dari aplikasi tersebut. Terdapat tiga tombol utama yaitu untuk
penulisan, pengenalan dan kamus kata.
UNIVERSITAS SUMATERA UTARA
26
Gambar 4.3 Tampilan dari Homescreen
4.3.4 Tampilan Menu Enkripsi
Pada tampilan ini akan memberikan output hasil dari ekripsi kalimat yang diberikan.
UNIVERSITAS SUMATERA UTARA
27
Gambar 4.4 Tampilan dari Menu Enkripsi.
Gambar 4.4 Tampilan dari Menu Enkripsi.
UNIVERSITAS SUMATERA UTARA
28
Gambar 4.4 Tampilan dari Menu Enkripsi.
4.3.5 Tampilan dari Menu Dekripsi
Pada tampilan ini akan memberikan output dari dekripsi kalimat yang diberikan dari
enkripsi sandi atau data.
Gambar 4.5 Tampilan dari Dekripsi.
UNIVERSITAS SUMATERA UTARA
29
Gambar 4.5 Tampilan dari Dekripsi.
Gambar 4.5 Tampilan dari Dekripsi.
UNIVERSITAS SUMATERA UTARA
30
4.3.6 Tampilan Tentang
Menampilkan tentang atau informasi dari aplikasi.
Gambar 4.6 Tampilan Tentang.
UNIVERSITAS SUMATERA UTARA
BAB 5
PENUTUP
5.1 Kesimpulan
Kesimpulan yang dapat diambil dari Tugas Akhir yang berjudul Pembuatan Aplikasi
Enkripsi dan Dekripsi dengan Menggunakan Metode Base64 Berbasis Android sebagai berikut :
1. Dalam system keamanan penyandian sedeerhana kita dapat menggunakan metode base64
untuk melakukan enripsi dan dekripsi data atau sandi.
2. Pemanfaatan aplikasi Android lebih mudah dan dapat dimana saja untuk mengenkrisi serta
mendekripsi data.
3. Meningkatkan kualitas enkripsi dan dekripsi data menggunakan mobile programming.
5.2 Saran
Untuk pengembangan aplikasi ini ke depannya, berikut beberapa saran yang dianjurkan :
1. Untuk ke depannya aplikasi ini bisa disempurnakan kembali serta diperbaharui setiap
item yang tersedia dalm aplikasi ini sehingga mengikuti zaman.
2. Dalam proses untuk mendapatkannya, aplikasi ini dapat diunggah ke Market atau Play
Store dari Android.
3. Untuk memberikan kepuasan kepada user, dapat ditambah dengan metode-metode
lainnya untuk enkripsi dan dekripsi data.
UNIVERSITAS SUMATERA UTARA
DAFTAR PUSTAKA
Safaat H. 2013. Pemrograman Aplikasi Mobile Smartphone dan Tablet PC
berbasis
Android. Bandung: Informatika
Albahra bin Ladjamudin. 2005. Analisa dan Desain Sistem Informasi. Edisi 1.
Yogyakarta: Graha Ilmu.
Gagenta, M.2011. Learning Android. California: O’Reilly Media
Rickyanto, Isak (2003), Dasar Pemrograman Berorientasi Objek dengan Java 2:
JDK 1.4, Andi Offset, Yogyakarta.
Android Developers. 2010. Android SDK Docs. http://www.android.com/ diakses
tanggal 25 Maret 2018.
Benfano Suwito ,2006. Konsep Enkripsi dan Dekripsi Palembang : Surabaya.
Erwin Gunadhi, 2012, Penerapan Kriptografi Base64 Untuk Keamanan Url
(Uniform Resource Locator) Website Dari Serangan Sql Injection, Garut, Sekolah
Tinggi Teknologi Garut
krisma pradana putra, 2015. aplikasi php encoder dan decoder menggunakan
algoritma base64 dan kunci keamanan, jurusan teknik informatika fakultas teknik
universitas muhammadiyah malang.
UNIVERSITAS SUMATERA UTARA
LISTING PROGRAM
Dekripsi.Java
package com.base64.base64encryption;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.View;
import android.widget.LinearLayout;
public class Home extends Activity {
LinearLayout wrapEnkripsi, wrapDekripsi, wrapTentang;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.home);
wrapEnkripsi = findViewById(R.id.wrapEnkripsi);
wrapDekripsi = findViewById(R.id.wrapDekripsi);
wrapTentang = findViewById(R.id.wrapTentang);
wrapEnkripsi.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View view) {
UNIVERSITAS SUMATERA UTARA
startActivity(new Intent(Home.this,
Enkripsi.class));
}
});
wrapDekripsi.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(Home.this,
Dekripsi.class));
}
});
wrapTentang.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(Home.this,
Tentang.class));
}
});
}
}
enkripsi. Java
package com.base64.base64encryption;
import android.app.Activity;
UNIVERSITAS SUMATERA UTARA
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.util.Base64;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.io.UnsupportedEncodingException;
public class Enkripsi extends Activity {
EditText kalimat;
Button btn;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.enkripsi);
kalimat = findViewById(R.id.kalimat);
btn = findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String text = kalimat.getText().toString();
if(text.length() == 0){
Toast.makeText(Enkripsi.this, "Silahkan isi
kalimat terlebih dahulu!", Toast.LENGTH_SHORT).show();
UNIVERSITAS SUMATERA UTARA
}else{
// Sending side
byte[] data = new byte[0];
try {
data = text.getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
String hasil = Base64.encodeToString(data,
Base64.DEFAULT);
Intent intent = new Intent(Enkripsi.this,
Hasil.class);
intent.putExtra("from", "enkripsi");
intent.putExtra("text", text);
intent.putExtra("hasil", hasil);
startActivity(intent);
finish();
}
}
});
}
}
Hasil. Java
UNIVERSITAS SUMATERA UTARA
package com.base64.base64encryption;
import android.app.Activity;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.widget.TextView;
public class Hasil extends Activity {
TextView hasil, text, title;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.hasil);
hasil = findViewById(R.id.hasil);
text = findViewById(R.id.textIntent);
title = findViewById(R.id.title);
String hasil_intent =
getIntent().getStringExtra("hasil");
String text_intent = getIntent().getStringExtra("text");
String title_intent =
getIntent().getStringExtra("from");
if(title_intent.equalsIgnoreCase("enkripsi")){
title.setText("HASIL ENKRIPSI");
}else if(title_intent.equalsIgnoreCase("dekripsi")){
title.setText("HASIL DEKRIPSI");
}
UNIVERSITAS SUMATERA UTARA
text.setText(text_intent);
hasil.setText(hasil_intent);
}
}
main_activity. Java
package com.base64.base64encryption;
import android.content.Intent;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int SPLASH_TIME_OUT = 1300;
new Handler().postDelayed(new Runnable() {
/*
* Showing splash screen with a timer. This will be
useful when you
UNIVERSITAS SUMATERA UTARA
* want to show case your app logo / company
*/
@Override
public void run() {
// This method will be executed once the timer
is over
// Start your app main activity
Intent i = new Intent(MainActivity.this,
Home.class);
startActivity(i);
finish();
}
}, SPLASH_TIME_OUT);
}
}
tentang. Java
package com.base64.base64encryption;
import android.app.Activity;
import android.os.Bundle;
import android.support.annotation.Nullable;
public class Tentang extends Activity {
@Override
UNIVERSITAS SUMATERA UTARA
protected void onCreate(@Nullable Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.tentang);
}
}
UNIVERSITAS SUMATERA UTARA
UNIVERSITAS SUMATERA UTARA
UNIVERSITAS SUMATERA UTARA
UNIVERSITAS SUMATERA UTARA
UNIVERSITAS SUMATERA UTARA
UNIVERSITAS SUMATERA UTARA