enkripsi dan dekripsi dengan menggunakan metode base64

57
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

Upload: others

Post on 02-Oct-2021

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

Page 2: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 3: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 4: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 5: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 6: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 7: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 8: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 9: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 10: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

vii

DAFTAR TABEL

Nomor Judul Halaman

Tabel

2.1. Simbol Flowchart 12

3.1. Wakt dan Pelaksanaan Penelitian 16

UNIVERSITAS SUMATERA UTARA

Page 11: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 12: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 13: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

x

DAFTAR SINGKATAN

AVD = Android Virtual Device

SDK = Android Software Development Kit

JDK = Java Development Kit

API = Application Programming Interface

UNIVERSITAS SUMATERA UTARA

Page 14: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 15: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 16: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 17: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 18: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 19: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 20: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 21: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 22: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 23: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 24: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 25: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 26: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 27: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 28: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 29: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 30: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 31: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 32: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 33: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 34: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

22

Gambar 3.2.3 Flowchart Dekripsi Base64

UNIVERSITAS SUMATERA UTARA

Page 35: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 36: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 37: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 38: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 39: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

27

Gambar 4.4 Tampilan dari Menu Enkripsi.

Gambar 4.4 Tampilan dari Menu Enkripsi.

UNIVERSITAS SUMATERA UTARA

Page 40: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 41: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

29

Gambar 4.5 Tampilan dari Dekripsi.

Gambar 4.5 Tampilan dari Dekripsi.

UNIVERSITAS SUMATERA UTARA

Page 42: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

30

4.3.6 Tampilan Tentang

Menampilkan tentang atau informasi dari aplikasi.

Gambar 4.6 Tampilan Tentang.

UNIVERSITAS SUMATERA UTARA

Page 43: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 44: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 45: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 46: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 47: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 48: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

}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

Page 49: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 50: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

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

Page 51: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

* 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

Page 52: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

protected void onCreate(@Nullable Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.tentang);

}

}

UNIVERSITAS SUMATERA UTARA

Page 53: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

UNIVERSITAS SUMATERA UTARA

Page 54: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

UNIVERSITAS SUMATERA UTARA

Page 55: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

UNIVERSITAS SUMATERA UTARA

Page 56: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

UNIVERSITAS SUMATERA UTARA

Page 57: ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64

UNIVERSITAS SUMATERA UTARA