• Tidak ada hasil yang ditemukan

ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64 BERBASIS ANDROID TUGAS AKHIR MHD JERRY PRABOWO

N/A
N/A
Protected

Academic year: 2022

Membagikan "ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN METODE BASE64 BERBASIS ANDROID TUGAS AKHIR MHD JERRY PRABOWO"

Copied!
57
0
0

Teks penuh

(1)

TUGAS AKHIR

MHD JERRY PRABOWO 152406106

PROGRAM STUDI D3 TEKNIK INFORMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2018

(2)

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

(3)

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

(4)

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

(5)

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

(6)

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

(7)

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

(8)

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

(9)

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

(10)

DAFTAR TABEL

Nomor Judul Halaman

Tabel

2.1. Simbol Flowchart 12

3.1. Wakt dan Pelaksanaan Penelitian 16

(11)

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

(12)

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

(13)

AVD = Android Virtual Device

SDK = Android Software Development Kit

JDK = Java Development Kit

API = Application Programming Interface

(14)

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)

(15)

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:

(16)

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.

(17)

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.

(18)

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.

(19)

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) =

(20)

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.

(21)

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.

(22)

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.

(23)

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).

(24)

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

(25)

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.

(26)

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

(27)

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

(28)

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

(29)

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.

(30)

18

Tabel 3.1. Waktu pelaksanaan penelitian NO KEGIATAN

Maret Apri

l

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

(31)

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.

(32)

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.

(33)

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

(34)

22

Gambar 3.2.3 Flowchart Dekripsi Base64

(35)

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.

(36)

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

(37)

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.

(38)

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.

(39)

Gambar 4.4 Tampilan dari Menu Enkripsi.

Gambar 4.4 Tampilan dari Menu Enkripsi.

(40)

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.

(41)

Gambar 4.5 Tampilan dari Dekripsi.

Gambar 4.5 Tampilan dari Dekripsi.

(42)

30

4.3.6 Tampilan Tentang

Menampilkan tentang atau informasi dari aplikasi.

Gambar 4.6 Tampilan Tentang.

(43)

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.

(44)

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.

(45)

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) {

(46)

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;

(47)

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

(48)

}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

(49)

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");

(50)

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

(51)

@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

(52)

protected void onCreate(@Nullable Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.tentang);

} }

(53)
(54)
(55)
(56)
(57)

Referensi

Dokumen terkait

Preprocessing data telah dilakukan sesuai dengan proses yang ada pada KDD, dengan menghasilkan set data yang baru hasil dari penggabungan dua sumber data yang berbeda yaitu

Core Libraries adalah Aplikasi Android dibangun dalam bahasa java, sementara Dalvik sebagai virtual mesinnya bukan Virtual Machine Java, sehingga diperlukan sebuah

resosialisasi/reintegrasi social. Selanjutnya tahap bimbingan lanjut. Dan terakhir adalah tahap terminasi, tahap ini merupakan tahap penghentian pelayanan sosial eks klien

ditandai dengan redaksi-redaksi hadis mereka yang mengindikasikan ketidakpercayaan kaum Syi’ah Imamiyah dengan keotentikan al-Qur’an, Rukun Iman yang berbeda, adanya

berinteraksi  dengan  orang  yang  baru  atau  masyarakat  umum  (bukan  KAT).  Penelitian  ini  bermaksud  untuk  menjadikan  KAT  bisa  beradaptasi  dengan 

Hasil pengamatan didapatkan bahwa terdapat per- bedaan pada setiap konsentrasi ekstrak biji mahoni ( Swietenia macrophylla King.) terhadap jumlah mortalitas dari larva nyamuk

Salah satu upaya yang dapat dilakukan untuk membantu kelompok siswa berkemampuan akademik rendah adalah dengan mengimplementasikan strategi pembelajaran atau dalam konteks

Pendugaan parameter rata-rata populasi (μ) dengan deviasi standar populasi (σ) tidak diketahui.. Deviasi standar populasi σ diganti dg deviasi