• Tidak ada hasil yang ditemukan

BAB IV IMPLEMENTASI DAN PENGUJIAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB IV IMPLEMENTASI DAN PENGUJIAN"

Copied!
15
0
0

Teks penuh

(1)

Implementasi merupakan proses transformasi representasi rancangan ke bahasa pemrograman yang dapat dimengerti oleh komputer. Pada bab ini akan dibahas hal-hal yang berkaitan dengan implementasi sistem enkripsi dan dekripsi file.

4.1 LINGKUNGAN IMPLEMENTASI

Lingkungan implementasi yang akan dipaparkan disini meliputi lingkungan perangkat keras dan lingkungan perangkat lunak.

4.1.1 Lingkungan Perangkat Keras

Perangkat keras yang digunakan dalam pengembangan sistem enkripsi ini adalah sebagai berikut :

1. Laptop IBM Thinkpad dengan Prosesor Intel Pentium 4, 1.7.6 GHz 2. RAM 1024 MB

3. HardDisk dengan kapasitas 80 GB 4. VGA Ati Radeon 32mb

4.1.2 Lingkungan Perangkat Lunak

Perangkat lunak yang dibutuhkan dalam pembangunan aplikasi ini antara lain file ini adalah :

1. Sistem Operasi Windows 7 Profesional

2. Visual C# - Microsoft Visual Studio 2010 Ultimate 3. DotNet Frame Network versi 4.

4.1.3 Batasan Implementasi

Aplikasi yang dibangun disini memiliki batasan sebagai berikut : 1. Ukuran satu file yang dienkripsi tidak lebih dari 2 gigabyte.

2. Iterasi proses enkripsi hanya dapat dilakukan satu kali pada tiap file yang akan dienkripsi.

(2)

4.1.4 Implementasi Kelas

Pada Tabel berikut dapat dilihat daftar implementasi dari kelas-kelas yang telah kita rancang pada bagian sebelumnya. Penjelasan dari kelas-kelas tersebut dapat dilihat pada Tabel di bawah ini.

Tabel 4.1 Daftar Implementasi Kelas

Nama Kelas Nama File Keterangan

FormPassword Form_Password.cs Kelas ini berfungsi sebagai jembatan antar muka dalam memasukkan kata kunci yang akan digunakan untuk proses enkripsi atau dekripsi

FormProses Form_Proses.cs Kelas ini berfungsi sebagai tempat dimana proses dari aplikasi yang dibuat dipilih untuk dijalankan baik itu proses enkripsi, proses dekripsi, peregistrian folder, dan pemilihan file dilakukan

KryptoManager CryptoManager.cs Kelas ini adalah inti dari aplikasi program yang dibuat. Input yang diberikan akan diproses menjadi output. Algoritma Rijndael enkripsi beserta pembentukan kunci internal akan diimplementasikan pada kelas ini.

List_File_ Selection

ListFile.cs Kelas ini digunakan untuk menampil-kan isi file dari suatu folder yang dipilih dan memilih file yang akan dienkripsi atau didekripsi.

Insialisasi_file IntialFile.cs Pada kelas ini akan diinisialisasi nama dari file yang akan dienkripsi, lokasi-nya dan panjang dari file tersebut

(3)

4.1.5. Implementasi Operasi pada Kelas

Daftar implementasi operasi yang ada dalam kelas dapat dilihat dalam Tabel-Tabel berikut ini.

Table 4.2 Implementasi operasi pada kelas FormPassword Nama

Operasi

Visibility

(private, public) Implementasi Keterangan

Button1_click private get_password() set_password()

Prosedur ini berfungsi untuk menerima teks yang dimasukan dan menyimpannya kedalam variabel textBox1.Text;

Table 4.3 Implementasi operasi pada kelas FormProses

Nama Operasi

Visibility (private, public)

Implementasi Keterangan

btnAddDir_click private lbFolders.Items.Add() Prosedur ini berfungsi untuk menginisialisasi folder tempat file berada. Jika folder lain akan dimasukkan, kita dapat menambahkannya lewat operasi ini.

btnRemoveDir_click private lbFolders.Items.Remo ve()

Prosedur ini berfungsi untuk untuk menghapus folder yang sudah terinisialisasi comboBox1_Selection private workingDirectory() Prosedur ini adalah

(4)

pengejawantahan dari operasi btnAddDir_click. Dimana folder-folder yang telah ditambahkan dapat dipilih untuk seleksi file yang akan diproses.

listView1 private listView1.Sort() Prosedur ini berfungsi

untuk menampilkan isi file dari folder yang telah dipilih lewat operasi comboBox1_selection. btnLeft_click private Call proses_enkripsi() Prosedur ini berfungsi

sebagai triger proses enkripsi file dari file-file yang sudah dipilih dengan memanggil operasi proses_enkripsi btnRight_click private Call

proses_dekripsi();

Prosedur ini berfungsi sebagai triger proses dekripsi file dari file-file yang sudah dipilih dengan memanggil operasi proses_dekripsi

listView2 private listView2.Sort() Prosedur ini berfungsi

untuk menampilkan file-file yang telah dienkripsi

viewProces private viewProces.Update() Prosedur ini berfungsi untuk menampilkan proses yang sedang berjalan, baik proses enkripsi ataupun dekripsi.

(5)

Table 4.4 Implementasi operasi pada kelas KryptoManager Nama Operasi Visibility (private, public) Implementasi Keterangan

getKeyFromPassword Public Getbytes() Prosedur ini berfungsi

untuk merubah kata kunci dari password yang telah dimasukkan kedalam bentuk byte

encryptData Public Getbytesfile()

Create Encryptor() Create CryptoStream() Create FileStream() Run rijndaelManaged() Write fileout Delete()

Prosedur proses untuk enkripsi file

decryptData Public Getbytesfile()

Create Decryptor() Create CryptoStream() Create FileStream() Run rijndaelManaged() Write fileout Delete()

Prosedur proses untuk dekripsi file

fireMessage Public EventArgs() Prosedur untuk

menampilan keberhasilan atau tidak dari proses enkripsi/dekripsi yang dilakukan

(6)

Tabel 4.5 Implementasi operasi pada kelas InisialisasiFile Nama Operasi Visibility (private, public) Implementasi Keterangan

FileName Public Get_filename()

Set_filename()

Prosedur untuk membaca nama file

FileLength Public Get_fileLength()

Set_filelength()

Prosedur untuk membaca panjang file

FilePosition Public Get_filePosition() Set_filePosition()

Prosedur untuk membaca lokasi file

Tabel 4.6 Implementasi operasi pada kelas ListFileSelection

Nama Operasi

Visibility (private, public)

Implementasi Keterangan

List_file_Selection public Get_object() Prosedur untuk membaca file yang telah dipilih untuk dilakukan proses enkripsi/dekripsi

(7)

4.1.5. Implementasi Antar Muka

Gambar 4.1 Tampilan awal saat program dijalanan

Pada saat pertama kali program dijalankan antar muka seperti pada gambar 4.1 akan tampak dilayar monitor, dimana program aplikasi meminta user memasukkan kata kunci yang akan digunakan untuk mengenkripsi atau mendekripsi file.

Ketika pengguna sudah memasukkan kata kunci dan menekan tombol ”OK” maka program akan memberitahukan bahwa folder tempat file-file yang akan dienkripsi/didekripsi belum di pilih seperti tampak pada gambar 4.2 dibawah ini.

(8)

Gambar 4.3 Tampilan penambahan folder

Pada gambar 4.3 diatas terlihat bahwa belum ada folder yang teregistrasi. User harus menambahkan folder dengan menekan tombol ”Tambah Folder” yang berada pada kiri bawah antar muka.

(9)

Pada Gambar 4.4, folder yang sudah ditambahkan/diregistrasi, pada menu tabulasi ”Files” nantinya akan ditampilkan tiap file yang berada pada foldernya masing-masing pada kolom ”File Original”. Dimana kita juga bisa memilih satu atau sebagian atau seluruh file yang akan diproses untuk dienkripsi. Setelah kita menekan tombol ”Enkripsi”, file-file yang telah kita pilih untuk diproses akan berpindah ke kolom ”File Terenkripsi”.

Pada bagian bawah, juga akan ditampilkan indikator dari proses yang berjalan, yang akan menampilkan lokasi file, ukuran file dan waktu yang diperlukan untuk proses enkripsi dari tiap-tiap file tersebut.

4.2 PENGUJIAN APLIKASI

Pengujian aplikasi ini kita bagi menjadi dua bagian. Pengujian pertama adalah pengujian terhadap input, proses dan output dari enkripsi/dekripsi. Sedangkan pengujian kedua dilakukan untuk mengukur performansi dari aplikasi ini.

4.2.1 Pengujian proses enkripsi dan dekripsi

Pengujian ditujukan untuk melihat fungsi-fungsi yang ada pada program aplikasi berjalan dengan benar dan juga untuk melihat keberhasilan output dari proses yang dilakukan.

Pengujian ini dilakukan pada komputer dengan spesifikasi seperti yang telah disebutkan pada bagian diatas.

Pada Table 4.7 dapat dilihat beberapa jenis pengujian yang dilakukan.

Tabel 4.7 Daftar Pengujian Aplikasi

No. Jenis Pengujian

1 Memastikan enkripsi yang dilakukan terhadap file plain text file sederhana berjalan baik dan benar.

2 Memastikan hasil enkripsi yang dilakukan terhadap file plain text sederhana tidak dapat dimengerti isinya.

(10)

yang telah dienkripsi.

4 Memastikan program aplikasi dapat memproses file-file yang biasa digunakan sehari-hari (Microsoft Word, Excel, MP3, AVI, Mpeg, dan lain-lain)

5 Memastikan program aplikasi dapat memproses satu file, lebih dari satu file ataupun seluruh file dalam satu folder untuk dienkripsi

6 Memastikan fungsi penambahan file yang akan dienkripsi yang berada di folder lain dapat berjalan dengan baik

7 Memastikan file yang sudah dienkripsi tidak dapat dibaca dengan program aslinya.

8 Memastikan enkripsi yang dilakukan terhadap file yang berukuran besar (1 GB) dapat dilakukan dengan baik

9 Memastikan file yang sudah dienkripsi dapat dikembalikan seperti semula dengan kunci yang benar lewat fungsi dekripsi pada program aplikasi

10 Memastikan proses dekripsi hanya bisa dilakukan jika kata kunci yang digunakan adalah benar

Hasil pengujian nomer 1, 2 dan 3 menggunakan kata kunci ”mercubuana123456” dapat dilihat pada Tabel 4.8 dibawah ini.

Tabel 4.8 Hasil enkripsi dan dekripsi file sederhana File Proses

enkripsi

Hasil enkripsi Proses Dekripsi

Hasil dekripsi

Test1.txt Berhasil Isi file tidak terbaca

Berhasil Isi file kembali terbaca

(11)

Gambar 4.5 File Test1.txt asli

Pada Gambar 4.5 dapat dilihat isi dari Test1.txt dibuka dengan program

notepad. Dan pada Gambar 4.6 file yang sama dibuka dengan program Grovy Hex

Editor, yang dapat menampilkan isi dalam bentuk teks dan dalam bentuk heksadesimal.

(12)

Gambar 4.7 File Test1.txt.enk terenkripsi dibuka dengan hex editor

Setelah proses enkripsi dilakukan kita dapat melihat seperti pada Gambar 4.7 bahwa isi file dalam bentuk text sudah berubah menjadi karakter-karakter yang tidak beraturan yang sukar dimengerti.

Hasil tes terhadap pengujian no. 4,5,6,7,8,9 dan 10 dapat dilihat pada Tabel 4.9 dibawah ini.

Tabel 4.9 Pengujian lanjutan terhadap aplikasi

No. Pengujian Hasil Pengujian

4. Program aplikasi dapat memproses file-file Microsoft Word, Excel, MP3, AVI, Mpeg.

Berhasil

5. Program aplikasi dapat memproses satu file, lebih dari satu file ataupun seluruh file dalam satu folder untuk dienkripsi

Berhasil

6. Fungsi penambahan file yang akan dienkripsi yang berada di folder lain dapat berjalan dengan baik

(13)

7. File yang sudah dienkripsi tidak dapat dibaca dengan program aslinya.

Berhasil

8. Enkripsi terhadap file yang berukuran besar (1 GB) dapat dilakukan dengan baik

Berhasil

9. File yang sudah dienkripsi dapat dikembalikan seperti semula dengan kunci yang benar lewat fungsi dekripsi pada program aplikasi

Berhasil

10. Dekripsi tidak bisa dilakukan jika kata kunci yang dimasukkan salah

Berhasil

4.2.2 Pengujian performansi aplikasi

Pada bagian ini pengujian dilakukan untuk melihat waktu yang diperlukan dalam melakukan proses enkripsi (Gambar 3.8) dan proses dekripsi (Gambar 3.9) dengan melihat ukuran dari file sebelum enkripsi, sesudah enkripsi. Password yang digunakan adalah ”mercubuana123456”

(14)

Pada Gambar 4.8 dan Gambar 4.9 dapat dilihat bahwa program berjalan sesuai dengan apa yang diharapkan, yaitu dapat mengenkripsi lebih dari satu file sekaligus secara berurutan.

Gambar 4.9. Proses Dekripsi File

Tabel 4.10 Pengujian performansi dari aplikasi Jenis

File

Besar File asli (byte) Waktu Proses Enkripsi Besar File setelah enkripsi (byte) Waktu Proses Dekripsi Besar File setelah dekripsi (byte) Txt 238 0ms 256 15ms 238 Docx 164.667 46ms 164.688 62ms 164.667 Ppt 294.400 78ms 294.416 78 ms 294.400 Jpg 1.522.621 375 1.522.640 421ms 1.522.621 mp3 8.864.957 2 dtk:171ms 8.864.976 2 dtk:281ms 8.864.957 Pdf 82.820.696 9 dtk:203ms 82.820.720 21dtk:109ms 82.820.696 Iso 82.820.696

(15)

4.2.3Analisa Hasil Pengujian

Dari pengujian beberapa proses yang telah dilakukan, dapat ditarik analisa sebagai berikut :

- Analisa proses enkripsi dan dekripsi

Dari Tabel 4.8 dengan menggunakan file plaintext sederhana dapat dilihat bahwa proses enkripsi maupun dekripsi rijndael berjalan dengan semestinya sehingga tujuan dari pengamanan file dengan membentuk ciphertext dari suatu file telah tercapai.

- Analisa proses pembacaan file

Dari beberapa skenario yang dicoba seperti diulas pada Tabel 4.9, program tidak mengalami kesulitan untuk membaca berbagai jenis file guna dilakukan proses enkripsi.

- Analisa waktu proses secara umum

Sedangkan dari waktu yang diperlukan untuk melakukan proses enkripsi untuk katagori file ukuran kurang dari 100 megabyte tergolong singkat yaitu kurang dari 1 menit walaupun menggunakan konfigurasi perangkat keras yang tergolong katagori low end saat ini.

- Analisa perbandingan waktu enkripsi dan dekripsi

Dari pengujian yang ditampilkan pada Tabel 4.10 terlihat bahwa waktu dekripsi cenderung lebih besar sedikit dibandingkan dengan waktu enkripsi. Hal ini dimungkinkan karena pada proses dekripsi penggunaan roundkey dimulai dengan roundkey #10, sedangkan proses pembentuan roundkey melewati fase 1 sampai 10 terlebih dahulu.

- Analisa besar file

Dari sisi ukuran file dapat dilihat bahwa ukuran file dari file yang sudah dienkripsi akan bertambah tapi tidak jauh berbeda dengan file aslinya. Sedangkan pada proses dekripsi, ukuran file akan berkurang dan akan kembali ke ukuran file aslinya seperti dipaparkan sebelumnya pada bab II dalam rumusan dasar matematik untuk enkrisi/dekripsi, yaitu E(P) = C dan D(C) = P. - Perbedaan ukuran file setelah enkripsi, dimana pada contoh menggunakan kata

kunci yang panjangnya 16 byte, kemungkinan besar dikarenakan faktor dari teknik kompresi (codec) dari masing-masing jenis file.

Gambar

Tabel 4.1 Daftar Implementasi Kelas
Table 4.2 Implementasi operasi pada kelas FormPassword  Nama
Table 4.4 Implementasi operasi pada kelas KryptoManager  Nama Operasi  Visibility (private,  public)  Implementasi  Keterangan
Tabel 4.5 Implementasi operasi pada kelas InisialisasiFile  Nama Operasi  Visibility (private,  public)  Implementasi  Keterangan
+7

Referensi

Dokumen terkait

Pada penelitian ini, dirancang dan diimplementasikan sebuah sistem yang dapat memantau getaran dan amplitudo terbesar pada struktur bangunan yang diakibatkan oleh

Lahan budidaya di kawasan Segara Anakan yang masih dapat dikembangkan adalah lahan untuk penggembalaan ternak dimana kegiatan untuk lahan budidaya tersebut diijinkan

selaku dosen pembimbing yang baik dan selalu sabar membimbing saya serta teman-teman untuk menyelesaikan skripsi ini dengan baik.. dosen pembimbing yang cantik, sabar,

This study adopts Technology, Organization, and Environment (TOE) framework which consist technological factors such as relative advantage, compatibility, complexity,

Alhamdulillahhirabbil’alamin Puji dan syukur penulis panjatkan kehadirat Allah SWT, atas segala karunia dan rahmat-Nya sehingga penulis dapat menyelesaikan penyusunan

Agar obyek yang diteliti tidak terlalu luas, sehingga penulis hanya akan menganalisis bentuk- bentuk culture shock yang dialami oleh alumni mahasiswa D3 Bahasa Korea yang

Provinsi Lampung adalah provinsi sebagaimana dimaksud dalam Undang-Undang Nomor 14 Tahun 1964 tentang Penetapan Peraturan Pemerintah Pengganti Undang- Undang Nomor 3 Tahun

Proses selanjutnya adalah pemindahan wort ke sebuah tangki, perpindahannya difasilitasi oleh sebuah alat yang dinamakan 'heat exchanger' di mana wort yang masih