14
6 BAB II TINJAUAN PUSTAKA 2.1 Kriptografi Kriptografi adalah ilmu untuk mempelajari penulisan secara rahasia dengan tujuan bahwa komunikasi dan data dapat dikodekan (encode/encrypt) dan dikodekan (decode/decrypt) kembali untuk mencegah pihak-pihak lain yang ingin mengetahui isinya. Kriptografi (Cryptography) berasal dari bahasa Yunani yaitu dari kata kryptos yang artinya tersembunyi. Kriptografi dapat diartikan sebagai tulisan yang dirahasiakan atau dapat diartikan juga sebagai suatu ilmu ataupun seni yang mempelajari bagaimana sebuah data, informasi dan dokumen dikonversi kebentuk tertentu yang sulit untuk dimengerti (Sadikin, 2012). Proses yang dilakukan untuk mengubah plaintext menjadi ciphertext disebut enkripsi (encryption) atau encipherment sedangkan proses untuk mengubah ciphertext kembali ke plaintext disebut dekripsi (decryption) atau decipherment. Kriptografi memerlukan parameter untuk proses konversi yang dikendalikan oleh sebuah kunci atau beberapa kunci. Kriptografi saat ini telah menjadi salah satu syarat penting dalam keamanan teknologi informasi terutama dalam pengiriman pesan rahasia. Beberapa istilah yang harus diketahui yaitu: 1. Pesan, Plainteks, dan Cipherteks Pesan adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Pesan dapat berupa data atau informasi yang dikirim (melalui saluran telekomunikasi atau sejenisnya) atau yang disimpan dalam media perekaman. Pesan yang tersimpan tidak hanya berupa teks, tetapi juga berbentu citra (mage), suara/bunyi (audio), atau berkas biner lainnya. Agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan perlu disandikan ke bentuk lain yang tidak dapat dipahami. 2. Enkripsi dan Dekripsi Proses menyandikan plainteks menjadi cipherteks disebut enkripsi (encryption). Sedangkan proses mengembalikan cipherteks menjadi plainteks semula dinamakan dekripsi (decryption).

BAB II TINJAUAN PUSTAKA 2.1 Kriptografi

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BAB II TINJAUAN PUSTAKA 2.1 Kriptografi

6

BAB II

TINJAUAN PUSTAKA

2.1 Kriptografi

Kriptografi adalah ilmu untuk mempelajari penulisan secara rahasia dengan

tujuan bahwa komunikasi dan data dapat dikodekan (encode/encrypt) dan

dikodekan (decode/decrypt) kembali untuk mencegah pihak-pihak lain yang ingin

mengetahui isinya. Kriptografi (Cryptography) berasal dari bahasa Yunani yaitu

dari kata kryptos yang artinya tersembunyi. Kriptografi dapat diartikan sebagai

tulisan yang dirahasiakan atau dapat diartikan juga sebagai suatu ilmu ataupun seni

yang mempelajari bagaimana sebuah data, informasi dan dokumen dikonversi

kebentuk tertentu yang sulit untuk dimengerti (Sadikin, 2012).

Proses yang dilakukan untuk mengubah plaintext menjadi ciphertext disebut

enkripsi (encryption) atau encipherment sedangkan proses untuk mengubah

ciphertext kembali ke plaintext disebut dekripsi (decryption) atau decipherment.

Kriptografi memerlukan parameter untuk proses konversi yang dikendalikan oleh

sebuah kunci atau beberapa kunci. Kriptografi saat ini telah menjadi salah satu

syarat penting dalam keamanan teknologi informasi terutama dalam pengiriman

pesan rahasia.

Beberapa istilah yang harus diketahui yaitu:

1. Pesan, Plainteks, dan Cipherteks

Pesan adalah data atau informasi yang dapat dibaca dan dimengerti

maknanya. Pesan dapat berupa data atau informasi yang dikirim (melalui

saluran telekomunikasi atau sejenisnya) atau yang disimpan dalam media

perekaman. Pesan yang tersimpan tidak hanya berupa teks, tetapi juga

berbentu citra (mage), suara/bunyi (audio), atau berkas biner lainnya. Agar

pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan perlu

disandikan ke bentuk lain yang tidak dapat dipahami.

2. Enkripsi dan Dekripsi

Proses menyandikan plainteks menjadi cipherteks disebut enkripsi

(encryption). Sedangkan proses mengembalikan cipherteks menjadi plainteks

semula dinamakan dekripsi (decryption).

Page 2: BAB II TINJAUAN PUSTAKA 2.1 Kriptografi

7

3. Cipher dan Kunci

Algoritma kriptografi disebut juga cipher yaitu aturan untuk enciphering dan

deciphering, atau fungsi matematika yang digunakan untuk enkripsi dan

dekripsi. Konsep matematis yang mendasari algoritma kriptografi adalah

relasi antara dua buah himpunan yaitu himpunan yang berisi elemn-elemn

plainteks dan himpunan yang berisi cipherteks. Dalam kriptografi modern,

enkripsi dan dekripsi merupakan fungsi yang memetakan elemen-elemen

antara kedua himpunan tersebut. Yang dalam hal ini algoritma tidak lagi

dirahasiakan, tetapi kunci harus dijaga kerahasiannya. Kunci adalah

parameter yang digunakan untuk transformasi enciphering dan deciphering.

Keamanan algoritma kriptografi diukur dari banyaknya kerja yang

dibutuhkan untuk memecahkan cipherteks menjadi plainteksnya tanpa

mengetahui kunci yang digunakan (Munir, 2006).

Gambar 2.1 Skema Enkripsi dan Dekripsi

4. Sistem Kriptografi

Kriptografi membentuk sebuah sistem yang dinakaman sistem kriptografi.

Sistem kriptografi (Cryptosystem) adalah kumpulan yang terdiri dari

algoritma kriptografi, semua plainteks dan cipherteks yang mungkin, dan

kunci. Di dalam sistem kriptografi, cipher hanyalah salah satu komponen

saja.

5. Penyadap

Penyadap (eavesdropper) adalah orang yang mencoba menangkap pesan

selama ditansmisikan. Tujuan penyadap adalah untuk mendapatkan informasi

sebanyak-bnayknya mengenai sistem kriptografi yang digunakan untuk

Page 3: BAB II TINJAUAN PUSTAKA 2.1 Kriptografi

8

berkomunikasi dengan maksud untuk memecahkan cipherteks. Nama lain

peyadap: enemi, adversary, intruder, interceptor, bad guy.

6. Kriptanalisis dan Kriptologi

Kriptografi berkembang sedemikian rupa sehingga melahirkan bidang yang

berlawanan yaitu kriptanalisis. Kriptanalisis (cryptanalysis) adalah ilmu dan

seni untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci

yang digunakan. Pelakunya disebut kriptanalisis. Jika seorang kriptografer

(cryptographer) mentransformasikan plainteks menjadi cipherteks dengan

suaatu algoritma dan kunci maka sebaliknya seorang kripatanalisis berusaha

untuk memecahkan cipherteks tersebut untuk menemukan plainteks atau

kunci. Kriptologi (cryptologi) adalah studi mengenai kriptografi dan

kriptanalisis. Baik kriptografi dan kriptanalisis keduanya saling berkaitan

(Munir, 2006).

2.1.1 Jenis – Jenis Kriptografi

Algoritma kriptografi dibagi menjadi tiga bagian berdasarkan kunci yang

dipakainya:

1. Algoritma Simetri (menggunakan satu kunci untuk enkripsi dan dekripsinya).

Ini adalah jenis kriptografi yang paling umum dipergunakan. Kunci untuk

membuatpesan yang disandikan sama dengan kunci untuk membuka pesan

yang disandikan itu. Jadi pembuat pesan dan penerimanya harus memiliki

kunci yang sama persis. Siapapun yang memiliki kunci tersebut, termasuk

pihak-pihak yang tidak diinginkan, dapat membuat dan membongkar rahasia

ciphertext. Problem yang paling jelas disini terkadang bukanlah masalah

pengiriman ciphertext-nya, melainkan masalah bagaimana menyampaikan

kunci simetris tersebut kepada pihak yang diinginkan.

2. Algoritma Asimetri (menggunakan kunci yang berbeda untuk enkripsi dan

dekripsi).

Algoritma asimetri sering juga disebut dengan algoritma kunci publik, dengan

arti kata kunci yang digunakan untuk melakukan enkripsi dan dekripsi

berbeda. Pada algoritma asimetri kunci terbagi menjadi dua bagian, yaitu:

Page 4: BAB II TINJAUAN PUSTAKA 2.1 Kriptografi

9

1. Kunci umum (public key): kunci yang boleh diketahui semua

orang(dipublikasikan).

2. Kunci rahasia (private key): kunci yang dirahasiakan (hanya boleh

diketahui olehsatu orang saja). Kunci –kunci tersebut berhubungan satu

sama lain. Dengan kunci public orang dapat mengenkripsi pesan tetapi

tidak bisa mendekripsinya. Hanya orang yang memiliki kunci rahasia

yang dapat mendekripsi pesan tersebut.

3. Hash Function

Fungsi HASH adalah fungsi yang menerima masukan string yang

panjangnya sembarang dan mengonversinya menjadi string keluaran

yang panjangnya tetap (fixed), yang umumnya berukuran jauh lebih

kecil dari pada ukuran semula.

Pada tugas akhir ini penulis menerapkan algoritma simetri pada aplikasi yang

dibuat ini, untuk enkripsi plaintext dan dekripsi ciphertext menggunakan algoritma

Vernam cipher dan RC4 sehingga kunci yang digunakan harus sama untuk enkripsi

dan dekripsi.

2.1.2 Tujuan Kriptografi

Dari paparan awal dapat dirangkumkan bahwa kriptografi bertujuan untuk

memberi layanan keamanan merahasiakan data untuk menjaga agar pesan tidak

dapat dibaca oleh pihak – pihak yang tidak berhak. Penulis menggunakan algoritma

simetri yang artinya menggunakan kunci yang sama sedangkan algoritmanya

menggunakan algoritma Vernam cipher yang dikombinasikan dengan algoritma

RC4 oleh penulis.

2.2 Algoritma Vernam Cipher

Vernam cipher ditemukan oleh Gilbert Sandford Vernam (1890-1960) yang

juga seorang penemu stream cipher pada tahun 1917. Vernam berkerja di suatu

perusahaan bernama Bell Labs, dia memiliki hak paten yang menjelaskan tentang

sebuah cipher dengan kunci yang telah disiapkan pada sebuah pita kertas, kemudian

dikombinasikan dengan sebuah plaintext untuk menghasilkan sebuah pesan

Page 5: BAB II TINJAUAN PUSTAKA 2.1 Kriptografi

10

ciphertext yang dapat ditransmisikan. Pita yang sama kemudian digunakan pula

untuk mendekripsikan ciphertext.

Vernam cipher merupakan stream cipher yang didefenisikan pada sebuah

alfabet. Sebuah pesan binary M1, M2, M3, ..., Mt dioperasikan dengan kunci string

binary K1, K2, K3, ..., Kt yang memiliki panjang yang sama untuk menghasilkan

sebuah string ciphertext C1, C2, C3, ..., Ct.

Rumus dasar untuk menghitung vernam cipher dalam mode binary dapat di

tuliskan sebagai berkut (Pratika Sari Eka, 2018):

𝐶𝑖 = 𝑃𝑖 + 𝐾𝑖 (𝑚𝑜𝑑 𝑛) … … … … … … … … … … … … … … … … … … … … … . . . . (2.1)

Keterangan :

Ci = Cipherrtext

Pi = Plaintext

Ki = Kunci

n = Banyaknya jumlah karakter yang digunakan

Dimana Ci adalah digit binary dari ciphertext, Pi adalah digit binary dari

plaintext, sedangkan Ki adalah bit binary dari kunci, dan + adalah operasi

penjumlahan.

Secara matematis proses enkripsi plaintext (M) menjadi ciphertext (C)

menggunakan kunci rahasia (k) dapat dinyatakan sebagai berikut:

𝐶 = 𝑀 + 𝑘 (𝑚𝑜𝑑 𝑛) … … … … … … … … … … … … … … … … … … … . . … … … . (2.2)

Keterangan :

C = Ciphertext

M = Plaintext

k = Kunci

n = Banyaknya jumlah karakter yang digunakan

Proses dekripsi ciphertext (C) menjadi plaintext (P) menggunakan kunci

rahasia (k) dapat dinyatakan sebagai berikut:

Page 6: BAB II TINJAUAN PUSTAKA 2.1 Kriptografi

11

𝑀 = 𝐶 + 𝑘 (𝑚𝑜𝑑 𝑛) … … … … … … … … … … … … … … … … … … … … … … . . . (2.3)

Keterangan :

M = Plaintext

C = Ciphertext

k = Kunci

n = Banyaknya jumlah karakter yang digunakan

Oleh karena operasi penjumlahan modulo berdasarkan nanjang “n” maka

persamaan rumus enkripsi diatas menggunakan operator XOR dapat ditulis sebagai

berikut:

𝐶𝑖 = 𝑃𝑖 ⊕ 𝐾𝑖 … … … … . . … … … … … … … … … … … … … … … … … … … … … … (2.4)

Dimana:

𝐶𝑖 : ciphertext

𝑃𝑖 : plaintext

𝐾𝑖 : key

Dan proses untuk melakukan dekripsi menggunakan persamaan sebagai berikut:

𝑃𝑖 = 𝐶𝑖 ⊕ 𝐾𝑖 … … … … . . … … … … … … … … … … … … … … … … … … … … … … (2.5)

Dimana:

𝑃𝑖 : plaintext

𝐶𝑖 : ciphertext

𝐾𝑖 : key

2.3 Algoritma Rivest Cipher 4 (RC4)

Rivest Cipher 4 (RC4) merupakan algoritma enkripsi stream cipher yang

dirancang oleh Ron Rivest pada tahun 1983. Proses pembuatan keystream dari RC4

Page 7: BAB II TINJAUAN PUSTAKA 2.1 Kriptografi

12

terbagi atas dua proses yaitu key-scheduling dan pseudo-random generation

(Alvarez dan Zamora, 2015).

RC4 Stream Cipher terdiri atas tahapan, antara lain:

1. Random Number Generator akan diambil sebuah nilai yang akan

dijadikan “seed”. Kemudiandibangkitkan nilai random berdasarkan

nilai ”seed”ni.

2. Inisialisasi S-Box Pada tahapan ini, S-Box akan diisi dengan nilai sesuai

indeksnya untuk mendapatkan S-Box awal.

Proses inisialisasi S-Box (Array S):

For i = 0 to 255

S[i]= i

Keterangan:

i: Indeks

S[i]: nilai indeks

3. Menyimpan key dalam key byte array. Pada tahapan ini, key (key) yang

akan kita gunakan untuk mengenkripsi atau dekripsi akan dimasukkan

ke dalam array berukuran 256 byte hanya sekali saja, kemudian sisa

array lainnya akan diisikan dengan nilai random yang dibangkitkan oleh

mesin seluruh array terisi.

Proses inisialisasi S-Box (Array K):

Array Key // Array dengan panjang key “length”.

For i= 0 to 255

K[i]= Key [i mod length]

Keterangan:

Key: array kunci

K[i]: nilai kunci

4. Permutasi pada S-Box. Pada tahapan ini, akan dibangkitkan nilai

pseudorandom yang akan dijadikan aturan untuk permutasi pada S-

Box.

Langkah pengacakan S-Box:

i= 0 ; j= 0

for i= 0 to 255

Page 8: BAB II TINJAUAN PUSTAKA 2.1 Kriptografi

13

{

j = ( j + S[i] + K[i] ) mod n.... ..........................................................(2.6)

swap S[i] dan S[j]............................................................................ (2.7)

Keterangan :

i dan j: memberi nilai inisial

n: array panjang teks

5. Pada tahapan ini akan dihasilkan nilai pseudorandom yang akan

dikenakan operasi XOR untuk menghasilkan ciphertext ataupun

sebaliknya yaitu untuk menghasilkan plaintext.

Membuat pseudorandom byte:

i = (i+1) mod n..................................................................................(2.8)

j = (j+S[i]) mod n..............................................................................(2.9)

swap S[i]dan S[j] ...........................................................................(2.10)

t = (S[i]+S[j]) mod n.......................................................................(2.11)

K = S[t]

Keterangan :

t: kunci yang dihasilkan

n: array panjang teks

6. Byte K di-XOR-kan dengan plaintext untuk menghasilkan ciphertext

atau di-XOR-kan dengan ciphertext untuk menghasilkan plaintext.

2.4 Android

Android merupakan sebuah sistem operasi pada handphone yang bersifat

terbuka dan berbasis pada sistem operasi Linux. Android bisa digunakan oleh setiap

orang yang ingin menggunakannya pada perangkat mereka. Android menyediakan

platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri

yang akan digunakan untuk bermacam peranti bergerak. Awalnya, Google Inc.

membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel.

Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance,

konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi,

termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia

(Nasruddin Safaat h, 2012).

Page 9: BAB II TINJAUAN PUSTAKA 2.1 Kriptografi

14

Dengan demikian penulis dapat mengartikan android adalah sistem operasi

untuk telepon seluler berbasis Linux. Android juga menyediakan platform terbuka

bagi para pengembang untuk membangun aplikasi yang dapat dijalankan di

berbagai macam telepon seluler.

2.4.1 Arsitektur Sistem Operasi Android

Arsitektur sistem terdiri atas 5 layer, tetapi penulis menggunakan 3 layer.

Layer – layer tersebut adalah Layer Kernel, Layer Runtime, dan Layer Aplikasi atau

Widget.

Gambar 2.2 Arsitektur Sistem Operasi Android (Burnette, 2010)

1. Layer Kernel

Sistem operasi Android dikembangkan dari GNU / kernel Linux, diciptakan

oleh Linus Torvald ketika ia masih menjadi mahasiswa di Universitas

Helsinki pada tahun 1991. Android dapat dimasukkan ke berbagai perangkat,

hal ini karena GNU / Linux mendukung kernel yang memiliki lapisan

abstraksi perangkat keras. Selain itu, dengan GNU / kernel Linux juga

mendukung manajemen memori, manajemen proses, jaringan dan jenis servis

lainnya.

2. Layer Runtime

Lapisan di atas kernel adalah Android runtime, termasuk mesin virtual Dalvik

(Dalvik VM) dan library inti Java. Dalvik VM adalah implementasi Java dari

Google, dioptimalkan untuk perangkat mobile. Semua kode yang ditulis

Page 10: BAB II TINJAUAN PUSTAKA 2.1 Kriptografi

15

untuk Android akan ditulis di Java dan dijalankan dalam Virtual Machine.

Dalvik berbeda dari Java tradisional dalam dua hal penting:

1. Dalvik VM menjalankan .dex file, yang dijabarkan pada waktu

kompilasi dari standar file .class dan .jar. File .dex adalah lebih kompak

dan efisien daripada file .class, suatu pertimbangan penting untuk

memori terbatas dan perangkat bertenaga baterai yang berbasis

Android.

2. Library Java core yang datang dengan Android berbeda dari pustaka

Java Standard Edition (Java SE) dan Java Mobile Edition (Java ME).

3. Layer Aplikasi dan Widgets

Lapisan teratas dalam diagram arsitektur Android adalah Applications and

Widgets. Applications adalah program yang dapat mengambil alih seluruh

layar dan berinteraksi dengan pengguna. Di sisi lain, Widget (kadang-kadang

disebut gadget), hanya beroperasi di sebuah persegi panjang kecil dari

aplikasi layar Home. (Burnette, 2010).

2.4.2 Application Programming Interface (API) Android

Berikut adalah beberapa API utama yang disediakan oleh Android, yaitu

API untuk manipulasi Graphical User Interface (GUI) dan manipulasi grafik

(Fifin, 2012).

1. Graphical User Interface (GUI)

Package android.view menyediakan berbagai kelas-kelas yang akan

digunakan untuk menangani screen, layout, dan interaksinya dengan

pengguna.

2. Manipulasi Grafik

Package android.graphics menyediakan manipulasi grafik low-level seperti

kanvas, point, pewarnaan, dan manipulasi bentuk pada screen.

Penulis dapat mengambil kesimpulan bahwa didalam android membutuhkan

Application Programming Interface (API) untuk menangani screen, layout,

interaksi dengan pengguna dan dapat mendesain aplikasi dengan mudah.

Page 11: BAB II TINJAUAN PUSTAKA 2.1 Kriptografi

16

2.5 Pengujian Enkripsi dan Dekripsi

Pada penelitian yang dilakukan harni kusniyanti pada tahun 2018 bahwa

terdapat dua pengujian yaitu pengujian Black Box testing dan tabel.

2.5.1 Pengujian Black Box

Pengujian Black Box merupakan metode pengujian perangkat lunak yang tes

fungsionalitas dari aplikasi yang bertentangan dengan struktur internal atau kerja.

Uji kasus dibangun di sekitar spesifikasi dan persyaratan, yakni aplikasi apa yang

seharusnya dilakukan. Didalam pengujian ini terdapat beberapa skenario yaitu

skenario pengujian, test case, hasil pengujian, dan kesimpulan.

Pengujian ini dimaksudkan untuk mengetahui apakah fungsi-fungsi,

masukan, dan keluaran dari perangkat lunak sesuai dengan spesifikasi yang

dibutuhkan. Pengujian kotak hitam dilakukan dengan membuat kasus uji yang

bersifat mencoba semua fungsi dengan memakai perangkat lunak apakah sesuai

dengan spesifikasi yang dibutuhkan. Kasus uji yang dibuat untuk melakukan

pengujian Black Box testing harus dibuat dengan kasus benar dankasus salah.

Beberapa kata kunci dalam pengujian perangkat lunak yang dapat

diperhatikan, yaitu (Simarmata, 2009):

1. Dinamis

Pengujian perangkat lunak dilakukan pada masukan yang bervariasi.

Masukan ini ditentukan sebelum pengujian dilakukan dengan batasan yang

disesuaikan dengan kemampuan perangkat lunak. Masukan tidak harus

sesuatu yang dimungkinkan terjadi pada penggunaan program lebih lanjut,

melainkan meliputi keseluruhan batasan yang dapat dijangkau perangkat

lunak dan dilakukan pemercontohan (sampling) secara acak untuk proses

pengujian.

2. Terbatas

Meskipun pengujian dilakukan pada perangkat lunak sederhana sehingga

rumit sekalipun, pengujian dilakukan dengan memenuhi batasan-batasan

tertentu sesuai dengan kemampuan program. Batasan ini juga diberlakukan

pada masukan-masukan yang dipilih untuk pengujian. Tidak semua

kemungkinan masukan diujika pada perangkat lunak karena akan memakan

waktu yang cukup panjang mengingat begitu banyaknya kemungkinan yang

Page 12: BAB II TINJAUAN PUSTAKA 2.1 Kriptografi

17

bisa terjadi. Untuk mengatasi hal ini, pemilihan masukan-masukan pada

proses pengujian secara acak yang diperkirakan mampu memenuhi

kebutuhan pengujian perangkat lunak akan dilakukan.

3. Tertentu

Pengujian dilakukan dengan batasan tertentu disesuaikan dengan harapan

pada fungsi, respon, dan karakteristik perangkat lunak tersebut. Batasan

tersebut akan disesuaikan dengan teknik-teknik pengujian yang ada.

Pemilihan kriteria pengujian yang paling tepat merupakan hal yang kompleks.

Dalam praktiknya, analisis risiko pengujian dan pengalaman terhadaop

pengujian-pengujian sejenis akan diperlukan.

4. Harapan

Kata kunci ini memiliki keadaan-keadaan yang diharapkan, baik berupa

respon sistem terhadap masukan maupun karakteristik responnya. Dalam hal

ini, batasan-batasan hasil pengujian yang diharapkan harus ditentukan.

Dengan demikian, dapat diketahui apakah perangkat lunak tersebut telah

memenuhi hasil pengujian yang diharapkan atau memerlukan pembenahan

kembali, baik berupa perbaikan maupun pengembangan perangkat lunak.

Dapat dilihat pada gambar 2.2 dibawah ini merupakan contoh sederhana

gambar tabel Black Box testing:

Gambar 2.3 Contoh Gambar Tabel Black Box Testing

2.5.2 Pengujian Enkripsi dan Dekripsi

Di dalam pengujian ini terdapat beberapa poin yang diuji yaitu lama proses

enkripsi dan dekripsi, kerusakan data, dan ukuran file enkripsi maupun dekripsi.

Page 13: BAB II TINJAUAN PUSTAKA 2.1 Kriptografi

18

Pengujian ini dilakukan untuk mengetahui Kinerja sistem secara keseluruhan yang

berfungsi untuk mengetahui proses enkripsi dan deskripsi pada aplikasi dengan

hasil yang diharapkan. Tes kinerja sistem yang dilakukan yaitu dengan cara

pengujian secara langsung pada aplikasi.

Berikut ini merupakan contoh tabel uji enkripsi, dapat dilihat pada gambar

2.3 dibawah ini:

Gambar 2.4 Contoh Tabel Pengujian Enkripsi (Muhammad Eka Putra, 2017)

Berikut ini merupakan contoh tabel uji dekripsi, dapat dilihat pada gambar

2.4 dibawah ini:

Gambar 2.5 Contoh Gambar Uji Dekripsi (Muhammad Eka Putra, 2017)

2.6 Metode Waterfall

Waterfall adalah model klasik yang bersifat sistematis, berurutan dalam

membangun software. Nama model ini sebenarnya adalah “Linear Sequential

Model”. Model ini sering disebut juga dengan “classic life cycle” atau metode

waterfall. Model ini termasuk ke dalam model generic pada rekayasa perangkat

lunak dan pertama kali diperkenalkan oleh Winston Royce sekitar tahun 1970

sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak

Page 14: BAB II TINJAUAN PUSTAKA 2.1 Kriptografi

19

dipakai dalam Software Engineering (SE). Model ini melakukan pendekatan secara

sistematis dan berurutan. Disebut dengan waterfall karena tahap demi tahap yang

dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan.

Gambar 2.6 Waterfall (Pressman, 2015)

Waterfall dianggap pendekatan yang lebih cocok digunakan untuk proyek

pembuatan sistem baru dan juga pengembangan software dengan tingkat resiko

yang kecil serta waktu pengembangan yang cukup lama. Tetapi salah satu

kelemahan paling mendasar adalah menyamakan pengembangan hardware dan

software dengan meniadakan perubahan saat pengembangan. Padahal, error

diketahui saat software dijalankan, dan perubahan-perubahan akan sering terjadi.

Keuntungan menggunakan metode waterfall adalah prosesnya lebih

terstruktur, hal ini membuat kualitas software baik dan tetap terjaga. Dari sisi user

juga lebih menguntungkan, karena dapat merencanakan dan menyiapkan kebutuhan

data dan proses yang diperlukan sejak awal. Penjadwalan juga menjadi lebih

menentu, karena jadwal setiap proses dapat ditentukan secara pasti. Sehingga dapat

dilihat jelas target penyelesaian pengembangan program. Dengan adanya urutan

yang pasti, dapat dilihat pula perkembangan untuk setiap tahap secara pasti. Dari

sisi lain, model ini merupakan jenis model yang bersifat dokumen lengkap sehingga

proses pemeliharaan dapat dilakukan dengan mudah.