Sistem Keamanan Pesan Teks Pada Email Menggunakan Algoritma Triple Transposition Vigenre Cipher (TTVC) Dan RSA

(1)

SISTEM KEAMANAN PESAN TEKS PADA EMAIL MENGGUNAKAN

ALGORITMA TRIPLE TRANSPOSITION VIGENERE CIPHER

(TTVC) DAN RSA

SKRIPSI

DARMA WARISTA

091402099

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014


(2)

SISTEM KEAMANAN PESAN TEKS PADA EMAIL MENGGUNAKAN

ALGORITMA TRIPLE TRANSPOSITION VIGENERE CIPHER

(TTVC) DAN RSA

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

DARMA WARISTA 091402099

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2014


(3)

PERSETUJUAN

Judul : SISTEM KEAMANAN PESAN TEKS PADA

EMAIL MENGGUNAKAN ALGORITMA

TRIPLE TRANSPOSITION VIGENERE CIPHER

(TTVC) DAN RSA

Kategori : SKRIPSI

Nama : DARMA WARISTA

Nomor Induk Mahasiswa : 091402099

Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI

Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI Diluluskan di

Medan, September 2014

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Dani Gunawan, ST.,MT NIP. 19800110 200801 1 010

M. Andri Budiman, ST.,M.Com.,M.E.M NIP. 19751008 200801 1 010

Diketahui/Disetujui oleh

Program Studi Teknologi Informasi Ketua,

M. Anggia Muchtar, ST.,MM.IT NIP. 19800110 200801 1 010


(4)

PERNYATAAN

SISTEM KEAMANAN PESAN TEKS PADA EMAIL MENGGUNAKAN

ALGORITMA TRIPLE TRANSPOSITION VIGENRE CIPHER (TTVC) DAN RSA

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, September 2014

DARMA WARISTA 091402099


(5)

UCAPAN TERIMA KASIH

Puji dan syukur penulis panjatkan kepada Allah SWT Yang Maha Pengasih dan Maha Penyayang, dengan segala rahmat dan karuniaNya penulisan tugas akhir ini berhasil diselesaikan dalam waktu yang telah ditetapkan. Selama penyelesaian tugas akhir ini, banyak bantuan dan kerja sama serta doa dan dukungan dari berbagai pihak, oleh karena itu penulis sampaikan ucapan terima kasih sedalam-dalamnya dan penghargaan kepada :

1. Kedua orang tua dan sanak saudara penulis yang telah memberikan dukungan dan motivasi baik materil dan spiritual, Ayahanda Johannes Daud dan Ibunda Sabarita Sinulingga yang selalu sabar dalam mendidik dan membesarkan penulis. Untuk adik penulis Riki Ardian yang selalu memberikan semangat kepada penulis.

2. Bapak M. Andri Budiman, ST.,M.Com.,M.E.M dan Bapak Dani Gunawan,

ST.,MT selaku pembimbing yang telah banyak meluangkan waktu dan pikirannya, memotivasi dan memberikan kritik dan saran kepada penulis.

3. Ibu Dedi Arisandi, ST.M.Kom dan Bapak M. Anggia Muchtar, ST.,MM.IT yang

telah bersedia menjadi dosen pembanding yang telah memberikan kritik dan saran kepada penulis.

4. Ketua dan Sekretaris Program Studi Teknologi Informasi, Bapak M. Anggia Muchtar, ST.,MM.IT dan Bapak M. Fadly Syahputra, B.Sc.,M.Sc.IT.

5. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi

Universitas Sumatera Utara, semua dosen serta pegawai di Fakultas Ilmu Komputer dan Teknologi Informasi.

6. Seluruh sahabat terbaik penulis yang selalu memberikan dukungan, Ahmad Najam, Wildan Afifi, Satrya Prayudi, Mahathir Febrian, Fachriza Fahmi, Andre H Lubis, M Taufiqul Hadi, Anthea Ria M, Reyza Mirwanda, Dudung, Boho, Yogi, Dedek, Razky, Ranap, Donny, Erfahd, Adha, Mulki, Yudhi, Muslim, Syarah, Mitha, Ari Rifki, Onang, Hardiyanti Safitri, Bang Aulia, Bang Ridho, Bang Doyok, Bang Bayu serta seluruh angkatan 09, teman SRC, teman-teman Sepak Bola FASILKOM-TI, teman-teman-teman-teman SMA, teman-teman-teman-teman Jalbar, serta teman-teman seluruh angkatan mahasiswa USU lainnya yang tidak dapat penulis sebutkan satu persatu.

Semoga segala kebaikan dan bantuannya dibalas oleh Allah SWT dan semoga tugas akhir ini dapat bermanfaat bagi semua pihak yang memerlukan


(6)

ABSTRAK

Kemajuan sistem informasi semakin tak terbatas, saat ini banyak dokumen penting yang dikirim menggunakan media internet. Namun, Perkembangan teknologi informasi yang seprti itu pula yang meneyebabkan informasi atau pesan yang dipertukarkan tersebut tidak aman. Pelaku kejahatan memanfaatkan celah ketidakamanan tersebut untuk dimasuki dan melakukan manipulasi pesan atau informasi jika pesan atau informasi tersebut diubah. Sebagai contoh dapat terjadinya salah paham dan kerugian materil lewat kebocoran dan kerusakan data yang terjadi. Maka perlu teknik pengamanan lebih untuk menjaga kerahasiaan dan keamanan dari informasi atau pesan tersebut. Untuk menyelesaikan permasalahan ini dapat diselesaikan dengan menggunakan kombinasi algoritma. Dengan menerapkan sistem kriptografi asimetris RSA dan kriptografi simetris Triple Transposition Vigenere Cipher. Berdasarkan pengujian yang telah dilakukan, kombinasi kombinasi algoritma RSA dan Triple Transposition Vigenere Cipher dapat mengamankan pesan teks yang telah dikirim karena melakukan proses perulangan sebanyak tiga kali dengan menggunakan tiga kunci transposisi dan tiga substitusi yang berbeda dan dikombinasikan dengan algoritma RSA.

Kata kunci: RSA Algorithm, Triple Transposition Vigenere Cipher , Kriptografi Simetris, Kriptografi Asimetris.


(7)

SISTEM KEAMANAN PESAN TEKS PADA EMAIL MENGGUNAKAN

ALGORITMA TRIPLE TRANSPOSITION VIGENERE CIPHER

(TTVC)DAN RSA

ABSTRACT

Progress development of information systems increasingly so quick. Theres so many important document has been send by internet However, development of information technology as it also causes exchanged of information or messages not safe anymore. hackers exploit the insecurity gap to enter and manipulate messages or information has been changed. For example, can lead to leakage and data corrupt. So need more security techniques for maintaining the confidentiality and security of information or messages. To resolve this problem can be solved by using a combination of cryptografi algorithms. By applying the

RSA asymmetric cryptography system and symmetric cryptography Triple Transposition Cipher Vigenere. Based on the testing that has been done, the combination of the combination of the RSA algorithm and the Triple Transposition Cipher Vigenere can secure text messages that have been sent because use the iteration process three times using three key transposition and substitution of three different and combined with the RSA algorithm.

Kata kunci: RSA Algorithm, Triple Transposition Vigenere Cipher , Kriptografi Simetris, Kriptografi Asimetris.


(8)

DAFTAR ISI

Hal.

PERSETUJUAN ... ii

PERNYATAAN ... iii

UCAPAN TERIMA KASIH ... iv

ABSTRAK ... v

ABSTRACT ... vi

DAFTAR ISI ... vii

DAFTAR TABEL ... x

DAFTAR GAMBAR ... ix

BAB 1 PENDAHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Rumusan Masalah ... 2

1.3. Batasan Masalahs ... 2

1.4. Tujuan Penelitian ... 3

1.5. Manfaat Penelitian ... 3

1.6. Metodologi Penelitian ... 3

1.7. Sistematika Penulisan ... 4

BAB 2 LANDASAN TEORI ... 6

2.1. Keamanan Informasi ... 6

2.2. Kriptografi ... 7

2.3. Mekanisme Kriptografi ... 7

2.4. Algoritma Kriptografi ... 8

2.4.1. Algoritma Simetrik ( Symmetric Algorithm ) ... 9

2.4.2. Algoritma Asimetrik ( Asymmetric Algorithm ) ... 9

2.4.3. Algoritma RSA ... 11

2.4.4. Algoritma Triple Transposition Vigenere Cipher (TTVC) ... 14

2.5. PHP ... 18

2.6. MySQL ... 19

2.7. Pemodelan dan Unified Modeling Language (UML) ... 19


(9)

ix

BAB 3 ANALISIS DAN PERANCANGAN ... 21

3.1. Analisis Sistem ... 21

3.1.1 Analisis Masalah ... 21

3.1.2 Analisis Kebutuhan ... 21

3.1.2.1 Kebutuhan Fungsional ... 22

3.1.2.2 Kebutuhan Nonfungsional ... 22

3.2. Penerapan Algoritma RSA dan TTVC... 22

3.2.1. Enkripsi ... 23

3.2.2. Dekripsi ... 24

3.3. Use Case Diagram ... 24

3.4. Perancangan Flowchart Sistem ... 26

3.4.1. Flowchart Sistem ... 26

3.4.2. Flowchart Enkripsi ... 27

3.4.2. Flowchart Dekripsi ... 28

3.5. Perancangan Sistem dan Antar Muka Pemakai ... 29

3.5.1 Perancangan Database ... 29

3.5.2 Perancangan Relasi Antar Tabel ... 30

3.5.3 Rancangan Halaman Login ... 31

3.5.4 Rancangan Halaman Daftar ... 32

3.5.5 Rancangan Halaman Home ... 33

3.5.6 Rancangan Halaman Compose ... 34

3.5.7 Rancangan Halaman Inbox ... 35

3.5.8 Rancangan Halaman Send Email ... 36

3.5.9 Rancangan Halaman Logout ... 37

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 38

4.1. Spesifikasi Perangkat Keras dan Perangkat Lunak ... 38

4.2. Antarmuka Pengguna (User Interface) ... 39

4.2.1 Tampilan Halaman Login ... 39

4.2.2 Tampilan Halaman Daftar ... 40

4.2.3 Tampilan Halaman Home ... 41

4.2.4 Tampilan Halaman Compose ... 42


(10)

4.2.6 Tampilan Halaman Dekripsi ... 47

4.2.7 Tampilan Halaman Send Email ... 50

4.3. Pengujian Sistem Secara Menyeluruh ... 51

4.4. Analisis Performa Sistem ... 54

BAB 5 KESIMPULAN DAN SARAN ... 56

5.1. Kesimpulan ... 56

5.2. Saran ... 57

DAFTAR PUSTAKA ... 59


(11)

DAFTAR TABEL

Hal Tabel 2.1 Tabel Proses Transposisi dan Substitusi Menjadi Hasil TTVC

Table 2.2 Tabel penelitian terdahulu

16 20

Tabel 3.1 Tabel Pesan 29

Tabel 3.2 Tabel table user 30

Tabel 4.1 Tabel Rencana Pengujian 39

Tabel 4.2 Tabel Hasil Evaluasi Pada Tanpilan Halaman Login 40

Tabel 4.3 Tabel Hasil Evaluasi Pada Tanpilan Halaman Daftar Email 41

Tabel 4.4 Tabel Hasil Evaluasi Pada Tanpilan Halaman Home 42

Tabel 4.5 Tabel Hasil Evaluasi Pada Tampilan Halaman Compose 43

Tabel 4.6 Tabel Hasil Evaluasi Pada Tampilan Halaman Pada Proses Enkripsi 46

Tabel 4.7 Tabel Hasil Evaluasi Pada Tampilan Halaman Inbox 47

Tabel 4.8 Tabel Hasil Evaluasi Pada Tampilan Halaman Proses Enkripsi 48

Tabel 4.9 Tabel Hasil Evaluasi Pada Tampilan Halaman Proses Dekripsi 50

Tabel 4.10 Tabel Hasil Evaluasi Pada Tampilan Halaman Proses Sent Email 51

Tabel 4.11 Tabel hasil pengujian lama proses enkripsi

Tabel 4.12 Tabel hasil pengujian lama proses dekripsi 54 55


(12)

DAFTAR GAMBAR

Hal

Gambar 2.1 Mekanisme Kriptografi 8

Gambar 2.2 Proses Algoritma Simetrik 9

Gambar 2.3 Proses Algoritma Asimetrik 11

Gambar 2.4 Proses Triple Transposition Vigènere Cipher 14

Gambar 2.5 Bujur Vigenere 15

Gambar 3.1 Use Case Diagrram 25

Gambar 3.2 Flowchart Sistem 26

Gambar 3.3 Flowchart Enkripsi 27

Gambar 3.4 Flowchart Dekripsi 28

Gambar 3.5 Relasi Database 31

Gambar 3.6 Rancangan Halaman Login 31

Gambar 3.7 Rancangan Halaman Daftar 32

Gambar 3.8 Rancangan Halaman Home 33

Gambar 3.9 Rancangan Halaman Compose 34

Gambar 3.10 Rancangan Halaman Inbox 35

Gambar 3.11 Rancangan Halaman Sent Email 36

Gambar 3.12 Rancangan Halaman Log Out 37

Gambar 4.1 Tampilan Halaman Login 40


(13)

xii

Gambar 4.3 Tampilan Halaman Home 42

Gambar 4.4 Tampilan Halaman Compose 43

Gambar 4.5 Tampilan Halaman Proses Enkripsi 45

Gambar 4.6 Tampilan Halaman Inbox 46

Gambar 4.7 Tampilan Halaman Dekripsi

Gambar 4.8 Tampilan halaman hasil Teks Dekripsi Gambar 4.9 Tampilan halaman Send Email

Gambar 4.10 Sampel data Pesan Gambar 4.11 Sampel data Table User Gambar 4.12 Sampel 1 Compose File Teks

Gambar 4.13 Sampel 1 Compose File Teks Output Gambar 4.14 Hasil yang telah dikirim ke gmail

47 49 50 51 52 52 53 54


(14)

ABSTRAK

Kemajuan sistem informasi semakin tak terbatas, saat ini banyak dokumen penting yang dikirim menggunakan media internet. Namun, Perkembangan teknologi informasi yang seprti itu pula yang meneyebabkan informasi atau pesan yang dipertukarkan tersebut tidak aman. Pelaku kejahatan memanfaatkan celah ketidakamanan tersebut untuk dimasuki dan melakukan manipulasi pesan atau informasi jika pesan atau informasi tersebut diubah. Sebagai contoh dapat terjadinya salah paham dan kerugian materil lewat kebocoran dan kerusakan data yang terjadi. Maka perlu teknik pengamanan lebih untuk menjaga kerahasiaan dan keamanan dari informasi atau pesan tersebut. Untuk menyelesaikan permasalahan ini dapat diselesaikan dengan menggunakan kombinasi algoritma. Dengan menerapkan sistem kriptografi asimetris RSA dan kriptografi simetris Triple Transposition Vigenere Cipher. Berdasarkan pengujian yang telah dilakukan, kombinasi kombinasi algoritma RSA dan Triple Transposition Vigenere Cipher dapat mengamankan pesan teks yang telah dikirim karena melakukan proses perulangan sebanyak tiga kali dengan menggunakan tiga kunci transposisi dan tiga substitusi yang berbeda dan dikombinasikan dengan algoritma RSA.

Kata kunci: RSA Algorithm, Triple Transposition Vigenere Cipher , Kriptografi Simetris, Kriptografi Asimetris.


(15)

SISTEM KEAMANAN PESAN TEKS PADA EMAIL MENGGUNAKAN

ALGORITMA TRIPLE TRANSPOSITION VIGENERE CIPHER

(TTVC)DAN RSA

ABSTRACT

Progress development of information systems increasingly so quick. Theres so many important document has been send by internet However, development of information technology as it also causes exchanged of information or messages not safe anymore. hackers exploit the insecurity gap to enter and manipulate messages or information has been changed. For example, can lead to leakage and data corrupt. So need more security techniques for maintaining the confidentiality and security of information or messages. To resolve this problem can be solved by using a combination of cryptografi algorithms. By applying the

RSA asymmetric cryptography system and symmetric cryptography Triple Transposition Cipher Vigenere. Based on the testing that has been done, the combination of the combination of the RSA algorithm and the Triple Transposition Cipher Vigenere can secure text messages that have been sent because use the iteration process three times using three key transposition and substitution of three different and combined with the RSA algorithm.

Kata kunci: RSA Algorithm, Triple Transposition Vigenere Cipher , Kriptografi Simetris, Kriptografi Asimetris.


(16)

BAB I

PENDAHULUAN

1.1 Latar Belakang

Kemajuan sistem informasi semakin tak terbatas, saat ini banyak dokumen penting yang dikirim menggunakan media internet. Namun, Perkembangan teknologi informasi yang seperti itu pula yang menyebabkan informasi atau pesan yang dipertukarkan tersebut tidak aman. Pelaku kejahatan memanfaatkan celah ketidakamanan tersebut untuk dimasuki dan melakukan manipulasi pesan atau informasi jika pesan atau informasi tersebut diubah. Sebagai contoh dapat terjadinya salah paham dan kerugian materil lewat kebocoran dan kerusakan data yang terjadi (Caroline, 2010). Maka perlu teknik pengamanan lebih untuk menjaga kerahasiaan dan keamanan dari informasi atau pesan tersebut.

Teknik pengamanan pesan teks atau data dikenal dengan nama ilmu kriptografi. Kriptografi adalah sebuah ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya. sebuah ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya.

Dalam kriptografi terdapat beberapa metode yang cukup penting dalam pengamanan data,untuk menjaga kerahasiaan data salah satunya adalah enkripsi (encryption). Enkripsi adalah suatu proses yang dilakukan untuk mengubah pesan asli menjadi ciphertext. Sedangkan suatu proses yang dilakukan untuk mengubah


(17)

2

pesan tersembunyi menjadi pesan biasa (yang mudah dibaca) disebut dekripsi. pesan biasa atau pesan asli disebut plaintext sedangkan pesan yang telah diubah atau disandikan supaya tidak mudah dibaca disebut dengan ciphertext(Munir, 2006).

Pada penelitian ini nantinya penulis akan membuat sistem yang bersifat

local web-based. Dengan menerapkan algoritma Triple Transposition Vigènere Cipher dan RSA dalam proses pengiriman email untuk mengamankan pesan teks. Triple Transposition Vigènere Cipher adalah algoritma metode enkripsi dengan cara mengulang teknik Vigènere Cipher yang setiap plaintextsnya

dilakukan transposisi terlebih dahulu sebanyak tiga kali dengan menggunakan kunci yang tiap kuncinya harus berbeda satu dengan yang lainnya (Caroline, 2010). Untuk meningkatkan kerumitan kunci agar lebih aman maka digunakan RSA sebagai kunci kombinasi. Beberapa penerapan sistem kriptografi RSA sebagai sistem pengaman data antara lain, meningkatkan keamanan informasi dalam sistem e-voting berbasis pada kriptografi kunci publik. Al-Anie et al

menerapkan sistem enkripsi RSA pada proses vote yang dilakukan untuk mencegah terjadinya penyadapan dan kecurangan (Al-Anie et al., 2011), dan meningkatkan algoritma keamanan untuk komunikasi pesan dengan

mengkombinasikan RSA dengan beberapa sistem kriptografi lainnya. Rasool et

al, menyadari bahwasanya dengan mengkombinasikan beberapa sistem enkripsi

dalam proses komunikasi pesan akan meningkatkan keamanan pada komunikasi pesan, hal ini dikarenakan pada sebuah algoritma kriptografi masih terdapat kekurangan (Rasool et al., 2011). Dengan begitu kita dapat mengamankan keamanan pesan teks terjaga dengan baik dan mengurangi resiko terjadinya perubahan pesan yang akan disampaikan ke tujuan.

1.2 Rumusan Masalah

Berdasarkan pemaparan pada latar belakang tersebut, maka rumusan masalahnya adalah, bagaimana mengamankan pesan yang benar-benar aman dan efektif untuk mencegah terjadinya penyadapan pesan dengan mengkombinasi Triple Transposotion Vigenere Cipher dengan RSA.


(18)

1.3 Batasan Masalah

Batasan masalah pada tugas akhir ini adalah sebagai berikut : 1. Nilai p dan q pada RSA telah ditentukan secara default. 2. Sistem ini berjalan pada sistem local Web-Base.

1.4 Tujuan Penelitian

Adapaun tujuan dari penelitian ini adalah sebagai berikut:

1. Untuk mengamankan pesan antar pengguna sistem local Web-base.

2. Untuk mengetahui bagaimana performa TTVC dan RSA yang telah

dikombinasikan untuk mengamankan pesan teks.

1.5 Manfaat Penelitian

Penelitian ini diharapkan dapat memberikan manfaat bagi penulis, pembaca dan para peneliti pemula, sebagai berikut:

1. Merahasiakan pesan agar pesan yang disampaikan terjaga keamanannya.

2. Menambah pengetahuan baru tentang kombinasi RSA dan TTVC untuk

pengamanan pesan.

3. Dapat menjadi bahan rujukan untuk penelitian selanjutnya.

1.6 Metodologi Penelitian

Penyusun akan merancang dengan tahapan-tahapan metodologi penelitian sebagai berikut:

a. Studi Literatur

Metode studi literatur ini dilakukan dengan mengumpulkan bahan-bahan yang berkaitan dengan penelitian, dari buku-buku dan jurnal ilmiah yang memuat pemecahan masalah dari penelitian maupun informasi yang diperoleh melalui internet.


(19)

4

b. Metode Pengumpulan Data

Metode pengumpulan data dilakukan dengan observasi, yaitu dengan melakukan pengamatan secara langsung terhadap masalah-masalah pada implementasi algoritma Triple Transposition Vigènere Cipher dan RSA pada pesan teks.

c. Metode Analisis

Menganalisa bagaimana algoritma Triple Transposition Vigènere Cipher dan RSA diiplementasikan dalam sistem keamanan email.

d. Pembuatan Sistem

Pembuatan sistem dilakukan dengan Komputer menggunakan bahasa pemrograman PHP dan database MySQL.

e. Pengujian

Pada tahap ini dilakukan proses pengujian dan percobaan terhadap perangkat lunak sesuai dengan spesifikasi yang ditentukan sebelumnya serta memastikan program yang dibuat dapat berjalan seperti yang diharapkan.

1.7 Sistematika Penulisan

Tugas akhir ini disusun dalam lima bab dengan sistematika penulisan sebagai berikut:

Bab I : Pendahuluan

Pada bab pendahuluan berisi tentang hal-hal yang mendasari dilakukannya penelitian serta pengidentifikasian masalah penelitian. Bagian-bagian yang terdapat dalam bab pendahuluan ini terdiri atas latar belakang masalah, perumusan masalah, batasan masalah, tujuan penelitian, dan manfaat penelitian.

Bab II : Tinjauan Pustaka

Pada bab tinjauan pustaka berisi landasan teori, penelitian terdahulu, kerangka pikir dan hipotesis yang diperoleh dari acuan yang mendasari dalam melakukan penelitian ini.


(20)

Bab III : Analisis dan Perancangan Sistem

Pada bab analisis dan perancangan sistem berisi metodologi penelitian yang dilakukan dalam pengimplementasian algoritma Triple Transposition Vigenere Cipher Dan RSA untuk permasalahan dalam penerjemahan idiom Bahasa Inggris.

Bab IV : Implementasi dan Pengujian Sistem

Pada bab hasil dan pembahasan berisi penjelasan hasil dari pengujian algoritma

Triple Transposition Vigenere Cipher Dan RSA dalam menyelesaikan

permasalahan mengamankan pesan teks dari serangan para hacker.

Bab V : Kesimpulan dan Saran


(21)

BAB 2

TINJAUAN PUSTAKA

Pada bab ini akan dibahas landasan teori, penelitian terdahulu, kerangka pikir dan hipotesis yang mendasari penyelesaian permasalahan dalan pengamanan pesan teks dengan menggunakan algoritma Triple Transposotion Vigenere Chiper dan RSA.

2.1 Keamanan Informasi

Informasi saat ini sudah menjadi sebuah komoditi yang sangat penting bagi sebuah organisasi, perguruan tinggi, lembaga pemerintahan maupun individual, kemampuan dalam mengakses dan menyediakan informasi secara cepat (Rahardjo, B 2005). Karena pentingnya sebuah informasi, seringkali informasi yang diinginkan hanya dapat diakses oleh orang tertentu misalnya pihak penerima yang diinginkan, dan jika informasi ini sampai diterima oleh pihak yang tidak diinginkan akan berdampak kerugian pada pihak pengirim.

Keamanan informasi adalah bagaimana kita dapat mencegah penipuan, atau paling tidak mendeteksi adanya penipuan di sebuah sistem yang berbasis informasi, dimana informasinya sendiri tidak bersifat fisik (Rahardjo, B 2005). Untuk itu diperlukanlah sebuah pendekatan dalam melakukan pengamanan pada informasi, seperti melakukan enkripsi, steganografi, cipher dan hashing terhadap informasi tersebut.


(22)

2.2 Kriptografi

Kriptografi adalah ilmu yang berdasarka pada teknik matematika yang berurusan dengan keamanan informasi seperti kerahasian dan otentikasi entitas (Sadikin,2012). Adapun tujuan dari kriptografi yang didefenisikan dalam (Rinaldi, 2006) adalah:

1. Kerahasiaan (confidentiality), adalah layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak berkepentingan.

2. Integritas Data (data integrity), adalah layanan yang menjamin bahwa pesan masih asli atau belum pernah dimanipulasi selama pengiriman. 3. Otentikasi (authentication), adalah layanan yang berhubungan dengan

identifikasi, baik mengidentifikasi kebenaran pihak-pihak yang berkomunikasi (user authentication atau entity authentication) maupun mengidentifikasi kebenaran sumber pesan (data origin authentication). Dua pihak yang saling berkomunikasi harus dapat mengotentikasi satu sama lain sehingga ia dapat memastiak sumber pesan.

4. Nirpenyangkalan (non-repudiation), adalah layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengiriman pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan.

2.3 Mekanisme Kriptografi

Enkripsi (Encryption), adalah proses yang dilakukan untuk mengubah pesan yang tidak disandikan (plaintext) ke dalam bentuk yang tidak dapat dibaca (ciphertext), dekripsi (Decryption) adalah proses yang dilakukan untuk mengubah pesan yang tidak dapat dibaca kedalam bentuk yang dapat dibaca dan dimengerti. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi (Rinaldi, 2006)

Dalam suatu sistem dimana terdapat algoritma kriptografi, ditambah seluruh kemungkinan plaintext, ciphertext dan kunci-kuncinya disebut kriptosistem (cryptosystem atau cryptographic system). Cryptosystem adalah


(23)

8

suatu fasilitas untuk mengkonversikan plaintext ke ciphertext dan sebaliknya. Urutan proses kerja secara umum dapat digambarkan pada Gambar 1 sebagai berikut:

Gambar 2.1 Mekanisme Kriptografi Sumber : (Lia Silviana, 2013)

Enkripsi (encryption), adalah proses yang dilakukan untuk mengubah pesan yang tidak disandikan (plaintext) ke dalam bentuk yang tidak dapat dibaca (ciphertext), dekripsi (decryption) adalah proses yang dilakukan untuk mengubah pesan yang tidak dapat dibaca kedalam bentuk yang dapat dibaca dan dimengerti. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi. Dalam suatu sistem dimana terdapat algoritma kriptografi, ditambah seluruh kemungkinan plaintext, ciphertext dan kunci-kuncinya disebut kriptosistem (cryptosystem atau cryptographic system). Cryptosystem adalah suatu fasilitas untuk mengkonversikan plaintext ke ciphertext dan sebaliknya.

Dalam sistem ini, seperangkat parameter yang menentukan transformasi pencipheran tertentu disebut suatu set kunci. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi. Secara umum, kunci– kunci yang digunakan untuk proses pengenkripsian dan pendekripsian tidak perlu identik, tergantung pada sistem yang digunakan. Berdasarkan kunci yang digunakan untuk enkripsi dan dekripsi, kriptografi dapat dibedakan menjadi kriptografi kunci simetri (Symmetric-key Cryptography) dan kriptografi kunci asimetri (Asymmetric-key Cryptography).

2.4 Algoritma Kriptografi

Algoritma kriptograafi terdapat beberapa macam berdasakan kunci yang dipakai yaitu :


(24)

2.4.1 Algoritma Simetrik (symmetric algorithms)

Algoritma simetrik adalah algoritma kriptografi berdasarkan kuncinya dibedakan menjadi dua yaitu algoritma aliran (Stream Cipher) dan algoritma blok (Block Cipher). Pada algoritma Stream Cipher, proses penyandiannya berorientasi pada satu bit atau satu byte data. Sedangkan pada algoritma blok, proses penyandiannya berorientasi pada sekumpulan bit atau byte data. Contoh algoritma simetris yang terkenal adalah DES (Data Encryption Standard). Proses algoritma simetrik dapat dilihat pada Gambar 2.2.

Gambar 2.2 Proses Algoritma Simetrik

Sumber : (Lia Silviana, 2013)

Algoritma ini menggunakan kunci yang sama untuk proses enkripsi dan dekripsi. Dalam system kriptografi kunci simetrik, kunci yang digunakan untuk proses enkripsi dan dekripsi pada prinsipnya identik, tetapi satu buah kunci dapat diturunkan dari kunci yang lainnya. Kunci – kunci ini harus dirahasiakan. Oleh sebab itu sistem ini sering disebut sebagai secret key crypto system.

2.4.2 Algoritma Asimetrik (Asymmetric Algorithms)

Algortima kriptografi asimetrik adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsi. Algoritma ini sering juga disebut algoritma kunci umum (public key algorithm) karena kunci untuk enkripsi dibuat umum (public key) atau dapat di ketahui oleh setiap orang, tapi kunci dekripsi hanya di ketahui oleh orang yang berwenang mengetahui data yang disandikan atau sering disebut kunci pribadi (private key). Contoh algoritma terkenal menggunakan kunci asimetrik adalah ECC dan RSA. Proses algoritma asimetrik dapat dilihat pada gambar 2.3. Syarat-syarat yang harus di penuhi oleh algoritma public-cey yaitu :


(25)

10

1. Mudah secara komputasi bagi suatu pihak B untuk mengkrontuksi sepasang kunci asimetrik (kunci publik KU, kunci pribadi KR).

2. Mudah secara komputasi bagi pengirim A, dengan memiliki kunci publik B dan data yang ingin dienkripsi, M, untuk menghasilkan ciphertext (C).

3. Mudah secara komputasi bagi penerima B untuk mendekripsi

ciphertext yang dihasilkan menggunakan kunci pribadinya untuk mengembalikan data asli.

4. Tidak bisa secara komputasi bagi pihak ketiga untuk memperoleh kunci

pribadi KRb hanya dengan mengetahui kunci publik KUb.

5. Tidak bisa secara komputasi bagi pihak ketiga untuk mengembalikan data asli M hanya dengan mengetahui kunci publik KUb dan ciphertext C.

6. Fungsi enkripsi dan dekripsi bisa diterapkan dengan urutan yang dibalik.

Kegunaan persyaratan yang keenam adalah untuk penerapan tanda tangan digital (digital signature) yang digunakan memecahkan isu otentikasi dalam masalah keamanan data.

Proses enkripsi publik key sederhana melibatkan empat tahap berikut :

1. Setiap user didalam jaringan membuat sepasang kunci untuk digunakan sebagai kunci enkripsi dan dekripsi dari pesan yang akan diterima.

2. User kemudian mempublikasikan kunci enkripsinya dengan

menempatkan kunci publiknya ke tempat umum. Pasangan kunci yang lain tetap dijaga kerahasiaannya.

3. Jika user A ingin mengirimkan data ke user B, ia akan

mengenkripsikan data dengan menggunakan kunci publik user B.

4. Pada saat user B mendekripsikan data dari user A, ia akan menggunakan kunci pribadinya sendiri. Tidak ada pihak lain yang bisa mendekripsikan data itu karena hanya B sendiri yang mengetahui kunci pribadi B.


(26)

Gambar 2.3 Proses Algoritma Asimetrik

Sumber : (Lia Silviana, 2013)

2.4.3 Algoritma RSA

Karena semakin berkembangnya pertukaran data, khususnya dalam wireless

dan local area network (LAN), hal ini memberi kesempatan yang besar untuk mencegat data dan memalsukan pesan. Satu-satunya cara yang mudah untuk menjaga keamanan dan keintegritasan informasi antara pengirim dan penerima adalah dengan menggunakan kriptografi kunci publik (Satrya, 2013).

RSA adalah sistem kriptografi dengan kunci publik yang pertama kali dapat berjalan dan dipraktekkan, ditemukan pada tahun 1977 dan dipublikasikan pada tahun 1978 oleh Rivest, Shamir dan Adleman (RSA) di Institut Teknologi Massachusetts. RSA adalah sistem kriptografi yang masih paling banyak digunakan seperti transaksi online, email, kartu pintar dan

umumnya pada aplikasi mobile commerce (Yan, 2008).

Rumus dasar dari metode enkripsi dan dekripsi RSA dinotasikan kedalam persamaan (2.1) dan (2.2) berikut :

C MC (mod N) (2.1)

Dan

C Md (mod N) (2.2)

Penjelasan:

n = p * q

p dan q = Bilangan prima

m = Plaintext


(27)

12

e = Encryption exponent

d = Decryption exponent

ɸ (n) = (p-1) (q-1)

Tahapan Algoritma RSA :

1. Pilih dua bilangan prima secara acak dan tidak sama. 2. Hitung perkalian p dan q, simpan dalam variabel n. 3. Hitung ɸ(n) ≡ (p-1).(q-1)

4. Pilih e secara acak dengan syarat, FPB(e, ɸ (n)) = 1 5. Hitung d ≡ e-1(modɸ(n))

6. Rahasiakan p, q, ɸ (n) dan d

7. Kirimkan e dan n

Contoh 1. kasus sederhana algoritma Kriptografi RSA: p = 47 (bilangan prima) dan q = 71 (bilangan prima) n = p.q = 3337

ɸ (n) = (p-1)*(q-1) = 3220 e = 79 (pilih angka acak) d = 79 -1 mod 3220 dicoba K = 1,2,..,dst

d = 1019 (dipilih karena hasilnya bilangan bulat)

Misalkan plaintextM = “ABC”, ubah kedalam ASCII menjadi “65 66 67”

Enkripsi dengan kunci publik E = 79 dan N = 3337: M1 = 65 -> C1 = 6579 mod 3337 = 541 M2 = 66 -> C2 = 6679 mod 3337 = 795 M3 = 67 -> C3 = 6779 mod 3337 = 1479 Dekripsi dengan kunci D = 1019:

C1 = 541 -> M1 = 5411019 mod 3337 = 65 -> A C2 = 795 -> M2 = 7951019 mod 3337 = 66 -> B C3 = 1479 -> M3 = 14791019 mod 3337 = 67 -> C


(28)

Untuk mendapatkan nlai dari operasi pemangkatan besar bilangan bulat

modulo digunakan metode Fast Exponentiation (Munir, 2006). Berikut

Penjelasan metode Fast Exponentiation. Dinotasikan dalam persamaan (2.3) dan (2.4):

ab mod m = [(a mod m)(b mod m)] mod m (2.3)

(abc....) mod m = [(a mod m)(b mod m)(c mod m)....] mod m (2.4)

Untuk lebih jelasnya mengenai langkah-langkah metode fast exponentiation dapat dilihat pada contoh berikut.

Contoh 2. Hitung nilai dari 4540 mod 256.

Sebagai ilustrasi, untuk menghitung 4540 mod 256 dapat dilakukan sebagai berikut.

4540 = 4532 . 458

452 mod 256 = 2025 mod 256 = 233

454 mod 256 = 452 . 452 mod 256 = [(452 mod 256) . (452 mod 256)] mod 256

= 2332 mod 256 = 17

458 mod 256 = 454 . 454 mod 256 = [(454 mod 256) . (454 mod 256)] mod 256

= 172 mod 256 = 33

4516 mod 256= 458 . 458 mod 256 = [(458 mod 256) . (458 mod 256)] mod 256

= 332 mod 256 = 65

4532 mod 256= 4516 . 4516 mod 256 = [(4516 mod 256) . (4516 mod 256)] mod 256

= 652 mod 256 = 129


(29)

14

4540 mod 256 = [(4532 mod 256) . (458 mod 256)] mod 256 = 4257 mod 256 = 161

Jadi, nilai dari 4540 mod 256 = 233.

2.4.4 Algoritma Triple Transposition Vigènere Cipher (TTVC)

Dalam proses pengiriman pesan kerahasian itu menjadi kunci utama dalam

proses pengiriman. Banyak cara user mengamankan pesan email menggunakan

beberapa metode pengamanan contohnya algoritma Blowfish, algoritma El gamal, tetapi masih punya beberapa kelemahan yang dapat membuat pesan email dapat disusupi oleh orang yang tidak bertanggung jawab sehingga muncul algoritma terbaru yaitu Triple Tranposition Vigenere Cipher.

Triple Transposition Vigènere Cipher adalah metode enkripsi dengan cara mengulang teknik Vigènere Cipher yang setiap plaintextnya dilakukan transposisi terlebih dahulu sebanyak tiga kali dengan menggunakan kunci yang tiap kuncinya harus berbeda satu dengan yang lainnya. Metode Triple Transposition Vigènere Cipher dapat digambarkan seperti Gambar 2.4:

Gambar 2.4 Proses Algoritma Triple Transposition Vigènere Cipher

Sumber : (Caroline, 2010)

Proses yang terjadi pada Triple Transposition Vigènere Cipher terbagi

menjadi dua bagian. Metode transposisi dapat disimbolkan dengan T dan

Plainteks

Transposisi

Subsitusi

Enkripsi


(30)

metode substitusi menggunakan vigenere yang disimbolkan dengan E serta kunci untuk melakukan vigenere K. Secara matematis metode Triple Transposition Vigènere Cipher ini dapat dituliskan sebagai:

Proses enkripsi: P = T1’(S1’(T2’(S2’(T3’(S3’(C))))))

Bila dijabarkan, ciphertext diperoleh dengan mentransposisikan

plaintext, kemudian hasilnya disubstitusi menggunakan kunci pertama, lalu ditransposisikan kembali, lalu disubstitusi dengan menggunakan kunci yang berbeda dari kunci pertama, disebut saja kunci kedua, setelah itu dilakukan transposisi lagi yang kemudian diakhiri dengan proses substitusi menggunakan kunci ketiga. Substitusi disini menggunakan Vigènere Cipher.

Ketiga algoritma transposisi sudah didefinisikan terlebih dahulu

dengan suatu kunci atau suatu aturan tertentu setiap kali proses enkripsi metode transposisinya akan selalu tetap. Untuk metode enkripsi ini, spasi tidak diperhitungkan sehingga lebih baik dihilangkan saja. Rumus untuk transposisi adalah membagi panjang ciphertext dengan suatu kunci tertentu yang ditentukan oleh pengguna yang kemudian teks dibaca secara vertikal dari kolom pertama. Berikut adalah tabel bujursangkar vigenere, dapat dilihat pada Gambar 2.5.

Gambar 2.5 Bujurangkar Vigenere Sumber : (Caroline, 2010)


(31)

16

Cara menggunakan bujursangkar Vigènere adalah sebagai berikut:

baris paling atas menyatakan huruf-huruf plaintext dan kolom paling kiri menyatakan huruf-huruf pada kunci. Pertama tarik garis vertikal dari huruf

plaintext kebawah. Setelah itu tarik garis horizontal dari huruf kunci ke kanan. Cari titik perpotongannya. Perpotongan kedua garis tersebut menyatakan huruf

ciphertext dari huruf plaintext yang bersangkutan. Sebenarnya karakter

ciphertext didapat dengan rumus c(p) = (p+k) mod 26.

Rumus enkripsi Vigenere Cipher :

Ci = ( Pi + Ci ) -26kalau hasil penjumlahan Pi dan Ki lebih dari 26

Rumus dekripsi Vigenere Cipher :

Pi = (Ci– Ki) +26 kalau hasil pengurangan Ci dengan Ki minus

Dimana :

Ci = nilai desimal karakter ciphertext ke – i

Pi = nilai desimal karakter plaintext ke – i

Ki = nilai desimal karakter ke – i

Berikut ini adalah contoh proses transposisi dan substitusi dari algoritma TTVC, dapat dilihat pada Tabel 2.1.

Table 2.1. Tabel proses transposisi dan substitusi menjadi hasil TTVC

Plaintext ( P ) :

INI ADALAH PLAINTEKS KRIPTOGRAFI


(32)

I N I

A D A

L A H

P I A

I N T

E K S

K R I

P T O

G R A

F I

Hasil T1 = IALPIEKPGFNDAINKRTRIIAHTSIOA

Subsititusi pertama ( S1) dengan kunci = SEMBILAN AEQQPKCYJZEIWNXJXDJQLHNLWUPI


(33)

18

Substitusi ketiga ( S3 ) dengan kunci = SEBELAS :

YYXTRIAUBYTAXVFGIWPYDLUFJBCJV

Hasil enkripsi adalah YYXTRIAUBYTAXVFGIWPYDLUFJBCJV

A E X Q Q

P K C Y J

Z E I W N

X J X D J

Q L H N L

W U P I

Hasil T2 = APZXQWEKEJLUXCIXHPQYWDNIOJNJL

Transposisi ketiga ( T3 ) dengan kunci = 11 :

G P I X X C T E Q R

U G C P D H Q F C D

W I X P N S


(34)

Kemudian Proses dekripsi dapat dilakukan dengan arah sebaliknya. Bila dirumuskan maka akan terlihat sebagai berikut:

Proses dekripsi: C = S3(T3(S2(T2(S1(T1(P))))))

Maksud T’ disini adalah transposisi kebalikkannya 2.5 PHP

Menurut Prasetyo (2008), PHP (Hypertext Preprocessor) merupakan skrip yang bersifat server-side yang ditambahkan ke dalam skrip HTML. PHP merupakan singkatan dari Personal Home Page Tools. Skrip ini yang akan membuat suatu aplikasi website dapat diintegrasikan ke dalam HTML sehingga website tersebut tidak lagi bersifat statis, namun menjadi bersifat dinamis. Maksud dari bersifat

server-side itu sendiri adalah pengerjaan skrip di lakukan di server, baru kemudian hasilnya dikirim ke browser. Cara penulisan script PHP terbagi atas empat style, yaitu:

1. Standard Style, dengan format: <?php … ?> 2. Short Style, dengan format: <? … ?>

3. Javascript Style, dengan format: <script language=’PHP’> …

</script>

4. ASP Style, dengan format: <% … %>

2.6 MySQL

MySQL merupakan server database yang mendukung perintah SQL (Structured Query Language). Perintah dalam MySQL disebut dengan pernyataan (statement) dengan ciri khas pengakhirannya yang di tutup dengan tanda titik koma (;). Prinsip kerja dari MySQL yaitu dengan mengetikkan sejumlah pernyataan dan di akhiri dengan titik koma, maka program klien MySQL akan segera mengirim perintah tersebut ke server database MySQL dan kemudian memberikan respon yang sesuai dengan pernyataan yang diberikan.


(35)

20

2.7 UML(Unified Modelling Languange)

Untuk membantu dalam pengembangan perangkat lunak dikenal istilah pemodelan. Salah satu pemodelan yang saat ini paling banyak digunakan oleh pengembang perangkat lunak adalah UML (Unified Modelling Language). UML adalah standar bahasa yang sering digunakan dalam bidang industri untuk mendefinisikan requirement (kebutuhan), membuat analisis dan desain, serta menggambarkan arsitektur dalam pemrograman berorientasi objek (Satrya, 2013).

Ada beberapa hal yang dimaksud dalam kompleksitas pada perangkat lunak (Rosa, et al. 2011):

1. Kompleksitas domain atau permasalahan perangkat lunak 2. Kesulitas mengelola proses pengembangan perangkat lunak 3. Kemungkinan fleksibilitas perubahan perangkat lunak

4. Permasalahan karakteristik bagian-bagian perangkat lunak secara diskrit

UML terbagi atas 3 (tiga) kategori, yaitu diagram struktur (structure diagram), diagram kelakuan sistem (behaviour diagram), dan diagram interaksi (interaction

diagram). Dalam pembangunan sistem, penulis menggunakan diagram use

case dari kategori diagram kelakuan sistem, untuk menggambarkan interaksi antara satu atau lebih aktor dengan perangkat lunak (Rosa, et al. 2011).

2.8 Penelitian Terdahulu

Dalam melakukan peneletian, penulis membutuhkan beberapa bahan peneletian yang sudah pernah dilakukan peneliti-peneliti lainnya mengenai masalah sistem keamanan file teks pada email menggunakan kombinasi algoritna kriptografi

TTVC dan RSA.

Satria Prayudi (2013) telah mencoba menggunkanan pendekatan kombinasi

Algoritma RSA 512-Bit dan One Time Pad dalam penelitian pengamanan pesan pada nic messenger.

Lia Silviana (2013) telah mencobamenggunakan pendekatan Algortima kunci

public RSA dalam penelitian sistem tanda tangan digital pada pesan teks.Untuk penelitian yang dilakukan oleh peneliti sebelumnya dapat dilihat pada table 2.2


(36)

Table 2.2 Tabel penelitian terdahulu

No Peneliti Judul Penelitian

1 Satrya

Prayudi (2013)

Kombinasi Algoritma RSA 512-Bit dan One Time Pad

Untuk Pengamanan Pesan Pada NIC MESSENGGER

2 Lia silviana

(2013)

Sistem Tanda Tangan Digital Pada Pesan Teks


(37)

BAB 3

ANALISIS DAN PERANCANGAN

Dalam bab ini berisi beberapa hal diantaranya seperti data yang digunakan, penerapan algoritma dan analisis perancangan sistem dalam mengimplementasikan algoritma

RSA dan TTVC untuk permasalahan keamanan pesan teks.

3.1Analisis Sistem

Pada sistem ini akan dilakukan analisis terhadap sistem untuk melakukan proses enkripsi dan dekripsi pada pesan teks dengan menggunakan algoritma RSA dan TTVC.

3.1.1 Analisis Masalah

Dari beberapa kasus yang ditemui pada keamanan pesan teks, dimana masih banyak terjadinya kegagalan pada keamana pesan dikarenakan kurang rumitnya penerapan metode keamana pada sistem keamanan pesan. Jika sistem keamana pesan di terapkan kombinasi dari beberapa metode keamanan pesan, maka akan meminimalisir dan mencegah terjadinya pembobolan pesan.

3.1.2 Analisis Kebutuhan

Kebutuhan merupakan suatu keinginan yang akan dicapai dalam melakukan perancangan. Kebutuhan menggambarkan fungsi dan batasan untuk aplikasi. Adapun analisis kebutuhan dibagi menjadi dua, antara lain adalah kebutuhan fungsional dan kebutuhan nonfungsional.


(38)

3.1.2.1 Kebutuhan Fungsional

Kebutuhan fungsional merupakan kebutuhan yang fungsi-fungsinya harus dipenuhi pada rancangan aplikasi.

Kebutuhan fungsional yang harus dipenuhi pada aplikasi yang akan dirancang adalah : 1. Aplikasi harus mampu merubah pesan teks menjadi pesan sandi yang didak

dapat diterjemahkan atau bersifat rahasia (enkripsi)

2. Aplikasi harus mampu menerjemahkan ulang pesan yang dikirim ke tujuan

(dekripsi).

3.12.2 Kebutuhan Nonfungsional

Kebutuhan nonfungsional terdiri dari beberapa macam karakteristik, antara lain :

1. Performa

Aplikasi yang akan dibangun dapat menampilkan hasil dari fungsi sistem untuk mengamankan pesan.

2. Efisiensi

Aplikasi yang akan dibangun diharuskan sederhana, agar memudahkan pengguna untuk memakainya.

3. Ekonomi

Aplikasi yang akan dibangun tanpa mengeluarkan biaya tambahan dalam penggunaannya.

3.13 Penerapan Algoritma RSA dan TTVC

Algoritma RSA merupakan salah satu algoritma kunci publik. Prinsip kerja algoritma RSA terletak pada sulitnya memfaktorkan bilangan yang besar yang menjadi faktor-faktor prima. Pemaktoran dilakukan untuk mendapatkan pasangan kunci yaitu kunci privat dan kunci publik. Selama bilangan tersebut tidak dapat difaktorkan selama itu pula keamanan algoritma RSA terjamin (Satrya, 2013). Pada Penelitian ini kunci public p dan q ditentukan dengan nilai p = 9990454949 , q =9990450271.

Dalam algoritma RSA, ada tiga proses yang harus dilakukan yaitu: proses pembangkitan kunci, proses enkripsi dan proses dekripsi. Pada penelitian ini proses pembangkitan kunci telah ditentukan nilainya secara default kedalam sistem.


(39)

24

Algoritma RSA pada sistem ini terletak pada pengamanan pada setiap kunci subsitusi algoritma TTVC. Berikut ini penjelasan enkripsi dan dekripsi pesan teks dengan menggunakan perpaduan algoritma RSA dan TTVC.

3.13.2 Enkripsi

Proses enkripsi merupakan proses menyembunyikan pesan agar tidak diketahui orang lain (bersifat rahasia). Berikut adalah prosesnya :

1. User pertama menginputkan pesan teks (ciphertext) maka teks itu akan di ubah ke menjadi bilangan ASCII misalnya abcd plaintext maka akan di ubah ke bilangan ASCII misalnya teks abcd contoh ASCII 1x 2x 3x 4x dan seterusnya.

2. Pesan teks diolah dengan algoritma TTVC, dengan melewati proses

Transposisi 1 dengan suatu kunci tertentu misalkan : 3. Berarti teks akan disusun secara vertical sebanyak 3 kolom.

3. Masukkan kunci Subsitusi 1 misalkan : Sembilan.

4. Enkripsi kunci Subsitusi 1 : Sembilan dengan metode enkripsi RSA

5. Enkripsi RSA dimana p dan q adalah bilangan prima dan nilai p dan q tidak sama yang telah ditentukan secara default.

6. Hitung n = p.q

7. Hitung ɸ (n) = (p-1)(q-1)

8. Pilih integer dimana FPB ɸ (n), e) = 1; 1 < e < (n)

9. Hitung d, dimana dimana nilai d itu bilangan prima. 10.Kunci private = {e, n}

Kunci publik = {d, n}

11.kunci Subsitusi 1 : Sembilan diubah ke dalam bentuk ASCII. 12.Enkripsi : Ci = Pi e mod n.

13.Kunci subsitusi yang telah dienkripsi RSA disubsitusikan dengan hasil transposisi pertama lewat bujursangkar vigenere.

14.Hasil pada butir 11, akan melewati proses sebanyak dua kali dimulai seperti proses butir 2. Sehingga pada proses ketiga merupakan hasil akhir enkripsi.


(40)

3.13.3 Dekripsi

Proses dekripsi merupakan proses untuk mengubah i menjadi plaintext. Proses dekripsi merupakan kebalikan dari proses enkripsi. Adapun proses dekripsi adalah sebagai berikut:

1. Ciphertext disubsitusi dengan kunci subsitusi ke-3 yang telah melewati proses enkripsi RSA lewat bujursangkar vigenere.

2. Transposisi hasil subsitusi.

3. Transposisi dilakukan dengan mengurutkan secara horizontal, berdasarkan jumlah kolom vertikal dari proses transposisi ke-3 pada proses enkripsi ke-3. 4. Proses pada butir 1, 2 dan 3 diulangi sebanyak dua kali lagi.

5. Ciphertext terakhir diubah kedalam ASCII.

6. Proses pengubahan pada butir 5 merupakan plaintext atau pesan yang dikirimkan.

3.3 Use Case Diagram

Diagram Use case (use case diagram) merupakan salah satu diagram untuk

memodelkan aspek perilaku sistem atau digunakan untuk mendeskripsikan apa yang seharusnya dilakukan oleh sistem (Hariyanto, 2004). Berikut ini adalah use case diagram sistem pegamanan pesan teks dapat dilihat pada Gambar 3.1.


(41)

26

User

Daftar Account

Login

Kelola Pesan System

*

*

*

* *

*

Lihat Pesan Hapus Pesan

reciver

*

* *

*

*

*

Include

LogOut

Include

Gambar 3.1 Use Case Diagram

Dari gambar 3.1 dapat dijelaskan bahwa ada dua aktor yang dapat menggunakan sistem ini, yaitu sender dan receiver . sender atau receiver bisa sama fungsinya sebagai pengguna. Beberapa proses yang ada pada sistem yaitu :

1. Register : Mendaftarkan akun baru untuk dapat menggunakan sistem 2. Login : Melakukan pengujian sebagai pengguna.

3. Kelola pesan : Melakukan pengelolaan pada pesan teks.

4. Lihat pesan : Untuk melihat pesan yang ada didalam inbox.

5. Hapus pesan : Untuk menghapus pesan yang ada didalam sistem.


(42)

3.4 Perancngan Flowchart Sistem

Flowchart merupakan suatu representasi grafis dan langkah-langkah yang harus diikuti dalam menyelesaikan suatu permasalahan yang disusun dari beberapa simbol yang masing-masing simbol memiliki kegiatan tertentu (Indra Yatini B, 2010). Diagram alir program untuk proses enkripsi dan dekripsi sistem keseluruhan adalah sebagai berikut:

3.4.1. Flowchart Sistem

Berikut ini adalah flowchart dari proses sistem, dapat dilihat pada gambar 3.2 :

Start

Input username [ ] Password [ ]

If username = true And password = true

Yes

Home

Log out

End

No


(43)

28

3.4.2. Flowchart Enkripsi

Berikut ini adalah flowchart dari proses enkripsi, dapat dilihat pada gambar 3.3 :

mulai

Input plaintext (pesan), Kunci T1, T2, T3, Kunci S1,

S2, S3

Ubah plantext ke ASCII

Transposisi 1 plaintext dengan

kunci T1

Enkripsi kunci S1 dengan RSA (p = 9990454949,

q = 9990450271)

Enkripsi Vigenere Hasil Transposisi 1

dengan Enkripsi kunci S1

Hasil Enkripsi Vigenere di Transposisi 2 dengan kunci T2

Enkripsi kunci S2 dengan RSA (p = 9990454949,

q = 9990450271)

Enkripsi Vigenere Hasil Transposisi 2

dengan Enkripsi kunci S2

Hasil Enkripsi Vigenere di Transposisi 3 dengan kunci T3

Enkripsi kunci S3 dengan RSA (p = 9990454949,

q = 9990450271)

Enkripsi Vigenere Hasil Transposisi 3

dengan Enkripsi kunci S3

Output : ciphertext

selesai

Gambar 3.3 Flowchart Enkripsi

Berdasarkan flowchart pada gambar 3.1, proses enkripsi melalui dua beberapa tahapan, dimana plaintext pertama-tama diubah kedalam bentuk bilangan ASCII.


(44)

Kemudian sistem akan melakukan proses transposisi dengan kunci pertama (T1), kemudian sistem akan melakukan proses enkripsi pada kunci substitusi pertama (S1) dengan RSA. Hasil dari Transposisi pertama (T1) akan dienkripsi Vigenere dengan kunci Substitusi pertama (S1) yang telah dienkripsi dengan RSA. Hasil Enkripsi Vigenere tersebut kemudian di transposisikan lagi dengan kunci transposisi kedua (T2), kemudian sistem akan melakukan proses enkripsi pada kunci substitusi kedua (S2) dengan RSA. Hasil dari Transposisi kedua (T2) akan dienkripsi Vigenere dengan kunci Substitusi kedua (S2) yang telah dienkripsi dengan RSA. Hasil Enkripsi Vigenere tersebut kemudian di transposisikan lagi dengan kunci transposisi ketiga (T3), kemudian sistem akan melakukan proses enkripsi pada kunci substitusi ketiga (S3) dengan RSA. Hasil dari Transposisi kedua (T3) akan dienkripsi Vigenere dengan kunci Substitusi kedua (S3) yang telah dienkripsi dengan RSA. Sehingga hasil terakhir akan menjadi ciphertext yang akan dikirimkan ke user tujuan

3.4.3. Flowchart Dekripsi


(45)

30 mulai Input ciphertext Kunci T3,T2,T1 Kunci S3,S2,S1 yang

telah di RSA

Dekripsi vigenere ciphertext dengan kunci S3 yang

telah di RSA

Transposisi hasil dekripsi vigenere dengan kunci T3

Dekripsi vigenere hasil transposisi dengan kunci S2

yang telah di RSA Output :

plaintext

selesai Ubah ciphertext/ ASCII ke kedalam

bentuk karakter

Transposisi hasil dekripsi vigenere dengan kunci T2

Dekripsi vigenere hasil transposisi dengan kunci S1 yang telah di RSA

Transposisi hasil dekripsi vigenere dengan kunci T1

Gambar 3.4 Flowchart Dekripsi

Berdasarkan flowchart pada gambar 3.2 proses dekripsi melalui beberapa tahapan yaitu ciphertext yang didapat pada inbox pertama-tama akan melalui proses dekripsi Vigenere dengan kunci substitusi ketiga (S3) yang telah melalui proses enkripsi RSA. Kemudian hasil substitusi ketiga (S3) akan di transposisi dengan kunci transposisi ketiga (T3). Hasil transposisi kembali akan dilakukan dekripsi Vigenere dengan kunci subtitusi selanjutnya, yaitu kunci subtitusi kedua (S2). Kemudian hasil substitusi kedua (S2) akan di transposisi dengan kunci transposisi kedua (T2). Hasil transposisi kembali akan dilakukan dekripsi Vigenere dengan kunci subtitusi selanjutnya, yaitu kunci subtitusi pertama (S1). Kemudian hasil substitusi pertama (S1) akan di transposisi dengan kunci transposisi pertama (T1). Hasil transposisi terakhir kemudian akan diubah kedalam bentuk karakter melalui table ASCII. Sehingga ciphertext yang dikirimkan tadi berubah menjadi pesan atau plaintext yang asli.


(46)

3.5. Perancangan Sistem dan Antarmuka Pemakai

Perancangan perangkat lunak keamanan pesan teks pada email terdiri dari

penggambaran atau perencanaan dari beberapa elemen dalam pengembangan aplikasi. Aplikasi ini digunakan untuk mengamankan (enkripsi) pesan teks lewat email.

Aplikasi ini menerapkan algoritma RSA dan TTVC untuk mengamankan pesan teks.

3.5.1. Perancangan Database

Database pada aplikasi ini berfungsi untuk tempat penyimpanan data-data antara lain tabel pesan dan table tabeluser.

a. Tabel pesan

Tabel ini berfungsi sebagai penyimpanan pesan antar user. Struktur tabel ini dapat dilihat pada Tabel 3.1

Table 3.1 Tabel pesan

No Nama Field Tipe Ukuran Keterangan

1. Idpeasan Int 20 Nomor Id Pesan (primary

key)

2. Userid Varchar 20 Nomor Id User

3. Kepada Varchar 50 Email Tujuan

4. Subject Varchar 50 Subject pesan

5. Encrypted Text - Pesan yang dienkripsi

6. Ekey1 Int 3 Kunci transposisi 1

7. Ekey2 Int 3 Kunci transposisi 2

8. Ekey3 Int 3 Kunci transposisi 3


(47)

32

10. Esubs2 Text - Kunci subsitusi 2

11. Esubs3 Text - Kunci subsitusi 3

b. Tabel table user

Tabel ini berfungsi sebagai tempat penyimpanan daftar user pada sistem. Struktur tabel ini dapat dilihat pada Tabel 3.2

Table 3.2 Tabel table user

No Nama Field Tipe Ukuran Keterangan

1. User_id Varchar 20 Nomor Id User

2. Name Varchar 50 Nama User

3. Password Varchar 50 Password User

4. Email Varchar 50 Nama email user

5. Level Varchar 15 Membedakan User

3.5.2. Perancangan Relasi Antar Tabel

Rancangan relasi antar tabel berfungsi untuk menampilakn informasi relasi

(dependence) antara tabel pada database. Rancangan relasi antar tabel dapat dilihat seperti Gambar 3.3


(48)

pesan

PK idpesan

userid kepada subject encrypted ekey1 ekey2 ekey3 esubs1 esubs2 esubs3

tabeluser

PK userid

name password email level

FK1 idpesan

Gambar 3.4 Relasi Database

3.5.3. Rancangan Halaman Login

Rancangan halaman login berfungsi sebagai halaman utama untuk masuk ke sistem. Bentuk rancangan halaman login dapat dilihat seperti pada Gambar 3.4 berikut.

Gambar 3.5Rancangan Halaman Login 1. password

2. username

3. enter


(49)

34

Rancangan halaman login pada Gambar 3.4 terdapat empat komponen penting

pada antarmuka, yaitu input form (1 dan 2) yang berfungsi untuk menampung

username dan password dari pengguna, tombol masuk (3) yang menunjukkan ke halaman home jika proses validasi username dan password benar, dan link daftar (4) yang berfungsi menunjukkan halaman daftar untuk user yang belum terdaftar.

3.5.4. Rancangan Halaman Daftar

Rancangan halaman daftar berfungsi untuk menampilkan input form untuk mendaftar

pada sistem. Bentuk rancangan Home terlihat seperti pada Gambar 3.5.

Gambar 3.6 Rancangan Halaman Daftar

Rancangan halaman daftar pada Gambar 3.5 terdapat tujuh komponen penting

pada antarmuka, yaitu input form(1 sampai 5) yang menggambarkan sistem

menampung informasi seperti nama, user id, password, konfirmasi password, dan

email sebagai parameter yang akan disimpan kedalam sistem, tombol “daftar”(6)

1. Name

6. daftar 7. cancel

2. User Id 3. Password

4. Konfirmasi Password 5. Email


(50)

untuk melakukan proses daftar, tombol”cancel” (7) untuk membatalkan proses pendaftaran.

3.5.5. Rancangan Halaman Home

Rancangan halaman home berfungsi sebagai halaman utama untuk masuk ke sistem. Bentuk rancangan halaman login dapat dilihat seperti pada Gambar 3.6 berikut.

Gambar 3.7 Rancangan Halaman Home

Rancangan halaman home pada Gambar 3.6 pada halaman home terdapat 7 komponen penting pada antarmuka, yaitu (1) header berfungsi sebagai nama dari sistem, (2) tombol home untuk melakukan proses kembali ke halaman utama, (3) tombol compose untuk melakukan proses pengisian email, (4) tombol inbox untuk

melakukan proses pesan yang masuk, (5) tombol sent email untuk melakukan proses

1.Header

2.Home 3.Compose

4.Inbox 5.Sent Email

6.Log out


(51)

36

laporan surat yang terkirim. (6) tombol log out untuk melakukan proses keluar dari sistem.(7) view kotak untuk menampilkan proses keseluruhan proses tombol sistem.

3.5.6. Rancangan Halaman Compose

Rancangan halaman compose berfungsi sebagai halaman untuk membuat pesan teks

yang akan diproses menjadi teks yang telah terenkripsi. Bentuk rancangan halaman compose dapat dilihat seperti pada Gambar 3.7 berikut.

Gambar 3.8 Rancangan Halaman Compose

12.send 11.proses

2.to 3.subject 4.isi email

5.kunci transposisi 1 6.subsititusi vigenere 1

7.kunci transposisi 2 8.subsititusi vigenere 2

9.kunci transposisi 3 1.compose


(52)

Rancangan halaman home pada Gambar 3.7 pada halaman compose terdapat

12 komponen penting pada antarmuka, yaitu (1 )tombol compose untuk melakukan

proses pengisian email, (2) field tujuan berfungsi untuk mengisi alamat yang dituju, (3) field subject berfungsi untuk menulis subject surat, (4) field teks email berfungi untuk menampung pesan teks, (5) field kunci transposisi pertama berfungsi untuk memasukkan kunci pertama . (6) field substitusi vigenere pertama berfungsi untuk menampilkan hasil dari transposisi pertama . (7) field kunci transposisi kedua

berfungsi untuk memasukkan kunci kedua.(8) field substitusi vigenere kedua

berfungsi untuk menampilkan hasil dari transposisi kedua .(9) field kunci transposisi

ketiga berfungsi untuk memasukkan kunci ketiga.(10) field substitusi vigenere ketiga berfungsi untuk menampilkan hasil dari transposisi tiga. (11) tombol proses berfungsi untuk melakukan proses teks asli asli menjadi teks yag terenkripsi. (12) tombol send

berfungsi untuk mengirim pesan.

3.5.7. Rancangan Halaman inbox

Rancangan halaman inbox berfungsi sebagai halaman untuk melihat pesan yamg ada

di dalam sistem. Bentuk rancangan halaman compose dapat dilihat seperti pada Gambar 3.8 berikut.

Gambar 3.9 Rancangan Halaman Inbox

1.Inbox


(53)

38

Rancangan halaman home pada Gambar 3.8 pada halaman inbox terdapat 5

komponen penting pada antarmuka, yaitu (1) tombol inbox untuk melakukan proses

pesan yang ada didalam sistem, (2) field No berfungsi untuk melihat urutan pesan yang ada didalam inbox, (3) field Dari berfungsi untuk memberikan informasi asal pesan, (4) field subject berfungsi untuk menulis subject surat. (5) field isi email

berfungsi untuk melihat pesan teks yang ada didalam email.

3.5.8. Rancangan Halaman Sent Email

Rancangan halaman inbox berfungsi sebagai halaman untuk melihat sent email yamg ada di dalam sistem. Bentuk rancangan halaman compose dapat dilihat seperti pada Gambar 3.9 berikut.

Gambar 3.10 Rancangan Halaman Sent Email

Rancangan halaman home pada Gambar 3.9 pada halaman sent email terdapat

4 komponen penting pada antarmuka, yaitu (1) tombol sent email untuk melakukan proses laporan surat yang terkirim, (2) field No berfungsi untuk melihat urutan pesan yang ada didalam inbox, (3) field To berfungsi untuk memberikan informasi tujuan pesan z, (4) field subject berfungsi untuk menulis subject surat. (5) field isi email

berfungsi untuk melihat pesan teks yang ada didalam email

1.Sent Email


(54)

3.5.9. Rancangan Halaman Log Out

Gambar 3.11 Rancangan Halaman Log Out

Rancangan halaman home pada Gambar 3.10 pada halaman Log Out terdapat 1 komponen penting pada antarmuka, yaitu tombol log out untuk melakukan proses keluar dari sistem.


(55)

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

Pada bab ini akan dijelaskan tahapan selanjutnya dalam pengembangan aplikasi yaitu tahap implementasi dan pengujian sistem. Di sini akan dijelaskan tentang proses pengimplementasian algoritma ke dalam sistem dan melakukan pengujian dari sistem yang dikembangkan.

4.1. Spesifikasi Perangkat Keras dan Perangkat Lunak

Spesifikasi perangkat lunak yang digunakan selama pembangunan perangkat lunak adalah sebagai berikut:

1. Operating System Windows 7 32-bit, 2. Web Server Apache 2.2.14,

3. PHP 5.3.1,

4. MySQL 5.1.41.

Agar perangkat lunak dapat berjalan dengan baik untuk para pengguna, maka spesifikasi yang dibutuhkan oleh sistem baik dari sisi perangkat keras (hardware) maupun perangkat lunak (software) dapat dijelaskan sebagai berikut.

Untuk perangkat keras, yang direkomendasikan adalah sebagai berikut: 1. Processor dengan kecepatan minimal 1 GHZ,

2. Hardisk minimal 80 GB,

3. RAM minimal 1 MB,

4. Monitor 14,1” dengan resolusi layar minimum 800 x 600 pixel,


(56)

Untuk perangkat lunak, yang dapat mendukung agar aplikasi dapat berjalan adalah sebagai berikut:

1. Operating system Microsoft Windows 7, Windows 8,

2. Browser, seperti Mozilla Firefox, Google Chrome, dan lain-lain,

3. PHP 5.3.1,

4. MySQL 5.1.41,

5. Web Server Apache 2.2.14.

4.2 Antarmuka Pengguna (User Interface)

Setelah melewati tahap analisis perancangan antarmuka pengguna, rancangan digunakan sebagai acuan untuk peng-coding-an halaman-halaman pada perangkat lunak. Rencana pengujian sistem yang akan diuji dapat dilihat pada Tabel 4.1 berikut.

Tabel 4.1 Tabel Rencana Pengujian

4.2.1 Tampilan Halaman Login

Halaman utama yang telah dilakukan peng-coding-an ditunjukkan pada Gambar 4.1 berikut.

No. Komponen Sistem yang Diuji Butir Uji

1. Halaman login Mencoba menu yang ada pada halaman

login yaitu : form inputusername”,form inputpassword”,tombol “enter”,dan

tombol “daftar”.

2. Halaman daftar Mencoba menu yang ada pada halaman

daftar yaitu : form input “daftar”,tombol

daftar”,dan tombol”cancel”.

3. Halaman home Mencoba menu yang ada pada halaman

home yaitu : tombol “ home”,tombol

compose”,tombol “inbox”,tombol”sent


(57)

42

Gambar 4.1 Tampilan halaman Login

Halaman login seperti yang ditunjukkan pada Gambar 4.1, telah diberikan satu buah <tombol> yang dapat digunakan oleh pengguna untuk masuk ke halaman home.

Tabel 4.2 Tabel Hasil Evaluasi pada Tampilan Halaman login

No. Sasaran Pengujian Hasil yang

Diharapkan

Hasil Pengujian

Status

1. Uji tampilan sistem

ketika dieksekusi

Menampilkan halaman login

Menampilkan halaman login

Berhasil

2. Uji pemilihan

tombol Enter

Memposes dan menampilkan

halaman home

Memposes dan menampilkan

halaman home

Berhasil

4.2.2 Tampilan Halaman Daftar

Halaman daftar email yang telah dilakukan peng-codiing-an ditunjukkan Gambar 4.2 berikut.


(58)

Gambar 4.2 Tampilan halaman Daftar Email

Halaman daftar email yang ditunjukkan pada gambar 4.2. telah diberikan dua buah <tomboldaftar> dan <tombolcancel> yang dapat digunakan oleh pengguna untuk memdaftar akun email baru. Setelah pen-coding-an telah selesai dilakukan, maka selanjutnya dilakukanlah evaluasi terhadap tampilan halaman login. Hasil proses evaluasi dapat

Tabel 4.3 Tabel Hasil Evaluasi pada Tampilan Halaman Daftar Email

No. Sasaran Pengujian Hasil yang

Diharapkan

Hasil Pengujian

Status

1. Uji tampilan sistem ketika dieksekusi Menampilkan halaman Menampilkan halaman daftar Berhasil

2. Uji pemilihan

tombol Enter dan

tombol cancel

Memposes dan menampilkan halaman silahkan login Memposes dan menampilkan halaman silahkan login Berhasil

4.2.3 Tampilan Halaman Home

Halaman home berisi tampilan sistem berupa header, menu, footer.Pada bagian


(59)

44

compose , tombol inbox, tombol send email dan tombol logout. Pada bagian footer

terdapat bagian pembuat sistem. Halaman home yang telah dilakukan peng-coding -an ditunjukk-an pada Gambar 4.3.

Gambar 4.3 Tampilan halaman Home

Tabel 4.4 Tabel Hasil Evaluasi pada Tampilan Halaman Home No

.

Sasaran Pengujian

Hasil yang Diharapkan Hasil

Pengujian

Status

1 Uji tampilan

halaman

home

Menampilkan

Header”,”Menu”,

”Footer”

Menampilkan

Header”,”Menu”,”Footer”

Berhasil

2 Uji pemilihan Tombol

Proses tombol“home”,

“Compose”,”Inbox”, “Send box”,dan “Logout”

Proses tombol“home”,

“Compose”,”Inbox”,“Send box”,dan “Logout””

Berhasil

4.2.4 Tampilan Halaman Compose

Pada halaman ini disediakan tombol compose untuk membuat pesan. Dan kolom input

untuk memasukan tujuan, subject, isi email, kunci transposisi pertama, subsititusi


(60)

tiga,dan subsititusi ketiga. Kemudian terdapat tombol proses untuk mengenkripsi file teks yang akan dikirim. Dan terdapat tombol send untuk mengirim pesan.

Gambar 4.4 Tampilan halaman Compose

Setelah pen-coding-an telah selesai dilakukan, maka selanjutnya dilakukanlah evaluasi terhadap tampilan halaman home. Hasil proses evaluasi dapat dilihat pada Tabel 4.5 berikut.

Tabel 4.5 Tabel Hasil Evaluasi pada Tampilan Halaman Compose

No. Sasaran Pengujian Hasil yang

Diharapkan

Hasil Pengujian

Status

1 Uji tampilan

halaman compose

Menampilkan kolom

input untuk

“memasukan tujuan”,

“subject”,” isi

email”,” kunci

Menampilkan kolom

input untuk

“memasukan tujuan”,

“subject”,” isi

email”,” kunci


(61)

46

transposisi pertama”,

“subsititusi vigenere

pertama”,” kunci

transposisi kedua”,

“subsititusi kedua”,

kunci transposisi ke

tiga,”dan “subsititusi

ketiga

transposisi pertama”,

“subsititusi vigenere

pertama”,” kunci

transposisi kedua”,

“subsititusi kedua”,

kunci transposisi ke

tiga,”dan “subsititusi

ketiga

2 Uji pemilihan

Tombol

Proses tombol

“Proses”,dan

“Send”

Proses tombol

“Proses”,dan

“Send”


(62)

Gambar 4.5 Tampilan halaman Proses Enkripsi

Tampilan halaman diatas menunujukkan output dari proses enkripsi pesan teks yang akan dikirim.

Setelah pen-coding-an telah selesai dilakukan, maka selanjutnya dilakukanlah evaluasi terhadap tampilan halaman proses enkripsi. Hasil proses evaluasi dapat dilihat pada Tabel 4.6 berikut.


(63)

48

Tabel 4.6 Tabel Hasil Evaluasi pada Tampilan halaman proses enkripsi

No. Sasaran Pengujian Hasil yang

Diharapkan

Hasil Pengujian

Status

1 Uji tampilan

halaman compose

Menampilkan kolom

output

Menampilkan kolom

output

Berhasil

2 Uji pemilihan

Tombol

Proses tombol

“Send”

Proses tombol

“Send”

Berhasil

4.2.5. Tampilan Halaman Inbox

Halaman ini menampilkan pesan email yang masuk. Dapat dilihat pada Gambar 4.6

Gambar 4.6 Tampilan halaman Inbox

Setelah pen-coding-an telah selesai dilakukan, maka selanjutnya dilakukanlah evaluasi terhadap tampilan halaman inbox. Hasil proses evaluasi dapat dilihat pada Tabel 4.7 berikut.


(64)

Tabel 4.7 Tabel Hasil Evaluasi pada Tampilan halaman inbox

No. Sasaran Pengujian Hasil yang

Diharapkan

Hasil Pengujian

Status

1 Uji tampilan

halaman inbox

Menampilkan

Icon “Delete “dan Icon Surat

Menampilkan

Icon” Delete” dan Icon Surat

Berhasil

2 Uji pemilihan

Icon

Proses Icon

“Delete”dan Icon

Surat

Proses Icon

“Delete”dan Icon

Surat

Berhasil

4.2.6 Tampilan Halaman Dekripsi

Halaman ini menampilkan pesan email yang akan di deskripsikan. Dapat dilihat pada Gambar 4.7

Gambar 4.7 Tampilan halaman Dekripsi

Setelah pen-coding-an telah selesai dilakukan, maka selanjutnya dilakukanlah evaluasi terhadap tampilan halaman dekripsi. Hasil proses evaluasi dapat dilihat pada Tabel 4.8 berikut.


(65)

50

Tabel 4.8 Tabel Hasil Evaluasi pada Tampilan halaman proses enkripsi

No. Sasaran Pengujian Hasil yang

Diharapkan

Hasil Pengujian

Status

1 Uji tampilan

halaman dekripsi

Menampilkan kolom Dari, Subject

Menampilkan kolom Dari, Subject

Berhasil

2 Uji pemilihan

Tombol

Proses tombol

“Dekripsi”

Proses tombol

“Dekripsi”

Berhasil

Jika icon email diklik maka akan muncul tombol dekripsi, pengguna harus menekan tombol dekripsi agar pesan teks yang telah dienkripsi kembali ke chiperteks yang asli.


(66)

Gambar 4.8 Tampilan halaman hasil Teks Dekripsi

Setelah pen-coding-an telah selesai dilakukan, maka selanjutnya dilakukanlah evaluasi terhadap tampilan halaman dekripsi. Hasil proses evaluasi dapat dilihat pada Tabel 4.9 berikut


(67)

52

Tabel 4.9 Tabel Hasil Evaluasi pada Tampilan halaman proses dekripsi

No. Sasaran Pengujian Hasil yang

Diharapkan

Hasil Pengujian

Status

1 Uji tampilan

halaman dekripsi

Menampilkan kolom

output

Menampilkan kolom

output

Berhasil

2 Uji pemilihan

Tombol

Proses tombol

“Dekripsi”

Proses tombol

“Dekripsi”

Berhasil

4.2.7 Tampilan Halaman Send Email

Halaman ini menampilkan laporan email yang sudah terkirim. Dapat dilihat pada Gambar 4.9

Gambar 4.9 Tampilan halaman Send Email

Setelah pen-coding-an telah selesai dilakukan, maka selanjutnya dilakukanlah evaluasi terhadap tampilan halaman sent email. Hasil proses evaluasi dapat dilihat pada Tabel 4.10 berikut :


(68)

Tabel 4.10 Tabel Hasil Evaluasi pada Tampilan halaman sent email

No. Sasaran Pengujian Hasil yang

Diharapkan

Hasil Pengujian

Status

1 Uji tampilan

halaman Sent Email

Menampilkan

No,To,Subject,Isi Email

Menampilkan

No,To,Subject,Isi Email

Berhasil

2 Uji pemilihan

Icon

Proses Icon

“Surat”dan”Delete”

Proses Icon

“Surat”dan”Delete”

Berhasil

4.3 Pengujian Sistem Secara Menyeluruh

Untuk pengujian sistem secara menyeluruh pengguna harus mengisi kolom yang telah tersedia untuk melakukan enkripsi file teks email. Didalam sistem juga terdapat masing-masing data yang telah dihubungankan. Data tersebut meliputi data pesan dan data table user . Contoh data pesan yang telah diinput teks kedalam kolom dapat dilihat pada gambar 4.10. berikut.

Gambar 4.10 Sampel data Pesan

Contoh data table user yang telah di input kedalam table dapat dilihat pada Gambar 4.11.


(69)

54

Gambar 4.11 Sampel data Table User

Pengujian sistem pengamanan file teks email dapat dilihat pada Gambar 4.12. berikut.


(70)

Berdasarkan sampel compose file teks, output yang dihasilkan sesuai dengan analisis dan perancangan yang dilakukan sebelumnya dapat dilihat pada Gambar 4.13 berikut.


(71)

56

Berdasarkan proses enkripsi yang telah didapatkan, hasil tersebut dapat dikirimkan kepada penerima yang memiliki account email gmail. Hasil dari proses tersebut dapat dilihat pada Gambar 4.14 berikut.

Gambar 4.14 Hasil yang telah dikirim ke gmail

4.4 Analasis Performa Sistem

Berdasakan hasil pengujian sistem dalam mengcompose pesan yang akan dienkripsi

dan dikirim ke user dalam satu waktu dan akan membutuhkan waktu dalam

memproses pesan tersebut, Maka pada sub ini akan dianalisa waktu proses sistem yang diuji.Berikut ini adalah table hasil pengujian sistem pada mengenkripsi pesan

Tabel 4.11 Tabel hasil pengujian lama proses enkripsi

No Karakter Pesan Lama Proses

Perdetik

1. 269 0,644


(1)

60

Sadikin, R. 2012.

Kriptografi untuk Keamanan Jaringan

. Yogyakarta: Penerbit Andi.

Silviana, L. 2013.

Sistem Tanda TanganDigital Pada Pesan Teks Menggunakan

Algoritma Kriptografi Kunci Publik RSA.

Universitas Sumatera Utara. Medan

Yan, S. Y. 2008. Cryptanalytic Attacks on RSA. Bedfordshire, Cambridge: Springer.


(2)

LISTING PROGRAM

//Proses daftar user

<?php

include('koneksi.php');

if (isset($_POST['submitted'])) {

if($_POST['password']==$_POST['cpassword']) {

$password=md5($_POST['password']);

foreach($_POST AS $key => $value) { $_POST[$key] = mysql_real_escape_string($value); }

$sql = "INSERT INTO tabeluser ( `name` , `userid` , `password` , `email` , `level` ) VALUES( '{$_POST['name']}' , '{$_POST['userid']}' , '{$password}' , '{$_POST['email']}' , 'admin' ) ";

mysql_query($sql) or die(mysql_error()); echo "User baru berhasil ditambahkan.<br />"; echo "<a href='login.php'>Silahkan Login</a>"; }

else{

echo '<script>alert("Terdapat kesalahan. Isi kembali dengan benar !")

location.href="daftar.php"</script>'; }

} ?>


(3)

62

//Proses login

<?php

session_start();

include"koneksi.php";

$userid = $_POST['userid']; $psw = $_POST['psw'];

$op = $_GET['op']; $password = md5($psw); if($op=="in"){

$cek = mysql_query("SELECT * FROM tabeluser WHERE userid='$userid' AND password='$password'");

if(mysql_num_rows($cek)==1){//jika berhasil akan bernilai 1

$c = mysql_fetch_array($cek);

$_SESSION['userid'] = $c['userid']; $_SESSION['level'] = $c['level']; if($c['level']=="admin"){

header("location:index.php?page=home"); }else if($c['level']=="user"){

header("location:halaman_user.php"); }

}else{

echo '<script>alert("Userid atau password salah") location.href="login.php"</script>';

} }

else if($op=="out"){

unset($_SESSION['userid']); unset($_SESSION['level']);

session_destroy(); echo '<script>


(4)

</script>'; }

?>

//Proses enkripsi

<?php

include "lib/triple_transpose_rsa_vigenere.php"; if(isset($_POST["proses"]) && !empty($_POST["s1"]) && !empty($_POST["s2"]) && !empty($_POST["s3"]))

{

echo "<fieldset>";

$plain = $_POST["message"]; echo "<h4>Teks Awal</h4><

divid='scroll'>".nl2br($plain)."</div>"; $plain = string_to_dec($plain);

$key_transpose_encrypt = array($_POST["k1"], $_POST["k2"], $_POST["k3"]);

$substitution = array($_POST["s1"], $_POST["s2"], $_POST["s3"]);

$table = '0123456789x ';

list($plain_text, $key_transpose_decrypt, $transposed_text, $enc_subs, $encrypted) = encrypt($plain,

$key_transpose_encrypt, $substitution, $table); for($i=0; $i<count($plain_text); $i++){

echo "<h4>Encryption ".($i+1)."</h4> <div id='scroll'>

<b>Plaintext = </b>".$plain_text[$i].", width = ".strlen($plain_text[$i])."

<br><br><b> Enkripsi Transpose (key = ".$key_transpose_encrypt[$i].")</b>, =>


(5)

64

".$transposed_text[$i].", width = ".strlen($transposed_text[$i])."

<br><br><b> Enkripsi RSA, ".$substitution[$i]."</b> => ".$enc_subs[$i]."

<br><br><b> Enkripsi Vigenere ( subs =

".$enc_subs[$i].")</b> => ".$encrypted[$i].", width = ".strlen($encrypted[$i])."

</div> "; }

$enc = $encrypted[2];

echo "<br><h4>Teks setelah dienkripsi</h4><div id='scroll'>".$enc."</div>"; } ?>

//Proses dekripsi

<?php if(isset($_POST["decrypt"])) {

/*decrypt isi pesan*/

$encrypted = $row['encrypted'];

$key_transpose_decrypt = array($row['ekey1'], $row['ekey2'], $row['ekey3']);

$enc_subs = array($row['esubs1'], $row['esubs2'], $row['esubs3']);

$table = '0123456789x ';

list($encrypted, $substitution, $key_transpose_encrypt, $vigenered_text, $plain_text) = decrypt($encrypted, $key_transpose_decrypt, $enc_subs, $table);

for($i=0; $i<count($plain_text); $i++) {

echo "<h4>Decryption ".($i+1)."</h4> <div id='scroll'>

<b> Encrypted =


(6)

<br><br><b> Dekripsi Vigenere( substitusi = ".$enc_subs[$i].") = </b>".$vigenered_text[$i]."(".strlen($vigenered_text[$i]).")

<br><br><b> Dekripsi Transpose( key = ".$key_transpose_decrypt[$i].") = </b>".$plain_text[$i]."(".strlen($plain_text[$i]).")

</div>"; }

$isi_pesan = dec_to_string($plain_text[2]);

}